Potřeboval bych pomocí ASM ovládnout porty, abych moch přes LPT nebo COM spojovat kontakty na externím obvodu.... potřebuju prostě vysílat signály 1/0 a spojovat je na určenou dobu bez přerušení
díky
Potřeboval bych pomocí ASM ovládnout porty, abych moch přes LPT nebo COM spojovat kontakty na externím obvodu.... potřebuju prostě vysílat signály 1/0 a spojovat je na určenou dobu bez přerušení
díky
Paralelny port je easy. Vacsinou je LPT1 na adrese BASE=378h.
8 datovych bitov sa ovlada vystupom na port BASE:
Na porte BASE+1 je stav VSTUPNYCH pinov.Kód:mov dx,378h mov al,55h ; <- hodnota out dx,al
Portom BASE+2 sa ovladaju vystupne riadiace signaly:
Bitfields for parallel interface control port:
Bit(s) Description (Table P0659)
7-6 reserved
7 (see PORT 037Bh bit 7)
5 (PS/2) enable bidirectional port
(also requires enabling via PORT 0102h)
4 enable IRQ (via -ACK)
3 select printer (SLCT IN line)
2 =0 initialize printer (-RESET line)
1 automatic line feed
0 strobe (must be set for minimum of 5 microseconds)
1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm
výborně, to sem tak ňák věděl, ale jak to dopadne v reálu? Co se stane když do LPT prostě zapíchnu diodu(třeba i přes tranzistor)? Rozsvítí se? Nebo bude blikat?Původně odeslal Rainbow
Ked zapojis LEDku na D0 a potom tam vysles jednotku, tak bude svietit.
1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm
a kolik jich můžu teoreticky připojit na LPT?Původně odeslal Rainbow
1: Asus P2B 1.10 • Celeron 1100@1364/1.8V • 512MB SDRAM • Samsung SP1213N+WD AC28400 • Toshiba XM-6402B+SD-M1212 • PowerColor AR2L Radeon 9100 64MB • 3C900-Combo • Bt848A • ASB-3940UA • AWE-64 • DTK PTP-3007 • VisionMaster 405 • Umax UC630 • Star LC24-200 Colour 2: PCPartner TXB820DS • Cyrix MII PR300/1.8V • 256MB SDRAM • 2xSamsung HD400LD+IT8212F • Accesstek CW4001 • LS-120 • Mystique 4MB • Millennium II 4MB • 3C509 • CMI8329A+Dream MIDI • ADI ProVista E44 • SyncMaster 203B Notebook: DTK FortisPro TOP-5A • P166MMX/1.8V • 80MB EDO • Hitachi 5K80 40GB • 12,1" TFT Router: A-Trend ATC-1425B • i486DX 50@33/5V • 48MB FPM • WD AC14300 • UMC UM9003F • HP PC LAN 16/TP+ Car: Mazda 323P BA • Z5 1489ccm, 65kW@5500rpm, 134Nm@4000rpm
Jen bych upozornil, ze cteni datovych linek podporuje az specifikace EPP/ECP, coz neska umi kazda deska, ale je to taky treba povolit v BIOSu!
Tehda sem se hodne divil proc mi to necte....
Pokud potrebujes zapojit vic vystupu, lze to resit pres nejaky expander/registr. Pokud napr. vyuzijes 4 ridici linky LPT pres dekoder 4bit/1z16ti k ovladani zapisu bufferu 74244 (nebo 74245?), tak muzes teoreticky ovladat az 128 vystupu, to by ti mohlo stacit ne?
![]()
Gigabyte GA-P67-DS3-B3, Core i7-2600K@4,5GHz, 2xKingston 2GB/1866MHz/CL11, Leadtek 7900GT-256MB DDR3 + Accelero S1, SB-Audigy + YMF724 + DreamBlaster combo, tuner FlyDVB duo, SSD Samsung 840 Pro 128GB + WD1003FBYX RE4 1TB, Seasonic S12II-430, 21" NEC 2190UXp, DVD-RW NEC 4550A->4551A mod, CD-RW Teac 524E, ZIP100, FDD, Canon PowerShot A70, A95+hacked firmware, EOS 350D+CHDK, Pentax K-30, Galaxy S3+CM13, HP ipaq 214, HP 200LX.
2nd PC: Gigabyte GA-P31-DS3L with custom BIOS, Core2 Duo E8600@4,0GHz, 2xKingston 2GB/1066MHz/CL5
3rd PC: Abit BX133-Raid, Tualatin 1300@1733/133/1,65V, 2x256MB. WEB: http://rayer.g6.cz
no já potřebuju používat PC jako spínač.. Konkrérně bych na něj připojil dálkové ovládání od robotků (vysvětlování by bylo na dlouho) a pak by je řídil program, který by předával instrukce ovladači v ASM (neumí to i Perl?) a ten prostě spojí potřebné kontakty. Problém je v tom, že těch spínaču je potřeba ovládat něco přes 20....Původně odeslal RayeR
kde se dá splašit ten dekodér (nebo jak ho urobit) a může to fungovat jako přepínač (občas by bylo sepnuto víc spínačů, takže to vlastně přepínač neni...)?
Pockej, ti to nakreslim,
edit: sem to trochu prekreslil
edit:
Tak do 32 linek ani nemusis mit dekoder na 1zN, staci jen registry.
Je to sada 8-mi klopnych obvodu D, ktera se ovlada spolecnou nozickou.
Melo by to mit hranovy spousteni. Prodava se jako integrovny obvod TTL, existuje vic variant 74374 a 74574. Varianta 574 je vyhodnejsi v tom, ze na jedne strane pouzdra jsou jen vstupy a na druhe jen vystupy, takze se dela snadnejs tistak.
Funguje to tak, ze nejprve na port (datovy vystup) poslels nejaky 8bit slovo, a pak pomoci aktivace urcity ridici linky zapises informaci z portu do danyho registru. Registr si pak informaci pamatuje nezavisle na vystupu portu.
Dyz chces treba rosvitit LED na vystupnim portu P8 (ostatni zustanou zhasly), tak na vystup LPT poses cislo 01h a aktivujes ridici linou druhy registr.
Ale pozor, tato konstrukce umoznuje jen zapis, ne cteni! Takze si budes muset nekde v pameti uchovavat stav vsech registru, abys moh s nima provadet AND/OR operace. Tzn. kdyz neco zapises na port, tak si to taky zapises i do pameti.
Gigabyte GA-P67-DS3-B3, Core i7-2600K@4,5GHz, 2xKingston 2GB/1866MHz/CL11, Leadtek 7900GT-256MB DDR3 + Accelero S1, SB-Audigy + YMF724 + DreamBlaster combo, tuner FlyDVB duo, SSD Samsung 840 Pro 128GB + WD1003FBYX RE4 1TB, Seasonic S12II-430, 21" NEC 2190UXp, DVD-RW NEC 4550A->4551A mod, CD-RW Teac 524E, ZIP100, FDD, Canon PowerShot A70, A95+hacked firmware, EOS 350D+CHDK, Pentax K-30, Galaxy S3+CM13, HP ipaq 214, HP 200LX.
2nd PC: Gigabyte GA-P31-DS3L with custom BIOS, Core2 Duo E8600@4,0GHz, 2xKingston 2GB/1066MHz/CL5
3rd PC: Abit BX133-Raid, Tualatin 1300@1733/133/1,65V, 2x256MB. WEB: http://rayer.g6.cz
jestli sem to dobře pochopil tak přepíná mezi (třeba) LEDkama.. Takže můžu nebo nemůžu spustit třeba 4 najednou? Nebo všech 20?
A pak už jen posílám normálně data (i z Perlu) přímo na LPT?
ja vůbec nepotřebuju nic získávat z venčí..já potřebuju jen rosvicet LEDky, který zrovna potřebuju.
Kde se dá ten převodník sehnat? Upozorňuju, že sem z Jeblonce...
Muzes nastavovat kazdej vystup zvlast i vsechny naraz, ale je treba pochopit ze x86 nema instrukce setbit/clearbit jako naky mikropocitace, takze abys zmenil 1 bit _nezavisle_ na ostatnitnich tak musis provist toto:
nastaveni bitu na 0:
1) nacist port
2) provist logicy soucin puvodnich dat a masky, napr. AND 11111101b vynuluje 1.bit
3) takto modifikovana data zapsat zpet na port
nastaveni bitu na 0:
1) nacist port
2) provist log. soucet puv. dat s maskou, napr OR 00000010b nastavit 1.bit
3) zapis na port
kdyz tedy nemuzes pres jednosmerne buffery cist, musis si zapsanou hodnotu uchovavat v pameti.
Tusim ze GM electronic ma pobocku v Liberci... kdyz tak mrkni na www.gme.cz
Je to brouk 2x10 nozicek, Napaji se 5V
Gigabyte GA-P67-DS3-B3, Core i7-2600K@4,5GHz, 2xKingston 2GB/1866MHz/CL11, Leadtek 7900GT-256MB DDR3 + Accelero S1, SB-Audigy + YMF724 + DreamBlaster combo, tuner FlyDVB duo, SSD Samsung 840 Pro 128GB + WD1003FBYX RE4 1TB, Seasonic S12II-430, 21" NEC 2190UXp, DVD-RW NEC 4550A->4551A mod, CD-RW Teac 524E, ZIP100, FDD, Canon PowerShot A70, A95+hacked firmware, EOS 350D+CHDK, Pentax K-30, Galaxy S3+CM13, HP ipaq 214, HP 200LX.
2nd PC: Gigabyte GA-P31-DS3L with custom BIOS, Core2 Duo E8600@4,0GHz, 2xKingston 2GB/1066MHz/CL5
3rd PC: Abit BX133-Raid, Tualatin 1300@1733/133/1,65V, 2x256MB. WEB: http://rayer.g6.cz
no výborně to je přeně co sem potřeboval!... tohle není zrovna moje parketa=> moch bys mi prosím trochu osvětlit ten nákres? Konkrétně co kam připojit.Všechny datový piny můžu připojit na stejnej kabel nebo je to jen zjednodušený a musim dat. pin 1 na nožičku 2 převodíku (nebo co to je)? A jsou prosím ty LPT-CTRL piny? Teda spíš kde...
A jako zemění (0V) můžu použít jakýkoliv datový zemění?
A na tom GME můžu prostě říct to číslíčko a oni budou vědět?
Ta tlusta cara je symbol sbernice, to znamena ze propojis spolu vsup 1D IC1
s 1D IC2 a 1D IC3 a to pak na LPT pin D0. dal zas propojis vsechny 2D na LPT D1 az po 8D na LPT D7.
Piny CLK tech obvodu muzes libovolne zapojit na ridici vyvody LPT: /STROBE, /AUTOFD, /INIT, /SELIN (nejaky tri si vyber)
Nakonec propojis zem tech obvodu se zemi LPT, jedno kterou, viz vyse link na zapojeni LPT. Bohuzel LPT nema napajeni, takze budes muset pouzit bud externi zdroj 5V nebo vytahnout si 5V z PC zdroje ci konektoru klavesnice.
Napajeni tech obvodu je pin 10=zem, pin 20=+5V (v sema se obvykle nekresli). A cisluje se to tak, ze si obvod postavis pred sebe nozickama na atul tak, aby zarez-klic v kratsi hrane smeroval od tebe. Pak cislujes z leva ze shora 1-10 a pak na prave strane zdola nahoru 11-20. Snad je to pochopitelny
V prodejne staci rict "3x integrovany obvod 74574".
Gigabyte GA-P67-DS3-B3, Core i7-2600K@4,5GHz, 2xKingston 2GB/1866MHz/CL11, Leadtek 7900GT-256MB DDR3 + Accelero S1, SB-Audigy + YMF724 + DreamBlaster combo, tuner FlyDVB duo, SSD Samsung 840 Pro 128GB + WD1003FBYX RE4 1TB, Seasonic S12II-430, 21" NEC 2190UXp, DVD-RW NEC 4550A->4551A mod, CD-RW Teac 524E, ZIP100, FDD, Canon PowerShot A70, A95+hacked firmware, EOS 350D+CHDK, Pentax K-30, Galaxy S3+CM13, HP ipaq 214, HP 200LX.
2nd PC: Gigabyte GA-P31-DS3L with custom BIOS, Core2 Duo E8600@4,0GHz, 2xKingston 2GB/1066MHz/CL5
3rd PC: Abit BX133-Raid, Tualatin 1300@1733/133/1,65V, 2x256MB. WEB: http://rayer.g6.cz
výborně, teď už to chápu. Moooc děkuju za pomoc!
Ještě jedna technická drobnost: jak ten čip zhruba velkej? Potřebuju vědět, jestli si musim nechat udělat další plošňák nebo si to můžu spájet "doma na koleně"![]()
Mno jaxem rikal, 2x10 nozicek. Ty maji standardni roztec 2,54mm, takze cely pouzdro bude mittak 2,5x1cm. Stacilo by to udelat na nakou univerzalni desticku.
Gigabyte GA-P67-DS3-B3, Core i7-2600K@4,5GHz, 2xKingston 2GB/1866MHz/CL11, Leadtek 7900GT-256MB DDR3 + Accelero S1, SB-Audigy + YMF724 + DreamBlaster combo, tuner FlyDVB duo, SSD Samsung 840 Pro 128GB + WD1003FBYX RE4 1TB, Seasonic S12II-430, 21" NEC 2190UXp, DVD-RW NEC 4550A->4551A mod, CD-RW Teac 524E, ZIP100, FDD, Canon PowerShot A70, A95+hacked firmware, EOS 350D+CHDK, Pentax K-30, Galaxy S3+CM13, HP ipaq 214, HP 200LX.
2nd PC: Gigabyte GA-P31-DS3L with custom BIOS, Core2 Duo E8600@4,0GHz, 2xKingston 2GB/1066MHz/CL5
3rd PC: Abit BX133-Raid, Tualatin 1300@1733/133/1,65V, 2x256MB. WEB: http://rayer.g6.cz
nevim jestli sem ještě něco přehlídnul, ale když na toho broučka připojim třeba diodu, tak na jednu nožičku připojim jeden kontakt diody a druhej kontakt připojim na nějaký zemění? Otázka je na který... nebo je to jedno?
A čistě teoreticky, pokud má LPT víc řídících linek, tak můžu připojit ještě jednoho brouka, nebo už je to mimo rozsah kódování?
No vsechny napeti sou samozrejme vztazeny vuci zemi. Tech je na PC LPT asi 9 a vseci sou propojeny takze si staci vybrat. katodu LED pripojis tedy na nakou tu zem a anodu pres odpor na vystupni nozicku.
Jo bez dalsich soucastek muzes klidne jeste jeden 8bit regist pridat a jeho CLK napojit na zbylou vystupni ridici linku LPt a pak buds mit 32 vystupu.
Gigabyte GA-P67-DS3-B3, Core i7-2600K@4,5GHz, 2xKingston 2GB/1866MHz/CL11, Leadtek 7900GT-256MB DDR3 + Accelero S1, SB-Audigy + YMF724 + DreamBlaster combo, tuner FlyDVB duo, SSD Samsung 840 Pro 128GB + WD1003FBYX RE4 1TB, Seasonic S12II-430, 21" NEC 2190UXp, DVD-RW NEC 4550A->4551A mod, CD-RW Teac 524E, ZIP100, FDD, Canon PowerShot A70, A95+hacked firmware, EOS 350D+CHDK, Pentax K-30, Galaxy S3+CM13, HP ipaq 214, HP 200LX.
2nd PC: Gigabyte GA-P31-DS3L with custom BIOS, Core2 Duo E8600@4,0GHz, 2xKingston 2GB/1066MHz/CL5
3rd PC: Abit BX133-Raid, Tualatin 1300@1733/133/1,65V, 2x256MB. WEB: http://rayer.g6.cz
takže napájet to budu asi přes COM (tam je 5V pokud vim) a místo diod tam napojim tranzistory (asi s odporem, abych to neodpálil do věčných lovišť) a bude z toho hi-tech přepínač....
Nevíš jestli by s tim uměl zacházet perl? Ten ASM mi tam začíná bejt nesympatickej.....
Tak bacha, na COM zadnejch 5V neni. To si to vytahni treba z klavesnice.
Jak vypada perl netusim, btw by me vubec zajimalo jak se v linuxu dela primy pristup na porty a do pameti a pod. legrace...
Gigabyte GA-P67-DS3-B3, Core i7-2600K@4,5GHz, 2xKingston 2GB/1866MHz/CL11, Leadtek 7900GT-256MB DDR3 + Accelero S1, SB-Audigy + YMF724 + DreamBlaster combo, tuner FlyDVB duo, SSD Samsung 840 Pro 128GB + WD1003FBYX RE4 1TB, Seasonic S12II-430, 21" NEC 2190UXp, DVD-RW NEC 4550A->4551A mod, CD-RW Teac 524E, ZIP100, FDD, Canon PowerShot A70, A95+hacked firmware, EOS 350D+CHDK, Pentax K-30, Galaxy S3+CM13, HP ipaq 214, HP 200LX.
2nd PC: Gigabyte GA-P31-DS3L with custom BIOS, Core2 Duo E8600@4,0GHz, 2xKingston 2GB/1066MHz/CL5
3rd PC: Abit BX133-Raid, Tualatin 1300@1733/133/1,65V, 2x256MB. WEB: http://rayer.g6.cz
aha, tak to sem se asi překouknul...
já si vyvedu ze zdroje..
jinak moc děkuju a vzpomenu si na tebe v závěti :o)
No ze zdroje to bude asi nejlepsi, pac dybys slusnul to napajeni klavesnice, tak ti prehori pojistka na MB nebo rovnou kus tistaku...
Gigabyte GA-P67-DS3-B3, Core i7-2600K@4,5GHz, 2xKingston 2GB/1866MHz/CL11, Leadtek 7900GT-256MB DDR3 + Accelero S1, SB-Audigy + YMF724 + DreamBlaster combo, tuner FlyDVB duo, SSD Samsung 840 Pro 128GB + WD1003FBYX RE4 1TB, Seasonic S12II-430, 21" NEC 2190UXp, DVD-RW NEC 4550A->4551A mod, CD-RW Teac 524E, ZIP100, FDD, Canon PowerShot A70, A95+hacked firmware, EOS 350D+CHDK, Pentax K-30, Galaxy S3+CM13, HP ipaq 214, HP 200LX.
2nd PC: Gigabyte GA-P31-DS3L with custom BIOS, Core2 Duo E8600@4,0GHz, 2xKingston 2GB/1066MHz/CL5
3rd PC: Abit BX133-Raid, Tualatin 1300@1733/133/1,65V, 2x256MB. WEB: http://rayer.g6.cz
Toto téma si právě prohlíží 1 uživatelů. (0 registrovaných a 1 anonymních)