Sử dụng ngắt ngoài của vi điều khiển với nhiệm vụ là: bình thường vi điều khiển bật một Led đơn tại chân P1.0 và khi có ngắt ngoài thì tắt Led ở P1.0 và bật Led ở chân

Một phần của tài liệu Đề cương ứng dụng lập trình C cho vi điều khiển 8051 doc (Trang 64 - 65)

- Trong chương trình chính ta phải có thao tác thiết lập việc cho phép các ngắt được sử dụng.

sử dụng ngắt ngoài của vi điều khiển với nhiệm vụ là: bình thường vi điều khiển bật một Led đơn tại chân P1.0 và khi có ngắt ngoài thì tắt Led ở P1.0 và bật Led ở chân

bật một Led đơn tại chân P1.0 và khi có ngắt ngoài thì tắt Led ở P1.0 và bật Led ở chân P1.1 sau 1s thì bật lại Led P1.0 và tắt Led P1.1.

Bài giải:

/*==================Bo tien xu li===================*/#include<AT89x51.h> // Dinh kem file thu vien #include<AT89x51.h> // Dinh kem file thu vien

#define bat 1 // Dinh nghia gia tri bat den Led#define tat 0 // Dinh nghia gia tri tat den Led #define tat 0 // Dinh nghia gia tri tat den Led

/*==================khai bao bien==================*/sbit Led1 = P1^0; // Khai bao bi?n Led ki?u bit chan P1.0 sbit Led1 = P1^0; // Khai bao bi?n Led ki?u bit chan P1.0

sbit Led2 = P1^1; // Khai bao bi?n Led ki?u bit chan P1.0

/*================= Khai bao hàm==================*//*---ham tre ---*/ /*---ham tre ---*/ void delay(long time)

{

while(time--); } }

void INT_0(void) interrupt 0 // chuong trinh phuc vu ngat{ { Led1=tat; Led2=bat; delay(25000); Led1=bat; Led2=tat; } /*---ham chinh---*/ void main(void) {

EA=1; // cho phep ngat toan cucEX0=1; // cho phep ngat ngoai 0 EX0=1; // cho phep ngat ngoai 0 IT0=1; //ngat kich phat suon Led1=bat;

Led2=tat;while(1); while(1); }

Một phần của tài liệu Đề cương ứng dụng lập trình C cho vi điều khiển 8051 doc (Trang 64 - 65)