Professional Documents
Culture Documents
Chng 6:
I.
II.
III.
IV.
V.
VI.
Gii thieu.
Thanh ghi ieu khien truyen d lieu noi tiep.
Cac kieu truyen d lieu noi tiep.
Khi ong va truy xuat cac thanh ghi truyen d lieu.
Truyen d lieu trong he thong nhieu bo vi x ly.
Toc o baud cua truyen d lieu noi tiep.
I. GII THIEU:
Truyen d lieu noi tiep cua 89C51 co the hoat ong nhieu
kieu rieng biet trong pham vi cho phep cua tan so. Chc nang cua
truyen d lieu noi tiep la chuyen oi d lieu dang song song thanh
Ly thuyet & thc hanh.
97
98
Bit
7
6
5
Ky
hieu
SM0
SM1
SM2
a
ch
9FH
9EH
9DH
REN
9CH
TB8
9BH
RB8
9AH
TI
99H
RI
98H
Mo ta hoat ong
Bit chon kieu truyen noi tiep: bit th 0.
Bit chon kieu truyen noi tiep: bit th 1.
Bit cho phep truyen ket noi nhieu vi x ly
mode 2 va 3; RI se khong tch cc neu bit
th 9 a thu vao la 0.
Bit cho phep nhan k t. REN = 1 se cho phep
nhan k t.
Dung e lu bit 9 e tryen i khi hoat ong
mode 2 va 3.
TB8 bang 0 hay 1 la do ngi lap trnh thiet
lap.
Dung e lu bit 9 nhan ve khi hoat ong
mode 2 va 3.
C bao hieu nay len mc 1 khi truyen
xong 1 k t va xoa bi ngi lap trnh e
san sang truyen k t tiep theo.
C bao hieu nay len mc 1 khi nhan xong
1 k t va xoa bi ngi lap trnh e san
sang nhan k t d lieu tiep theo.
thanh ghi ieu khien truyen d lieu noi tiep.
SM
1
0
0
1
1
0
1
1
Bang 6-2.
Kieu
Mo ta
Toc o baud
Thanh ghi
Co nh (tan so dao ong f/12).
dch
1
UART 8 bit
Thay oi (c at biTimer).
2
UART 9 bit
Co nh (tan so dao ong f/12 or f/64)
3
UART 9 bit
Thay oi (c at bi Timer).
Cac mode truyen d lieu.
99
1 tan so dao
12
Khi co mot lenh nao o ghi d lieu len thanh ghi sbuf th qua trnh
truyen d lieu bat au. D lieu c dch ra ngoai thong qua chan
RxD cung vi cac xung nhp cung c gi ra ngoai thong qua chan
TxD. Moi bit truyen i ch co xuat hien tren chan RxD trong khoang
thi gian mot chu ky may. Trong khoang thi gian cua moi chu ky
may, tn hieu xung clock xuong mc thap tai thi iem S3P1 va len
mc cao tai thi iem S6P1 trong gian o thi gian hnh 6-2.
Qua trnh nhan c khi ong khi bit cho phep nhan REN = 1 va
c nhan RI = 0. Nguyen tac chung la khi tao bit REN = 1 au chng
trnh e khi ong truyen noi tiep, va xoa bit RI e san sang nhan
d lieu vao. Khi bit RI b xoa, cac xung clock se xuat ra ben ngoai
thong qua chan TxD, bat au chu ky may ke tiep th d lieu t ben
ngoai se c dch vao ben trong thong qua chan RxD.
100
8 Extra Output
8951
TXD (P3.1)
RXD (P3.0)
Clock
Shift Register
Data
101
RI = 0 va
102
Khi SM1 = 1 va SM0 = 0 th Port noi tiep hoat ong mode 2 giong
nh UART 9 bit co toc o Baud co nh. Co 11 bit c phat hoac thu : 1
bit Start, 8 bit data, 1 bit data th 9 c lap trnh va 1 bit Stop. Khi phat th
bit th 9 c at vao TB8 cua SCON (co the bit parity). Khi thu th bit
th 9 c at vao bit RB8 cua SCON. Toc o Baud trong mode 2 bang
1/12 hoac 1/64 tan so dao ong tren Chip.
4. Kieu truyen d lieu mode 3_Thu phat bat ong bo 9 bit
co toc o Baud thay oi :
Khi SM1/SM0 = 11 th Port noi tiep hoat ong mode 3 giong nh
UART 9 bit co toc o Baud thay oi. Mode 3 tng t mode 2 ngoai tr toc
o Baud c lap trnh va c cung cap bi Timer. Cac mode 1, mode
2, mode 3 rat giong nhau, nhng iem khac nhau toc o Baud (mode
2 co nh, mode 1 va mode 3 thay oi) va so bit data(mode 1 co 8 bit
data, mode 2 va mode 3 co 9 bit data).
IV. KHI ONG VA TRUY XUAT CAC THANH GHI TRUYEN D
LIEU:
1. Bit cho phep thu (Receive Enable) :
e cho phep thu d lieu th chng trnh phai lam cho bit REN = 1
va ieu nay c thc hien au chng trnh.
Ta co the khi tao cho phep truyen d lieu bang lenh :
Setb ren hoac mov scon, # xxx1xxxxb
2. Bit d lieu th 9 (the9th data bit) :
Bit d lieu th 9 c phat trong mode 2 va mode 3 phai c
nap vao bit TB8 bang phan mem co ngha la ngi lap trnh phai thc
hien cong viec nay trc khi truyen d lieu i, con bit data th 9 cua
d lieu thu c th t ong at vao trong bit RB8.
Phan mem co the hoac khong oi hoi bit d lieu th 9 tham
gia vao qua trnh truyen d lieu tuy thuoc vao ac tnh cua cac
thiet b noi tiep ket noi vi nhau thiet lap ra qui nh. Bit d lieu th
9 ong 1 vai tro quan trong trong truyen thong nhieu vi x ly.
3. Bit kiem tra chan le Parity :
Bit th 9 thng c dung la bit kiem tra chan le. moi chu ky
may, bit P trong thanh ghi trang thai PSW bang 1 hay bang 0 tuy thuoc vao
qua trnh kiem tra chan 8 bit d lieu cha trong thang ghi A.
V du neu he thong truyen d lieu yeu cau 8 bit data cong them
1 bit kiem tra chan, th cac lenh sau ay se phat 8 bit trong thanh ghi A
cong vi bit kiem tra chan c cong vao bit th 9.
Mov C,P
;chuyen c chan le P sang c C
Mov TB8,C
;chuyen c C sang bit TB8 e chuan b
truyen i
Mov sbuf,A
;truyen d lieu 8 bit trong A va bit th 9
trong TB8 i.
Neu kiem tra le c yeu cau th cac lenh tren c sa lai
la :
Mov
Cpl
C,P
C
Mov
TB8,C
Mov
trong TB8 i.
sbuf,A
truyen i
Trong mode 1 ta van co the s dung bit kiem tra cham le nh sau:
8 bit data c phat trong mode 1 co the bao gom 7 bit d lieu, va 1 bit
kiem tra chan le. e phat 1 ma ASCII 7 bit vi 1 bit Parity chan vao 8
bit, cac lenh sau ay c dung :
CLR ACC,7
; Xoa bit MSB trong A am bao Parity chan.
MOV C, P
; a Parity chan vao C
MOV ACC.7, C
; a Parity chan vao bit SB cua A
MOV SBUF, A
; Gi bit data cung bit Parity chan
4. C ngat :
C ngat nhan RI va phat TI trong thanh ghi SCON ong mot vai
tro quan trong trong truyen noi tiep 89C51. Ca hai bit eu c set bi
phan cng nhng phai xoa bi phan mem.
ien hnh la c RI c set mc 1 khi ket thuc qua trnh nhan
u 1 k t va cho biet thanh ghi em thu a ay. Trang thai cua c RI
co the kiem tra bang phan mem hoac co the lap trnh e sinh ra
ngat. Neu muon nhan mot ky t t mot thiet b a c ket noi
en Port noi tiep, th chng trnh phai ch cho en khi RI = 1, sau o
xoa RI va oc ky t t thanh ghi SBUF. Qua trnh nay c lap trnh nh
sau :
WAIT :
JNB RI, WAIT
: Kiem tra RI xem co bang 1 hay khong.
Ch neu = 0
CLR RI
: khi c RI = 1 th a nhan xong d lieu
va xoa c RI
MOV A, SBUF
: oc ky t nhan c t thanh ghi Sbuf
C TI len mc 1 khi phat xong ky t va cho biet thanh ghi em
sbuf a rong. Neu muon gi 1 ky t en mot thiet b a c ket
noi en Port noi tiep th trc tien phai kiem tra xem Port noi tiep a
san sang cha. Neu ky t trc ang c gi i, th phai ch cho en
khi ket thuc qua trnh gi. Cac lenh sau ay dung e phat mot ky
t trong thanh ghi A ra :
WAIT :
JNB TI, WAIT
: Kiem tra TI co bang 1 hay khong va
ch neu bang 0.
CLR TI
: Xoa c ngat thu TI
MOV SBUF,A
: gi noi dung trong thanh ghi A i
V. TRUYEN D LIEU TRONG HE THONG NHIEU BO X LY:
Mode 2 va mode 3 co mot chc nang ac biet cho viec truyen
thong a x ly. cac mode 2 va 3, 9 bit data c thu va bit th 9
32lieu
I/O lines
lines
c vao bit RB8. Truyen d
co the lap trnh32
saoI/O
cho
bit Stop c
thu, ngat cua truyen d lieu noi tiep tac ong ch khi bit RB8 =1.
Cau truc nay c phep bi bang cach set bit SM2 = 1 trong thanh ghi
SCON. Kieu nay c ng dung trong mang s dung nhieu 89C51 c
to chc theo cau hnh may chu va may t nh hnh 6-7.
MASTER
P0 P1 P2 P3
P0 P1 P2 P3
8951
8951 Slave # 1
8951 Slave # 2
TXD
RXD
RXD
104
105
orl
;bit Smod v tr th 7
106
Tan so
thach
anh
SMOD
Gia tr nap
cho TH1
Toc o thc
Sai so
9600
12MHz
- 7 (F9H)
8923
7%
2400
12MHz
-13 (F3H)
2404
0,16%
1200
12MHz
-26 (E6H)
1202
~0%
19200
11,059MH
z
-3 (FDH)
19200
0%
9600
11,059MH
z
-3 (FDH)
9600
0%
2400
11,059MH
z
-12 (F4H)
2400
0%
1200
11,059MH
z
-24 (E8H)
1200
0%
107
Thanh ghi TMOD co: hai bit M1M0 = 10 e thiet lap Timer 1 mode 2
t ong nap 8 bit. Lenh setb TR1 cho phep Timer lam viec tao toc o
baud.
T toc o Baud 2400 ta tnh c toc o tran cho Timer 1 la 2400 x
32 = 76,8 KHz va gia s Timer 1 em xung noi tan so 1000 KHz (ng
vi thach anh 12 MHz).
Vay e at toc o tran 76,8 KHz th ta tnh c so lng xung em
cho moi chu ky tran la 1000KHZ/76,8KHz = 13,02 xung (lam tron bang
13). Nen lenh th 3 se nap gia tr -13 vao thanh ghi TH1 e tao toc
o baud la 2400.
Thu tuc ch nhan mot k t:
Mainr:
jnb ri,$
;ch cho en khi c bao nhan
len 1
Clr ri
;xoa c e nhan k t tiep theo
Mov @r0,sbuf ;cat d lieu vao o nh.
Neu ch nhan mot k t th sau khi nhan xong CPU se thc hien
cong viec x ly khac, con neu muon nhan na th quay lai.
Thu tuc ch gi mot k t:
Mains: jnb ti,$
;kiem tra may phat san sang hay
cha
Clr ti
;xoa c e chuan b phat d
lieu
Mov sbuf,@r0 ;lay d lieu t o nh truyen i.
Viec s dung truyen d lieu toc o baud nao tuy thuoc vao
yeu cau thc te. Toc o cang cao th d lieu truyen cang nhanh. Khi
truyen nhieu d lieu th ngoai toc o qui nh thong nhat gia 2 he
thong ket noi vi nhau con phai quan tam en toc o x ly d
lieu nhan ve va lay d lieu e gi i e khong b mat d lieu
trong qua trnh truyen va nhan. Mot trong nhng giai phap e kiem
tra xem d lieu co b mat hay khong th phai s dung thu tuc bat tay.
108
109