|
- 很簡單的外部中斷程序,希望對(duì)正在學(xué)習(xí)的人有幫助
- #include<reg52.h>
- sbit k3=P3^2; //定義按鍵K3
- sbit led=P2^0; //定義P20口是led
- void delay(unsigned int i) //延時(shí)函數(shù),i=1時(shí),大約延時(shí)10us
- {
- while(i--);
- }
- void Int0Init() //設(shè)置外部中斷1
- {
- //設(shè)置INT0 INT0:外部中斷0,由P3.2端口線引入,低電平或下跳沿引起
- IT0=1;//跳變沿出發(fā)方式(下降沿)
- EX0=1;//打開INT0的中斷允許。
- EA=1;//打開總中斷
- }
- void main()
- {
- Int0Init(); // 設(shè)置外部中斷0
- while(1);
- }
- void Int0() interrupt 0 //外部中斷0的中斷函數(shù)
- {
- delay(1000); //延時(shí)消抖
- if(k3==0)
- {
- led=~led; // led狀態(tài)取反
- }
- }
程序效果就是給P3.2管腳低電平,led會(huì)取反狀態(tài)。
|
評(píng)分
-
查看全部評(píng)分
|