Вы находитесь на странице: 1из 5

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m13067

C u trc c ng LPT
Khoa CNTT HSP KT Hng Yn
This work is produced by Hoc lieu Mo Vietnam - Vietnam Open Educational Resources and licensed under the Creative Commons Attribution License

C u trc c a Parallel port nhn trn phng di n hardware

Figure 1

Parallel port bao g m 25 pins (chn) c b tr theo s d i y, a s giao di n u c m c a Parallel port u d ng female: 8 pins dng g i v nh n data (t pin s 2 n s 9) g i l DATA Port (dn software cng g i nh th ). D li u trao i qua 8 pin ny c gi g n trong 1 byte. 5 pins dng hi n th tnh tr ng ho t ng c a parallel port: ang b n, ang g i/nh n thng tin...(cc pin s 10-13 v pin s 15) g i l STATUS Port. D li u trao i qua 8 pin ny dng 5 bit cao c a byte. 4 pins dng i u khi n g i l CONTROL Port, l cc pin s 1, 14, 16 v 17. D trao i qua pnin ny dng 4 bit th p c a byte. 8 pins cn l i c dng ty theo ng i s d ng. N u khng c s d ng th chng s c grounded (n i t-thu t ng ngnh i n?).
Version

1.1: Jul 23, 2010 9:31 pm GMT+7

http://creativecommons.org/licenses/by/3.0/

http://voer.edu.vn/content/m13067/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m13067

Figure 2

y l c u hnh c th ng nh t trong cng ngh vi tnh v c cng nh n b i IEEE (v n l m t t ch c l n nh t v qui nh hardware qu c t ). B n c th ki m tra l i cc s pin v nh d u b ng cch nhn r hn vo cc dy parallel port cng nh parallel port pha sau my vi tnh c a b n. Vi v d cho ho t ng c a parallel port DATA port l ni thng tin s c trao i t computer n cc thi t b khc (hai chi u). Khi l p trnh t h n cng c khi b n nghe ni n chuy n vi t 1 program/driver cho cc hardware (n u b n lm cho m t s hng my in, vi n thng...). y driver cho parallel port chnh l chng trnh qu n l v i u khi n qu trnh trao i thng tin ny. DATA port c 8 pins t c l 1 bytes. B n c l t ng nghe k thu t t i thng tin qua ng parallel port l nhanh nh t (trong qu kh ) nhng k th c n cng ch dng c 1byte = 8 bit = 8 ci pins n y m thi! Ti s tr l i sau trong vi c bn th o th no l m t s i dy parallel t t. STATUS port l ni hi n th cc qu trnh v n hnh c a parallel port. M t v d n gi n l gi s b n mu n in m t bi vi t ra printer (d nhin l qua ng parallel port) nhng khi nh n nt "print" th l i th y my vi tnh hi n th m t thng bo h t gi y! Trn th c t pha sau nh ng hng ng n y l m t chu i ph i h p gi a software v hardware. Khi b n click "print" t c l b n kch ho t m t trong nh ng pins c a CONTROL port b ng software b o ci printer in bi ra. Nhng tr c khi th c hi n vi c in printer cng t bi t n h t gi y v t kch ho t m t trong s nh ng pins c a STATUS port bo cho computer bi t l h t gi y. K t qu l software i u khi n qu trnh in ki m tra (tr c khi in) th y c cho nn n hi n thng bo h t gi y cho b n. Nhi u ho t ng tng t nh printer cha on, printer h t m c, printer b k t gi y...cng do ph i h p gi a nh ng ci pins n y m ra. Ti s bn k hn m c c u trc i n sau ny. C u trc c a parallel port nhn trn phng di n software Th c ra th v i dn software, h cng khng c n bi t pha parallel port sau lng my tnh c bao nhin pin v m i pin c n bao nhiu i n, c u trc nh th no...M y ci n y hi th a cho dn software! T t c nh ng g m m t ng i l p trnh c n bi t l address c a cc pin trn parallel port l ! 25 pins kia s c chia lm 3 ph n v i tn g i l DATA port (hay l DATA register), STATUS port (hay l STATUS register), v CONTROL port (hay l CONTROL register). M i port l 8 bits v i address h n hi. Nh m t t u, DATA port s l 8 bits, STATUS port c 5 pins cho nn s c ng thm 3 bit tr ng t o m t byte, tng t nh th cho CONTROL port. Ring ph n a ch cho cc port n y cng kh l ph c t p, v n lin quan n BIOS. N u b n hi u cch phn b memory c a my tnh th n gi n hn, cn khng th hy v ng l l i gi i thch c a ti s lm b n hi u ph n no. i khi l khi my tnh b t ln (turn on) th BIOS s lm

http://voer.edu.vn/content/m13067/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m13067

vi c tr c, n s tm ki m v nh a ch cho ci port trong my c a b n. V BIOS khng ci no gi ng ci no cho nn l i qui nh a ch c a n cng khc, tuy nhin d i y l m t v d i n hnh (b n th ng th y) trong cc my vi tnh ngy nay. Nh ng a ch ny b n c th th y khi kh i ng my trong cc thng s BIOS hi n ra. Port Address Ghi ch 3BCh - 3BFh dng cho prallel port v n dnh vo Video Card (cch c) 378h 37Fh khu v c memory th ng dng cho LPT 1 278h - 27Fh khu v c memory th ng dng cho LPT 2 .... (nn nh l m i kho n l 8 bits, tnh theo h hexadecimal) M t i u ti mu n nh c cc b n l nh ng thng tin a ra trn y th ng l thay i ty theo t ng my tnh, m t my c th c nhi u LPT, thng th ng th BIOS s d xem trong my c bao nhiu port v s qui nh a ch cho t ng port. Theo ti th ng th y th n u my b n c hai ci parallel port (n u b n mua motherboard c hai parallel port) th LPT1 s c gn vo i ch 378h-37Fh (8 bits). N u c LPT2 th s c gn vo a ch 278h-27Fh. Ring ph n 3BCh-3BFh trong qu kh th ng c dng khi parallel port ci s n trong video card. Nh ng lo i n y c r i, cho nn nhi u BIOS s gn vo LPT1 cng khng ch ng. i u t t nh t l b n vo BIOS ki m tra l bi t ngay (life was not meant to be easy!). Cng lu cc b n cc i ch trn l port address qui nh trn BIOS, khi BIOS qui nh nh ng a ch trn (t t my v n cn) n s qui nh km theo i ch lu thng tin (t t my s m t) cho t ng port. Nh ng a ch d i y s c dng a s b i cc b n l p trnh ki m tra x hi n di n c a parallel port trn my b n. Start Address Function Software Identify 0000:0408h LPT1s Base Address Base 0000:040Ah LPT2s Base Address Base + 1 0000:040Ch LPT3s Base Address Base + 2 0000:040Eh LPT4s Base Address (note 1) Base + 3 Hy l y m t v d n gi n v m t chng trnh ki m tra v tr parallel port trn my b n minh ho cho l p trnh i u khi n parallel port d i y: #include <stdio.h> #include <dos.h> void main(void) {/* Pointer to location of Port Addresses */ unsigned int far *ptraddr; /* Address of Port */ unsigned int address; int a; ptraddr = (unsigned int far *)0x00000408; for (a = 0; a < 3; a++) {address = *ptraddr; if (address == 0) printf("No port found for LPT%d \n", a+1); elseprintf("Address assigned to LPT%d is %Xh\n", a+1, address); *ptraddr++;}} Chng trnh C ny n gi n l tm n i ch 0000:0408h v d tm xem c port no t n t i hay khng. N s d t 0000:0408h n 0000:040Dh ki m tra LPT1, LPT2, v LPT3. B n nn nh m i base address s c 2 bytes (sizeof(unsigned int) = 2 bytes!). Nh ti m t pha trn, Base+1, Base+2...ch ng qua l l i g i ph thng trong cch l p trnh. Ch ng h n b n ki m tra nh s 10, 11, 12. B n c th ki m tra nh s 10 sau nh s 10 +1 = 11 vn vn... ng d ng c a vi c i u khi n parallel port Vi c hi u ho t ng v bi t i u khi n parallel port l t i c n thi t cho cc b n i chuy n su trong cc k ngh hardware. H u h t cc d ng c tn ti n th i nay i u lin quan n vi c dng software v n hnh hardware, v d nh b n c th g i m t l nh t my vi tnh lm cho tn l a phng i, shutdown computer...i u thu c d ng software i u khi n hardware. V v i trch nhi m m t trnh i u khi n n, b n
http://voer.edu.vn/content/m13067/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m13067

ph i th u hi u t t c . M t v d n gi n khc trong i u khi n h c nh i u khi n robot, n u b n dng software t my vi tnh kch ho t m t pin no c a c ng parallel v g i t i robot nh m nh l nh, ch ng h n i t i pha tr c, quay qua bn tri.... C u trc o su bn trong c a Parallel port D i y l li t k 25 chn c a parallel port v i tn g i (hardware v software) v th t c a t ng chn. Chn tn signal (dng cho hardware) Direction/type (nhn t PC) Tn signal v th t c a bit (dng cho software) Normal signal line function 1 -STROBE OC/Pullup Control register bit 0 kch ho t thng bo g i ho c nh n data, 0 l c, 1 l vi t 2 D0 hai chi u Data register bit 0 bit 0 ch a data 3 D1 hai chi u Data register bit 1 bit 1 ch a data 4 D2 hai chi u Data register bit 2 bit 2 ch a data 5 D3 hai chi u Data register bit 3 bit 3 ch a data 6 D4 hai chi u Data register bit 4 bit 4 ch a data 7 D5 hai chi u Data register bit 5 bit 5 ch a data 8 D6 hai chi u Data register bit 6 bit 6 ch a data 9 D7 hai chi u Data register bit 7 bit 7 ch a data 10 -ACK Input Status register bit 6 Pulsed low by printer to acknowledge data byte Rising (usually) edge causes IRQ if enabled 11 BUSY Input Status register bit 7 kch ho t khi printer ang b n (busy) 12 NOPAPER Input Status register bit 5 kch ho t khi printer h t gi y 13 SELECTED Input Status register bit 4 kch ho t khi printer ang ho t ng 14 -AUTOFEED OC/Pullup Control register bit 1 kch ho t thng bo data s n sng c ho c vi t 15 -ERROR Input Status register bit 3 kch ho t khi printer b l i (v nhi u l do) 16 -INITIALIZE OC/Pullup Control register bit 2 kch ho t printer reset l i v tr ban u 17 -SELECT OC/Pullup Control register bit 3 kch ho t nh d u printer nh n c valid address 18 Ground ...Ground chn (18-25) b tr ng, dng ty 25 Ground Thm m t hnh minh ho t ng th ho t ng c a parallel port.

http://voer.edu.vn/content/m13067/1.1/

Hoc lieu Mo Vietnam - Vietnam Open Educational Resources module: m13067

Figure 3

http://voer.edu.vn/content/m13067/1.1/

Вам также может понравиться