Professional Documents
Culture Documents
port nôi tiếp. Bộ đệm của port nôi tiếp SBUF có địa chỉ byte lả 99H, trên thưc tế bao
port nôi tiếp. Bộ đệm của port nôi tiếp SBUF có địa chỉ byte lả 99H, trên thưc tế bao
H#T NG CA PORT Ni
TIP
5.1 M u
Bn trong chip 8051 c mt port ni tip hot ng mt vi ch d trn mt tm
tn s rng. 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 li ) v RxD ( thu d liu ) d c gii thiu chng 2. Cc chn ny a
hp vi hai chn ca port 3 : P3.1 ( TxD--W P3.0 ( RxD ).
c trng ca port ni tip l hot dng song cng ( full duplex ), ngha l c kh
nng thu v pht ng thi. Ngoi ra port ni tip cn c mt dc trng khc, vic m
d liu khi thu ca port ny cho php mt k t dc nhn v lu gi trong b m th
trong khi k t tip theo dc nhn vo. Nu CPU dc k t th nht trc khi k t
th hai c nhn y , d liu s khng b mt.
Phn mm s dung hai thanh ghi chc nng dc 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
xu't d liu d nhn c. iu ny c ngha l ta c hai thanh ghi ring r v phn
bit : thanh ghi pht ( ch ghi ) hay b dm pht v thanh ghi thu ( ch dc ) hay b m
thu ( xem hnh 5.1 ).
Thanh ghi diu khin port ni tip SCON ( c da ch byte l 98H ) l thanh ghi
c nh a ch tng bit, thanh ghi ny cha cc bit trng thi v cc bit diu khin.
Cc bit iu khin s thit lp ch hoat ng cho pnrtni iip rnn rc hit, trang thi
ch ra s kt thc vic thu
[]88
H vi iu khin 8051
hoc pht, mt k tCc bit trng thi c kim tra bi phn mm lioc 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 cung cp
xung clock tc baud v ta phi lp trnh sao cho ph hp. Trn 8032/8052, b nh
thi 2 cng c th c lp trnh cung cp xung clock tc baud.
RXD
Shift, register
CLK
\7
SBUF
(read-only)
89 (
khi ng port ni tip ch 1 ( SM0/SM1 = 0/1 ), cho php thu ( REN = 1 ) v set c
ngt pht bng 1 ( TI = 1 ) ch ra rng port ni tip sn sng pht d liu.
5.3 CC CH HOT NG
Port ni tip ca 8051 c 4 ch hot ng, cc ch c chn bng cch ghi 1
hoc 0 cho cc bit SMO v SM1 trong thanh ghi SCON. Ba trong s cc ch hot ng
cho php truyn khng ng b ( asynchronous ), trong mi mt k t c thu hoc
c pht s cng vi mt bit start v mt bit stop to thnh mt khung ( frame ).
Nu lm quen vi hot ng ca port ni tip theo chun RS- 232C trn mt my
vi tnh, ta s tm thy c s tng t cc ch ny. Vi ch th t, port ni tip
hot ng nh mt thanh ghi dch bit n gin. Mi mt ch s c cp tm tt sau
y.
Bit
K hiu
a ch
M t
SCON.7
SMO
9FH
SCON.6
SM1
9EH
SCON.5
SM2
9DH
SCON.4 REN
x l cc ch 2 v 3; bit RI s khng
c tch cc nu bit th 9 nhn c l 0.
SCON.3 TB8
9CH
SCON.2
9BH
SCON.l
phn mm
bit thu 8. Bit th 9 nhn c. c ngt pht.
9AH
TI
99H
SCON.O RI
Bit ny cho php
truyn thng a
Bng 5.1 : Tm
pht mt k t ; c xa bi phn mm c
ngt thu. Cr ny c set ngay khi kt
thc vic thu mt k t ; c xa bi phn
mm
98H
10 2
nh ( tn s dao ng / 12 ) Thay i
ART 9-bit
113
baud
nh
Thay i ( thit lp bi b
tip
( thit lp bi b nh thi )
( tn s dao ng / 12 hoc/64 )
ART 9-bit
nh thi )
Bng 5.2 : Cc ch ca port ni
Vic pht d liu c khi ng bng mt lnh ghi d liu vo SBUF. D liu
c dch ra ngoi trn chn RxD ( P3.0 ) vi cc xung clock dich bit c gi ra trn
chn
TxD
( P3.1 ). Mi mt bit
hp l
c truyn i trn ng RxD trongmt chu k my.
^ -----------------
Trong mi mt chu k my, xung
clock dch bit i thnh mc
thp
SI
S2 I S3 I S4 I S5
SG
PI I P2 I PI I P2 I PI I P2 I PI I P2 I PI I P2 I PI I P2
Osc,
ALE
Data out
S3P1
_l_
Shift CLOCK I
WRITE
toSBUF
S6P1
Expanded view
iuUiiiiiiuuuuuuuuuuuuL
___
i\ DO X
ALE
DI X 1)2 X D3 Y D4 )C D5 X DG XZjjl X
I
Data out
(RXD)_
Shift
CLOCK
(TXD
I
Hnh 5.2 : Gin tlii gian pht d liu ch 0
I I I I I I I I I I
_ JUULJUUUUUUUULJUUUULJUL
ALE
H] 92
H vi iu khin 8051
8051
TXD P3 11 RXD
(P3.0)
CLOCK
Data
Shift register
93 [j
16 X baud rate
Vic pht c khi ng bng cch ghi vo SBUF nhng vic pht
khng thc s bt u cho n ln trn k ca b"m 16, b m cung cp tc baud
cho port ni tip. D liu c dch bit c xut ra trn ng TxD s bt u bng
bit start, tip theo l 8 bit d liu ri n bit stop. Thi gian ca mi mt bit l gi tr
nghch o ca tc baud, tc baud c c bng cch lp trnh cho b nh thi.
C ngt pht TI c set bang' 1 ngay khi bit stop xut hin trn ng TxD ( xem hnh
5.6 ).
TXD
\bit /~D~)( PI
X 02 X 1)3 X D4 X n )T"D6~)( 07 /
Stop
bit
TI
(SCON.l)
Transmit intemipi (ready for
more datu
H vi iu khin 8051
Vic nhn c khi ng bi mt chuyn trng thi t 1 xung 0 trn ng RxD
( bt u bit. start ). B m 16 ngay lp tc c xa gn cc s m cho dng bit
n chn RxD ( bit k tip n khi b m trn ln na v v.v... ). Dng bit n c ly
mu gia 16 s' m.
B thu bao gm vic pht hin bit start sai bng cch yu cu 8 s m t.rng thi
0 sau khi c s chuyn trng thi t 1 xung 0 ln u tin. Nu iu ny khng xy ra,
b thu c gi s rng c nhn c nhiu thay v l nhn mt bit hp l. B thu
s c thit lp li , quay v trng thi nghi v ch s chuyn trng thi t 1 xung 0
k. Cri s mt bit start, hp l c pht hin, vic nhn k t s tip tc. Bit start,
c b qua v 8 bit d liu c nhn tun t vo thanh ghi dch bit ca port ni tip.
Khi c 8 bit c nhn, cc iu sau s xy ra : "
\/1. Bit t.h 9 ( bit. stop Kc a n bit RB8 trong thanh ghi SCON.
95 [j
set bit, REN bng 1 v xa hoc set cc bit khc trong SCON nu cn.
5.4.2 Bit d liu th 9
Bit d liu t.h 9 c pht cc ch 2 v 3 phi c nap cho bit TB8 bng
phn mm. Bit d liu th 9 thu c phi t vo bit RB8 ca SCON. Phn mm c th
yu cu hoc khng yu cu bit d liu t.h 9 ty vo cc c tnh ca thit b ni tip
m vi thit b ny vic truyn d liu c thit lp ( bit th 9 cn ng vai tr quan
trng trong truyn thng a x l ).
5.4.3 Thm vo bit chn l
Bit th 9 thng c dng lm bit chn l cho mt k t. Nh cp chng
2, bit p trong t trng thi chng trnh PSW c set, hoc xa mi mt chu k my
thit lp vic kim tra chn cho 8 bit cha trong thanh cha A.
Th d nu vic truyn thng yu cu 8 bit d liu cng vi mt bit kim tra chn,
cc lnh sau c dng pht, i 8 bit, trong thanh cha vi bit, kim tra chn c
a
vo bit t.h 9 :
; a
;
bit
di
MOV c, p
CPL c
1)96
;
n
bit
Ii vi iu khin 8051
MOV TB8,
MOV SBUF, A
SBF
ACC.7
; m bo bit MSB c xa
; kim tra chn
MOV
c, p
MOV
ACC.7, c
MOV
SBUF, A
; pht k t
; 7 bit d liu cng vi bit kim tra chn
5.4.4
Cc c ngt
Cc c ngt thu RI v ngt pht TI trong thanh ghi SCON dng mt vai tr quan
trng trong vic truyn d liu ni tip ca 8051. C 2 bit u c set bng 1 bng phn
cng nhng phi c xa bng phn mm.
in hnh l RI c set bng 1 khi kt thc vic nhn mt k t v ch ra rng b
m thu y. iu kin ny c kim tra bng phn mm hoc c lp trnh d to ra
mt ngt ( cc ngt c cp trong chng 6 ).
Nu phn mm mun nhp mt k t t, mt thit b ghp vi port ni tip, phn
mm phi ch cho n khi RI c set bng 1, k n phn mm xa RI v dc k t t
SBUF. iu ny dc th hin nh
sau :
WAIT:
JNB
RI, WAIT
CLR RI MOV A,
SBUF
n khi
c k t
WAIT:
JNB
TI,
CLR
TI
MOV
SBUF, A
WAIT
Cc chui lnh thu v pht trn l mt phn ca cc chng trnh con xut nhp
k t. Chng s dc m t chi tit trong th d 5.2 v th d 5.3.
5.5 TRUYN THNG A x L
Cc ch d 2 v 3 l cc ch d d phng cho vic truyn thng a x l. Trong cc
ch ny, 9 bit d liu dc thu v bit th 9 dc da n RB8. Port c th c lp
trnh sao cho khi b^t stop c nhn, ngt^ do port ni tip c tch cc ch nu RB8
= 1. c trng ny c c bng cch set bit SM2 trong thanh ghi SCON bng 1. Mt
ng dng cho iu ny l mt mi trng mng s dng nhiu 8051 c sp xp tlieo
m hnh ch / t ( master / slave ) nh trnh by trong hnh 5.7.
32 I/O ]jnes
32 I/O lines
A, PCON
SETB
ACC.7
MOV
PCON, A
; ghi gi tr mi vo PCON
On-chp
Chng
5 : Hot ng ca port ni tip
12
oscillator
(a) Mode 0
Baud
rate
clock
Hnh 5.8 : Cc ngun xuiig clock cho port n tip (a) ch 0 (b) ch 2 (c)
ch 1 v 3
SI 100
l :
H vi iu khin 8051
Tn s
thch anh
SMOD
Gi tri
np cho
TH1
Tc
baud
thc t
Sai
A'
SO
9G00
12.000 MHz
-7 (F9H)
8923
7%
2400
12.000 MHz
-13 (F3H)
2404
0.16%
1200
12.000 MHz
-26 (E6H)
1202
0.16%
19200
11.059 MHz
-3 (FDH)
19200
9G00
11.059 MHz
-3 (FDH)
9600
2400
11.059 MHz
-12 (F4H)
2400
1200
11.059 MHz
-24(E8H)
1200
101 H)
SM1
1
SM2
0
REN
1
TB8
0
RB8
0
TI
1
RI
0
GTE
C/T
MI
MO
GTE
C/T
MI
MO
TF1
TRI
TF0
TRO
IE1
IT1
IEO
ITO
TCON:
THI:
SCON:
TMOD:
Vic thit lp SM0/SM1 = 0/1 nhm t port ni tip ch UART 8-bit. REN =
1 cho php port ni tip thu cc k t. Vic set TI bng 1 cho php pht k t u tin
bng cch ch ra rng b dm pht rng. Vi thanh ghi TMOD, vic thit lp M1/M0 =
1/0 dt b dnh thi 1 vo ch d t np li 8-bit. Vic set TRI trong TCON bng 1 s
khi ng b nh thi 1 hot dng.
Cc bit khc dc cho bng 0 do chng iu khin cc c trng hoc cc ch
khng c s dng trong th d ny.
Gi tr cn np cho THI l gi tr cung cp tc trn : 2400 X 32 = 76.8 KHz. Gi
s tn s ca mch dao dng trong chip l 12 MHzvb nh thi 1 dc cung cp xung
clock c tn s 1 MHz hay 1000 KHz v <sTxurig~Hc^-cho mi ln trn l 1000 -r76.8 = 13.02 ( lm trn l 13 ). Gi tr np li l -13 hoc 0F3H.
Chui lnh khi dng port ni tip nh sau :
ORG 8100H
INIT:
MOV
SCON, #52H
ch 2 gi tr np li c 2400
END
JNB
TI,
; t bit chn l vo c c ; i
thnh l ; a vo bit 7 ca ACC
AGAIN
; b m pht rng ?
xa c TI v ; pht 1 k
Ba lnh u tin t bit kim tra l vo bit 7
ca
thanh cha. Do bit p trong t trng thi chng
trnh
t
PSW thit lp kim tra chn cho thanh cha, bit
ny
phi c lv b tritr khi t vo ACC.7. Lnh JNB to ra mt vng lp ch kim tra c
ngt pht TI cho n khi c' ny c set bng 1. Khi TI =1 ( do vic pht k t trc
va kt thc ), bit ny c xa v sau k t trong thanh cha c ghi vo b m ca
port ni tip SBUF v vic pht k t bt u ln trn k cua b m 16 to xung clock
cho port, ni tip. Sau cng bit. ACC.7 c xa gi tr tr v ging nh khi m 7-bit
c chuyn n chng trnh con.
8100H RI,
RI
; ch k t ;
A, SiF
c,
xa c
; c k t vo thanh cha ; vi
kim tra l troag A ; p cn c set
bng 1 ; vic ly b ch ra c li
ORG
INCHAR:
JNB
hay ; khng ?
; xa