Giáo trình Vi điều khiển - Phạm Hùng Kim Khánh

BGIÁO DC & ĐÀO TO  
TRƯỜNG ĐẠI HC KTHUT CÔNG NGHỆ  
THÀNH PHHCHÍ MINH  
KHOA ĐIN – ĐIN TỬ  
--- oOo ---  
GIÁO TRÌNH  
VI ĐIU KHIN  
Tác gi: ThS. PHM HÙNG KIM KHÁNH  
03/2008  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình vi xlý  
LI NÓI ĐẦU  
Giáo trình Vi điu khin được biên son nhm cung cp cho sinh viên kiến thc  
vhvi điu khin MCS-51, cách thc lp trình điu khin, np chương trình  
và thiết kế phn cng điu khin thiết b.  
Giáo trình được sdng cho khóa hc 45 tiết dành cho sinh viên hệ đại hc  
Khoa Đin Đin ttrường Đại hc Kthut Công nghTPHCM.  
Bcc giáo trình gm 4 chương da theo đề cương môn hc Kthut Vi điu  
khin dành cho sinh viên ngành Đin TVin Thông:  
Chương 1. Tng quan vhvi điu khin MCS-51  
Chương 2. Lp trình hp ngữ  
Chương 3. Các hot động ca hvi điu khin MCS-51  
Chương 4. Các ng dng  
Phlc 1: Tóm tt tp lnh  
Phlc 2: Mô ttp lnh  
PHM HÙNG KIM KHÁNH  
i
Sưu tm bi: www.daihoc.com.vn  
Giáo trình vi xlý  
MC LC  
Chương 1: Tng quan vhMCS-51..........................................................................1  
1. Gii thiu.....................................................................................................................1  
2. Vi điu khin AT89C51 ..............................................................................................1  
2.1. Sơ đồ..............................................................................................................2  
2.2. Định thì chu kmáy ......................................................................................6  
2.3. Tchc bnh..............................................................................................8  
2.4. Các thanh ghi chc năng đặc bit (SFR – Special Function Registers)......17  
2.5. Cu trúc port................................................................................................21  
2.6. Hot động Reset ..........................................................................................22  
2.7. Các vn đề khác...........................................................................................23  
Bài tp chương 1............................................................................................................34  
Chương 2: Lp trình hp ng....................................................................................35  
1. Các phương pháp định địa ch...................................................................................35  
2. Các vn đề liên quan khi lp trình hp ng...............................................................36  
2.1. Cú pháp lnh................................................................................................36  
2.2. Khai báo dliu ..........................................................................................37  
2.3. Các toán t...................................................................................................38  
2.4. Cu trúc chương trình..................................................................................39  
3. Tp lnh.....................................................................................................................41  
3.1. Nhóm lnh chuyn dliu ..........................................................................41  
3.2. Nhóm lnh xlý bit.....................................................................................46  
3.3. Nhóm lnh chuyn điu khin.....................................................................47  
3.4. Nhóm lnh logic ..........................................................................................51  
3.5. Nhóm lnh shc........................................................................................53  
Bài tp chương 2............................................................................................................56  
Chương 3: Các hot động ...........................................................................................57  
1. Hot động định thi (Timer / Counter) .....................................................................57  
1.1. Gii thiu.....................................................................................................57  
1.2. Hot động Timer / Counter .........................................................................57  
1.3. Các thanh ghi điu khin hot động............................................................58  
1.3.1. Thanh ghi điu khin timer (Timer/Counter Control Register)......58  
1.3.2. Thanh ghi chế độ timer (TMOD – Timer/Counter Mode) .............59  
ii  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình vi xlý  
1.4. Các chế độ hot động ..................................................................................59  
1.4.1. Chế độ 0..........................................................................................60  
1.4.2. Chế độ 1..........................................................................................60  
1.4.3. Chế độ 2..........................................................................................61  
1.4.4. Chế độ 3..........................................................................................61  
1.5. Timer 2 ........................................................................................................62  
1.5.1. Các thanh ghi điu khin Timer 2 ..................................................62  
1.5.2. Chế độ capture................................................................................64  
1.5.3. Chế độ tự động np li....................................................................64  
1.5.4. Chế độ to xung clock ....................................................................65  
1.5.5. Chế độ to tc độ baud ...................................................................66  
1.6. Các ví d......................................................................................................67  
2. Cng ni tiếp (Serial port).........................................................................................71  
2.1. Các thanh ghi điu khin hot động............................................................72  
2.1.1. Thanh ghi SCON (Serial port controller) .......................................72  
2.1.2. Thanh ghi BDRCON (Baud Rate Control Register) ......................73  
2.2. To tc độ baud ...........................................................................................73  
2.2.1. To tc độ baud bng Timer 1........................................................74  
2.2.2. To tc độ baud bng Timer 2........................................................76  
2.2.3. Bto tc độ baud ni (Internal Baud Rate Generator).................77  
2.3. Truyn thông đa xlý .................................................................................77  
2.4. Nhn dng địa chtự động ..........................................................................78  
2.5. Kim tra li khung.......................................................................................79  
2.6. Các ví d......................................................................................................79  
3. Ngt (Interrupt)..........................................................................................................81  
3.1. Các thanh ghi điu khin hot động............................................................82  
3.1.1. Thanh ghi IE (Interrupt Enable) .....................................................82  
3.1.2. Thanh ghi IP (Interrupt Priority) ....................................................82  
3.1.3. Thanh ghi TCON (Timer/Counter Control) ...................................83  
3.2. Xlý ngt....................................................................................................84  
3.3. Ngt do bộ định thi....................................................................................86  
3.4. Ngt do cng ni tiếp ..................................................................................89  
3.5. Ngt ngoài ...................................................................................................91  
Bài tp chương 3............................................................................................................94  
iii  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình vi xlý  
Chương 4: Các ng dng da trên hvi điu khin MCS-51.................................95  
1. Điu khin Led đơn ...................................................................................................95  
2. Điu khin Led 7 đon ..............................................................................................98  
2.1. Cu trúc và bng mã hin thdliu trên Led 7 đon ................................98  
2.2. Các phương pháp hin thdliu .............................................................100  
2.2.1. Phương pháp quét .........................................................................100  
2.2.2. Phương pháp cht .........................................................................104  
3. Điu khin ma trn Led...........................................................................................107  
4. Điu khin động cơ bước.........................................................................................112  
5. Điu khin LCD (Liquid Crystal Display)..............................................................115  
6. Giao tiếp vi PPI8255 .............................................................................................129  
Bài tp chương 4..........................................................................................................135  
Phlc 1: Son tho và np chương trình..............................................................136  
Phlc 2: Mô phng bng Proteus..........................................................................181  
Phlc 3: Tóm tt tp lnh ......................................................................................191  
Phlc 4: Mô ttp lnh..........................................................................................195  
iv  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
Chương 1: TNG QUAN VVI ĐIU  
KHIN MCS-51  
Chương này gii thiu tng quan vhvi điu khin MCS-51(chyếu trên  
AT89C51): cu trúc phn cng, sơ đồ chân, các thanh ghi, đặc tính lp trình và các  
đặc tính về đin.  
1. Gii thiu  
Hvi điu khin MCS-51 do Intel sn xut đầu tiên vào năm 1980 là các IC  
thiết kế cho các ng dng hướng điu khin. Các IC này chính là mt hthng vi xử  
lý hoàn chnh bao gm các các thành phn ca hvi xlý: CPU, bnh, các mch  
giao tiếp, điu khin ngt.  
MCS-51 là hvi điu khin sdng cơ chế CISC (Complex Instruction Set  
Computer), có độ dài và thi gian thc thi ca các lnh khác nhau. Tp lnh cung cp  
cho MCS-51 có các lnh dùng cho điu khin xut / nhp tác động đến tng bit.  
MCS-51 bao gm nhiu vi điu khin khác nhau, bvi điu khin đầu tiên là  
8051 có 4KB ROM, 128 byte RAM và 8031, không có ROM ni, phi sdng bộ  
nhngoài. Sau này, các nhà sn xut khác như Siemens, Fujitsu, … cũng được cp  
phép làm nhà cung cp thhai.  
MCS-51 bao gm nhiu phiên bn khác nhau, mi phiên bn sau tăng thêm  
mt sthanh ghi điu khin hot động ca MCS-51.  
2. Vi điu khin AT89C51  
AT89C51 là vi điu khin do Atmel sn xut, chế to theo công nghCMOS  
có các đặc tính như sau:  
- 4 KB PEROM (Flash Programmable and Erasable Read Only Memory), có khả  
năng ti 1000 chu kghi xoá  
- Tn shot động t: 0Hz đến 24 MHz  
- 3 mc khóa bnhlp trình  
- 128 Byte RAM ni.  
- 4 Port xut /nhp I/O 8 bit.  
- 2 bTimer/counter 16 Bit.  
- 6 ngun ngt.  
- Giao tiếp ni tiếp điu khin bng phn cng.  
- 64 KB vùng nhmã ngoài  
- 64 KB vùng nhdliu ngoài.  
- Cho phép xlý bit.  
- 210 vtrí nhcó thể định vbit.  
- 4 chu kmáy (4 µs đối vi thch anh 12MHz) cho hot động nhân hoc chia.  
Phm Hùng Kim Khánh  
Trang 1  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
- Có các chế độ ngh(Low-power Idle) và chế độ ngun gim (Power-down).  
Ngoi ra, mt sIC khác ca hMCS-51 có thêm bộ định thi th3 và 256  
byte RAM ni.  
2.1. Sơ đồ  
P0.0 – P0.7  
Hình 1.1 – Sơ đồ khi ca AT89C51  
Sưu tm bi: www.daihoc.com.vn  
Phm Hùng Kim Khánh  
Trang 2  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
AT89C51 gm có 40 chân, mô tnhư sau:  
AT89C51  
39  
38  
37  
36  
35  
34  
33  
32  
21  
22  
23  
24  
25  
26  
27  
28  
P0.0/AD0  
P0.1/AD1  
P2.0/A8  
P2.1/A9  
P0.2/AD2 P2.2/A10  
P0.3/AD3 P2.3/A11  
P0.4/AD4 P2.4/A12  
P0.5/AD5 P2.5/A13  
P0.6/AD6 P2.6/A14  
P0.7/AD7 P2.7/A15  
1
2
3
4
5
6
7
8
10  
11  
12  
13  
14  
15  
16  
17  
P1.0  
P1.1  
P1.2  
P1.3  
P1.4  
P1.5  
P1.6  
P1.7  
P3.0/RXD  
P3.1/TXD  
P3.2/INT0  
P3.3/INT1  
P3.4/T0  
P3.5/T1  
P3.6/WR  
P3.7/RD  
19  
18  
30  
29  
XTAL1  
XTAL2  
ALE/PROG  
PSEN  
31  
9
EA/VPP  
RST  
Hình 1.2 – Sơ đồ chân ca AT89C51  
™ Port 0:  
Port 0 là port có 2 chc năng các chân 32 – 39 ca AT89C51:  
- Chc năng IO (xut / nhp): dùng cho các thiết kế nh. Tuy nhiên, khi dùng  
chc năng này thì Port 0 phi dùng thêm các đin trkéo lên (pull-up), giá trị  
ca đin trphthuc vào thành phn kết ni vi Port.  
Khi dùng làm ngõ ra, Port 0 có thkéo được 8 ngõ TTL.  
Khi dùng làm ngõ vào, Port 0 phi được set mc logic 1 trước đó.  
-
Chc năng địa ch/ dliu đa hp: khi dùng các thiết kế ln, đòi hi phi sử  
dng bnhngoài thì Port 0 va là bus dliu (8 bit) va là bus địa ch(8 bit  
thp).  
Ngoài ra khi lp trình cho AT89C51, Port 0 còn dùng để nhn mã khi lp trình  
và xut mà khi kim tra (quá trình kim tra đòi hi phi có đin trkéo lên).  
Phm Hùng Kim Khánh  
Trang 3  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
™ Port 1:  
Port1 (chân 1 – 8) chcó mt chc năng là IO, không dùng cho mc đích khác  
(chtrong 8032/8052/8952 thì dùng thêm P1.0 và P1.1 cho bộ định thi th3). Ti  
Port 1 đã có đin trkéo lên nên không cn thêm đin trngoài.  
Port 1 có khnăng kéo được 4 ngõ TTL và còn dùng làm 8 bit địa chthp  
trong quá trình lp trình hay kim tra.  
Khi dùng làm ngõ vào, Port 1 phi được set mc logic 1 trước đó.  
™ Port 2:  
Port 2 (chân 21 – 28) là port có 2 chc năng:  
- Chc năng IO (xut / nhp): có khnăng kéo được 4 ngõ TTL.  
-
Chc năng địa ch: dùng làm 8 bit địa chcao khi cn bnhngoài có địa chỉ  
16 bit. Khi đó, Port 2 không được dùng cho mc đích IO.  
Khi dùng làm ngõ vào, Port 2 phi được set mc logic 1 trước đó.  
Khi lp trình, Port 2 dùng làm 8 bit địa chcao hay mt stín hiu điu khin.  
™ Port 3:  
Port 3 (chân 10 – 17) là port có 2 chc năng:  
- Chc năng IO: có khnăng kéo được 4 ngõ TTL.  
Khi dùng làm ngõ vào, Port 3 phi được set mc logic 1 trước đó.  
- Chc năng khác: mô tnhư bng 1.1  
Bng 1.1: Chc năng các chân ca Port 3  
Bit Tên  
Chc năng  
P3.0 RxD Ngõ vào port ni tiếp  
P3.1 TxD Ngõ ra port ni tiếp  
P3.2  
P3.3  
Ngt ngoài 0  
INT0  
Ngt ngoài 1  
INT1  
P3.4 T0  
P3.5 T1  
Ngõ vào ca bộ định thi 0  
Ngõ vào ca bộ định thi 1  
Tín hiu điu khin ghi dliu lên bnhngoài.  
P3.6  
P3.7  
WR  
RD  
Tín hiu điu khin đọc tbnhdliu ngoài.  
Phm Hùng Kim Khánh  
Trang 4  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
™ Ngun:  
Chân 40: VCC = 5V ± 20%  
Chân 20: GND  
™ PSEN (Program Store Enable):  
PSEN (chân 29) cho phép đọc bnhchương trình mrng đối vi các ng  
dng sdng ROM ngoài, thường được ni đến chân OC (Output Control) ca  
ROM để đọc các byte mã lnh. PSEN smc logic 0 trong thi gian AT89C51 ly  
lnh.Trong quá trình này, PSEN stích cc 2 ln trong 1 chu kmáy.  
Mã lnh ca chương trình được đọc tROM thông qua bus dliu (Port0) và  
bus địa ch(Port0 + Port2).  
Khi 8951 thi hành chương trình trong ROM ni, PSEN sẽ ở mc logic 1.  
™ ALE/PROG (Address Latch Enable / Program):  
ALE/PROG (chân 30) cho phép tách các đường địa chvà dliu ti Port 0  
khi truy xut bnhngoài. ALE thường ni vi chân Clock ca IC cht (74373,  
74573).  
Các xung tín hiu ALE có tc độ bng 1/6 ln tn sdao động trên chip và có  
thể được dùng làm tín hiu clock cho các phn khác ca hthng. Xung này có thể  
cm bng cách set bit 0 ca SFR ti địa ch8Eh lên 1. Khi đó, ALE chcó tác dng  
khi dùng lnh MOVX hay MOVC. Ngoài ra, chân này còn được dùng làm ngõ vào  
xung lp trình cho ROM ni (PROG ).  
™ EA /VPP (External Access) :  
EA (chân 31) dùng để cho phép thc thi chương trình tROM ngoài. Khi ni  
chân 31 vi Vcc, AT89C51 sthc thi chương trình tROM ni (ti đa 8KB), ngược  
li thì thc thi tROM ngoài (ti đa 64KB).  
Ngoài ra, chân EA được ly làm chân cp ngun 12V khi lp trình cho ROM.  
™ RST (Reset):  
RST (chân 9) cho phép reset AT89C51 khi ngõ vào tín hiu đưa lên mc 1  
trong ít nht là 2 chu kmáy.  
™ X1,X2:  
Ngõ vào và ngõ ra bdao động, khi sdng có thchcn kết ni thêm thch  
anh và các tnhư hình vtrong sơ đồ. Tn sthch anh thường sdng cho  
AT89C51 là 12Mhz.  
Phm Hùng Kim Khánh  
Trang 5  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
Giá trC1, C2 = 30 pF ± 10 pF  
Hình 1.3 – Sơ đồ kết ni thch anh  
2.2. Định thì chu kmáy  
Mt chu kmáy bao gm 6 trng thái (12 xung clock). Mt trng thái bao gm  
2 phn ng vi 12 xung clock : Phase 1 và Phase 2. Như vy, mt chu kmáy bao  
gm 12 xung clock được biu din tS1P1 đến S6P2 (State 1, Phase 1 Æ State 6,  
Phase 2). Chu kly lnh và thc thi lnh mô tnhư hình 1.4.  
Tín hiu cht địa chALE tích cc 2 ln trong mt chu kmáy (trong khong  
thi gian S1P2 đến S2P1 và tS4P2 đến S5P1). Từ đó tn sxung ti chân ALE bng  
1/6 tn sthch anh.  
¾ Đối vi các lnh thc thi trong 1 chu k:  
- Lnh 1 byte: được thc thi ti thi đim S1P2 sau khi mã lnh được cht vào  
thanh ghi lnh ti S1P1.  
- Lnh 2 byte: byte th2 được đọc ti thi đim S4 và sẽ được thc thi ti thi  
đim S4.  
¾ Đối vi các lnh thc thi trong 2 chu k:  
Quá trình ly lnh thc hin ti thi đim S1 ca chu kỳ đầu tiên (byte mà lnh  
1). Nếu lnh có nhiu hơn 1 byte thì sẽ được ly các thi đim tiếp theo ging như  
các lnh thc thi trong 1 chu k.  
Phm Hùng Kim Khánh  
Trang 6  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
Hình 1.4 – Chu klnh  
Phm Hùng Kim Khánh  
Trang 7  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
2.3. Tchc bnhớ  
Bnhtrong  
Bnhngoài  
Bnhchương trình 64 KB  
ROM 4KB  
0000h – FFFFh  
0000h – 0FFFh  
Điu khin bng PSEN  
RAM 128 byte  
00h – 7Fh  
Bnhdliu 64 KB  
0000h – FFFFh  
SFR  
Điu khin bng RD và WR  
80h – 0FFh  
Hình 1.5 - Các vùng nhtrong AT89C51  
Bnhca hMCS-51 có thchia thành 2 phn: bnhtrong và bnhớ  
ngoài. Bnhtrong bao gm 4 KB ROM và 128 byte RAM (256 byte trong 8052).  
Các byte RAM có địa cht00h – 7Fh và các thanh ghi chc năng đặc bit (SFR) có  
địa cht80h – 0FFh có thtruy xut trc tiếp. Đối vi 8052, 128 byte RAM cao (địa  
cht80h – 0FFh) không thtruy xut trc tiếp mà chcó thtruy xut gián tiếp (xem  
thêm trong phn tp lnh).  
Bnhngoài bao gm bnhchương trình (điu khin đọc bng tín hiu  
PSEN ) và bnhdliu (điu khin bng tín hiu  
hay WR để cho phép đọc  
RD  
hay ghi dliu). Do số đường địa chca MCS-51 là 16 bit (Port 0 cha 8 bit thp và  
Port 2 cha 8 bit cao) nên bnhngoài có thgii mã ti đa là 64KB.  
2.3.1. Tchc bnhtrong  
Bnhtrong ca MCS-51 gm ROM và RAM. RAM bao gm nhiu vùng có  
mc đích khác nhau: vùng RAM đa dng (địa chbyte t30h – 7Fh và có thêm vùng  
80h – 0FFh ng vi 8052), vùng có thể địa chhóa tng bit (địa chbyte t20h –  
2Fh, gm 128 bit được định địa chbit t00h – 7Fh), các bank thanh ghi (t00h –  
1Fh) và các thanh ghi chc năng đặc bit (t80h – 0FFh).  
Phm Hùng Kim Khánh  
Trang 8  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
™ Các thanh ghi chc năng đặc bit (SFR – Special Function Registers):  
Bng 1.2 – Các thanh ghi chc năng đặc bit  
Địa  
chỉ  
byte  
Có thể  
định địa  
chbit  
Không định địa chbit  
F8h  
F0h  
E8h  
E0h  
D8h  
D0h  
C8h  
C0h  
B8h  
B0h  
A8h  
A0h  
98h  
90h  
88h  
80h  
B
ACC  
PSW  
(T2CON)  
(RCAP2L) (RCAP2H) (TL2) (TH2)  
IP  
SADEN  
SADDR  
SBUF  
P3  
IE  
P2  
SCON  
P1  
BRL  
BDRCON  
TCON  
P0  
TMOD TL0  
SP DPL  
TH0  
DPH  
TL1  
TH1  
AUXR CKCON  
PCON  
Các thanh ghi có thể định địa chbit sđịa chbit bt đầu và địa chbyte  
trùng nhau. Ví dnhư: thanh ghi P0 có địa chbyte là 80h và có địa chbit bt đầu từ  
80h (ng vi P0.0) đến 87h (ng vi P0.7). Chc năng các thanh ghi này smô tả  
trong phn sau.  
Phm Hùng Kim Khánh  
Trang 9  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
™ RAM ni: chia thành các vùng phân bit: vùng RAM đa dng (30h – 7Fh), vùng  
RAM có thể định địa chbit (20h – 2Fh) và các bank thanh ghi (00h – 1Fh).  
Địa chbyte  
Địa chbit  
Chc năng  
7F  
Vùng RAM đa dng  
30  
2F  
2E  
2D  
2C  
2B  
2A  
29  
28  
27  
26  
25  
24  
23  
22  
21  
20  
1F  
18  
7F 7E 7D 7C 7B 7A 79 78  
77 76 75 74 73 72 71 70  
6F 6E 6D 6C 6B 6A 69 68  
67 66 65 64 63 62 61 60  
5F 5E 5D 5C 5B 5A 59 58  
57 56 55 54 53 52 51 50  
4F 4E 4D 4C 4B 4A 49 48  
47 46 45 44 43 42 41 40  
3F 3E 3D 3C 3B 3A 39 38  
37 36 35 34 33 32 31 30  
2F 2E 2D 2C 2B 2A 29 28  
27 26 25 24 23 22 21 20  
1F 1E 1D 1C 1B 1A 19 18  
17 16 15 14 13 12 11 10  
0F 0E 0D 0C 0B 0A 09 08  
07 06 05 04 03 02 01 00  
Vùng có thể định địa chbit  
Bank 3  
17  
10  
Bank 2  
Bank 1  
Các bank thanh ghi  
1F  
08  
07  
00  
Bank thanh ghi 0 ( mc định cho R0-R7)  
Hình 1.6 – Sơ đồ phân bRAM ni  
¾ RAM đa dng:  
RAM đa dng có 80 byte từ địa ch30h – 7Fh có thtruy xut mi ln 8 bit  
bng cách dùng chế độ địa chtrc tiếp hay gián tiếp.  
Các vùng địa chthp t00h – 2Fh cũng có thsdng cho mc đich như trên  
ngoài các chc năng đề cp như phn sau.  
¾ RAM có thể định địa chbit:  
Vùng địa cht20h – 2Fh gm 16 byte (= 128 bit) có ththc hin ging như  
vùng RAM đa dng (mi ln 8 bit) hay thc hin truy xut mi ln 1 bit bng các lnh  
Phm Hùng Kim Khánh  
Trang 10  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
xlý bit. Vùng RAM này có các địa chbit bt đầu ti giá tr00h và kết thúc ti 7Fh.  
Như vy, địa chbt đầu 20h (gm 8 bit) có địa chbit t00h – 07h; địa chkết thúc  
2Fh có địa chbit t78h – Fh.  
¾ Các bank thanh ghi:  
Vùng địa cht00h – 1Fh được chia thành 4 bank thanh ghi: bank 0 t00h –  
07h, bank 1 t08h – 0Fh, bank 2 t10h – 17h và bank 3 t18h – 1Fh. Các bank  
thanh ghi này được đại din bng các thanh ghi tR0 đến R7. Sau khi khi động hệ  
thng thì bank thanh ghi được sdng là bank 0.  
Do có 4 bank thanh ghi nên ti mt thi đim chcó mt bank thanh ghi được  
truy xut bi các thanh ghi R0 đến R7. Vic thay đổi bank thanh ghi có ththc hin  
thông qua thanh ghi ttrng thái chương trình (PSW).  
Các bank thanh ghi này cũng có thtruy xut bình thường như vùng RAM đa  
dng đã nói trên.  
2.3.2. Tchc bnhngoài  
MCS-51 có bnhtheo cu trúc Harvard: phân bit bnhchương trình và dữ  
liu. Chương trình và dliu có thcha bên trong nhưng vn có thkết ni vi  
64KB chương trình và 64KB dliu. Bnhchương trình được truy xut thông qua  
chân PSEN còn bnhdliu đươc truy xut thông qua chân WR hay RD .  
Lưu ý rng vic truy xut bnhchương trình luôn luôn sdng địa ch16 bit  
còn bnhdliu có thlà 8 bit hay 16 bit tutheo câu lnh sdng. Khi dùng bộ  
nhdliu 8 bit thì có thdùng Port 2 như là Port I/O thông thường còn khi dùng ở  
chế độ 16 bit thì Port 2 chdùng làm các bit địa chcao.  
Port 0 được dùng làm địa chthp/ dliu đa hp. Tín hiu ALE để tách byte  
địa chđưa vào bcht ngoài.  
Trong chu kghi, byte dliu stn ti Port 0 va trước khi WR tích cc  
được gicho đến khi WR không tích cc.Trong chu kỳ đọc, byte nhn được chp  
nhn va trước khi RD không tích cc.  
Bnhchương trình ngoài được xlý 1 trong 2 điu kin sau:  
- Tín hiu EA tích cc ( = 0).  
- Giá trca bộ đếm chương trình (PC – Program Counter) ln hơn kích thước  
bnh.  
Phm Hùng Kim Khánh  
Trang 11  
Sưu tm bi: www.daihoc.com.vn  
Giáo trình Vi điu khin  
Tng quan vvi điu khin MCS-51  
PCH: Program Counter High – PCL: Program Counter Low  
DPH: Data Pointer High – DPL: Data Pointer Low  
Hình 1.7 – Thc thi bnhchương trình ngoài  
Phm Hùng Kim Khánh  
Trang 12  
Sưu tm bi: www.daihoc.com.vn  
Kết ni phn cng khi thiết kế bnhngoài mô tnhư sau:  
ADDRESS BUS  
DATA BUS  
U1  
U8  
U3  
A8  
A9  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
21  
22  
23  
24  
25  
26  
27  
28  
39  
38  
37  
36  
35  
34  
33  
32  
2
3
4
5
6
7
8
9
19  
18  
17  
16  
15  
14  
13  
12  
10  
9
8
7
6
5
4
3
25  
24  
21  
23  
2
26  
27  
1
11  
P2.0/A8  
P2.1/A9  
P0.0/AD0  
P0.1/AD1  
D0  
Q0  
Q1  
Q2  
Q3  
Q4  
Q5  
Q6  
Q7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
O0  
O1  
O2  
O3  
O4  
O5  
O6  
O7  
12  
13  
15  
16  
17  
18  
19  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
A10  
A11  
A12  
A13  
A14  
A15  
P2.2/A10 P0.2/AD2  
P2.3/A11 P0.3/AD3  
P2.4/A12 P0.4/AD4  
P2.5/A13 P0.5/AD5  
P2.6/A14 P0.6/AD6  
P2.7/A15 P0.7/AD7  
A8  
A9  
A8  
A9  
10  
11  
12  
13  
14  
15  
16  
17  
1
2
3
4
5
6
7
8
11  
1
P3.0/RXD  
P3.1/TXD  
P3.2/INT0  
P3.3/INT1  
P3.4/T0  
P3.5/T1  
P3.6/WR  
P3.7/RD  
P1.0  
P1.1  
P1.2  
P1.3  
P1.4  
P1.5  
P1.6  
P1.7  
LE  
OE  
A10  
A11  
A12  
A13  
A14  
A15  
A10  
A11  
A12  
A13  
A14  
A15  
74HC573  
22  
20  
OE/VPP  
CE  
30  
29  
19  
18  
ALE/PROG  
PSEN  
XTAL1  
XTAL2  
28  
VCC  
31  
9
EA/VPP  
RST  
ROM 27512  
AT89C51  
Hình 1.8 – Giao tiếp bnhchương trình ngoài  
Sưu tm bi: www.daihoc.com.vn  
ADDRESS BUS  
DATA BUS  
U4  
U7  
U6  
A8  
A9  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
21  
22  
23  
24  
25  
26  
27  
28  
39  
38  
37  
36  
35  
34  
33  
32  
2
3
4
5
6
7
8
9
19  
18  
17  
16  
15  
14  
13  
12  
12  
11  
10  
9
8
7
13  
P2.0/A8  
P2.1/A9  
P0.0/AD0  
P0.1/AD1  
D0  
Q0  
Q1  
Q2  
Q3  
Q4  
Q5  
Q6  
Q7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
I/O0  
I/O1  
I/O2  
I/O3  
I/O4  
I/O5  
I/O6  
I/O7  
14  
15  
17  
18  
19  
20  
21  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
A10  
A11  
A12  
A13  
A14  
A15  
P2.2/A10 P0.2/AD2  
P2.3/A11 P0.3/AD3  
P2.4/A12 P0.4/AD4  
P2.5/A13 P0.5/AD5  
P2.6/A14 P0.6/AD6  
P2.7/A15 P0.7/AD7  
6
5
A8  
A9  
27  
26  
23  
25  
4
28  
3
31  
A8  
A9  
10  
11  
12  
13  
14  
15  
16  
17  
1
2
3
4
5
6
7
8
11  
1
P3.0/RXD  
P3.1/TXD  
P3.2/INT0  
P3.3/INT1  
P3.4/T0  
P3.5/T1  
P3.6/WR  
P3.7/RD  
P1.0  
P1.1  
P1.2  
P1.3  
P1.4  
P1.5  
P1.6  
P1.7  
LE  
OE  
A10  
A11  
A12  
A13  
A14  
A15  
A10  
A11  
A12  
A13  
A14  
A15  
74HC573  
24  
29  
22  
30  
OE  
30  
29  
19  
18  
ALE/PROG  
PSEN  
XTAL1  
XTAL2  
WE  
CE1  
CE2  
31  
9
EA/VPP  
RST  
RAM 62512  
AT89C51  
Hình 1.9 – Giao tiếp bnhdliu ngoài  
Sưu tm bi: www.daihoc.com.vn  
ADDRESS BUS  
DATA BUS  
U5  
U10  
U9  
A8  
A9  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
21  
22  
23  
24  
25  
26  
27  
28  
39  
38  
37  
36  
35  
34  
33  
32  
2
3
4
5
6
7
8
9
19  
18  
17  
16  
15  
14  
13  
12  
12  
11  
10  
9
8
7
13  
P2.0/A8  
P2.1/A9  
P0.0/AD0  
P0.1/AD1  
D0  
D1  
D2  
D3  
D4  
D5  
D6  
D7  
Q0  
Q1  
Q2  
Q3  
Q4  
Q5  
Q6  
Q7  
A0  
A1  
A2  
A3  
A4  
A5  
A6  
A7  
I/O0  
I/O1  
I/O2  
I/O3  
I/O4  
I/O5  
I/O6  
I/O7  
14  
15  
17  
18  
19  
20  
21  
A10  
A11  
A12  
A13  
A14  
A15  
P2.2/A10 P0.2/AD2  
P2.3/A11 P0.3/AD3  
P2.4/A12 P0.4/AD4  
P2.5/A13 P0.5/AD5  
P2.6/A14 P0.6/AD6  
P2.7/A15 P0.7/AD7  
6
5
A8  
A9  
27  
26  
23  
25  
4
28  
3
A8  
A9  
10  
11  
12  
13  
14  
15  
16  
17  
1
2
3
4
5
6
7
8
11  
1
P3.0/RXD  
P3.1/TXD  
P3.2/INT0  
P3.3/INT1  
P3.4/T0  
P3.5/T1  
P3.6/WR  
P3.7/RD  
P1.0  
P1.1  
P1.2  
P1.3  
P1.4  
P1.5  
P1.6  
P1.7  
LE  
OE  
A10  
A11  
A12  
A13  
A14  
A15  
A10  
A11  
A12  
A13  
A14  
A15  
74HC573  
31  
24  
29  
22  
30  
OE  
30  
29  
19  
18  
ALE/PROG  
PSEN  
XTAL1  
XTAL2  
WE  
CE1  
CE2  
31  
9
U11A  
EA/VPP  
RST  
1
2
RAM 62512  
3
AT89C51  
7408  
Hình 1.10 – Giao tiếp bnhchương trình và dliu ngoài dùng chung  
Sưu tm bi: www.daihoc.com.vn  
Tải về để xem bản đầy đủ
pdf 194 trang baolam 07/05/2022 4400
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Vi điều khiển - Phạm Hùng Kim Khánh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_vi_dieu_khien_pham_hung_kim_khanh.pdf