
Ch ng 10ươ
Truy n thông n i ti p c a 8051ề ố ế ủ
Các máy tính truy n d li u theo hai cách: Song song và n i ti p. Trongề ữ ệ ố ế
truy n d li u song song th ng c n 8 ho c nhi u đ ng dây d n đ truy n dề ữ ệ ườ ầ ặ ề ườ ẫ ể ề ữ
li u đ n m t thi t b ch cách xa vài b c. Ví d c a truy n d li u song song làệ ế ộ ế ị ỉ ướ ụ ủ ề ữ ệ
các máy in và các c ng, m i thi t b s d ng m t đ ng cáp v i nhi u dây d n.ổ ứ ỗ ế ị ử ụ ộ ườ ớ ề ẫ
M c dù trong các tr ng h p nh v y thì nhi u d li u đ c truy n đi trong m tặ ườ ợ ư ậ ề ữ ệ ượ ề ộ
kho ng th i gian ng n b ng cách dùng nhi u dây d n song song nh ng kho ng cáchả ờ ắ ằ ề ẫ ư ả
thì không th l n đ c. Đ truy n d dx li u đi xa thì ph i s d ng ph ng phápể ớ ượ ể ề ư ệ ả ử ụ ươ
truy n n i ti p. Trong truy n thông n i ti p d li u đ c g i đi t ng bít m t so v iề ố ế ề ố ế ữ ệ ượ ử ừ ộ ớ
truy n song song thì m t ho c nhi u byte đ c truy n đi cùng m t lúc. Truy nề ộ ặ ề ượ ề ộ ề
thông n i ti p c a 8051 là ch đ c a ch ng này. 8051 đã đ c cài s n kh năngố ế ủ ủ ề ủ ươ ượ ẵ ả
truy n thông n i ti p, do v y có th truy n nhánh d li u v i ch m t s ít dây d n.ề ố ế ậ ể ề ữ ệ ớ ỉ ộ ố ẫ
10.1 Các c s c a truy n thông n i ti p.ơ ở ủ ề ố ế
Khi m t b vi x lý truy n thông v i th gi i bên ngoài thì nó c p d li uộ ộ ử ề ớ ế ớ ấ ữ ệ
d i d ng t ng khúc 8 bít (byte) m t. Trong m t s tr ng h p ch ng h n nh cácướ ạ ừ ộ ộ ố ườ ợ ẳ ạ ư
máy in thì thông tin đ n gi n đ c l y t đ ng bus d li u 8 bít và đ c g i đi t iơ ả ượ ấ ừ ườ ữ ệ ượ ử ớ
bus d li u 8 bít c a máy in. Đi u này có th làm vi c ch khi đ ng cáp bus khôngữ ệ ủ ề ể ệ ỉ ườ
quá dài vì các đ ng cáp dài làm suy gi m th m chí làm méo tín hi u. Ngoài ra,ườ ả ậ ệ
đ ng d li u 8 bít giá th ng đ t. Vì nh ng lý do này, vi c truy n thông n i ti pườ ữ ệ ườ ắ ữ ệ ề ố ế
đ c dùng đ truy n d li u gi a hai h th ng cách xa nhau hàng trăm đ n hàngượ ể ề ữ ệ ữ ệ ố ở ế
tri u d m. Hình 10.1 là s đ truy n n i ti p so v i s đ truy n song song.ệ ặ ơ ồ ề ố ế ớ ơ ồ ề
Hình 10.1: S đ truy n d li u n i ti p so v i s đ truy n song song.ơ ồ ề ữ ệ ố ế ớ ơ ồ ề
Th c t là trong truy n thông n i ti p là m t đ ng d li u duy nh t đ cự ế ề ố ế ộ ườ ữ ệ ấ ượ
dùng thay cho m t đ ng d li u 8 bít c a truy n thông song song làm cho nó khôngộ ườ ữ ệ ủ ề
ch r h n r t nhi u mà nó còn m ra kh năng đ hai máy tính cách xa nhau cóỉ ẻ ơ ấ ề ở ả ể ở
truy n thông qua đ ng tho i.ề ườ ạ
Đ i v i truy n thông n i ti p thì đ làm đ c các byte d li u ph i đ cố ớ ề ố ế ể ượ ữ ệ ả ượ
chuy n đ i thành các bít n i ti p s d ng thanh ghi giao d ch vào - song song - ra -ể ổ ố ế ử ụ ị
n i ti p. Sau đó nó có th đ c truy n quan m t đ ng d li u đ n. Đi u này cũngố ế ể ượ ề ộ ườ ữ ệ ơ ề
có nghĩa là đ u thu cũng ph i có m t thanh ghi vào - n i ti p - ra - song song đở ầ ả ộ ố ế ể
nh n d li u n i ti p và sau đó gói chúng thành t ng byte m t. T t nhiên, n u dậ ữ ệ ố ế ừ ộ ấ ế ữ
li u đ c truy n qua đ ng tho i thì nó ph i đ c chuy n đ i t các s 0 và 1ệ ượ ề ườ ạ ả ượ ể ổ ừ ố
sang âm thanh d ng sóng hình sin. Vi c chuy n đ i này th c thi b i m t thi t bở ạ ệ ể ổ ự ở ộ ế ị
Serial Transfer Parallen
Transfer
Sender Receiver
Sender Receiver
D7
D0

có tên g i là Modem là ch vi t t t c a “Modulator/ demodulator” (đi u ch / gi iọ ữ ế ắ ủ ề ế ả
đi u ch ).ề ế
Khi c ly truy n ng n thì tín hi u s có th đ c truy n nh nói trên, m tự ề ắ ệ ố ể ượ ề ư ở ộ
dây d n đ n gi n và không c n đi u ch . Đây là cách các bàn PC và IBM truy n dẫ ơ ả ầ ề ế ề ữ
li u đ n bo m ch m . Tuy nhiên, đ truy n d li u đi xa dùng các đ ng truy nệ ế ạ ẹ ể ề ữ ệ ườ ề
ch ng h n nh đ ng tho i thì vi c truy n thông d li u n i ti p yêu c u m tẳ ạ ư ườ ạ ệ ề ữ ệ ố ế ầ ộ
modem đ đi u ch (chuy n các s 0 và 1 v tín hi u âm thanh) và sau đó gi i đi uể ề ế ể ố ề ệ ả ề
ch (chuy n tín hi u âm thanh v các s 0 và 1).ế ể ệ ề ố
Truy n thông d li u n i ti p s d ng hai ph ng pháp đ ng b và d b .ề ữ ệ ố ế ử ụ ươ ồ ộ ị ộ
Ph ng pháp đ ng b truy n m t kh i d li u (các ký t ) t i cùng th i đi m trongươ ồ ộ ề ộ ố ữ ệ ự ạ ờ ể
khi đó truy n d b ch truy n t ng byte m t. Có th vi t ph n m m đ s d ngề ị ộ ỉ ề ừ ộ ể ế ầ ề ể ử ụ
m t trong hai ph ng pháp này, nh ng ch ng trình có th r t dài và bu n t . Vì lýộ ươ ữ ươ ể ấ ồ ẻ
do này mà nhi u nhà s n xu t đã cho ra th tr ng nhi u lo i IC chuyên d ng ph cề ả ấ ị ườ ề ạ ụ ụ
v cho truy n thông d li u n i ti p. Nh ng IC này ph c v nh các b thu - phátụ ề ữ ệ ố ế ữ ụ ụ ư ộ
d b t ng h p VART (Universal Asynchronous Receiver Transmitter) và các b thu -ị ộ ổ ợ ộ
phát đ ng - d b t ng h p UBART (Universal Asynchronous Receiver Transmitter).ồ ị ộ ổ ợ
B vi đi u khi n 8051 có m t cài s n m t UART mà nó s đ c bàn kỳ m cộ ề ể ộ ẵ ộ ẽ ượ ở ụ
10.3.
Hình 10.2: Truy n d li u đ n công, bán công và song công.ề ữ ệ ơ
10.1.1 Truy n d li u bán công và song công.ề ữ ệ
Trong truy n d li u n u d li u có th đ c v a phát và v a đ c thu thìề ữ ệ ế ữ ệ ể ượ ừ ừ ượ
g i là truy n song công. Đi u này t ng ph n v i truy n đ n công ch ng h n nhọ ề ề ươ ả ớ ề ơ ẳ ạ ư
các máy in ch nh n d li u t máy tính. Truy n song công có th có hai lo i là bánỉ ậ ữ ệ ừ ề ể ạ
song công và song công hoàn toàn ph thu c vào truy n d li u có th x y ra đ ngụ ộ ề ữ ệ ể ả ồ
th i không? N u d li u đ c truy n theo m t đ ng t i m t th i đi m thì đ cờ ế ữ ệ ượ ề ộ ườ ạ ộ ờ ể ượ
g i là truy n bán song công. N u d li u có th đi theo c hai đ ng cùng m t lúcọ ề ế ữ ệ ể ả ườ ộ
thì g i là song công toàn ph n. T t nhiên, truy n song công đòi h i hai đ ng dọ ầ ấ ề ỏ ườ ữ
li u (ngoài đ ng âm c a tín hi u), m t đ phát và m t đ thu d li u cùng m tệ ườ ủ ệ ộ ể ộ ể ữ ệ ộ
lúc.
10.1.2 Truy n thông n i ti p d b và đóng khung d li u.ề ố ế ị ộ ữ ệ
D li u đi vào đ u thu c a đ ng d li u trong truy n d li u nói ti pữ ệ ở ầ ủ ườ ữ ệ ề ữ ệ ế
toàn là các s 0 và 1, nó th t là khó làm cho d li u y có nghĩa là n u bên phát vàố ậ ữ ệ ấ ế
B phátộB thu ộ
B phátộ
B thuộ
B thuộ
B phátộ
B phátộ
B thu ộ
B thuộ
B phátộ
Bán đ n ơ
công
Song công
Đ n côngơ

bên thu không cùng th ng nh t v m t t p các lu t, m t th t c, v cách d li uố ấ ề ộ ệ ậ ộ ủ ụ ề ữ ệ
đ c đóng gói, bao nhiêu bít t o nên m t ký t và khi nào d li u b t đ u và k tượ ạ ộ ự ữ ệ ắ ầ ế
thúc.
10.1.3 Các bít b t đ u và d ng.ắ ầ ừ
Truy n thông d li u n i ti p d b đ c s d ng r ng rãi cho các phépề ữ ệ ố ế ị ộ ượ ử ụ ộ
truy n h ng k t , còn các b truy n d li u theo kh i thì s d ng ph ng phátề ướ ỹ ự ộ ề ữ ệ ố ử ụ ươ
đ ng b . Trong ph ng pháp d b , m i ký t đ c b trí gi a các bít b t đ uồ ộ ươ ị ộ ỗ ự ượ ố ữ ắ ầ
(start) và bít d ng (stop). Công vi c này g i là đóng gói d li u. Trong đóng gói dừ ệ ọ ữ ệ ữ
li u đ i v i truy n thông d b thì d li u ch ng h n là các ký t mã ASCII đ cệ ố ớ ề ị ộ ữ ệ ẳ ạ ự ượ
đóng gói gi a m t bít b t đ u và m t bít d ng. Bít b t đ u luôn luôn ch là m t bít,ữ ộ ắ ầ ộ ừ ắ ầ ỉ ộ
còn bít d ng có th là m t ho c hai bít. Bít b t đ u luôn là bít th p (0) và các bítừ ể ộ ặ ắ ầ ấ
d ng luôn là các bít cao (bít 1). Ví d , hãy xét ví d trên hình 10.3 trong đó ký t “A”ừ ụ ụ ự
c a mã ASCII (8 bít nh phân là 0100 0001) đóng gói khung gi a m t bít b t đ u vàủ ị ữ ộ ắ ầ
m t bít d ng. L u ý r ng bít th p nh t LSB đ c g i ra đ u tiên.ộ ừ ư ằ ấ ấ ượ ử ầ
Hình 10.3: Đóng khung m t ký t “A” c a mã ASCII (41H) có tín hi u là 1ộ ự ủ ệ
(cao) đ c coi nh là m t d u (mark), còn không có tín hi u t c là 0 (th p) thì đ cượ ư ộ ấ ệ ứ ấ ượ
coi là kho ng tr ng (space). L u ý r ng phép truy n b t đ u v i start sau đó bít D0,ả ố ư ằ ề ắ ầ ớ
bít th p nh t LSB, sau các bít còn l i cho đ n bít D7, bít cao nh t MSB và cu i cùngấ ấ ạ ế ấ ố
là bít d ng stop đ báo k t thúc ký t “A”.ừ ể ế ự
Trong truy n thông n i ti p d b thì các chíp IC ngo i vi và các modem cóề ố ế ị ộ ạ
th đ c l p trình cho d li u v i kích th c theo 7 bít ho c 8 bít. Đây là ch a kể ượ ậ ữ ệ ớ ướ ặ ư ể
các bít d ng stop có th là 1 ho c 2 bít. Trong khi các h ASCII cũ h n (tr c đây)ừ ể ặ ệ ơ ướ
thì các ký t là 7 bít thì ngay nay do vi c m r ng các ký t ASCII nên d li u nhìnự ệ ở ộ ự ữ ệ
chung là 8 bít. Trong các h cũ h n do t c đ ch m c a các thi t b thu thì ph i sệ ơ ố ộ ậ ủ ế ị ả ử
d ng hai bít d ng đ đ m b o th i gian t ch c truy n byte k ti p. Tuy nhiên,ụ ừ ể ả ả ờ ổ ứ ề ế ế
trong các máy tính PC hi n t i ch s d ng 1 bít stop nh là chu n.ệ ạ ỉ ử ụ ư ẩ
Gi s r ng chúng ta đang truy n m t t p văn b n các ký t ASCII s d ngả ử ằ ề ộ ệ ả ự ử ụ
1 bít stop thì ta có t ng c ng là 10 bít cho m i ký t g m: 8 bít cho ký t ASCIIổ ộ ỗ ự ồ ự
chu n và 1 bít start cùng 1 bít stop. Do v y, đ i v i m i ký t 8 bít thì c n thêm 2 bíẩ ậ ố ớ ỗ ự ầ
v chi là m t 25% t ng phí.ị ấ ổ
Trong m t s h th ng đ nh m duy trì tính toàn v n c a d li u thì ng iộ ố ệ ố ể ằ ẹ ủ ữ ệ ườ
ta còn thêm m t bít l (parity bít). Đi u này có nghĩa là đ i v i m i ký t (7 ho c 8ộ ẻ ề ố ớ ỗ ự ặ
bít tuỳ t ng h ) ta có thêm m t bít ngoài các bít start và stop. Bít ch n l là bít ch nừ ệ ộ ẵ ẻ ẵ
ho c bít l . N u là bít l là s bít c a d li u bao g m c bít ch n l s là m t sặ ẻ ế ẻ ố ủ ữ ệ ồ ả ẵ ẻ ẽ ộ ố
l các sô 1. T ng t nh v y đ i v i tr ng h p bít ch n thì s bít c a d li uẻ ươ ự ư ậ ố ớ ườ ợ ẵ ố ủ ữ ệ
bao g m c bít ch n - l s là m t s ch n c a các s 1. Ví d , ký t “A” c a mãồ ả ẵ ẻ ẽ ộ ố ẵ ủ ố ụ ự ủ
ASCII d ng nh phân là 0100 0001, có bít 0 là bít ch n. Các chíp UART đ u choở ạ ị ẵ ề
phép vi c l p trình bít ch n - l v ch n, l ho c không phân bi t ch n l .ệ ậ ẵ ẻ ề ẵ ẻ ặ ệ ẵ ẻ
d
1
1
Start
bít
Space
Stop
bít
Mar
d
Goes out
Goes out

10.1.4 T c đ truy n d li u.ố ộ ề ữ ệ
T c đ truy n d li u trong truy n thông d li u n i ti p đ c g i là bítố ộ ề ữ ệ ề ữ ệ ố ế ượ ọ
trong giây bps (bít per second). Ngoài ra, còn đ c s d ng m t thu t ng r ng rãiượ ử ụ ộ ậ ữ ộ
n a là t c đ baud. Tuy nhiên, các t c baud và bps là hoàn toàn không b ng nhau.ữ ố ộ ố ằ
Đi u này là do t c baud là thu t ng c a modem và đ c đ nh nghĩa nh là sô l nề ố ậ ữ ủ ượ ị ư ầ
thay đ i c a tín hi u trong m t giây. Trong các modem có nh ng tr ng h p khiổ ủ ệ ộ ữ ườ ợ
m t s thay đ i c a tín hi u thì nó truy n vài bít d li u. Nh ng đ i v i m t dâyộ ự ổ ủ ệ ề ữ ệ ư ố ớ ộ
d n thì t c đ baud và bps là nh nhau nên trong cu n sách này chúng ta có th dùngẫ ố ộ ư ố ể
thay đ i các thu t ng này cho nhau.ổ ậ ữ
T c đ truy n d li u c a m t h máy tính đã cho ph thu c vào các c ngố ộ ề ữ ệ ủ ộ ệ ụ ộ ổ
truy n thông k t n i vào trong h th ng đo. Ví d , các máy tính PC/XT tr c đâyề ế ố ệ ố ụ ướ
c a IBM có th truy n d li u v i t c đ 100 đ n 9600 bps. Tuy nhiên, trong nh ngủ ể ề ữ ệ ớ ố ộ ế ữ
năm g n đây thì các máy tính PC d a trên Pentium truy n d li u v i t c đ lên t iầ ự ề ữ ệ ớ ố ộ ớ
56kbps. C n ph i nói thêm r ng trong truy n thông d li u n i ti p d b thì t c đầ ả ằ ề ữ ệ ố ế ị ộ ố ộ
baud nhìn chung là b gi i h n 100.000 bps.ị ớ ạ ở
10.1.5 Các chu n RS232.ẩ
Đ cho phép t ng thích gi a các thi t b truy n thông d li u đ c s nể ươ ữ ế ị ề ữ ệ ượ ả
xu t b i các hãng khác nhau thì m t chu n giao di n đ c g i là RS232 đã đ cấ ở ộ ẩ ệ ượ ọ ượ
thi t l p b i hi p h i công nghi p đi n t EIA vào năm 19960. Năm 1963 nó đ cế ậ ở ệ ộ ệ ệ ử ượ
s a ch nh và đ c g i là RS232A và vào các năm 1965 và 1969 thì đ c đ i thànhử ỉ ượ ọ ượ ổ
RS232B và RS232C. đây chúng ta đ n gi n ch nói đ n RS232. Ngày nay RS232 làở ơ ả ỉ ế
chu n giao di n I/O vào - ra n i ti p đ c s d ng r ng rãi nh t. Chu n này đ cẩ ệ ố ế ượ ử ụ ộ ấ ẩ ượ
s d ng trong máy tính PC và hàng lo t các thi t b khác nhau. Tuy nhiên, vì nó đ cử ụ ạ ế ị ượ
thi t l p tr c h lô-gíc TTL r t lâu do v y đi n áp đ u vào và đ u ra c a nó khôngế ậ ướ ọ ấ ậ ệ ầ ầ ủ
t ng thích v i m c TTL. Trong RS232 thì m c 1 đ c bi u di n b i - 3v đ n 25vươ ớ ứ ứ ượ ể ể ở ế
trong khi đó m c 0 thì ng v i đi n áp + 3v đ n +25v làm cho đi n áp - 3v đ n + 3vứ ứ ớ ệ ế ệ ế
là không xác đ nh. Vì lý do này đ k t n i m t RS232 b t kỳ đ n m t h vi đi uị ể ế ố ộ ấ ế ộ ệ ề
khi n thì ta ph i s d ng các b bi n đ i đi n áp nh MAX232 đ chuy n đ i cácể ả ử ụ ộ ế ổ ệ ư ể ể ổ
m c lô-gíc TTL v m c đi n áp RS232 và ng c l i. Các chíp IC MAX232 nhìnứ ề ứ ệ ượ ạ
chung đ c coi nh cá b đi u khi n đ ng truy n. K t n i RS232 đ n MAX232ượ ư ộ ề ể ườ ề ế ố ế
đ c tho thu n ph n 10.2.ượ ả ậ ở ầ
10.1.6 Các chân c a RS232.ủ
B ng 10.1 cung c p s đ chân c a cáp RSE232 và các tên g i c a chúngả ấ ơ ồ ủ ọ ủ
th ng đ c g i là đ u n i DB - 25. Trong lý hi u thì đ u n i c m vào (đ u đ c)ườ ượ ọ ầ ố ệ ầ ố ắ ầ ự
g i là DB - 25p và đ u n i cái đ c g i là DB - 25s.ọ ầ ố ượ ọ
Hình 10.4: Đ u n i DB - 25 c a RS232.ầ ố ủ
14
25
13
1

Vì không ph i t t c m i chân đ u đ c s d ng trong cáp c u máy tính PC,ả ấ ả ọ ề ượ ử ụ ả
nên IBM đ a ra phiên b n c a chu n vào/ra n i ti p ch s d ng có 9 chân g i làư ả ủ ẩ ố ế ỉ ử ụ ọ
DB - 9 nh trình bày b ng 10:2 và hình 10.5.ư ở ả
B ng 10.1:ả Các chân c a RS232, 25 chân (DB - 25).ủ
S chânốMô tả
1
2
3
4
5
6
7
8
9/10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Đ t cách ly (Protective Cround)ấ
D li u đ c truy n TxD (TráNsmitted data)ữ ệ ượ ề
D li u đ c phân RxD (Received data)ữ ệ ượ
Yêu c u g i RTS (Request To Send)ầ ử
Xoá đ g i CIS (Clear To Send)ể ử
D li u s n sàng DSR (Data Set Ready)ữ ệ ẵ
Đ t c a tín hi u GND (Signal Cround)ấ ủ ệ
Tách tín hi u m ng d li u DCD (Data Carrier Detect)ệ ạ ữ ệ
Nh n đ ki m tra d li u (Received for data testing)ậ ể ể ữ ệ
Ch a dùngư
Tách tín hi u m ng d li u th c p (Secondary data carrier detect)ệ ạ ữ ệ ứ ấ
Xoá đ nh n d li u th c p (Secondary Clear to Send)ẻ ậ ữ ệ ứ ấ
D li u đ c truy n th c p (Secondary Transmit Signal Elementữ ệ ượ ề ứ ấ
Timing)
Truy n phân chia th i gian ph n t tín hi u (Transmit Signalề ờ ầ ử ệ
Element Timing)
D li u đ c nh n th c p (Secondary Received data)ữ ệ ượ ậ ứ ấ
Nh n phân chia th i gian ph n t tín hi u (Receiveo Signalậ ờ ầ ử ệ
Element Timing)
Ch a dùngư
Yêu c u đ nh n th c p (Secondary Request to Send)ầ ể ậ ứ ấ
Đ u d li u s n sàng (Data Terminal Ready)ầ ữ ệ ẵ
Phát hi n ch t l ng tín hi u (Signal Qualyty Detector)ệ ấ ượ ệ
Báo chuông (Ring Indicator)
Ch n t c đ tín hi u d li u (Data Signal Rate Select)ọ ố ộ ệ ữ ệ
Truy n phân chia th i gian tín hi u (Transmit Signal Elementề ờ ệ
Timing)
Ch a dùngư
10.1.7 Phân lo i truy n thông d li u.ạ ề ữ ệ
Thu t ng hi n nay phân chia thi t b truy n thông d li u thành m t thi t bậ ữ ệ ế ị ề ữ ệ ộ ế ị
đ u cu i d li u DTE (Data Terminal Equipment) ho c thi t b truy n thông d li uầ ố ữ ệ ặ ế ị ề ữ ệ
DCE (Data Communication Equipment). DTE ch y u là các máy tính và các thi t bủ ế ế ị
đ u cu i g i và nh n d li u, còn DCE là thi t b truy n thông ch ng h n nh cácầ ố ử ậ ữ ệ ế ị ề ẳ ạ ư
modem ch u trách nhi m v truy n d li u. L u ý r ng t t c m i đ nh nghĩa vị ệ ề ề ữ ệ ư ằ ấ ả ọ ị ề
ch c năng các chân RS232 trong các b ng 10.1 và 10.2 đ u xu t phát t g c đ c aứ ả ề ấ ừ ố ộ ủ
DTE.
K t n i đ n gi n nh t gi a m t PC và b vi đi u khi n yêu c u t i thi u làế ố ơ ả ấ ữ ộ ộ ề ể ầ ố ể
nh ng chân sau: TxD, RxD và đ t nh ch ra hình 10.6. Đ ý r ng trên hình này thìữ ấ ư ỉ ở ể ằ
các chân TxD và RxD đ c đ i cho nhau.ượ ổ
Hình 10.5: S đ đ u n i DB - 9 c a RS232.ơ ồ ầ ố ủ
6
9
5
1

