KHĨA LUN TአT NGHIኛP
ĈҤI HӐ&Ĉ¬1
ҸNG
75Ѭ
Ӡ1*Ĉ
ҤI HӐ&6Ѭ3+
ҤM
KHOA VҰT LÝ
----------------
KHÏA LUҰN TӔT NGHIӊ3Ĉ
ҤI HӐC
NG¬NH CӰ NHÂN VҰT LÝ
Ĉ͉tài:
THIӂT KӂMҤCH THÍ NGHIӊM VI XӰ LÝ TÍCH HӦP 89C51
VÀ PIC16F877A- PHҪ19,Ĉ,
ӄU KHIӆN 89C51
1Jѭ
ӡLKѭ
ӟng dү
n:
Phҥm Xuân Trung
1Jѭ
ӡi thӵc hiӋ
n:
HӗHuyӅ
n LӋQuyên
Ĉj1
̽ng, thi
ng 5/2013
i
KHÓA LUN TአT NGHIኛP
/Ӡ,&Ҧ0Ѫ1
EP[LQFKkQWKjQKFiPѫQ.KRD9
ұ
W/êWUѭ
ӡQJĈ
ҥ
i HӑF6ѭ3K
ҥ
m ±Ĉҥ
i Hӑ
FĈj
Nҹ
QJÿmW
ҥ
RÿL
Ӆ
u kiӋ
n cho chúng em thӵc hiӋ
Qÿ
Ӆtài luұ
QYăQW
ӕt nghiӋ
p này.
Em xin chân thành cҧ
PѫQ7K
ҫ
y Phҥ
m Xuân Trung ÿmW
ұ
QWuQKKѭ
ӟng dү
n, chӍbҧ
o
chúng em, cҧ
PѫQJLDÿuQK
bҥ
QEqYjFiFDQKÿmJL~Sÿ
ӥnhiӋ
t tình trong suӕt thӡi
gian thӵc hiӋ
Qÿ
Ӆtài.
Em xin chân thành cҧ
PѫQTXê7K
ҫ
\&{WURQJNKRDÿmW
ұ
n tình giҧ
ng dҥ
y, trang bӏ
cho em nhӳng kiӃ
n thӭc quý báu trong nhӳQJQăPK
ӑc vӯa qua.
Xin chân thành cҧ
P ѫQ FiF
ӏvà bҥ
DQK
Q Eq
ӫ
FK
ng ÿm
hӝ JL~S
ӥYj
ӝngÿviên
trong suӕ
t thӡi gian hӑc tұ
p và nghiên cӭu.
Mһ
c dù HPÿmF
ӕgҳ
ng hồn thành luұ
QYăQWURQJSK
ҥ
m vi và khҧQăQJFKRSK
QKѭQJFK
ҳ
c chҳ
n sӁkhơng tránh khӓi nhӳng thiӃ
u sót.
Rҩ
t mӑ
ng nhұ
Qÿѭ
ӧc sӵcҧ
m thơng và tұ
n tình chӍbҧ
o cӫa q Thҫ
y Cơ và các bҥ
n.
Sinh viên thӵc hiӋ
n
HӗHuyӅ
n LӋQuyên
ii
KHÓA LUN TአT NGHIኛP
LӠ,&$0Ĉ2$1
7{L[LQFDPÿRDQU
ҵ
ng, sӕliӋ
u và kӃ
t quҧtrong luұ
QYăQQj\OjWUXQJ
ӵFYjFKѭD
ÿѭ
ӧc sӱdө
ng. Nhӳng nӝ
i dung trong luұ
Q YăQ Qj\
ӵc Oj
hiӋ
QGR
ӟ
Gѭ
i sӵ W{L
Kѭ
ӟng dү
n trӵc tiӃ
p cӫa thҫ
y Phҥ
m Xuân Trung.
7{L[LQFDPÿRDQU
ҵ
ng, mӑ
i sӵJL~Sÿ
ӥtrong viӋ
c thӵc hiӋ
n luұ
QYăQQj\ÿm
ӧc
cҧ
PѫQYjFiFWK{QJWLQWUtFKG
ү
n trong luұ
QYăQÿ
Ӆ
Xÿmÿѭ
ӧc chӍrõ nguӗn gӕ
c.
Ĉj1
ҹ
QJQJj\WKiQ
Sinh viên thӵc hiӋ
n
HӗHuyӅ
n LӋQuyên
iii
KHĨA LUN TአT NGHIኛP
MӨC LӨC
LӠI CҦ0Ѫ1
«««««««««««««««««««««««««««
i
LӠ,&$0Ĉ2$1
««««««««««««««««««««««««««
ii
MӨC LӨ&«««««««««««««««««««««««««««««
iii
DANH SÁCH HÌNH«««««««««««««««««««««««««vi
DANH SÁCH BҦNG BIӆU«««««««««««««««««««««
viii
TӮVIӂT TҲT«««««««««««««««««««««««««««
ix
LӠ,1Ï,Ĉ
ҪU««««««««««««««««««««««««««««x
&+ѬѪ1*
:TӘ1*48$19,Ĉ,
ӄU KHIӆN 89C51««««««««««
....1
1.1Cҩ
u trúc phҫ
n cӭng 89C51 .........................................................................................1
1.1.1
ĈѫQY
ӏxӱlý trung tâm .......................................................................................2
1.1.2
ChӭFQăQJFKkQ&
......................................................................................5
1.1.3
Cҩ
u trúc PORT xuҩ
t nhұ
p ..................................................................................8
1.1.4
Tәchӭc bӝnhӟ..................................................................................................9
1.1.5
Các thanh ghi chӭFQăQJÿ
һ
c biӋ
t( SFR) .........................................................10
1.2Hoҥ
Wÿ
ӝng RESET ....................................................................................................14
1.3Tóm tҳ
t lӋ
nh ..............................................................................................................16
1.3.1 Các tốn hҥ
ng sӱdө
ng trong lӋ
nh ........................................................................16
1.3.2 Các nhóm lӋ
nh ......................................................................................................16
&+ѬѪ1*
:TӘNG QUAN VI XӰLÝ PIC16F877A««««««««««««.18
2.1Giӟi thiӋ
XYLÿL
Ӆ
u khiӇ
n PIC ................................
................................
................................
...18
2.1.1
KiӃ
n trúc cӫa PIC .............................................................................................18
2.1.2
RICS và CISC ..................................................................................................19
2.1.3
PIPELINING ....................................................................................................20
iv
KHĨA LUN TአT NGHIኛP
2.2Mӝ
t vài thơng sӕvӅYLÿL
Ӆ
u khiӇ
n PIC 16F877A ................................
..............................
21
2.2.1
Tәchӭc bӝnhӟ................................................................................................22
2.2.2 Thanh ghi cӫD3,&«««
««««««««««««««««««««.25
2.3STACK .....................................................................................................................28
2.4Các cә
ng xuҩ
t nhұ
p cӫ
a PIC16F877A................................
................................
..................28
2.4.1
PORTA.............................................................................................................29
2.4.2
PORTB .............................................................................................................30
2.4.3
PORTC .............................................................................................................30
2.4.4
PORTD.............................................................................................................31
2.4.5
PORTE .............................................................................................................32
2.5Tұ
p lӋ
nh cӫa PIC16F877A .......................................................................................32
2.5.1
Nhóm lӋ
nh di chuyӇ
n .......................................................................................32
2.5.2
Nhóm lӋ
nh sӕhӑ
c ............................................................................................32
2.5.3
Nhóm lӋ
nh logic ...............................................................................................33
2.5.4
Nhóm lӋ
nh rӁnhánh .........................................................................................33
2.5.5
Nhóm lӋ
QKÿL
Ӆ
u khiӇ
n bit .................................................................................33
2.5.6
Nhóm lӋ
QKÿ
һ
c biӋ
t ..........................................................................................33
&+ѬѪ1*7+,
ӂT KӂMҤCH THÍ NGHIӊM««««««««««««««34
3.1ThiӃ
t kӃcác board mҥ
ch thí nghiӋ
m ................................
................................
.....................34
/('ÿѫQ
................................
................................
................................
................................
......41
/('ÿR
ҥ
n................................
................................
................................
................................
. 42
/&'ÿѫQV
ҳ
c 16x2 ................................
................................
................................
....................45
/&'ÿѫQV
ҳ
c 16x2 ................................
................................
................................
....................45
3.4.1 Giӟi thiӋ
u Text LCD................................
................................
................................
.............45
3.46ѫÿ
ӗchân ................................
................................
................................
...............................
46
v
KHÓA LUN TአT NGHIኛP
3.4&iFFKkQÿL
Ӆ
u khiӇ
n LCD ................................
................................
................................
...46
3.4.4 Tұ
p lӋ
nh LCD ................................
................................
................................
.........................
48
3.4.5 Giao tiӃ
p 4 bit ................................
................................
................................
.........................
48
3.49LÿL
Ӆ
u khiӇ
n và Text LCD ................................
................................
................................
49
3.5 Bàn phím ma trұ
n ................................
................................
................................
......................50
3.6 Ma trұ
n LED 8x8 ................................
................................
................................
......................51
3.6.1 IC 74595 ................................
................................
................................
................................
..51
3.6.2 ULN 2803 ................................
................................
................................
................................
52
3.6.3 Ma trұ
n LED 8x8 ................................
................................
................................
...................53
3.7 Cәng COM và IC MAX 232 ................................
................................
................................
..54
3.7.1 Cәng COM ................................
................................
................................
..............................
54
3.7.2 IC MAX 232 ................................
................................
................................
...........................
56
&+ѬѪ1*7+,
ӂT KӂCÁC BÀI THÍ NGHIӊM 89C51«««««««««
.57
4.1 Bài thí nghiӋ
m 1: Lұ
SWUuQKÿL
Ӆ
u khiӇ
Q/('ÿѫQYj/('ÿR
ҥ
n..........................57
4.1.1 Dөng cөthí nghiӋ
m .............................................................................................57
4.1.2 MөFÿtFKWKtQJKL
Ӌ
m ...........................................................................................57
&KѭѫQJWUuQKYtG
өviӃ
t bҵ
ng ngôn ngӳASM.....................................................57
4.1.4 KiӇ
m tra thӵc tӃ...................................................................................................60
4.2 Bài thí nghiӋ
m 2: 89C51 giao tiӃ
p vӟi LCD 16x2.. Error! Bookmark not defined.
4.2 .1 Dө
ng cөthí nghiӋ
m ............................................ Error! Bookmark not defined.
4.2 .2 MөFÿtFKWKtQJKL
Ӌ
m ........................................... Error! Bookmark not defined.
4.2 &KѭѫQJWUuQKYtG
ө..............................................................................................63
4.2 .4 KiӇ
m tra thӵc tӃ..................................................................................................65
4.3 Bài thí nghiӋ
m 3: Sӱdө
ng giao tiӃ
p 89C51 vӟi bàn phím ma trұ
n ........................66
4.3.1 Dөng cөthí nghiӋ
m .............................................................................................66
vi
KHÓA LUN TአT NGHIኛP
4.3.2 MөFÿtFKWKtQJKL
Ӌ
m ...........................................................................................66
&KѭѫQJWUuQKYtG
ө..............................................................................................66
4.3.4 KiӇ
m tra thӵc tӃ...................................................................................................70
4.4 Bài thí nghiӋ
m 4: Giao tiӃ
p 89C51 vӟi cәng COM UART ..................................71
4.4.1 Dөng cөthí nghiӋ
m .............................................................................................71
4.4.2 MөFÿtFKWKtQJKL
Ӌ
m ...........................................................................................71
4.&KѭѫQJWUuQKYtG
ө..............................................................................................71
KӂT LUҰ19¬+Ѭ
ӞNG PHÁT TRIӆ1Ĉ
ӄTÀI .................................................73
TÀI LIӊU THAM KHҦO .........................................................................................74
vii
KHĨA LUN TአT NGHIኛP
DANH SÁCH HÌNH
+uQK6ѫÿ
ӗkhӕ
i chip cӫa 89C51
+uQK6ѫÿ
ӗchân cӫ
a 89C51
+uQKĈѫQY
ӏxӱlý trung tâm CPU
Hình 1.4: Hoҥ
Wÿ
ӝng cӫa bus cho chu kǤtìm nҥ
p lӋ
nh
Hình 1.5: 89C51 ghép vӟi mҥ
FKGDRÿ
ӝng TTL bên ngồi
Hình 1.6: Mҥ
ch bên trong cӫa các Port xuҩ
t nhұ
p
Hình 1.7: Tóm tҳ
t các khơng gian nhӟcӫa chip 89C51
Hình 1.8: Hai mҥ
ch dùng reset hӋthӕng (a) reset bҵ
ng tay (b) reset khi cҩ
p nguӗn
Hình 2.1: KiӃ
n trúc Von Neuman và kiӃ
n trúc Havard
Hình 2.26ѫÿ
ӗchân cӫ
a PIC16F877A
Hình 2.3&ѫFK
Ӄpipeling
+uQK6ѫÿ
ӗkhӕ
LYLÿL
Ӆ
u khiӇ
n PIC16F877A
Hình 2.5: Bҧ
Qÿ
ӗbӝnhӟFKѭѫQJWUuQKYjQJăQ[
Ӄ
p
+uQK6ѫÿ
ӗbӝnhӟdӳliӋ
u PIC16F877A
+uQK6ѫÿ
ӗkhӕ
i cә
ng A
Hình 2.8: 6ѫÿ
ӗkhӕ
i cӫ
DFKkQ5%ÿ
Ӄ
n RB0, chân cӫD5%ÿ
Ӄ
n RB4 cә
ng B
+uQK6ѫÿ
ӗkhӕ
i cӫ
a chân RC<0:2>, RC<5:7>, và chân RC<3:4> cӫa cәng C
Hình 2.10: 6ѫÿ
ӗkhӕ
i cӫ
a cәng D
+uQK6ѫÿ
ӗkhӕ
i cӫ
a cәng E
+uQK6ѫÿ
ӗschematic tồn mҥ
ch
+uQK6ѫÿ
ӗmҥ
ch in tồn mҥ
ch
Hình 3.3: Mҥ
ch thӵc tӃtồn mҥ
ch
+uQK6ѫÿ
ӗschematic board trung tâm 89C51
Hình 3.5: 6ѫÿ
ӗmҥ
ch in board trung tâm 89C51
Hình 3.6: Mҥ
ch thӵc tӃboard trung tâm 89C51
Hình 3.7: 6ѫÿ
ӗschematic board trung tâm PIC16F877A
Hình 3.8: 6ѫÿ
ӗmҥ
ch in board trung tâm PIC16F877A
Hình 3.9: Mҥ
ch thӵc tӃboard trung tâm PIC16F877A
Hình 3.10: 6ѫÿ
ӗQJX\rQOê/('ÿѫQ
viii
KHĨA LUN TአT NGHIኛP
Hình 3.11: Các mү
u LED WKѭ
ӡng gһ
p
Hình 3.12: Dҥ
QJ/('ÿR
ҥ
n và IC 7447
Hình 3.13: 6ѫÿ
ӗschematic LCD
Hình 3.14: Hình LCD 16x2
Hình 3.15: Hoҥ
Wÿ
ӝng cӫa chân RS
Hình 3.16: Trình giao tiӃ
p vӟi Text LCD
Hình 3.6ѫÿ
ӗschematic ma trұ
n phím
Hình 3.18: Phím nhҩ
n
Hình 3.6ѫÿ
ӗchân 74HC595
Hình 3.6ѫÿ
ӗchân ULN 2803
Hình 3.21: Ma trұ
n LED 8x8
ix
KHÓA LUN TአT NGHIኛP
DANH SÁCH BҦNG BIӆU
Bҧ
ng 1.1: Bҧ
ng so sánh các chip cӫa hӑMCS-51
Bҧ
ng 1.2: ChӭFQăQJFiFFKkQ3RUWYjKDLFKk
ӫa Port1
Bҧ
ng 1.3: Bҧ
ng thanh ghi PSW
Bҧ
ng 1.4: Bҧ
ng thanh ghi PCON
Bҧ
ng 1.5: Bҧ
ng giá trӏcӫa các thanh ghi sau khi reset hӋthӕng
Bҧ
ng 1.6: Bҧ
ng liӋ
t kê các lӋ
nh trong 89C51
Bҧ
ng 2.1: Bҧ
ng nhóm lӋ
nh di chuyӇ
n
Bҧ
ng 2.2: Bҧ
ng nhóm lӋ
nh sӕhӑc
Bҧ
ng 2.3: Bҧ
ng nhóm lӋ
nh logic
Bҧ
ng 2.4: Bҧ
ng nhóm lӋ
nh rӁnhánh
Bҧ
ng 2.5: Bҧ
ng nhóm lӋ
QKÿL
Ӆ
u khiӇ
n bit
Bҧ
ng 2.6: Bҧ
ng nhóm lӋ
QKÿ
һ
c biӋ
t
Bҧ
ng 3.1: Bҧ
ng mã cho Led Anode chung
Bҧ
ng 3.2: Bҧ
ng trҥ
ng thái
Bҧ
ng 3.3: Bҧ
ng sҳ
p xӃ
p các chân Text LCD
Bҧ
ng 3.4: Tóm tҳ
t các lӋ
nh ghi vào LCD
Bҧ
ng 3.5: Thông sӕcӫa ULN 2803
x
KHÓA LUN TአT NGHIኛP
TӮ VIӂT TҲT
PIC
: Programable Intelligent Computer
ALU
: Arthmetic Logic Unit
PC
: Program Counter
IR
: Instruction Register
VDT
: Video Display Terminal
CRT
: Cathode Ray Tube
ALE
: Address Latch Enable
PSEN
: Program Store Enable
CY
: Carry Flag
OV
: Overflow Flag
AC
: Auxiliary Carry Flag
SP
: Stack Pointer
DPTR
: Data Pointer
PCON
: Power Control Register
TMOD : Timer Mode Register
TCON
: Timer Control Register
SBUF
: Serial Data Buffer
SCON
: Serial Port Control Register
IE
: Interrupt Enable Register
IP
: Interrupt Priority Register
RICS
: Reduced Instruction Set Computer
CISC
: Complex Instruction Set Computer
SSP
: Synchronous Serial Port
PSP
: Parallel Slave Port
ICSP
: In Circuit Serial Port
SFG
: Special Function Register
GPR
: General Purpose Register
FSG
: File Select Register
MSSP
: Master Synchonous Serial Port
xi
KHÓA LUN TአT NGHIኛP
LӠ,1Ï,Ĉ
ҪU
1Jj\QD\FNJQJY
ӟi sӵphát triӇ
n cӫa khoa hӑc kӻthuұ
t, công nghӋÿL
Ӌ
n tӱFNJQJ
ÿDQJӳ
Fy
QJ
ӟcQK
Eѭ
phát triӇ
n Yѭ
ӧt bұ
t trong nhӳQJ QăP
ҫ
Q ÿk\
J
7URQJ ÿ
nghӋYLÿL
Ӌ
n tӱÿmFyEѭ
ӟc phát triӇ
n nә
i trӝL9jRQăPE
ӝvi xӱOêÿ
ҫ
XWLrQÿm
ÿӡi và kӇtӯÿyÿmNK{QJQJ
ӯQJÿѭ
ӧc cҧ
i thiӋ
n vӅmһ
t kiӃ
n trúc, chӭFQăQJ«Yj
Ӌ
u
QăQJV
ӱdөng. Vì vұ
y, cơng viӋ
c cӫ
a chúng ta là phҧ
i tìm cách khai thác triӋ
Wÿ
Ӈcác
WtQKQăQJF
ӫ
a vi xӱÿ
Ӈgóp phҫ
n vào cơng cuӝ
c phát triӇ
n cơng nghӋhiӋ
n nay.
Và trong khóa luұ
n tӕt nghiӋ
SQKyPHPÿmTX\
Ӄ
Wÿ
ӏ
nh chӑ
Qÿ
ӅWjL³
THIӂT Kӂ
MҤCH THÍ NGHIӊM VI XӰ LÝ TÍCH HӦP 89C51 VÀ PIC16F877A- PHҪN
9,Ĉ,
ӄU KHIӆN 89C51´
Nӝ
i dung chính cӫDÿ
Ӆtài gӗm 4 FKѭѫQJ
&KѭѫQJ7
ә
ng quan vӅYLÿL
Ӆ
u khiӇ
n 89C51.
&KѭѫQJ7
ә
ng quan vӅvi xӱlý PIC16F877A.
&KѭѫQJ7KL
Ӄ
t kӃmҥ
ch thí nghiӋ
m.
&KѭѫQJ7KL
Ӄ
t kӃcác bài thí nghiӋ
m.
Trong thӡi gian ngҳ
n thӵc hiӋ
Qÿ
Ӆtài cӝng vӟi kiӃ
n thӭc cịn nhiӅ
u hҥ
n chӃ
, nên
trong khóa luұ
n này khơng tránh khӓi thiӃ
u sót, em rҩ
WPRQJÿѭ
ӧc sӵÿyQJJySê
Ӄ
n
cӫ
a thҫ
y cơ và các bҥ
n.
Sinh viên thӵc hiӋ
n
HӗHuyӅ
n LӋQuyên
xii
KHĨA LUN TአT NGHIኛP
&+ѬѪ1*
7Ә1*48$19,Ĉ,ӄ8.+,ӆ1
1.1
&ҩXWU~FSKҫQFӭQJ&
&KLSFyFiFÿ
һ
FWUѭQJÿѭ
ӧc tóm tҳ
WQKѭVDX
x 4KB ROM
x 128 byte RAM
x 4 port xuҩ
t nhұ
p(I/O port) 8-bit
x 2 bӝÿ
ӏ
nh thӡi 16-bit
x Mҥ
ch giao tiӃ
p nӕ
i tiӃ
p
x Không gian nhӟFKѭѫQJWUuQKPm
QJRjL.
x Khơng gian nhӟdӳliӋ
u ngồi 64K
x Bӝxӱlý bit( thao tác trên các bít riêng rӁ
)
x 210 vӏtrí nhӟÿѭ
ӧFÿ
ӏ
QKÿ
ӏ
a chӍ
, mӛi vӏtrí mӝt bit
x Nhân/chia trong 4µs
Các thành viên khác cӫa hӑ
c MCS-51 có các tәhӧp ROM(EPROM), RAM trên
chip khác nhau hoһ
c có thêm bӝÿӏ
nh thӡi thӭba( xem bҧ
ng). Mӛ
i mӝ
t IC cӫ
a hӑ
MCS-FNJQJFySKLrQE
ҧ
n CMOS công suҩ
t thҩ
p.
Bҧ
ng 1.1: Bҧng so sánh các chip cӫa hӑMCS-51
Chip
BӝnhӟFKѭѫQJWUuQKWUrQFKLS
BӝnhӟdӳliӋ
u trên chip
Các bӝÿӏ
nh thӡi
8051
4K ROM
128 byte
2
8031
0K
128 byte
2
8751
4K EPROM
128 byte
2
8052
8K ROM
256 byte
3
8032
OK
256 byte
3
8752
8K EPROM
256 byte
3
1
KHÓA LUN TአT NGHIኛP
+uQK6ѫÿ
ӗkhӕi chip cӫa 89C51
Thuұ
t ngӳ³&´ÿѭ
ӧFGQJÿ
ӇchӍrӝng rãi các chip cӫa hӑ
c MCS-51. Khi
viӋ
c thҧ
o luұ
n tұ
p trung vào mӝt cҧ
i tiӃ
Qÿѭ
ӧc chӍUDU}UjQJ&iFÿ
һ
FWUѭQJY
ӯa nêu
WUrQÿѭ
ӧFWUuQKEj\WURQJVѫÿ
ӗkhӕ
i
+uQK6ѫÿ
ӗchân cӫa 89C51
1.1.1 ĈѫQY
ӏxӱlý trung tâm
CPU, trái tim cӫ
a hӋmáy tính, quҧ
n lý tҩ
t cҧcác hoҥ
Wÿ
ӝng cӫa hӋvà thӵc hiӋ
n
tҩ
t cҧcác thao tác trên dӳliӋ
u. Hҫ
u hӃ
t các CPU chӍbao gӗm mӝt tұ
p các mҥ
ch logic
thӵc hiӋ
n liên tөc hai thao tác: tìm nҥ
p lӋ
nh và thӵc thi lӋ
nh. CPU có khҧQăQJKL
Ӈ
u và
2
KHÓA LUN TአT NGHIኛP
thӵc thi các lӋ
nh dӵa trên mӝt tұ
p các mã nhӏphân, mӛ
i mã nhӏphân biӇ
u thӏmӝt thao
WiFÿѫQJL
ҧ
n. Các lӋ
QKQj\WKѭ
ӡng là các lӋ
nh sӕhӑFQKѭF
ӝ
ng, trӯ, nhân, chia), các
lӋ
QK ORJLF QKѭ $1'
Ӌ
nh di25
chuyӇ
n dӳ
127«
liӋ
u hoһ
c các lӋ
nh
FiF
rӁ O
QKiQKÿѭ
ӧc biӇ
u thӏbӣi mӝt tұ
p các mã nhӏSKkQYjÿѭ
ӧc gӑi là tұ
p lӋ
nh( instruction
set).
Hình ҧ
QK ÿѫQ
ҧ
n bên JL
trong cӫa CPU: trình bày mӝt tұ
p các thanh ghi(
register) có nhiӋ
m vөOѭXWU
ӳtҥ
m thӡi các thơng tin, mӝWÿѫQY
ӏsӕhӑc logic ALU có
nhiӋ
m vөthӵc hiӋ
n các thao tác trên các thơng tin này, mӝWÿѫQY
ӏgiҧ
i mã lӋ
QKYjÿL
Ӆ
u
khiӇ
n có nhiӋ
m vө[iFÿ
ӏ
nh các thao tác cҫ
n thӵc hiӋ
n và thiӃ
t lұ
p các hoҥ
Wÿ
ӝng cҫ
n
thiӃ
Wÿ
Ӈthӵc hiӋ
n thao tác. CPU cịn có hai thanh ghi nӳa: thanh ghi lӋ
nh IR OѭXWU
ӳmã
nhӏphân cӫ
a lӋ
QKÿ
Ӈÿѭ
ӧc thӵc thi và bӝÿ
Ӄ
m cKѭѫQJWUuQK3&
OѭXWU
ӳÿӏ
a chӍcӫ
a lӋ
nh
kӃtiӃ
p trong bӝnhӟcҫ
Qÿѭ
ӧc thӵc thi.
CPU
Thanh ghi
lӋ
nh( IR)
Bӝÿ
Ӄ
PFKѭѫQJ
trình( PC)
Thanh ghi
Giҧ
i mã lӋ
nh
YjÿL
Ӆ
u khiӇ
n
Bӝsӕhӑ
c và
logic
+uQKĈѫQY
ӏxӱlý trung tâm CPU
ViӋ
c tìm nҥ
p mӝt lӋ
nh tӯRAM hӋthӕng là mӝWWURQJFiFWKDRW
ҧ
n nhҩ
t
mà CPU thӵc hiӋ
n. ViӋ
c tìm nҥ
p lӋ
QKÿѭ
ӧc thӵc hiӋ
QWKHRFiFEѭ
ӟc sau:
x Nӝ
i dung cӫ
D3&ÿѭ
ӧFÿ
һ
WOrQEXVÿ
ӏ
a chӍ
x Tín hiӋ
XÿL
Ӆ
u khiӇ
Q5($'ÿѭ
ӧc xác lұ
p( chuyӇ
n sang trҥ
ng thái tích cӵc)
3
KHÓA LUN TአT NGHIኛP
x DӳliӋ
u( opcode cӫa lӋ
QK
ÿѭ
ӧFÿ
ӑ
c tӯ5$0YjÿѭDOrQEXVG
ӳliӋ
u
x 2SFRGHÿѭ
ӧc chӕ
t vào thanh ghi lӋ
nh bên trong CPU
x 3&ÿѭ
ӧFWăQJÿ
Ӈchuҭ
n bӏtìm nҥ
p lӋ
nh kӃtӯbӝnhӟ
CPU
CPU
%XVÿ
ӏ
a chӍ
N
Bӝÿ
Ӄ
m ct
Bus dӳliӋ
u
Opcode
Thanh ghi
lӋ
nh
RAM
Xung
N+ 2
%XVÿL
Ӆ
u
khiӇ
n
Ĉӑc
Opcode
N+ 1
N
N- 1
Hình 1.4: HoҥWÿ
ӝng cӫa bus cho chu kǤtìm nҥp lӋ
nh
*LDLÿR
ҥ
n thӵc thi lӋ
nh bao gӗm viӋ
c giҧ
i mã opcode và tҥ
o ra các tín hiӋ
XÿL
Ӆ
u
khiӇ
n, các tín hiӋ
XQj\ÿL
Ӆ
u khiӇ
n viӋ
c xuҩ
t nhұ
SJLNJDFiFWKDQKJKL
ӝi vӟi ALU và
WK{QJEiRÿ
ӇALU thӵc hiӋ
QWKDRWiFÿmÿѭ
ӧF[iFÿ
ӏ
nh. Do các thao tác có tҫ
m thay
ÿә
i rӝ
ng, phҥ
m vi dành cho các giҧ
i thích bӏnêu trên có phҫ
n nào bӏgiӟi hҥ
n, chӍáp
dө
QJÿѭ
ӧFFKRFiFWKiRWiFÿѫQJL
ҧ
QQKѭWăQJQ
ӝi dung cӫa mӝt thanh ghi. Các lӋ
nh
phӭc tҥ
SKѫQÿzLK
ӓi thêm nhiӅ
XEѭ
ӟc nӳa, chҷ
ng hҥ
QQKѭÿ
ӑ
c byte dӳliӋ
u thӭhai và
byte dӳliӋ
u thӭEDÿ
Ӈthӵc hiӋ
n thao tác.
Mӝ
t chuӛ
i các lӋ
QKÿѭ
ӧc kӃ
t hӧSÿ
Ӈthӵc hiӋ
n mӝt công viӋ
FFyêQJKƭD
ӧc
gӑ
i là mӝ
WFKѭѫQJWUuQKSURJUDP
KD\SK
ҫ
n mӅ
m( software). MӭFÿ
ӝmà nhӳng công
viӋ
Fÿѭ
ӧc thӵc hiӋ
Qÿ~QJYjFyKL
Ӌ
u quҧphàn lӟQ[iFÿ
ӏ
nh bӣi chҩ
WOѭ
ӧng cӫa phҫ
n
mӅ
m, không phҧ
i bӣi sӵphӭc tҥ
p cӫa CPU. Vұ
\ WKu FiF FKѭѫQJ
Ӆ
u khiӇ
Q´ WU
4
KHÓA LUN TአT NGHIኛP
CPU trong khi làm viӋ
Fÿ{LNKLG
ү
Qÿ
Ӄ
n sai nhҫ
m, chính là do nhӳQJQKѭ
ӧFÿ
iӇ
m cӫ
a
các tác giҧFKѭѫQJWUuQK&iFFkXQKѭOj´Pi\Wt
ҥ
o ra mӝt lӛL´OjVDL0
һ
c dù thiӃ
t
bӏcó sӵcӕOjÿL
Ӆ
u khơng thӇWUiQKÿѭ
ӧc, các lӛLÿѭ
ӧc tҥ
RUDWKѭ
ӡng là dҩ
u hiӋ
u cӫ
a
FiFFKѭѫQJW
ӗ
i hoһ
c lӛi cӫDQJѭ
ӡLÿL
Ӆ
u khiӇ
n.
1.1.2 ChӭFQăQJFKkQ&
6ѫ
ÿӗchân cӫa chip 89C51 mơ tҧtóm tҳ
t chӭFQăQJF
ӫa tӯQJFKkQQKѭV
trong sӕ40 chân cӫ
a 89C51 có cơng dөng xuҩ
t/nhұ
SWX\QKLrQWUR
ӡng này
có 2 mө
FÿtFK0
ӛi mӝ
Wÿѭ
ӡng có thӇhoҥ
Wÿ
ӝng xuҩ
t/nhұ
p hoһ
c hoҥ
Wÿ
ӝQJQKѭP
ӝ
t
ÿѭ
ӡQJÿ
ӏ
a chӍ
/dӳliӋ
u ÿDK
ӧp.
32 chân trên hình thành 4 port 8-bit. Vӟi các thiӃ
t kӃyêu cҫ
u mӝt mӭc tӕi thiӇ
u
bӝnhӟngoài khác, ta có thӇsӱdө
ng các port này làm nhiӋ
m vөxuҩ
t/nhұ
Sÿѭ
ӡng
cho mӛ
i port có thӇÿѭ
ӧc xӱOtQKѭÿѫQY
ӏgiao tiӃ
p vӟi các thiӃ
t bӏVRQJVRQJQ
máy in, bӝbiӃ
Qÿ
әi D-$«KR
һ
c mӛLÿѭ
ӡng có thӇhoҥ
Wÿ
ӝQJÿ
ӝc lұ
p giao tiӃ
p vӟi mӝ
t
thiӃ
t bӏÿѫQELWQKѭFKX\
Ӈ
n mҥ
ch, LED, BJT, FET cuӝQGk\ÿ
ӝQJFѫORD«
a) PORT0
PORT0 ( các chân tӯÿ
Ӄ
n 39 trên 8051) có 2 cơng dөng. Trong các thiӃ
t bӏ
có tӕ
i thiӇ
u thành phҫ
Q 3257
ӧc sӱdө
ÿѭ
ng làm nhiӋ
m vөxuҩ
t/nhұ
p. Trong các
thiӃ
t bӏlӟQKѫQFyE
ӝnhӟngoài, PORT0 trӣWKjQKEXVÿ
ӏ
a chӍvà bus dӳliӋ
XÿDK
ӧp
[byte thҩ
p cӫ
DEXVÿ
ӏ
a chӍnӃ
XOjÿ
ӏ
a chӍ
].
b) PORT1
PORT1 chӍcó 1 cơng dөng là xuҩ
t/nhұ
p (các chân tӯÿ
Ӄ
n 9 trên 89C51). Các
chân cӫ
D3257ÿѭ
ӧc kí hiӋ
XOj33«3Yjÿѭ
ӧFGQJÿ
Ӈgiao tiӃ
p vӟi thiӃ
t
bӏbên ngồi khi có u cҫ
u. Khơng có chӭFQăQJQjRNKiFQ
ӳa gán cho các chân cӫ
a
3257QJKƭDOjFK~QJFK
Ӎÿѭ
ӧc sӱdө
QJÿ
Ӈgiao tiӃ
p vӟi các thiӃ
t bӏngoҥ
i vi.
c) PORT2
PORT2 (các chân tӯÿ
Ӄ
n 28 trên 89C51) có 2 cơng dөng, hoһ
c làm nhiӋ
m vө
xuҩ
t nhұ
p hoһ
FOjE\WHÿ
ӏ
a chӍcao cӫ
D EXVÿ
ӏ
a chӍ16-bit cho các thiӃ
t kӃcó bӝnhӟ
FKѭѫQJWUuQKQJRjLKR
һ
c các thiӃ
t kӃcó nhiӅ
XKѫQE\WHE
ӝnhӟdӳliӋ
u ngồi.
5
KHÓA LUN TአT NGHIኛP
d) PORT3
PORT3 (các chân tӯ
Ӄ
nÿ
17 cӫa 89C51) có 2 cơng dө
ng. Khi khơng hoҥ
t
ÿӝ
ng hoҥ
Wÿ
ӝng xuҩ
t nhұ
p, các chân cӫ
a PORT3 có nhiӅ
u chӭFQăQJULrQJ
ӛ
i chân
có chӭFQăQJULrQJOLrQTXDQÿ
Ӄ
QFiFÿ
һ
c trung cөthӇcӫa 8051).
Bҧ
QJGѭ
ӟLÿk\ FKRWD
ӭFQăQJF
ӫ
a các chân
FK cӫa PORT3 và 2 chân P1.0, P1.1 cӫ
a
PORT1.
Bҧng 1.2: ChӭFQăQJFiFFKkQ3RUWYjKDLFK
ӫa Port1
Bit
Tên
Ĉӏ
a chӍbit
ChӭFQăQJ
P3.0
RxD
B0H
Chân nhұ
n dӳliӋ
u cӫa port nӕi tiӃ
p
P3.1
TxD
B1H
Chân phát dӳliӋ
u cӫa port nӕi tiӃ
p
P3.2
INT 0
B2H
Ngõ vào ngҳ
t ngoài 0
P3.3
INT 1
B3H
Ngõ vào ngҳ
t ngoài 1
P3.4
T0
B4H
Ngõ vào cӫa bӝÿӏ
nh thӡLÿ
Ӄ
m0
P3.5
T1
B5H
Ngõ vào cӫa bӝÿӏ
nh thӡLÿ
Ӄ
m1
P3.6
WR
B6H
ĈL
Ӆ
u khiӇ
n ghi bӝnhӟdӳliӋ
u ngoài
P3.7
RD
B7H
ĈL
Ӆ
u khiӇ
Qÿ
ӑc bӝnhӟdӳliӋ
u ngoài
P1.0
T2
90H
Ngõ vào cӫa bӝÿӏ
nh thӡLÿ
Ӄ
m2
P1.1
T2EX
91H
Nҥ
p lҥ
i/ thu nhұ
n cӫa bӝÿӏ
nh thӡi 2
PSEN
e) Chân cho phép bӝnhӟFKѭѫQJWUuQK
89C51 cung cҩ
p cho ta 4 tín hiӋ
XӅ
uÿL
khiӇ
n bus. Tín hiӋ
u cho phép bӝnhӟ
chuong trình PSEN là tín hiӋ
u xuҩ
t WUrQFKkQĈk
y là tín hiӋ
XÿL
Ӆ
u khiӇ
n cho phӃ
p
cho truy xuҩ
t bӝnhӟFKѭѫQJWUuQKQJRjL&KkQQj\WK
ӡng nӕi vӟi chân cho phép OE
cӫ
a EPROM (hoһ
F3520
ÿ
ӇFKRSKpSÿ
ӑ
c các byle lӋ
nh.
Tín hiӋ
u PSEN ӣlogic 0 trong suӕt thӡi gian tìm nҥ
p lӋ
nh. Các mã nhӏphân cӫ
a
FKѭѫQJWUuQKKD\RSFRGHPmWKDRWiF
ÿѭ
ӧFÿ
ӑc tӯEPROM, qua bus dӳliӋ
XYjÿѭ
ӧc
chӕ
t vào thânh ghi lӋ
nh IR cӫD&ÿ
Ӈÿѭ
ӧc giҧ
i mã.
Khi thӵFWKLFKѭѫQJWUuQKFK
ӭa ӣROM nӝ
i, PSEN ÿѭ
ӧc duy trì ӣlogic khơng
tích cӵc (logic 1).
f) Chân cho phép chӕ
Wÿ
ӏ
a chӍALE
6
KHĨA LUN TአT NGHIኛP
89C51 sӱdө
ng chân 30, chân xuҩ
t tín hiӋ
u cho phép chӕWÿ
ӏ
a chӍALE ÿ
Ӈgiҧ
i
ÿDK
ӧp (demultiplexing) bus dӳliӋ
XYjEXVÿ
ӏ
a chӍ
.KLSRUWÿѭ
ӧc sӱdөng làm bus
ÿӏ
a chӍ
/dӳliӋ
XÿDK
ӧp, chân ALE xuҩ
t tín hiӋ
Xÿ
ӇFKRWWVÿ
ӏ
a chӍ(byte thҩ
p nhҩ
t cӫDÿ
ӏ
a
chӍ16-bit) vàp 1 thanh ghi ngồi trong suӕWịÿ
ҫ
u cӫ
a chu kì bӝnhӟ(memory cycle).
6DXNKLÿL
Ӆ
XQj\ÿmÿѭ
ӧc thӵc hiӋ
n, các chân cӫ
a port 0 sӁxuҩ
t/nhұ
p dӳliӋ
u hӧp lӋ
trong suӕ
t ½ thӭ2 cӫ
a chu kì bӝnhӟ.
Tín hiӋ
u ALE có tҫ
n sӕbҵ
ng 1/6 tҫ
n sӕcӫa mҥ
FKGDRÿ
ӝ
ng bên trong chip vi
ÿL
Ӆ
u khiӇ
n và có thӇÿѭ
ӧc dùng làm xung clock cho phҫ
n còn lҥ
i cӫa hӋthӕng. NӃ
u
mҥ
FKJLDRÿ
ӝ
ng có tҫ
n sӕ12MHz, tín hiӋ
u ALE có tҫ
n sӕ2MHz. Ngoҥ
i lӋduy nhҩ
t là
trong thӡi gian thӵc thi lӋ
nh MOVX, 1 xung ALE sӁbӏbӓTXD&KkQ$/(F
ӧc
GQJÿ
Ӈnhұ
n xung ngõ vào lұ
SWUuQKFKR(3520WUrQFKLS
ӕ
i vӟi các phiên bҧ
n cӫ
a
89C51 có EPROM này.
g) Chân truy xuҩ
t ngồi EA
Ngõ vào này (chân31) có thӇÿѭ
ӧc nӕi vӟi 5V (logic 1) hoһ
c vӟi GND (logic 0).
NӃ
u chân này nӕ
i lên 5V, 8051/8052 thӵF WKL FKѭѫQJWUuQK
ӝL FKѭѫQJ
WUR
trình nhӓKѫQ..