khao sat hoat dong ngat

Upload: lhthuong81

Post on 17-Feb-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Khao Sat Hoat Dong Ngat

    1/7

    Chng 7:

    HOT NG NGTI. Gii thieu.

    II. To chc ngat.

    III. 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 ieukhien luon thc hien mot chng trnh ma ta thng goi la chng trnh chnh, khi co mot s tacong t ben ngoai bang phan cng hay s tac ong ben trong lam cho vi x ly ngng thc hienchng trnh chnh e thc hien mot chng trnh khac (con goi la chng trnh phuc vu ngatISR) va sau khi thc hien xong vi x ly tr lai thc hien tiep chng trnh chnh. Qua trnh lamgian 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 ieukhien khi timer/counter em tran se tao ra ngat. Ngat ong mot vai tro quan trong trong lap trnhieu khien.

    Khi s dung ngat se cho phep vi x ly hay vi ieu khien ap ng nhieu s kien quan trongva giai quyet s kien o trong khi chng trnh khac ang thc thi. V du: vi ieu khien ang thchien chng trnh chnh th co d lieu t he thong khac gi en th vi ieu khien ngng chngtrnh chnh e thc hien chng trnh phuc vu ngat nhan d lieu xong roi tr lai tiep tuc thc hienchng trnh chnh, hoac co mot tn hieu bao ngat t ben ngoai th vi ieu khien se ngng thchien 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 lucco ngha la cac chng trnh c thc hien xoay vong.

    Ta co the minh ho a qua trnh thc hien 1 chng trnh trong trng hp co ngat va khongco 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 chngtrnh con phuc vu ngat ISR. Con ky hieu ** cho biet vi ieu khien quay tr lai thc hien tiepchng trnh chnh sau khi thc hien xong chng trinh con phuc vu ngat ISR.

    II. TO CHC NGAT INTERRUPT ORGANIZATION) :

  • 7/23/2019 Khao Sat Hoat Dong Ngat

    2/7

    Kho st hot ng ngt

    V Hng Cng http://www.machdien.com.vn

    Vi ieu khien 89C51 co 5 nguon ngat: 2 ngat ngoai, 2 ngat Timer va mot ngat Port noitiep. Vi ieu khien 89C52 co them mot nguon ngat la cua timer T2 nh hnh 7-2. Mac nhien khivi 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 ong thi hoac vi ieu khienang phuc vu ngat th xuat hien mot ngat khac, th se co hai cach giai quyet la kiem tra lien tiepva s dung che o u tien.

    Hnh 7-2. Vi ieu khien 89C52 co 6 nguon ngat.

    1. Cho phep / cam ngat Enable and disabling Interrupt)

    Trc tien chung ta phai hieu cho phep va khong cho phep ngat la nh the nao ? Khi ta chophep ngat va khi ngat tac ong th vi ieu khien se ngng chng trnh chnh e thc hienchng trnh con phuc vu ngat, con khi khong cho phep th du co s tac ong en ngat vi ieukhien van tiep tuc thc hien chng trnh chnh khong thc hien chng trnh phuc vu ngat.

    Trong vi ieu khien co 1 thanh ghi IE (Interrupt Enable) tai a ch 0A8H co chc nangcho phep / cam ngat. Ta s dung thanh ghi nay e cho phep hay khong cho phep oi vi tngnguon ngat va cho toan bo cac nguon ngat.

  • 7/23/2019 Khao Sat Hoat Dong Ngat

    3/7

    Kho st hot ng ngt

    V Hng Cng http://www.machdien.com.vn

    Hoat ong cua tng bit trong thanh ghi cho phep ngat IE c tom tat trong bang 7-1:

    Bit K hieu a ch bit Chc nang Enable = 1; Dissble = 0)IE.7 EA AFH Cho phep toan bohoac cam toan bo cac nguon ngat.IE.6 - AEH Cha dung enIE.5 ET2 ADH Cho phep ngat Timer 2 (8052).

    IE.4 ES ACH Cho phep ngat Port noi tiep.IE.3 ET1 ABH Cho phep ngat Timer 1.IE.2 EX1 AAH Cho phep ngat ngoai External 1 (INT1).IE.1 ET0 A9H Cho phep ngat Timer 0.IE.0 EX0 A8H Cho phep ngat ngoai External 0 (INT0).

    Bang 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 phe p/cam ngat toan bo cacnguon ngat. Khi bit IE.7= 0 th cam het tat ca cac nguon ngat, khi bit IE.7=1 th cho phep tat cacac 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 boSETB 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 2cach thc hien va chu y mot vai ieu trong lap trnh:

    Cac lenh cua cach 1 khong 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 ong

    en cac bit khac trong thanh ghi IE.2. u tien ngat Interrupt Priority) :

    Khi co nhieu nguon ngat tac ong cung luc th ngat nao quan trong can thc hien trc vangat nao khong quan trong th thc hien sau giong nh cac cong viec ma ta giai quyet hang ngay.Ngat cung c thiet ke cos sap xep th t u tien t thap en cao e ngi lap trnh sap xepcac nguon ngat theo yeu cau cong viec ma mnh x ly.

    Thanh ghi co chc nang thiet lap che o u tien trong vi ieu khien la thanh ghi IP(Interrupt Priority) tai a ch 0B8H. Hoat ong cua tng bit trong thanh ghi IP c tom tat trongbang 7-2.

  • 7/23/2019 Khao Sat Hoat Dong Ngat

    4/7

    Kho st hot ng ngt

    V Hng Cng http://www.machdien.com.vn

    Bit K hieu a ch bit Chc nangIP.7 - - Cha s dungIP.6 - - Cha s dungIP.5 PT2 BDH u tien cho s ngat Timer 2 (8052).IP.4 PS BCH u tien cho s ngat Port noi tiep.IP.3 PT1 BBH u tien cho s ngat Timer 1.IP.2 PX1 BAH u tien cho s ngat ngoai External 1.IP.1 PT0 B9H u tien cho s ngat Timer 0.IP.0 PX0 B8H u tien cho s ngat ngoai External 0.

    Bang 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 thapnhat.

    Trong 89C51 co 2 mc u tien thap va 2 mc u tien cao. Neu vi ieu khien ang thc hienchng 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 ngng thc hien chng trnh con phuc vu ngat co mc u tienthap 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 tiencao hn va co yeu cau ngat vi mc u tien thap hn xuat hien th vi ieu khien van tiep tuc thchien cho en khi thc hien xong chng trnh phuc vu ngat co u tien cao hn roi mi thc hienchng 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 thapnhat, khong co lien ket vi yeu cau ngat nao, luon luon b ngat bat chap ngat mc u tien caohay thap. Neu co 2 yeu cau ngat vi cac u tien khac nhau xuat hien ong thi th yeu cau ngatco mc u tien cao hn sec phuc vu trc.

    3. Kiem tra vong quet lien tiep.Neu 2 yeu cau ngat co cung mc u tien xuat hien ong thi th vong quet kiem tra lien

    tiep se xac nh yeu cau ngat nao se c phuc vu trc tien. Vong quet kiem tra lien tiep theoth t u tien t tren xuong la: ngat ngoai th 0 (INT0), ngat timer T0, ngat ngoai th 1 (INT1),ngat Timer 1, ngat truyen d lieu noi tiep (serial Port), ngat timer 2. Hnh 7-3 se minh hoa chotrnh t tren.

    Quan sat trong hnh 7-3 chung ta thay co 6 nguon ngat cua 89C52 va tac dung cua cacthanh ghi IE hoat ong nh mot contact On/Off con thanh ghi IP hoat ong nh mot contactchuyen mach gia 2 v tr e la chon 1 trong 2.

    Ta hay bat au t thanh ghi IE trc: bit cho phep ngat toan cuc (global enable) neu c

    phep se ong toan bo cac contact va tuy thuoc vao bit cho phep cua tng nguon ngat co cphep hay khong va chung hoat ong cung giong nh mot contact: neu c phep th ong machva tn hieu yeu cau ngat se a vao ben trong e x ly, neu kho ng c phep th contact hmach nen tn hieu yeu cau ngat se khong a vao ben trong va khong c x ly.

    Tiep theo la thanh ghi IP: tn hieu sau khi ra khoi thanh ghi IE th a en thanh ghi IP esap xep u tien cho cac nguon ngat. Co 2 mc o u tien: mc u tien cao va mc u tien thap.Neu cac nguon nao co u tien cao th contact chuyen mach se a tn hieu yeu cau ngat o envong kiem tra co u tien cao, neu cac nguon nao co u tien thap th contact chuyen mach se atn hieu yeu cau ngat o en vong kiem tra co u tien thap.

  • 7/23/2019 Khao Sat Hoat Dong Ngat

    5/7

    Kho st hot ng ngt

    V Hng Cng http://www.machdien.com.vn

    Vong kiem tra ngat u tien cao se c thc hien trc va se kiem tra theo th t t trenxuong va khi gap yeu cau ngat nao th yeu cau ngat o se c thc hien. Sau o tiep tuc thchien cho vong kiem tra u tien ngat co mc u tien thap hn.

    Trong hnh con cho chung ta thay yeu cau ngat truyen d lieu noi tiep tao ra t to hp ORcua 2 c bao nhan RI va c bao phat TI. Khi ngat truyen d lieu xay ra va ta muon biet la do cnhan hay c phat tao ra ngat e thc hien 2 cong viec khac nhau th ta phai kiem tra c RI va TIe biet thc hien cong viec nao tng ng.

    V du trong truyen d lieu: khi co bao ngat truyen d lieu th ta phai kiem tra xem c RI =1 hay khong? Ne u ung th he thong khac ang gi d lieu en va ta phai chuyen hng chngtrnh phuc vu ngat sang hng nhan d lieu, neu khong phai th chac chan la c TI=1 bao chochung ta biet rang d lieu a truyen i xong va san sang truyen k t tiep theo va khi o ta phaichuyen hng 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 nhapngoai EXF2.

    Hnh 7-3. Cau truc ngat cua vi ieu khien.

  • 7/23/2019 Khao Sat Hoat Dong Ngat

    6/7

    Kho st hot ng ngt

    V Hng Cng http://www.machdien.com.vn

    Cac bit c cua cac nguon ngat c tom tat bang 7-3:

    Interrupt Flag SFR Register and Bit PositionExternal 0 IE 0 TCON 1External 1 IE 1 TCON 3

    Timer 1 TF 1 TCON 7Timer 0 TF 0 TCON 5Serial Port TI SCON 1Serial Port RI SCON 0

    Timer 2 TF 2 T2CON 7 (8052)Timer 2 EXF 2 T2CON 6 (8052)

    Bang 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

    lenh tiep theo trong chng trnh chnh).v Trang thai ngat hien hanh 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 bang lenhRETI.

    Khi gap lenh RETI th CPUse lay lai a ch cua lenh tiep theo trong ngan xep tra lai cho thanh ghi PC e tiep tuc thc hiencac cong viec tiep theo cua chng trnh chnh.

    Chu y: chng trnh con phuc vu ngatkhong 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 thchien tiep cong viec cua chng trnh chnh va chu ng ta cung khong xac nh CPU ang lam g va au. Khi o chung ta mat quyen kiem soat vi x ly.

    Giong nh ta ang oc mot cuon sach v mot cong viec khac ta phai ngng lai va ta co lamdau tai trang ta tam ngng, sau khi lam xong cong viec th ta tiep tuc quay lai e oc tiep cuonsach tai ni ta a dng. Tat ca eu xay ra nh vay th rat la bnh thng nhng trong khi ta thchien cong 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 khong ung trang chung ta ang dng lai. Nguyen tac lam viec cua vi x lyhoan toan giong nh vay.

    Trong vi ieu khien th bo nh ngan xep la bo nh RAM noi nen chung san sang hoatong cho viec lu tr tam, con oi vi vi x ly th bo nh ngan xep s dung bo nh ngoai nenban phai khi tao bo nh ngan xep phai la vung nh RAM e co the ghi va oc lai c, neuban khi tao tai vung nh EPROM hoac khi tao tai ni ma bo khong ghi vao c th se lammat 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 trnhcon sang chng trnh chnh e thc hien tiep chng trnh v lam nh vay sau nhieu lan thc

  • 7/23/2019 Khao Sat Hoat Dong Ngat

    7/7

    Kho st hot ng ngt

    V Hng Cng http://www.machdien.com.vn

    hien th bo nh ngan xep se b tran va ghi e len cac d lieu khac lam sai chng trnh. Trongtrng hp nay chung ta se thay rang chng trnh chung ta thc hien ung mot vai lan va sau oth sai.

    Cac vect ngat Interrupt Vectors) :

    Nh a trnh bay tren, khi co mot yeu cau ngat xay ra th sau khi cat gia tr a ch trongPC vao ngan xep th a ch cua chng trnh con phuc vu ngat tng ng con goi bi vect a

    ch ngat se c nap vao thanh ghi PC, a ch nay la co nh va do nha che tao vi ieu khien quinh. Cac chng trnh ngat phai bat au viet ung tai a ch quy nh o. Cac vect a ch ngatc cho trong bang 7-4:

    Interrupt Flag Vectors AddressSystem Reset RST 0000H

    External 0 IE 0 0003HTimer 0 TF 0 000BH

    External 1 IE 1 0013HTimer 1 TF1 001BH

    Serial Port RI or TI 0023HTimer 2 TF 2 or EXF2 002BH

    Bang 7-4. Tom tat vector a ch ngat.

    Vect reset he thong bat au tai a ch 0000H: khi reset vi ieu khien th thanh ghi PC =0000H va chng trnh chnh luon bat au tai a ch nay.

    Khi ban s dung yeu cau ngat nao th chng trnh con phuc vu ngat phai viet ung tai ach tng ng. V du ban s dung ngat timer T0 th chng trnh ngat ban phai viet tai a ch000BH.

    Do khoang vung nh gia cac vector a ch cua cac nguon ngat ch co vai o nh v du nh

    vector a ch ngat cua ngat INT0 tai 0003H va vector a ch ngat cua ngat T0 tai 000BH chcach nhau co 9 o nh. Neu chng trnh phuc vu ngat cua ngat INT0 co kch thc ln hn 9 byteth no se ung en vung nh cua ngat T0. Cach giai quyet tot nhat la ngay tai a ch 0003H taviet lenh nhay en mot vung nh khac rong hn. Con neu cac ngat T0 va cac ngat khac khong sdung th ta co the viet chng trnh tai o cung c.

    Chng trnh chnh luon bat au tai a ch 0000H sau khi reset he thong, neu trong chngtrnh co s dung ngat th ta phai dung lenh nhay tai a ch 0000H e nhay en mot vung nhkhac rong hn khong b gii han e viet tiep.