View Full Version : LPT porti
Sveiki elektronikas guru,
tātad lodējis jau biju visu ko, bet pie datora kontrolējamām lietām vēl nebiju ķēries, tātad pagaidām esu uzlodējis pie LPT spraudņa LED, kura (+) ir pielodēts pie 8 kājiņas, bet (-) ir pievienots pie savienotām 18 - 25 kājiņas, to es tantē googlē atradu... Tagad mēģinu izvedot programmu iekš delphi, vai pascal, lai to LED varētu ieslēgt un izslēgt, bet nekas pagaidām nesanāk... Varbūt kāds var pateikt kur var dabūt kādas pascal vai delphi programiņas, lai to LED'u varētu ieslēgt un izslēgt, ja to es dabūtu gatavu, tad jau varētu sākt pētīt visu to lietu sīkāk...
Sveiki elektronikas guru,
tātad lodējis jau biju visu ko, bet pie datora kontrolējamām lietām vēl nebiju ķēries, tātad pagaidām esu uzlodējis pie LPT spraudņa LED, kura (+) ir pielodēts pie 8 kājiņas, bet (-) ir pievienots pie savienotām 18 - 25 kājiņas, to es tantē googlē atradu... Tagad mēģinu izvedot programmu iekš delphi, vai pascal, lai to LED varētu ieslēgt un izslēgt, bet nekas pagaidām nesanāk... Varbūt kāds var pateikt kur var dabūt kādas pascal vai delphi programiņas, lai to LED'u varētu ieslēgt un izslēgt, ja to es dabūtu gatavu, tad jau varētu sākt pētīt visu to lietu sīkāk...
Tātad sāksim ar to ka nav viss tik vienkārši ar pareizu metodiku iegūstams, ko vēlies panākt.
No teorijas, paralēlais ports ir ar izejošām astoņām līnijām. Lai uz kādas no kājiņas vai vairākām parādītos signāls(i), attiecīgi uz 378h(priekš LPT1) porta bufferi jānosūta viens baits. Bet par tik cik izsūtoties baitam bufers iztīrīsies, tad tev tā gaismas diode pat nepaspēs iemidžināties. Tāpēc tev jāliek būs vispirms d tipa trigers, un tad attiecīgi uz katru nākamo vieninieku dotajā bitā tev gaismasdiode iedegsies, apdzisīs.
Pareiza metode ir kā jau minēju, organzēt shēmu tā lai izejā katram bitam ir savs trigers, jo lpt ports ir sinhronais ports un parasti iekārtas ir strobētas. Tamdēļ jeb kurā gadijumā shēmu sākam pie visiem astoņiem bitiem pieslēdzot reģistru, piemēram КР1533ИР35 (d0-d7 ; lpt porta izejoshie biti ; C - pie lpt porta STROBE ; R pie porta INIT) un tad izejošie gali Q0-Q7 ir tad tie tavi gali pie kuriem vari karināt savas gaismasdiodes u.c. sūdus. Reģistrs mums nodrošinās strobētu datu pārraidi, pie nosacījuma tad kad tā ir atļauta, saglabājot pēdējo stāvokli.
par softisko pusi lai aizsūtītu datus:
asemblera versija:
mov dx,0378h 'printera ports
mov al,n ' ierakstit registra datus kur n ir dati
out dx,al 'izspļaut uz 378h portu al reģistrā esošos datus.
c++ versija:
outportb(0x378,0xff); //arī kā redzams uz 378 aizsūtīt ff, kas nozīmē 256 jebshu visi vieninieki - respektīvi degtu visas astoņas diodes-:)
beisikam gandrīz taspats:
out &h378,n // n - dati attiecīgā formā kā vēlies protams norādot ar burtu kas tas ir, hex, bin vai dec-:)
- šī ir pareiza, shematiska un softiska pieeja uzdevuma veikšanai.
P.S. Delphi un VB ir kkādi savi iebūvēti ocx u.c. kontroļi darbam ar portiem... ar kuriem tad tur var daudzko apiet un vieglāk visādas ivirtības taisīt, bet reģistru noteikti jāliek, citādāk pie komplicētākas shēmas savu printerportu nocepsi ka nemetās
Liels paldies par informāciju, bet vai lūdzu nevarētu pateikt arī alternatīvas šim : КР1533ИР35, un vai nevarētu parādīt kādas shēmas ?
Liels paldies par informāciju, bet vai lūdzu nevarētu pateikt arī alternatīvas šim : КР1533ИР35, un vai nevarētu parādīt kādas shēmas ?
Alternatīva - da pofig kāda, šim uzdevumam derēs. Konkrētai mikrenei analogs ir 74ALS237.
Kas attiecās uz shēmām tad paņem zīmuli un papīru, izlasi ko rakstīju kā viņu ieslēgt un uzzīmē to visu uz papīra - tad arī būs skaidrs. pēcāk iemet forumā bildi - pateikšu vai pareizi, kgan tur nevar nepareizi uzzīmēt-:) Kā jau rakstīju D ir ieejas, Q ir izejas, C pie stroba, R pie INIT ;
P.S. Ja nav skaidrs par ko ir runa, tad sāc ar to ka atrod spravočņikā mikreni - tad būs lielāka skaidrība.
P.S. Jo ja kko mūķēsi pēc gatavām shēmām, tad neko daudz arī nekad neiemācīsies un nesapratīsi kā kas strādā, kas ir kas, un kapēc tas ir tā. Labāk pašam visu step_by_step iziet lai pēcāk atkal griežoties pēc kkāda supporta kādā forumā, tad būs skaidrs ko tev atbild.
good luck, good ****:D
Latish paldies par help, bet es tomēr ņēmu vienkāršāko ceļu, vienkārši pielodējot pie kājiņām 2 - 8 ledu plusus, ar starpā rezistoriem, tad pielodēju mīnusus pie savienotām 18 - 25 kājiņām... atradu iekš google šādu failu Inpout32.dll, mazliet vēl pagooglēju un atradu uuuberrrr programmiņu, ar kuru tagad es tos ledus varu midžināt :D kā vien vēlos, tur ir kādi 20 efekti, nu kopumā viss izskatās ok. Tagad jādabū tikai 8 identiski vienādi zili LED un varēšu īstenot savu sen jau iecerēto ap videokartes cooler skraidošo LED modu (iepriekš to mēģināju ar multivibratora palīdzību ar padsmit tranzistoriem :D), kad būs gatavs, salikšu ar visām bilžām iekš foruma. Kaut kur vēl būs tik jāiemet video darbībā kā viss izskatās.
Latish paldies par help, bet es tomēr ņēmu vienkāršāko ceļu, vienkārši pielodējot pie kājiņām 2 - 8 ledu plusus, ar starpā rezistoriem, tad pielodēju mīnusus pie savienotām 18 - 25 kājiņām... atradu iekš google šādu failu Inpout32.dll, mazliet vēl pagooglēju un atradu uuuberrrr programmiņu, ar kuru tagad es tos ledus varu midžināt :D kā vien vēlos, tur ir kādi 20 efekti, nu kopumā viss izskatās ok. Tagad jādabū tikai 8 identiski vienādi zili LED un varēšu īstenot savu sen jau iecerēto ap videokartes cooler skraidošo LED modu (iepriekš to mēģināju ar multivibratora palīdzību ar padsmit tranzistoriem :D), kad būs gatavs, salikšu ar visām bilžām iekš foruma. Kaut kur vēl būs tik jāiemet video darbībā kā viss izskatās.
ā, nu ja tu vēlies nevis apgūt darbu ar šo portu, bet tikai 1x veikt konkretu uzdevumu, tad jau pofig...
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.