Luận án tốt nghiệp ngành điện tử viễn thông - Pdf 22

Lu n án t t nghi pậ ố ệ
B Giáo D c và ào T oộ ụ Đ ạ
i H c Qu c Gia Tp.H Chí MinhĐạ ọ ố ồ
Tr ng H S Ph m K Thu tườ Đ ư ạ ĩ ậ
Khoa i nĐ ệ
B Môn : i n Tộ Đ ệ ử
NHI M V LU N V N T T NGHI PỆ Ụ Ậ Ă Ố Ệ
Sinh viên th c hi n : ự ệ TR N I NGH A Ầ ĐẠ Ĩ
L p : 95 Kớ ĐĐ
MSSV : 95101099
S đi n tho i : 8854340 ( Tp.H Chí Minh ).ố ệ ạ ồ
1/ Tên tài : đề
i n N ng K i n T Giao Ti p Máy Tính Đ ệ ă ế Đ ệ ử ế
2/ N i Dung Lu n V n T t Nghi p :ộ ậ ă ố ệ
Tính toán các thông s k thu t.ố ĩ ậ
Thi t k ph n c ng.ế ế ầ ứ
Gi i thi u ph n m m.ớ ệ ầ ề

3/ Các B n V :ả ẽ
S đ nguyên lí.ơ ồ
4/ Giáo Viên H ng D n : ướ ẫ Th y QUÁCH THANH H I ầ Ả
5/ Ngày Giao Nhi m V : 13 / 12 / 1999ệ ụ .

6/ Ngày Hoàn Thành Nhi m V : 28 / 2 / 2000.ệ ụ
Giáo Viên H ng D n Kí Tên : ướ ẫ
_ _ _ _ _ _ _ _ _ _ _ _ _ Thông Qua B Môn ộ
_ _ _ _ _ _ _ _ _ _ _ _ _ Ngày … tháng … n m 2000.ă
_ _ _ _ _ _ _ _ _ _ _ _ _ Ch nhi m B Mônủ ệ ộ
_ _ _ _ _ _ _ _ _ _
Quách Thanh H i ả _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _

ngày càng đáp ng đ c tr n v n yêu c u c a ng i dùng, do v y b n thân ng i làm đ tàiứ ượ ọ ẹ ầ ủ ườ ậ ả ườ ề
c m th y c n ph i rèn luy n mình nhi u h n n a không ch trong lu n v n t tả ấ ầ ả ệ ề ơ ữ ỉ ậ ă ố
nghi p ra tr ng mà m t đi u còn quan tr ng h n n a là khi đã ra tr ng v n ph iệ ườ ộ ề ọ ơ ữ ườ ẫ ả
không ng ng ph n đ u. ừ ấ ấ
2
i n n ng k i n t giao ti p máy tính Đ ệ ă ế đ ệ ử ế
K T LU N VÀ H NG PHÁT TRI N TÀI :Ế Ậ ƯỚ Ể ĐỀ
Đ tài “ề i n n ng k i n t giao ti p máy tínhĐ ệ ă ế đ ệ ử ế ” đã đ c hoàn thành trong th iượ ờ
h n đã giao. i v i m t đ tài m i thì vi c nghiên c u l n đ u ch c ch n khôngạ Đố ớ ộ ề ớ ệ ứ ầ ầ ắ ắ
th tránh kh i s thi u sót do v y tuy đã c g ng nhi u nh ng ng i làm đ tài v nể ỏ ự ế ậ ố ắ ề ư ườ ề ẫ
ch a th t s đáp ng đ c h t các yêu c u đ ra ban đ u, r t mong s thông c mư ậ ự ứ ượ ế ầ ề ầ ấ ự ả
c a quí Th y, Cô và các b n sinh viên.ủ ầ ạ
Nhìn chung, đ tài đã hoàn thành xong nh ng v n đ chính y u nh t và đi u đó giúp t oề ữ ấ ề ế ấ ề ạ
ra s n chung cho vi c nghiên c u phát tri n sau này. ườ ệ ứ ể
Đi u c n làm đ i v i ng i k t c đ tài là nghiên c u sâu h n t t c các v n đ đã nêuề ầ ố ớ ườ ế ụ ề ứ ơ ấ ả ấ ề
ra trong lu n v n t t nghi p nh m tìm ra ph ng pháp t t h n ho c hoàn ch nhậ ă ố ệ ằ ươ ố ơ ặ ỉ
ph ng pháp đã nêu, s g i ý này ch mang tính ch t chung chung mà đi u c n thi t là ph iươ ự ợ ỉ ấ ề ầ ế ả
bi t t suy ngh .ế ự ĩ
M ch đi n đã trình bày ch a ph i là m t m ch đi n hoàn h o vì vi c s d ng cácạ ệ ư ả ộ ạ ệ ả ệ ử ụ
thi t b ch a có s chu n hóa mà đ u ph i t n d ng các thi t b có s n, đây là m t đi uế ị ư ự ẩ ề ả ậ ụ ế ị ẵ ộ ề
b t bu c ngoài ý mu n. N u nh có th thì t t c các b ph n bên trong đi n n ngắ ộ ố ế ư ể ấ ả ộ ậ ệ ă
k đi n t đ u đ c ch t o chuyên dùng, khi đ c nh v y thì ch c ch n thi t bế ệ ử ề ượ ế ạ ượ ư ậ ắ ắ ế ị
ho t đ ng s chính xác và b n b h n nhi u. Nh ng đi u này ch có th tr thành hi nạ ộ ẽ ề ỉ ơ ề ư ề ỉ ể ở ệ
th c khi mô hình và lí thuy t tính toán th t chi ti t và chính xác sau đó c n tr i quaự ế ậ ế ầ ả
m t th i gian dài th nghi m và đi u ch nh. Sau khi đã đ t đ c t t c các thông s yêuộ ờ ử ệ ề ỉ ạ ượ ấ ả ố
c u và đ c ngành đi n l c ch p nh n thì lúc đó m i đ t hàng t i các xí nghi p đi n tầ ượ ệ ự ấ ậ ớ ặ ạ ệ ệ ử
đ s n xu t các b ph n. ây c ng là đi u mong m i l n nh t c a ng i làm đ tàiể ả ấ ộ ậ Đ ũ ề ỏ ớ ấ ủ ườ ề
này.
Ngoài ra, n u nh ph n m m có th đ c vi t t t h n s thay th cho m t sế ư ầ ề ể ượ ế ố ơ ẽ ế ộ ố
thi t b ph n c ng bên ngoài, nh ng lúc đó c n ph i l u ý v kh n ng ho t đ ng c aế ị ầ ứ ư ầ ả ư ề ả ă ạ ộ ủ

 4 ports I/O (Input/Output).
 2 b đ nh th i (timer) 16 bits.ộ ị ờ
 Giao ti p n i ti p.ế ố ế
 64 Kbytes không gian b nh ch ng trình m r ng.ộ ớ ươ ở ộ
 64 Kbytes không gian b nh d li u m r ng.ộ ớ ữ ệ ở ộ
 M t b x lí lu n lí (thao tác trên các bit đ n).ộ ộ ử ậ ơ
 210 bits đ c đ a ch hóa.ượ ị ỉ
 B nhân chia 4 ộ µs.
5
Lu n v n t t nghi pậ ă ố ệ
2/ S l c v các chân c a 8951:ơ ượ ề ủ
µC 8951 có t t c 40 chân có ch c n ng nh các đ ng xu t nh p. Trongấ ả ứ ă ư ườ ấ ậ
đó có 24 chân có công d ng kép, m i đ ng có th ho t đ ng nh đ ngụ ỗ ườ ể ạ ộ ư ườ
xu t nh p ho c nh đ ng đi u khi n ho c là thành ph n c a bus d li uấ ậ ặ ư ườ ề ể ặ ầ ủ ữ ệ
và bus đ a ch .ị ỉ
2.1/ H th ng giao ti p port:ệ ố ế
a/ Port 0:
Port 0 là m t port hai ch c n ng trên các chân 32 – 39. Trong các thi t kộ ứ ă ế ế
c nh (không dùng b nh m r ng) nó có ch c n ng nh các đ ngỡ ỏ ộ ớ ở ộ ứ ă ư ườ
I/O. i v i các thi t k l n v i b nh m r ng, nó đ c h p kênhĐố ớ ế ế ớ ớ ộ ớ ở ộ ượ ợ
gi a bus d li u và byte th p c a bus đ a ch . ữ ữ ệ ấ ủ ị ỉ
6
i n n ng k i n t giao ti p máy tính Đ ệ ă ế đ ệ ử ế
b/ Port 1:
Port 1 là m t port I/O trên các chân 1 – 8. Các chân đ c kí hi u:ộ ượ ệ
P1.0 ; P1.1 ; P1.2 … có th dùng cho giao ti p v i các thi t b ngoài n uể ế ớ ế ị ế
c n. Port 1 không có ch c n ng khác, vì v y chúng ch đ c dùng choầ ứ ă ậ ỉ ượ
giao ti p v i các thi t b ngoài.ế ớ ế ị
c/ Port 2:
Port 2 là m t port công d ng kép trên các chân 21 – 28 đ c dùng nh cácộ ụ ượ ư

Xung đ c b nh d li u ngoài ọ ộ ớ ữ ệ
2.2/ Các tín hi u đi u khi n:ệ ề ể
µC 8951 có 4 tín hi u đi u khi n:ệ ề ể
a/ PSEN\ (Program Store Enable):
PSEN\ là tín hi u ra trên chân 29. Nó là tín hi u đi u khi n cho phép bệ ệ ề ể ộ
nh ch ng trình m r ng, ớ ươ ở ộ PSEN\ th ng đ c n i đ n chân OEườ ượ ố ế
(Output Enable) c a m t EPROM đ cho phép đ c các byte mã l nh.ủ ộ ể ọ ệ
PSEN\ s m c th p trong th i gian l y l nh. Các mã nh phân c aẽ ở ứ ấ ờ ấ ệ ị ủ
ch ng trình đ c đ c t EPROM qua bus d li u và đ c ch t vàoươ ượ ọ ừ ữ ệ ượ ố
7
Lu n v n t t nghi pậ ă ố ệ
thanh ghi l nh c a ệ ủ 8951 đ gi i mã l nh. N u thi hành ch ng trìnhể ả ệ ế ươ
trong ROM n i (ộ 8951) thì PSEN\ s m c th đ ng (m c cao).ẽ ở ứ ụ ộ ứ
b/ ALE (Address Latch Enable):
Tín hi u ra ệ ALE trên chân 30 t ng h p v i các thi t b làm vi c v i cácươ ợ ớ ế ị ệ ớ
vi x lí 8085, 8088, 8086.ử
µC 8951 dùng ALE m t cách t ng t cho vi c gi i kênh các bus đ a chộ ươ ự ệ ả ị ỉ
và d li u. ữ ệ
Khi port 0 đ c dùng trong ch đ chuy n đ i: v a là bus d li u v a làượ ế ộ ể ổ ừ ữ ệ ừ
byte th p c a bus đ a ch , ấ ủ ị ỉ ALE là tín hi u đ ch t byte th p đ a ch vàoệ ể ố ấ ị ỉ
m t thanh ghi bên ngoài trong n a đ u chu kì b nh . Sau đó, các đ ngộ ử ầ ộ ớ ườ
port 0 dùng đ xu t nh p d li u trong n a sau c a chu kì b nh .ể ấ ậ ữ ệ ử ủ ộ ớ
Các xung tín hi u ệ ALE có t c đ b ng 1/6 l n t n s dao đ ng trênố ộ ằ ầ ầ ố ộ
chip và có th đ c dùng làm ngu n xung nh p cho các ph n khác c a hể ượ ồ ị ầ ủ ệ
th ng. N u xung nh p trên ố ế ị 8951 là 12 Mhz thì ALE có t n s 2 Mhz.ầ ố
Ch ngo i tr khi thi hành l nh MOVX, m t xung ALE s b m t.ỉ ạ ừ ệ ộ ẽ ị ấ
Trong tr ng h p là ườ ợ 8051 thì chân này c ng đ c làm ngõ vào cho xung l pũ ượ ậ
trình cho EPROM trong chip.
c/ EA\ (External Access):
Tín hi u vào ệ EA\ trên chân 31 th ng đ c m c lên m c cao (+5v)ườ ượ ắ ứ

nhi u thành ph n: Ph n l u tr đa d ng, ph n l u tr đ a ch hóa t ngề ầ ầ ư ữ ụ ầ ư ữ ị ỉ ừ
bit, các bank thanh ghi và các thanh ghi ch c n ng đ c bi t.ứ ă ặ ệ
FFFF
B nhộ ớ
ch ng trìnhươ
FFFF
FF

00 000
0

0000
B nh trên chipộ ớ B nh m r ng ộ ớ ở ộ

Tóm t t các vùng b nh c a 8951.ắ ộ ớ ủ
Hai đ c tính c n l u ý là:ặ ầ ư
9
Lu n v n t t nghi pậ ă ố ệ
 Các thanh ghi và các port xu t nh p ã c x p trong b nh và có th cấ ậ đ đượ ế ộ ớ ể đượ
truy xu t tr c ti p gi ng nh các a ch b nh khác.ấ ự ế ố ư đị ỉ ộ ớ
 Ng n x p bên trong RAM n i nh h n so v i RAM ngoài so v i b x lí khác.ă ế ộ ỏ ơ ớ ớ ộ ử
3.2/ Chi ti t v b nh RAM trên chip:ế ề ộ ớ
Nh s th y trong hình sau, RAM bên trong ư ẽ ấ 8951 đ c phân chia thành các bankượ
thanh ghi (00H – 1FH), RAM đ a ch hóa bit (20H – 2FH), RAM đa d ng (30H –ị ỉ ụ
7FH) và các thanh ghi ch c n ng đ c bi t trong kho ng (80H – FFH).ứ ă ặ ệ ả
 RAM a d ng:đ ụ
M c dù trên hình cho th y 80 bytes RAM đa d ng chi m các đ a ch t 30H – 7FH,ặ ấ ụ ế ị ỉ ừ
32 bytes d i cùng t 00H – 1FH c ng có th đ c dùng v i m c đích t ng tướ ừ ũ ể ượ ớ ụ ươ ự
(m c dù các đ a ch này đã có m c đích khác).ặ ị ỉ ụ
a chĐị ỉ a chĐị ỉ

0F BANK 1 83 không đ c đ a ch hóa bitượ ị ỉ DPH
08 82 không đ c đ a ch hóa bitượ ị ỉ DPL
07 BANK 0
( M c đ nh cho R0 – R7 )ặ ị
81 không đ c đ a ch hóa bitượ ị ỉ SP
00 80 87 86 85 84 83 82 81 80 P0

RAM CÁC THANH GHI CH C N NG C BI T Ứ Ă ĐẶ Ệ
Tóm t t b nh d li u trên chipắ ộ ớ ữ ệ
10
i n n ng k i n t giao ti p máy tính Đ ệ ă ế đ ệ ử ế
M i đ a ch trong vùng RAM đa d ng đ u có th đ c truy xu t t doọ ị ỉ ụ ề ể ượ ấ ự
dùng cách đánh đ a ch tr c ti p ho c gián ti p. Ví d , đ đ c n i dung ị ỉ ự ế ặ ế ụ ể ọ ộ ở
đ a ch 5FH c a RAM n i vào thanh ghi tích l y, l nh sau s đ c dùng:ị ỉ ủ ộ ũ ệ ẽ ượ
MOV A, 5FH
L nh này di chuy n 1 byte d li u dùng cách đánh đ a ch tr c ti p đ xácệ ể ữ ệ ị ỉ ự ế ể
đ nh “đ a ch ngu n” (5FH). ích nh n d li u đ c ng m xác đ nhị ị ỉ ồ Đ ậ ữ ệ ượ ầ ị
trong mã l nh là thanh ghi tích l y A.ệ ũ
RAM bên trong c ng có th đ c truy xu t dùng cách đánh đ a ch gián ti pũ ể ượ ấ ị ỉ ế
qua R0 hay R1. Ví d , hai l nh sau thi hành cùng nhi m v nh l nhụ ệ ệ ụ ư ệ
đ n trên:ơ ở
MOV R0, #5FH
MOV A, @R0
L nh đ u dùng đ a ch t c th i đ di chuy n giá tr 5FH vào thanh ghiệ ầ ị ỉ ứ ờ ể ể ị
R0, và l nh th hai dùng đ a ch gián ti p đ di chuy n d li u “đ c trệ ứ ị ỉ ế ể ể ữ ệ ượ ỏ
b i R0” vào thanh ghi tích l y.ở ũ
 RAM a ch hóa t ng bit:đị ỉ ừ
µ
C 8951 ch a 210 bits c a ch hóa, trong ó 128 bits là các a ch byteứ đượ đị ỉ đ ở đị ỉ
20H n 2FH, và ph n còn l i là trong các thanh ghi ch c n ng c bi t.đế ầ ạ ứ ă đặ ệ

dùng th ng xuyên nên dùng m t trong các thanh ghi này.ườ ộ
Bank thanh ghi tích c c có th đ c chuy n đ i b ng cách thay đ i cácự ể ượ ể ổ ằ ổ
bit ch n bank thanh ghi trong t tr ng thái ch ng trình (PSW). Giọ ừ ạ ươ ả
s r ng bank thanh ghi 3 đ c tích c c, l nh sau s ghi n i dung c aử ằ ượ ự ệ ẽ ộ ủ
thanh ghi tích l y vào đ a ch 18H:ũ ị ỉ
MOV R0, A
Ý t ng dùng “các bank thanh ghi” cho phép “chuy n h ng” ch ngưở ể ướ ươ
trình nhanh và hi u qu (t ng ph n riêng r c a ph n m m s có m tệ ả ừ ầ ẽ ủ ầ ề ẽ ộ
b thanh ghi riêng không ph thu c vào các ph n khác).ộ ụ ộ ầ
4/ Các thanh ghi ch c n ng c bi t:ứ ă đặ ệ
Các thanh ghi n i c a ộ ủ 8951 đ c truy xu t ng m đ nh b i b l nh. Víượ ấ ầ ị ở ộ ệ
d l nh “INC A” s t ng n i dung c a thanh ghi tích l y A lên 1. Tácụ ệ ẽ ă ộ ủ ũ
đ ng này đ c ng m đ nh trong mã l nh. ộ ượ ầ ị ệ
Các thanh ghi trong 8951 đ c đ nh d ng nh m t ph n c a RAM trênượ ị ạ ư ộ ầ ủ
chip. Vì v y m i thanh ghi s có m t đ a ch (ngo i tr thanh ghi đ mậ ỗ ẽ ộ ị ỉ ạ ừ ế
ch ng trình và thanh ghi l nh vì các thanh ghi này hi m khi b tác đ ngươ ệ ế ị ộ
tr c ti p, nên không l i l c gì khi đ t chúng vào trong RAM trên chip). óự ế ợ ộ ặ Đ
là lí do đ ể 8951 có nhi u thanh ghi nh v y. C ng nh R0 đ n R7, có 21ề ư ậ ũ ư ế
thanh ghi ch c n ng đ c bi t (SFR: Special Function Register) vùngứ ă ặ ệ ở
trên c a RAM n i, t đ a ch 80H đ n FFH. Chú ý r ng h u h t 128 đ aủ ộ ừ ị ỉ ế ằ ầ ế ị
ch t 80H đ n FFH không đ c đ nh ngh a. Ch có 21 đ a ch SFR làỉ ừ ế ượ ị ĩ ỉ ị ỉ
đ c đ nh ngh a.ượ ị ĩ
12
i n n ng k i n t giao ti p máy tính Đ ệ ă ế đ ệ ử ế
Ngo i tr thanh ghi tích l y A có th đ c truy xu t ng m nh đã nói,ạ ừ ũ ể ượ ấ ầ ư
đa s các SFR đ c truy xu t dùng đ a ch tr c ti p. Chú ý r ng m t vàiố ượ ấ ị ỉ ự ế ằ ộ
SFR có th đ c đ a ch hóa bit ho c byte. Ng i thi t k ph i th nể ượ ị ỉ ặ ườ ế ế ả ậ
tr ng khi truy xu t bit và byte. Ví d l nh sau:ọ ấ ụ ệ
SETB 0E0H
L nh này s set bit 0 trong thanh ghi tích l y, các bit khác không đ i.ệ ẽ ũ ổ

AND C, 25H
• C nh ph :ờ ớ ụ
Khi c ng các s BCD, c nh ph (AC) đ c set n u k t qu c a 4ộ ố ờ ớ ụ ượ ế ế ả ủ
bit th p trong kho ng 0AH đ n 0FH. N u các giá tr đ c c ng là sấ ả ế ế ị ượ ộ ố
BCD thì sau l nh c ng c n có DA A (hi u ch nh th p phân thanh ghiệ ộ ầ ệ ỉ ậ
tích l y) đ đi u ch nh k t qu cho phù h p.ũ ể ề ỉ ế ả ợ
• C 0:ờ
C 0 (F0) là 1 bit c đa d ng dành cho các ng d ng c a ng i dùng.ờ ờ ụ ứ ụ ủ ườ
• Các bit ch n bank thanh ghi :ọ
Các bit ch n bank thanh ghi (RS0 và RS1) xác đ nh bank thanh ghi nàoọ ị
đ c tích c c. Chúng đ c xóa sau khi reset h th ng và đ c thay đ iượ ự ượ ệ ố ượ ổ
b ng ph n m m n u c n. Ví d , 3 l nh sau cho phép bank thanh ghi 3ằ ầ ề ế ầ ụ ệ
và di chuy n n i dung c a thanh ghi R7 (đ a ch byte 1FH) đ n thanhể ộ ủ ị ỉ ế
ghi tích l y:ũ
SETB RS1
SETB RS0
MOV A, R7
Khi ch ng trình đ c h p d ch, các đ a ch bit đúng đ c thay th choươ ượ ợ ị ị ỉ ượ ế
các kí hi u “RS1” và “RS0”. ệ
V y, l nh SETB RS1 s gi ng nh l nh SETB 0D4H.ậ ệ ẽ ố ư ệ
• C tràn:ờ
C tràn (OV) đ c set sau m t l nh c ng ho c tr n u có phép toán bờ ượ ộ ệ ộ ặ ừ ế ị
tràn. Khi các s có d u đ c c ng ho c tr v i nhau, ph n m m có thố ấ ượ ộ ặ ừ ớ ầ ề ể
ki m tra bit này đ xác đ nh xem k t qu có n m trong t m xác đ nhể ể ị ế ả ằ ầ ị
không. Khi các s không d u đ c c ng, bit OV có th đ c b qua.ố ấ ượ ộ ể ượ ỏ
Các k t qu l n h n +127 ho c nh h n –128 s set bit OV.ế ả ớ ơ ặ ỏ ơ ẽ
Ví d , phép c ng sau b tràn và bit OV đ c set :ụ ộ ị ượ
Hex 0F Th p phân 15ậ
+ +
7F 127

khi c t byte d li u đ u tiên. ấ ữ ệ ầ
Ng i thi t k có th ch n không ph i kh i đ ng l i con tr ng nườ ế ế ể ọ ả ở ộ ạ ỏ ă
x p mà đ nó l y giá tr m c đ nh khi reset h th ng. Giá tr m c đ nh đó làế ể ấ ị ặ ị ệ ố ị ặ ị
07H và k t qu là ng n đ u tiên đ c t d li u có đ a ch là 08H. ế ả ă ầ ể ấ ữ ệ ị ỉ
N u ph n m m ng d ng không kh i đ ng l i SP, thì bank thanhế ầ ề ứ ụ ở ộ ạ
ghi 1 (có th c 2 và 3) s không dùng đ c vì vùng RAM này đã đ c dùngể ả ẽ ượ ượ
làm ng n x p.ă ế
Ng n x p đ c truy xu t tr c ti p b ng l nh PUSH và POP đ l uă ế ượ ấ ự ế ằ ệ ể ư
tr t m th i và l y l i d li u, ho c đ c truy xu t ng m b ng cácữ ạ ờ ấ ạ ữ ệ ặ ượ ấ ầ ằ
15
Lu n v n t t nghi pậ ă ố ệ
l nh g i ch ng trình con (ACALL, LCALL) và các l nh tr v (RET,ệ ọ ươ ệ ở ề
RETI) đ c t và l y l i b đ m ch ng trình.ể ấ ấ ạ ộ ế ươ
d/ Con tr d li u:ỏ ữ ệ
Con tr d li u (DPTR) đ truy xu t b nh ngoài là m t thanh ghi 16ỏ ữ ệ ể ấ ộ ớ ộ
bit đ a ch 82H (DPL: byte th p) và 83H (DPH: byte cao).ở ị ỉ ấ
Ba l nh sau s ghi 55H vào RAM ngoài đ a ch 1000H:ệ ẽ ở ị ỉ
MOV A, #55H
MOV DPTR, #1000H
MOVX @DPTR, A
L nh đ u tiên dùng đ a ch t c th i đ t i d li u 55H vào thanh ghi tíchệ ầ ị ỉ ứ ờ ể ả ữ ệ
l y. L nh th hai c ng dùng đ a ch t c th i, l n này đ t i d li u 16ũ ệ ứ ũ ị ỉ ứ ờ ầ ể ả ữ ệ
bits 1000H vào con tr d li u. L nh th ba dùng đ a ch gián ti p đ diỏ ữ ệ ệ ứ ị ỉ ế ể
chuy n d li u trong A (55H) đ n RAM ngoài đ a ch đ c ch aể ữ ệ ế ở ị ỉ ượ ứ
trong DPTR (1000H).
e/ Các thanh ghi port xu t nh p:ấ ậ
Các port c a ủ 8951 bao g m Port 0 đ a ch 80H, Port 1 đ a ch 90H,ồ ở ị ỉ ở ị ỉ
Port 2 đ a ch A0H và Port 3 đ a ch B0H. ở ị ỉ ở ị ỉ
T t c các port đ u đ c đ a ch hóa t ng bit. i u đó cung c p m tấ ả ề ượ ị ỉ ừ Đ ề ấ ộ
kh n ng giao ti p thu n l i. ả ă ế ậ ợ

thanh ghi d ch … ).ị
M t thanh ghi g i là b đ m d li u n i ti p (SBUF) đ a ch 99Hộ ọ ộ ệ ữ ệ ố ế ở ị ỉ
s gi c hai d li u truy n và nh n.ẽ ữ ả ữ ệ ề ậ
Khi truy n d li u thì ghi lên SBUF, khi nh n d li u thì đ c SBUF.ề ữ ệ ậ ữ ệ ọ
Các mode v n hành khác nhau đ c l p trình qua thanh ghi đi u khi nậ ượ ậ ề ể
port n i ti p (SCON) (đ c đ a ch hóa t ng bit) đ a ch 98H.ố ế ượ ị ỉ ừ ở ị ỉ
h/ Các thanh ghi ng t:ắ
µC 8951 có c u trúc 5 ngu n ng t (2 m c u tiên).ấ ồ ắ ứ ư
Các ng t b c m sau khi reset h th ng và s đ c cho phép b ng vi cắ ị ấ ệ ố ẽ ượ ằ ệ
ghi thanh ghi cho phép ng t (IE) đ a ch A8H. ắ ở ị ỉ
C hai thanh ghi đ c đ a ch hóa t ng bit.ả ượ ị ỉ ừ
17
Lu n v n t t nghi pậ ă ố ệ
i/ Thanh ghi i u khi n công su t: đ ề ể ấ
Thanh ghi đi u khi n công su t (PCON) đ a ch 87H ch a nhi uề ể ấ ở ị ỉ ứ ề
bit đi u khi n. Chúng đ c tóm t t trong b ng sau:ề ể ượ ắ ả
Bit Kí hi uệ Ý ngh aĩ
7 SMOD Bit g p đôi t c đ baud, n u đ c set thì t c đ baud s t ng g p đôi trong cácấ ố ộ ế ượ ố ộ ẽ ă ấ
mode1, 2 và 3 c a port n i ti p.ủ ố ế
6 _ Không đ nh ngh aị ĩ
5 _ Không đ nh ngh aị ĩ
4 _ Không đ nh ngh aị ĩ
3 GF1 Bit c đa d ng 1ờ ụ
2 GF0 Bit c đa d ng 0ờ ụ
1 PD Gi m công su t, đ c set đ kích ho t mode gi m công su t, ch thoát khiả ấ ượ ể ạ ả ấ ỉ
reset.
0 IDL Mode ch , set đ kích ho t mode ch , ch thoát khi có ng t ho c reset h th ng.ờ ể ạ ờ ỉ ắ ặ ệ ố
5/ B nh ngoài:ộ ớ
µC 8951 có kh n ng m r ng b nh lên đ n 64K b nh ch ngả ă ở ộ ộ ớ ế ộ ớ ươ
trình và 64K b nh d li u ngoài. Do đó, có th dùng thêm ROM và RAMộ ớ ữ ệ ể

có m t cách truy xu t b nh d li u ngoài là v i l nh MOVX dùng conộ ấ ộ ớ ữ ệ ớ ệ
tr d li u (DPTR) 16 bits ho c R0 và R1 xem nh thanh ghi đ a ch .ỏ ữ ệ ặ ư ị ỉ
K t n i bus a ch và bus d li u gi a RAM và ế ố đị ỉ ữ ệ ữ 8951 c ng gi ng nh EPROM vàũ ố ư
do ó c ng có th lên n 64 Kbytes b nh RAM. đ ũ ể đế ộ ớ
Ngoài ra, chân RD\ c a 8951 đ c n i t i chân cho phép xu t (ủ ượ ố ớ ấ OE\) c aủ
RAM và chân WR\ đ c n i t i chân ghi (ượ ố ớ WR\) c a RAM.ủ
Gi n th i gian cho l nh c d li u ngoài c v trên hình sau i v iả đồ ờ ệ đọ ữ ệ đượ ẽ đố ớ
l nh MOVX A, @DPTR:ệ
Gi n th i gian c a l nh MOVX.ả đồ ờ ủ ệ
20
i n n ng k i n t giao ti p máy tính Đ ệ ă ế đ ệ ử ế
Gi n đ th i gian cho l nh ghi (MOVX @DPTR, A) c ng t ng tả ồ ờ ệ ũ ươ ự
ch khác đ ng ỉ ườ WR\ s thay vào đ ng ẽ ườ RD\ và d li u đ c xu t ra trênữ ệ ượ ấ
chân Port 0 (RD\ v n gi m c cao).ẫ ữ ứ
c/ Gi i mã a ch :ả đị ỉ
N u có nhi u EPROM và/ho c nhi u RAM đ c giao ti p v i ế ề ặ ề ượ ế ớ 8951,
thì c n ph i gi i mã đ a ch . ầ ả ả ị ỉ
M ch gi i mã c ng t ng t nh các h vi x lí khác. Ví d , n u dùngạ ả ũ ươ ự ư ệ ử ụ ế
nhi u EPROM và RAM 8Kbytes thì bus đ a ch c n ph i đ c gi i mãề ị ỉ ầ ả ượ ả
đ xác đ nh IC nh nào đ c ch n.ể ị ớ ượ ọ
Ng i ta th ng dùng IC gi i mã 74HC138 v i các ngõ ra đ c n i t iườ ườ ả ớ ượ ố ớ
các ngõ vào ch n chip (CS) trên các IC nh . Hình sau v m t h th ng v iọ ớ ẽ ộ ệ ố ớ
nhi u EPROM 8K 2764 và RAM 8K 6264:ề
Gi i mã a ch .ả đị ỉ
21
Lu n v n t t nghi pậ ă ố ệ
d/ X p ch ng b nh ch ng trình và d li u bên ngoài:ế ồ ộ ớ ươ ữ ệ
Vì b nh ch ng trình là ROM, nên n y sinh m t v n đ b t ti n khiộ ớ ươ ả ộ ấ ề ấ ệ
phát tri n ph n m m cho ể ầ ề 8051/8031. i v i Đố ớ 8951 đã c i ti n b ng cáchả ế ằ
thay th b ng EEPROM, ho c dùng m t cách đ kh c ph c nh cế ằ ặ ộ ể ắ ụ ượ

SCON 00 H
SBUF 00 H
PCON ( HMOS ) 0XXXXXXX B
PCON ( CMOS ) 0XXX0000 B
Quan tr ng nh t trong các thanh ghi trên là thanh ghi đ m ch ng trình,ọ ấ ế ươ
nó đ c đ t l i 0000H. ượ ặ ạ
Khi RST tr l i m c th p, vi c thi hành ch ng trình luôn b t đ u ở ạ ứ ấ ệ ươ ắ ầ ở
đ a ch đ u tiên trong b nh ch ng trình: đ a ch 0000H. ị ỉ ầ ộ ớ ươ ị ỉ
N i dung c a RAM trên chip không b thay đ i b i l nh Reset. ộ ủ ị ổ ở ệ
II/ T P L NH C A 8951 : Ậ Ệ Ủ
T p l nh ậ ệ 8951 có 255 l nh g m 139 l nh 1 byte, 92 l nh 2 byte và 24ệ ồ ệ ệ
l nh 3 byte.ệ
1/ Các ch ánh a ch :ế độ đ đị ỉ
a/ a ch thanh ghi:Đị ỉ
µC8951 có b n bank thanh ghi, m i bank có 8 thanh ghi đánh s t R0ố ỗ ố ừ
đ n R7. T i m i th i đi m ch có m t bank thanh ghi đ c tích c c.ế ạ ỗ ờ ể ỉ ộ ượ ự
Mã l nh n n nệ
a ch thanh ghiĐị ỉ
23
Lu n v n t t nghi pậ ă ố ệ
Mu n ch n bank thanh ghi nào ta ch c n gán các bít nh phân thích h pố ọ ỉ ầ ị ợ
vào RS1 (PSW.4) và RS0 (PSW.3) trong thanh ghi tr ng thái ch ngạ ươ
trình (PSW).
Ngoài ra, m t s thanh ghi c bi t nh thanh ghi tích l y, thanh ghi con tr dộ ố đặ ệ ư ũ ỏ ữ
li u c ng c xác nh trong các l nh trên nên không c n bit a ch . ệ ũ đượ đị ệ ầ đị ỉ
Trong các l nh này thanh ghi tích l y đ c kí hi u là “A”, con tr dệ ũ ượ ệ ỏ ữ
li u là “DPTR”, thanh ghi đ m ch ng trình là “PC”, c nh là “C”, c pệ ế ươ ờ ớ ặ
thanh ghi tích l y là “AB”.ũ
b/ a ch tr c ti p:Đị ỉ ự ế
Trong ch đ này, các thanh ghi bên trong ế ộ 8951 đ c đánh đ a ch tr cượ ị ỉ ự

a ch t ng i.Đị ỉ ươ đố
f/ a ch tuy t i :Đị ỉ ệ đố
a ch tuy t đ i ch dùng tr c các l nh ACALL và AJIMP. Đị ỉ ệ ố ỉ ướ ệ
Các l nh 2 byte này dùng đ r nhánh vào m t trang 2Kbyte c a b nhệ ể ẽ ộ ủ ộ ớ
ch ng trình b ng cách c p 11 bit đ a ch th p (A0-A10) đ xác đ nh đ aươ ằ ấ ị ỉ ấ ể ị ị
ch đích trong trang mã. Còn 5 bit cao c a đ a ch đích chính là 5 bit hi nỉ ủ ị ỉ ệ
hành trong thanh ghi đ m ch ng trình. ế ươ
Vì v y, đ a ch c a l nh theo sau l nh r nhánh và đ a ch đích c a l nhậ ị ỉ ủ ệ ệ ẽ ị ỉ ủ ệ
r nhánh c n ph i cùng trang mã 2Kbyte (có cùng 5 bits đ a ch cao).ẽ ầ ả ị ỉ
A15 A11 A10 A0

Xác đ nh trang mã. Xác đ nh đ a ch trongị ị ị ỉ trang mã.
A10-A8 Mã l nh Offset t ng đ iệ ươ ố
a ch tuy t i.Đị ỉ ệ đố
g/ a ch dài :Đị ỉ
a ch dài ch dùng cho l nh LCALL và LJIMP. Các l nh này chi m 3Đị ỉ ỉ ệ ệ ế
byte và dùng 2 byte sau (byte 2 và byte 3) đ đ nh đ a ch đích c a l nh (16ể ị ị ỉ ủ ệ
25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status