You are on page 1of 4

Bi ging Vi iu khin Bin son: Ths L Hong Anh

CHNG V : HOT NG CA PORT NI TIP 1. M U : Chc nng c bn ca port ni tip l thc hin vic chuyn i d liu song song thnh ni tip khi pht v chuyn i d liu ni tip thnh song song khi thu. Cc mch phn cng bn ngoi truy xut port ni tip thng qua cc chn TxD ( pht d liu ) v RxD ( thu d liu ), cc chn ny a hp vi hai chn ca port 3 : P3.1 ( TxD ) v P3.0 ( RxD ). c trng ca port ni tip l hot ng song cng ( full duplex ), ngha l c kh nng thu v pht ng thi. Ngoi ra port ni tip cn c mt c trng khc, vic m d liu khi thu ca port ny cho php mt k t c nhn v lu tr trong b m thu trong khi k t tip theo c nhn vo. Nu CPU c k t th nht trc trc khi k t th hai c nhn y , d liu s khng b mt. Phn mm s dng hai thanh ghi chc nng c bit SBUF v SCON truy xut port ni tip. B m ca port ni tip SBUF c a ch byte l 99H, trn thc t bao gm hai b m. Vic ghi ln SBUF s np d liu pht v vic c SBUF s truy xut d liu nhn c. iu ny c ngha l ta c hai thanh ghi ring r v phn bit : thanh ghi pht ( ch ghi ) thanh ghi thu ( ch c ) hay b m thu. Thanh ghi iu khin port ni tip SCON c a ch byte l 98H l thanh ghi c nh a ch tng bit, thanh ghi ny cc bit trng thi v cc bit iu khin. Cc bit iu khin s thit lp ch hot ng cho port ni tip cn cc bit trng thi ch ra s kt thc vic thu hoc pht mt k t. Cc bit trng thi c kim tra bi phn mm hoc c lp trnh to ra ngt. Tn s hot ng ca port ni tip hay cn gi l tc baud ( baud rate ) c th c nh hoc thay i. Khi tc baud thay i c s dng, b nh thi 1 c s dng cung cp xung clock tc baud. Trn chip 8052 b nh thi 2 cng c th c lp trnh cung cp xung clock tc baud.

Trang 35

Bi ging Vi iu khin Bin son: Ths L Hong Anh

2. THANH GHI IU KHIN PORT NI TIP ( SCON ) : Ch hot ng ca port ni tip c thit lp bng cch tc ng ln thanh ghi ch SCON ca port ni tip a ch byte 99H. Bit SCON.7 SCON.6 SCON.5 SCON.4 SCON.3 SCON.2 SCON.1 K hiu SM0 SM1 SM2 REN TB8 RB8 TI a ch M t 9FH Bit 0 chn ch ca port ni tip 9EH Bit 1 chn ch ca port ni tip 9DH Bit 2 chn ch ca port ni tip Bit ny cho php truyn thng a x l 9CH Cho php thu, bit ny phi c set nhn k t. 9BH Bit pht 8, bit th 9 c pht ch 2 v 3, c set v xo bi phn mm. 9AH Bit thu 8, bit th 9 nhn c 99H C ngt pht, c ny c set ngay khi kt thc vic pht mt k t, c xo bi phn mm 98H C ngt thu, c ny c set ngay khi kt thc vic thu mt k t, c xo bi phn mm

SCON.0

RI

1. CC CH HOT NG : Port ni tip ca 8051 c 4 ch hot ng, cc ch c chn bng cch tc ng ln cc bit SM0,SM1 trong thanh ghi SCON. Ba trong s cc ch hot ng cho php truyn khng ng b ( asynchronous ) trong mi k t c thu hoc pht s cng vi mt bit start v mt bit stop to thnh mt khung ( frame ). SM0 SM1 Ch M t 0 0 0 Thanh ghi dch 0 1 1 UART 8 bit 1 1 0 1 2 3 UART 9 bit UART 9 bit Tc baud C nh ( tn s dao ng/12) Thay i ( thit lp bi b nh thi ) C nh ( tn s dao ng/12 hoc /64) Thay i ( thit lp bi b nh thi )

Trang 36

Bi ging Vi iu khin Bin son: Ths L Hong Anh

UART 8 bit c tc baud thay i ( ch 1 ) : Trong ch 1 port ni tip hot ng nh mt b thu pht khng ng b ( universal asynchronous receiver transmitter ) c tc baud thay i. UART l mt b thu v pht d liu ni tip vi mi mt k t d liu c ng trc bi mt bit start ( logic 0 ) v ng sau bi mt bit stop ( logic 1 ).Thnh thong mt bit chn l c chn vo gia bit d liu sau cng v bit stop. Hot ng ch yu ca mt UART l bin i d liu pht t song song thnh ni tip v bin i d liu thu t ni tip thnh song song. ch 1 ta c 10 bit c thu trn chn RxD v 10 bit dc pht trn chn TxD cho mi k t d liu, bao gm 1 bit start ( lun lun l 0 ), 8 bit d liu ( bit LSB trc tin ) v 1 bit stop ( lun lun l 1 ). Khi hot ng thu, bit stop c a n bit RB8 ca SCON. Vi 8051 tc baud c thit lp bi tc trn ( overflow rate ) ca b nh thi 1 cn 8052 tc baud c thit lp bi tc trn ca b nh thi 1 hoc 2 hoc t hp ca c hai ( mt cho pht v mt cho thu ). Vic pht c khi ng bng cch ghi d liu vo thanh ghi SBUF. Thi gian pht ca mi mt bit l gi tr nghch o ca tc baud (1/baud rate), c ngt pht TI c set bng 1 ngay khi bit stop xut hin trn chn TxD. Vic nhn c khi ng bi mt chuyn trng thi t 1 xung 0 trn ng RxD ( bit start ) v 8 bit d liu thu c np vo thanh ghi SBUF. 2. KHI NG V TRUY XUT CC THANH GHI : Cho php thu: Bit cho php thu REN trong thanh ghi SCON phi c set bng 1 bi phn mm cho php nhn cc k t . Ex : SETB REN MOV SCON,#xxx1xxxxB Cc c ngt : Cc c ngt thu RI v ngt pht TI trong thanh ghi SCON ng vai tr quan trng trong vic truyn d liu ni tip ca 8051. C hai bit u c set bng phn cng nhng phi c xa bng phn mm. C RI c set bng 1 khi kt thc vic nhn mt k t v ch ra rng b m thu y. Nu phn mm mun nhn mt k t t port ni tip, phn mm phi ch cho n khi RI c set bng 1 k n phn mm xa RI v c k t t SBUF.

Trang 37

Bi ging Vi iu khin Bin son: Ths L Hong Anh

JNB RI,WAIT CLR RI MOV A,SBUF C TI c set bng 1 khi kt thc vic pht mt k t v ch ra rng b m pht rng. Nu phn mm mun pht mt k t trc tin phn mm phi kim tra bit port ni tip sn sng hay cha. Ex : WAIT : JNB TI,WAIT CLR TI MOV SBUF,A 3. TC BAUD CA PORT NI TIP : S dng b nh thi 1 l xung clock tc baud : K thut thng dng to xung clock tc baud l thit lp timer 1 hot ng ch d 8bit t np li ( ch nh thi 2) v t gi tr np thch hp vo thanh ghi TH1 c tc trn ng, t to ra tc baud. Tc baud = ( Tc trn b nh thi 1) / 32 Ex : Nu tc baud l 9600 tc trn ca b nh thi = 9600*32 = 307200 Hz v nu mch dao ng l 11.059 MHz xung clock ca b nh thi = 11.059 M/12 = 921583 Hz gi tr np cho TH1= 921583/307200 = 3 Tc baud 9600 2400 1200 Tn s thch anh 11.059 MHz 11.059 MHz 11.059 MHz Gi tr np cho TH1 -3(FDH) -12(F4H) -24(E8H)

Ex : WAIT :

Ex : Vit mt chui lnh khi ng port ni tip sao cho port ny hot ng ch UART 8 bit vi tc baud 9600, s dng b nh thi 1 cung cp xung clock tc baud. Dao ng thch anh l 11.059 MHz. MOV MOV MOV SETB SCON,#01010010B TMOD,#001000000B TH1,# (-3) TR1

Trang 38

You might also like