Professional Documents
Culture Documents
Bai 5
Bai 5
Bai 5
I>Khái niӋm:
Ngҳt là sӵ đáp ӭng các sӵ kiӋn bên trong hoһc
bên ngoài nhҵm thông báo cho bӝ vi điӅu
khiӇn biӃt thiӃt bӏ đang cҫn đưӧc phөc vө
Bài 5: NGҲT NGOÀI (INT)
II>. Trình tӵ thӵc hiӋn ngҳt cӫa vi điӅu khiӇn
B1: Ӄt thúc lӋnh hiӋn tҥi trong chương trình chính cӫa vi điӅu
khiӇn và lưu đӏa chӍ cӫa lӋnh kӃ tiӃp vào ngăn xӃp.
B2: Lưu lҥi trҥng thái hiӋn hành cӫa tҩt cҧ các ngҳt vào bên trong.
B3: Nhҧy tӟi mӝt vӏ trí cӕ đӏnh trong bӝ nhӟ gӑi là bҧng vecto
ngҳt, nơi lưu đӏa chӍ cӫa trình phөc vө ngҳt
B4: Nhұn đӏa chӍ tӯ bҧng vecto ngҳt rӗi nhҧy tӟi đӏa chӍ đó và
bҳt đҫu thӵc hiӋn trình phөc vө ngҳt cho tӟi lӋnh cuӕi cùng.
B5: kӃt thúc trình phөc vө ngҳt và vđk trӣ vӅ đúng vӏ trí mà
nó bӏ ngҳt lúc trưӟc sau nҥp đӏa chӍ lӋnh cҫn làm kӃ tiӃp tӯ
ngăn xӃp và thӵc hiӋn lӋnh này.
c 5: NGҲT NGOÀI (INT)
III>Các Ngҳt Cӫa 8051 :
Ng¾t Cê đÞa chØ V
vector
EA (IE.7 bit) là bit cho phép ngҳt toàn bӝ. Tӭc là nӃu bҥn
sӱ dөng mӝt trong 5 ngҳt kӇ trên cӫa vđk thì bҥn phҧi set bit
này lên vӟi giá trӏ 1. Ngưӧc lҥi khi bit EA =0 thì toàn bӝ các
ngҳt cӫa vđk sӁ bӏ cҩm.
Bài 5: NGҲT NGOÀI (INT)
ET2 ( IE.5 bit) là bit cho phép ngҳt cӫa timer 2 ( chӍ ӣ hӑ 52 ).
hi bit này = 1 thì ngҳt đӏnh thӡi 2 sӁ đưӧc cho phép và ngưӧc
lҥi.
ET1, ET0 ( IE.3, IE.1 bit ) là bit cho phép ngҳt đӏnh thӡi 1, 0
cӫa vđk 8051. hi các bit này =1 thì ngҳt cӫa hai bӝ đӏnh thӡi
này đưӧc cho phép và ngưӧc lҥi.
ES ( IE.4 bit ) là bit cho phép ngҳt truyӅn thông nӕi tiӃp.
EX1, EX0 (IE.0 và IE.2 bit) là hai bit cho phép cӫa hai ngҳt
ngoài cӫa vđk
Bài 5: NGҲT NGOÀI (INT)
2.Thanh Ghi ThiӃt Lұp ChӃ Đӝ Ngҳt(TCON):
IT0 ( TCON.0) bit Đk kiӇu ngҳt INT0 đưӧc thiӃt lұp và xoá
bӣi phҫn mӅm đӇ xác đӏnh kiӇu ngҳt theo sưӡn hay mӭc thҩp
Bài 5: NGҲT NGOÀI (INT)
Như vұy tӯ 2 thanh ghi trên , đӇ sӱ dөng ngҳt INT0 (ngҳt
theo mӭc ta sӁ phҧi khӣi tҥo như sau):
void khoi_tao()
{
P3_2=1; // ë
EA=1; //
EX0=1; //
}
Bài 5: NGҲT NGOÀI (INT)
V>Chương Trình Phөc Vө Ngҳt:
Hàm main
Bài 5: NGҲT NGOÀI (INT)
VI>Bài Tҫp Thӵc Hành:
B1 :Dùng ngҳt ngoài INT0 đӇ nháy Led1( P1_0) 5 lҫn
khi công tҳc tҥi chân P3_2 đưӧc nhҩn ; chương trình
chính nháy liên tөc Led2 (P1_1) (ViӃt cho cҧ ngҳt theo
mӭc và theo sưӡn sau đó so sánh kӃt quҧ)
Bài 5: NGҲT NGOÀI (INT)
#include <REGX52.H>
void delay(long time)
{
long n;
for(n=0;n<time;n++){}
}
void khoi_tao()
{
_2=1;
EA=1;
EX0=1;
}
Bài 5: NGҲT NGOÀI (INT)
void ngat() interrupt 0
{
int i;
for(i=0;i<5;i++){ 1_0=~ 1_0; delay(20000);}
}
void main()
{
1_0 = 1; 1_1 = 1;
khoi_tao();
while(1)
{
1_1=~ 1_1;
delay(20000);
}
}
Bài 5: NGҲT NGOÀI (INT)