Professional Documents
Culture Documents
HOTNGNGT
I.
II.
III.
Gii thieu.
To chc ngat.
X ly ngat.
I. GII THIEU :
Ngat s dung trong vi x ly hay vi ieu khien hoat ong nh sau: vi x ly hay vi ieu
khien luon thc hien mot chng trnh ma ta thng goi la chng trnh chnh, khi co mot s tac
ong t ben ngoai bang phan cng hay s tac ong ben trong lam cho vi x ly ngng thc hien
chng trnh chnh e thc hien mot chng trnh khac (con goi la chng trnh phuc vu ngat
ISR) va sau khi thc hien xong vi x ly tr lai thc hien tiep chng trnh chnh. Qua trnh lam
gian oan vi x ly thc hien chng trnh chnh xem nh la ngat.
Co nhieu s tac ong lam ngng chng trnh chnh goi la cac nguon ngat, trong vi ieu
khien khi timer/counter em tran se tao ra ngat. Ngat ong mot vai tro quan trong trong lap trnh
ieu khien .
Khi s dung ngat se cho phep vi x ly hay vi ieu khien ap ng nhieu s kien quan trong
va giai quyet s kien o trong khi chng trnh khac ang thc thi. V du: vi ieu khien ang thc
hien chng trnh chnh th co d lieu t he thon g khac gi en th vi ieu khien ngn g chng
trnh chnh e thc hien chng trnh phuc vu ngat nhan d lieu xong roi tr lai tiep tuc thc hien
chng trnh chnh, hoac co mot tn hieu bao ngat t ben ngoai th vi ieu khien se ngng thc
hien chng trnh chnh e thc hien chng trnh ngat roi tiep tuc thc hien chng trnh chnh.
Ta co the s dung ngat e yeu cau vi ieu khien thc hien nhieu chng trnh cung mot luc
co ngha la cac chng trnh c thc hien xoay vong.
Ta co the minh hoa qua trnh thc hien 1 chng trnh trong trng hp co ngat va khong
co ngat nh hnh 7-1.
Hnh 7-1. Vi ieu khien thc hien chng trnh chnh trong 2 trng hp khong va co ngat.
Trong o : Ky hieu * cho biet vi ieu khien ngng chng trnh chnh e thc thi chng
trnh con phuc vu ngat ISR. Con ky hieu ** cho biet vi ieu khien quay tr lai thc hien tiep
chng trnh chnh sau khi thc hien xong chng trinh con phuc vu ngat ISR.
II. TO CHC NGAT (INTERRUPT ORGANIZATION) :
Khosthotngngt
Vi ieu khien 89C51 co 5 nguon ngat: 2 ngat ngoai, 2 ngat Timer va mot ngat Port noi
tiep. Vi ieu khien 89C52 co them mot nguon ngat la cua timer T2 nh hnh 7-2. Mac nhien khi
vi ieu khien b reset th tat ca cac ngat se mat tac dung va c cho phep bi phan mem.
Trong trng hp co hai hoac nhieu nguon ngat tac ong on g thi hoac vi ieu khien
ang phuc vu ngat th xuat hien mot ngat khac, th se co hai cach giai quyet la kiem tra lien tiep
va s dung che o u tien .
VHngCng
http://www.machdien.com.vn
Khosthotngngt
Hoat ong cua tn g bit trong thanh ghi cho phep ngat IE c tom tat trong bang 7-1:
Bit
IE.7
IE.6
IE.5
IE.4
IE.3
IE.2
IE.1
IE.0
K hieu
EA
ET2
ES
ET1
EX1
ET0
EX0
a ch bit
AFH
AEH
ADH
ACH
ABH
AAH
A9H
A8H
Ban g 7-1. Tom tat chc nang cac bit cua thanh ghi IE.
Trong thanh ghi IE co bit IE.6 cha dung en, bit IE.7 la bit cho phep/cam ngat toan bo cac
nguon ngat. Khi bit IE.7= 0 th cam het tat ca cac nguon ngat, khi bit IE.7=1 th cho phep tat ca
cac nguon ngat nhng con phu thuoc vao tng bit ieu khien ngat cua tng nguon ngat.
V du e cho phep Timer 1 ngat ta co the thc hien tren bit:
SETB EA
;cho phep ngat toan bo
SETB ET1
;cho phep timer 1 ngat
Hoac co the dung lenh sau:
MOV IE, #10001000B
oi vi yeu cau cua v du tren th 2 cach thc hien tren la xong nhng ta hay so sanh 2
cach thc hien va chu y mot vai ieu trong lap trnh:
Cac lenh cua cach 1 khon g anh hng cac bit con lai trong thanh ghi IE.
Cach th hai se xoa cac bit con lai trong thanh ghi IE.
au chng trnh ta nen khi gan IE vi lenh MOV BYTE, nhng khi ieu khien cho
phep hay cam trong chng trnh th ta se dung cac lenh SET BIT va CLR BIT e tranh tac on g
en cac bit khac trong thanh ghi IE.
VHngCng
http://www.machdien.com.vn
Khosthotngngt
Bit
IP.7
IP.6
IP.5
IP.4
IP.3
IP.2
IP.1
IP.0
K hieu
PT2
PS
PT1
PX1
PT0
PX0
a ch bit
BDH
BCH
BBH
BAH
B9H
B8H
Chc nang
Cha s dung
Cha s dung
u tien cho s ngat Timer 2 (8052).
u tien cho s ngat Port noi tiep.
u tien cho s ngat Timer 1.
u tien cho s ngat ngoai External 1.
u tien cho s ngat Timer 0.
u tien cho s ngat ngoai External 0.
Ban g 7-2. Tom tat chc nang cac bit cua thanh ghi IP.
Khi reset he thong th thanh ghi u tien ngat IP b xoa va tat ca cac ngat mc u tien thap
nhat.
Trong 89C51 co 2 mc u tien thap va 2 mc u tien cao. Neu vi ieu khien ang thc hien
chng trnh con phuc vu ngat co mc u tien thap va co mot yeu cau ngat vi mc u tien cao
hn xuat hie th vi ieu khien phai ngn g thc hien chng trnh con phuc vu ngat co mc u tien
thap e thc hien chng trnh con phuc vu ngat mi co u tien cao hn.
Ngc lai neu vi ieu khien ang thc hien chng trnh con phuc vu ngat co mc u tien
cao hn va co yeu cau ngat vi mc u tien thap hn xuat hien th vi ieu khien van tiep tuc thc
hien cho en khi thc hien xong chng trnh phuc vu ngat co u tien cao hn roi mi thc hien
chng trnh phuc vu ngat co u tien thap ang yeu cau .
Chng trnh chnh ma vi ieu khien luon thc hien trong mot he thong th mc thap
nhat, khong co lien ket vi yeu cau ngat nao, luon luon b ngat bat chap ngat mc u tien cao
hay thap. Neu co 2 yeu cau ngat vi cac u tien khac nhau xuat hien on g thi th yeu cau ngat
co mc u tien cao hn se c phuc vu trc.
http://www.machdien.com.vn
Khosthotngngt
Von g kiem tra ngat u tien cao se c thc hien trc va se kiem tra theo th t t tren
xuong va khi gap yeu cau ngat nao th yeu cau ngat o se c thc hien . Sau o tiep tuc thc
hien cho von g kiem tra u tien ngat co mc u tien thap hn.
Trong hnh con cho chun g ta thay yeu cau ngat truyen d lieu noi tiep tao ra t to hp OR
cua 2 c bao nhan RI va c bao phat TI. Khi ngat truyen d lieu xay ra va ta muon biet la do c
nhan hay c phat tao ra ngat e thc hien 2 cong viec khac nhau th ta phai kiem tra c RI va TI
e biet thc hien cong viec nao tng n g.
V du trong truyen d lieu : khi co bao ngat truyen d lieu th ta phai kiem tra xem c RI =
1 hay khong? Neu ung th he thong khac ang gi d lieu en va ta phai chuyen hn g chng
trnh phuc vu ngat sang hng nhan d lieu , neu khong phai th chac chan la c TI=1 bao cho
chung ta biet ran g d lieu a truyen i xong va san san g truyen k t tiep theo va khi o ta phai
chuyen hn g chng trnh phuc vu ngat sang phat d lieu tiep theo.
Tng t, cac yeu cau ngat cua Timer 2 tao ra t to hp OR cua c tran TF2 va c nhap
ngoai EXF2.
http://www.machdien.com.vn
Khosthotngngt
Cac bit c cua cac nguon ngat c tom tat bang 7-3:
Interrupt
External 0
External 1
Timer 1
Timer 0
Serial Port
Serial Port
Timer 2
Timer 2
Flag
IE 0
IE 1
TF 1
TF 0
TI
RI
TF 2
EXF 2
Ban g 7-3. Tom tat cac bit c cua cac nguon ngat.
III. X LY NGAT:
Khi tn hieu yeu cau ngat xuat hien va c chap nhan bi CPU th CPU thc hien cac
cong viec sau:
v Neu CPU ang thc hien lech th phai ch thc hien xong lenh ang thc hien.
v Gia tr cua bo em chng trnh PC c cat gi vao Stack (chnh la a ch cua
len h tiep theo trong chng trnh chnh).
v Trang thai ngat hien han h c lu vao ben trong.
v Cac yeu cau ngat se b ngan lai.
v a ch cua chng trnh phuc vuc ngat tng ng se c nap vao bo em chng
trnh PC.
v Bat au thc hien chng trnh phuc vu ngat ISR.
Trong chng trnh phuc vu ngat luon ket thuc ban g lenh RETI. Khi gap lenh RETI th CPU
se lay lai a ch cua lenh tiep theo trong ngan xep tra lai cho thanh ghi PC e tiep tuc thc hien
cac cong viec tiep theo cua chng trnh chnh.
Chu y: chng trnh con phuc vu ngat khong c lam mat hoac lam sai a ch cua PC a
lu trong ngan xep neu ieu nay xay ra th khi tr lai chng trnh chnh CPU se khong thc
hien tiep cong viec cua chng trnh chnh va chung ta cun g khong xac nh CPU ang lam g va
au. Khi o chung ta mat quyen kiem soat vi x ly.
Gion g nh ta ang oc mot cuon sach v mot cong viec khac ta phai ngng lai va ta co lam
dau tai trang ta tam ngn g, sau khi lam xong cong viec th ta tiep tuc quay lai e oc tiep cuon
sach tai ni ta a dn g. Tat ca eu xay ra nh vay th rat la bnh thng nhng trong khi ta thc
hien con g viec th co mot ngi khac xem cuon sach cua ta va vo tnh lam mat dau th khi ta
quay lai ta se oc khon g un g trang chun g ta ang dng lai. Nguyen tac lam viec cua vi x ly
hoan toan giong nh vay.
Trong vi ieu khien th bo nh ngan xep la bo nh RAM noi nen chung san sang hoat
ong cho viec lu tr tam, con oi vi vi x ly th bo nh ngan xep s dun g bo nh ngoai nen
ban phai khi tao bo nh ngan xep phai la vung nh RAM e co the ghi va oc lai c, neu
ban khi tao tai vun g nh EPROM hoac khi tao tai ni ma bo khong ghi vao c th se lam
mat a ch d lieu lu vao bo nh ngan xep dan en chng trnh se thc hien sai.
Mot ieu can phai chu y na la trong lap trnh chung ta khong c nhay t chng trnh
con sang chng trnh chnh e thc hien tiep chng trnh v lam nh vay sau nhieu lan thc
VHngCng
http://www.machdien.com.vn
Khosthotngngt
hien th bo nh ngan xep se b tran va ghi e len cac d lieu khac lam sai chng trnh. Trong
trng hp nay chung ta se thay ran g chng trnh chung ta thc hien un g mot vai lan va sau o
th sai.
Flag
RST
IE 0
TF 0
IE 1
TF1
RI or TI
TF 2 or EXF2
Vectors Address
0000H
0003H
000BH
0013H
001BH
0023H
002BH
VHngCng
http://www.machdien.com.vn