You are on page 1of 13

Chng 6: Truyen d lieu.

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

Chng 6: Truyen d lieu.

noi tiep e truyen i va chuyen oi d lieu nhan ve dang noi noi


tiep thanh song song.
TxD ( chan P3.1) la ngo xuat d lieu i va RxD ( chan P3.0) la
ngo nhan d lieu ve.
ac trng cua truyen d lieu noi tiep la hoat ong song cong
co ngha la co the thc hien truyen va nhan d lieu cung mot
luc.
Hai thanh ghi chc nang ac biet phuc vu cho truyen d lieu la
thanh ghi em SBUF va thanh ghi ieu khien SCON. Thanh ghi em sbuf
nam a ch 99H co 2 chc nang: neu vi ieu khien ghi d lieu
len thanh ghi sbuf th d lieu o se c truyen i, neu he thong
khac gi d lieu en th se c lu vao thanh ghi em sbuf. S o
khoi cua he thong truyen d lieu nh hnh 6-1

Hnh 6-1.S o khoi cua truyen d lieu noi tiep.


Thanh ghi ieu khien truyen d lieu noi tiep SCON nam a ch
98H la thanh ghi cho phep truy suat bit bao gom cac bit trang thai va
cac bit ieu khien. Cac bit ieu khien thiet lap cac kieu hoat ong
cua truyen d lieu noi tiep, con cac bit trang thai cho biet thi
iem ket thuc khi truyen xong mot k t hoac nhan xong 1 k t. Cac bit
trang thai co the kiem tra trong chng trnh hoac co the lap trnh e
sinh ra ngat.
Tan so hoat ong cua truyen d lieu noi tiep con goi toc o
BAUD (so lng bit d lieu c truyen i trong mot giay) co the hoat
ong co nh (s dung dao ong tren Chip 89C51) hoac co the thay
oi. Khi can toc o Baud thay oi th phai s dung Timer 1 e cung
cap toc o baud.
II. THANH GHI IEU KHIEN TRUYEN NOI TIEP:
Thanh ghi scon se thiet lap cac kieu hoat ong truyen d lieu noi
tiep cho 89C51. Bang 6-1 tom tat thanh ghi ieu khien Port noi tiep
scon nh sau :

Ly thuyet & thc hanh.

98

Chng 6: Truyen d lieu.

Bit
7
6
5

Ky
hieu
SM0
SM1
SM2

a
ch
9FH
9EH
9DH

REN

9CH

TB8

9BH

RB8

9AH

TI

99H

RI

98H

Bang 6-1. Cac bit cua

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.

III. CAC KIEU TRUYEN D LIEU NOI TIEP (MODE OF


OPERATION):
Trc khi truyen d lieu noi tiep th thanh ghi SCON phai c khi
tao ung mode. V du e khi tao Port noi tiep mode 1 th 2 bit: SM0 SM1
= 01, bit cho phep thu: REN =1, va c ngat truyen san sang truyen d
lieu TI = 1, ta dung lenh sau : MOV SCON, # 01010010b.
Truyen d lieu noi tiep cua 89C51 co 4 mode hoat ong tuy
thuoc theo 4 trang thai cua SM0SM1 c liet ke bang 6-2.
Ba trong bon mode cho phep truyen ong bo vi moi k t thu
hoac phat se c ket hp vi bit Start hoac bit Stop.
SM0
0

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.

1. Kieu truyen d lieu mode 0_Thanh ghi dch 8 bit :


e nh cau hnh cho truyen d lieu noi tiep mode 0 th 2 bit SM1
SM0 = 00. D lieu noi tiep truyen vao va d lieu gi i eu thong
qua chan RxD, con chan TxD th dung e dch chuyen xung clock. 8 bit
d lieu e truyen i hoac nhan ve th luon bat au vi bit co trong
so nho nhat. Toc o Baud c co nh tan so
ong tren Chip.
Ly thuyet & thc hanh.

99

1 tan so dao
12

Chng 6: Truyen d lieu.

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.

Hnh 6-2.Gian o thi gian.


Bieu o thi gian
khien mode 0 nh sau :

Ly thuyet & thc hanh.

cua d lieu noi tiep truyen vao vi ieu

100

Chng 6: Truyen d lieu.

Hnh 6-3. Gian o thi gian mode 0 .


Mot ng dung cu the s dung mode 0 la dung e m rong
them so lng ngo ra cho 89C51 vi cach thc thc hien nh sau: mot
thanh ghi dch t noi tiep thanh song song c noi en cac ng TxD
va RxD cua 8951 e m rong them 8 ng ra nh hnh 6-4. Neu dung
them nhieu thanh ghi dch mac noi tiep vao thanh ghi dch au tien
se m rong c nhieu ngo ra.

8 Extra Output
8951
TXD (P3.1)
RXD (P3.0)

Clock
Shift Register
Data

Hnh 6-4.Mot ng dung mode 0 e tang them ngo ra bang


thanh ghi dch.
2. Kieu truyen d lieu mode 1_Thu phat bat ong bo 8 bit
vi toc o Baud thay oi :
Trong mode nay, truyen d lieu noi tiep hoat ong bat ong bo
UART 8 bit co toc o Baud thay oi. UART la bo thu va phat d lieu
noi tiep vi moi ky t d lieu luon bat au bang 1 bit Start ( mc
0) va ket thuc bang 1 bit Stop ( mc 1), bit parity oi khi c ghep
vao gia bit d lieu sau cung va bit Stop.
Trong mode nay, 10 bit d lieu se phat i chan TxD va neu
nhan th se nhan chan RxD. 10 bit o bao gom: 1 bit start, 8 bit data
(LSB la bit au tien), va 1 bit stop. oi vi hoat ong nhan d lieu th
bit Stop c a vao bit RB8 trong thanh ghi SCON. Trong 89C51, toc o
Baud c thiet lap bi toc o tran cua Timer T1. oi vi ho 52 co 3
timer th toc o baud co the thiet lap bi toc o tran cua timer T1
hoac timer T2 hoac ca 2 timer T1 va T2: mot timer cho may phat va 1
timer cho may thu.
Nguon cung cap xung clock e ong bo cac thanh ghi truyen d
lieu noi tiep hoat ong mode 1, 2, 3 c thiet lap bi bo em 16
nh hnh 6-5, ngo ra cua bo em la xung clock tao toc o baud. Xung
ngo vao cua bo em co the lap trnh bang phan mem.

Ly thuyet & thc hanh.

101

Chng 6: Truyen d lieu.

Hnh 6-5.Cung cap xung cho truyen d lieu noi tiep.


Khi co mot lenh nao o ghi d lieu len thanh ghi sbuf th qua trnh
truyen d lieu bat au nhng no cha thc s bat au ma ch cho
en bo em chia 16 c cung cap toc o Baud cho truyen d lieu
noi tiep b tran. D lieu c xuat ra tren TxD bat au vi bit start
theo sau la 8 bit data va sau cung la bit stop. Cac c phat TI c nang
len mc 1 cung luc vi thi iem xuat hien bit Stop tren chan TxD
nh hnh 6-6.
Qua trnh nhan d lieu c khi ong khi co s chuyen oi t
mc 1 sang mc 0 ngo vao RxD. Bo em 16 trang thai (4 bit) c
reset ngay lap tc e sap xep bit d lieu ang en t ngo vao RxD.
Moi bit d lieu en c lay mau trang thai em th 8 trong mot
chu ky 16 trang thai cua bo em 4 bit.
Khi co s chuyen trang thai t 1 xuong 0 ngo vao RxD cua bo
thu th trang thai 0 nay phai ton tai trong 8 trang thai lien tuc cua bo
em 4 bit. Neu trng hp nay khong ung th bo thu xem nh b tac
ong bi tn hieu nhieu. Bo thu se reset va tr ve trang thai ngh
va ch s chuyen trang thai tiep theo.

Hnh 6-6. C bao phat xong d lieu TI.


Gia s viec kiem tra bit Start la hp le th bit Start se c bo
qua va 8 bit data c nhan vao thanh ghi dch Port noi tiep.
Khi tat ca 8 bit c ghi gi vao thanh ghi dch th 3 cong viec sau
se c thc hien:
- Bit th 9 (bit Stop) c dch vao bit RB8 trong SCON.
- 8 bit data c nap vao thanh ghi SBUF.
- C ngat nhan RI =1.
Tuy nhien, 3 cong viec tren ch xay ra neu hai ieu kien sau ton
tai :

RI = 0 va

SM2 = 1 va bit Stop nhan c = 1 hoac SM2 = 0.


ieu kien RI = 0 co the thc hien bang phan mem dung lenh
xoa RI trc khi nhan d lieu. ieu kien th hai phc tap, no ch
ng dung trong mode truyen cua bo x ly a kenh.
3. Kieu truyen d lieu mode 2_Thu phat bat ong bo 9 bit
co toc o Baud co nh :
Ly thuyet & thc hanh.

102

Chng 6: Truyen d lieu.

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

Ly thuyet & thc hanh.

;chuyen c chan le P sang c C


;nghch ao chan thanh le
103

Chng 6: Truyen d lieu.

Mov

TB8,C

;chuyen c C sang bit TB8 e chuan b

Mov
trong TB8 i.

sbuf,A

;truyen d lieu 8 bit trong A va bit th 9

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

Ly thuyet & thc hanh.

104

Chng 6: Truyen d lieu.

Hnh 6-7. Ket

noi nhieu vi x ly.

Trong cau hnh ket noi tren th moi mot vi x ly t se co mot


a ch duy nhat do chung ta qui nh.
Khi bo x ly chu muon phat mot khoi d lieu en mot trong
cac bo x ly t th trc tien vi x ly chu phai gi ra 1 byte a
ch e nhan dien bo x ly t muon ket noi.
Byte a ch c phan biet vi byte d lieu bi bit th 9: trong
byte a ch th bit th 9 bang 1 va trong byte d lieu th bit th 9 bang
0.
Cac vi x ly t sau khi nhan c byte a ch se biet c vi x
ly chu muon giao tiep t nao. Khi co vi x ly t c phep th no
se xoa bit SM2 e bat au nhan cac byte d lieu tiep theo. Con cac
vi x ly khong c phep th van gi nguyen bit SM2=1 e khong
nhan cac byte d lieu truyen gia vi x ly chu va vi x ly t ang
c phep. Vi x ly t sau khi ket noi vi vi x ly chu xong th phai
lam cho bit SM2=1 e san sang ket noi cho nhng lan tiep theo.
Sau khi thc hien xong viec trao oi d lieu th vi x ly muon truy
xuat mot vi x ly khac th phai tao ra mot a ch mi va vi x ly
t tng ng vi a ch o c phep va hoat ong giong nh va
trnh bay.
VI. TOC O BAUD CUA TRUYEN D LIEU NOI TIEP :
Truyen d lieu noi tiep neu hoat ong mode 0 va mode 2 th co
toc o baud co nh. Trong mode 0 th toc o baud bang tan so dao
ong tren Chip chia cho 12. Neu s dung thach anh 12 MHz th toc o
Baud cua mode 0 la 1MHz nh hnh 6-8a.
Mac nhien sau khi reset he thong, toc o Baud trong mode 2 bang
tan so dao ong chia cho 64, toc o Baud cung b anh hng bi bit
SMOD cua thanh ghi PCON.
Neu bit SMOD = 1 se tang gap oi toc o Baud trong cac mode1,
2 va 3. Trong mode 2, toc o Baud co the tang gap oi t gia tr
mac nh 1/64 tan so dao ong tren Chip (ng SMOD = 0) len en 1/32
tan so dao ong tren Chip (ng vi SMOD =1) nh hnh 6-8b.
Do thanh ghi PCON khong cho phep truy suat bit nen e set bit SMOD
ma khong thay oi cac bit khac cua thanh ghi PCON th phai thc hien
lenh sau.
Lenh sau ay set bit SMOD :
Ly thuyet & thc hanh.

105

Chng 6: Truyen d lieu.

orl

PCON, #1000 0000b

;bit Smod v tr th 7

Cac toc o Baud trong mode 1 va mode 3 cua 89C51 c xac nh


bi toc o tran cua Timer 1. Bi v Timer hoat ong tan so tng
oi cao nen phai chia cho 32 khi bit smod = 0 va chia cho 16 neu SMOD =
1 trc khi cung cap xung clock e thiet lap toc o Baud cho Port noi
tiep. Toc o Baud mode 1 va 3 cua 89C51 c xac nh bi toc
o tran cua Timer 1 hoac Timer 2, hoac ca 2 nh hnh 6-8c.

Hnh 6-8. Thiet lap toc o Baud.


1. Dung Timer 1 nh toc o Baud :
Muon co toc o Baud th ta khi tao thanh ghi TMOD mode t
ong nap 8 bit (mode 2) va at gia tr nap lai vao thanh ghi TH1 cua
Timer 1 e tao ra toc o tran chnh xac e thiet lap toc o Baud.
Thanh ghi tmod c khi tao e tao toc o baud nh sau:
Mov tmod,#0010xxxxB

;ch quan tam en timer 1

Co nhng toc o Baud thap phai s dung mode 1 (em 16 bit)


cua Timer nhng ta phai viet them chng trnh nap lai gia tr cho
TL1/TH1 trong thu tuc phuc vu ngat ISR v chung khong t ong nap lai
nh mode 2.
Mot cach tao toc o baud na la nhan tn hieu xung clock t ben
ngoai a en ngo vao T1. Cong thc chung e xac nh toc o Baud
trong mode 1 va mode 3 la :
BAUD RATE = TIMER 1 OVERFLOW RATE 32

Ly thuyet & thc hanh.

106

Chng 6: Truyen d lieu.

V du1: truyen d lieu can toc o baud la 1200 th ta tnh toan


nh sau:
Toc o tran cua timer 1 bang 1200 x 32 = 38,4KHz. Neu he thong s
dung thach anh 12 MHz th xung cung cap cho Timer 1 em co tan so la 1
MHz hay 1000KHz. Vay e at toc o tran 38,4 KHz th ta tnh c so
lng xung em cho moi chu ky tran la 1000KHZ/38,KHz = 26,4 xung
(lam tron bang 26).
Do cac Timer em len va thi iem tran xay ra khi chuyen trang
thai em t t FFH 00H nen ta phai nap gia tr bat au t (256
26 = 230) e t gia tr nay timer 1 em len 26 xung na th sinh ra
tran. Gia tr 230 c nap vao thanh ghi TH1 e t ong nap lai cho
thanh ghi TL1 khi tran bang lenh: mov th1,#230. Ban co the khong
can phai tnh toan ra gia tr 230 ma co the thay bang lenh : mov
th1,#-26 th trnh bien dch se tnh cho ban.
Bang tom tat toc o Baud ng vi 2 loai thach anh 12 MHz va 11,
059 MHz :
Toc o
baud

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%

Bang 6-3. Tom tat toc o baud.


V du 2: hay khi tao truyen d lieu noi tiep hoat ong nh UART
8 bit toc o Baud 2400, dung Timer 1 e tao toc o Baud.
Chng trnh sau se thiet lap ung theo yeu cau e ra:
MOV
SCON, # 01010010B
: Port noi tiep mode 1.
MOV
TMOD, # 20H
: Timer 1 mode 2
MOV
TH1, # -13
: Nap vao bo em toc o 2400 Baud.
SETB
TR1
: Start Timer 1.
Trong thanh ghi SCON co: hai bit SM0 SM1 = 01 thiet lap mode UART 8
bit, bit REN = 1 cho phep san sang nhan d lieu, bit TI = 1 bao cho biet
thanh ghi em rong san sang cho phep phat d lieu.

Ly thuyet & thc hanh.

107

Chng 6: Truyen d lieu.

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.

Ly thuyet & thc hanh.

108

Chng 6: Truyen d lieu.

Ly thuyet & thc hanh.

109

You might also like