|
- /*********************************************************************************
- * 【外部晶振】: 11.0592mhz
- * 【主控芯片】: STC89C52RC
- * 【編譯環(huán)境】: Keil μVisio4
- * 【程序功能】: 外部中斷控制LED燈
- * 【使用說明】: 外部中斷0電平觸發(fā)——用獨立按鍵引發(fā)中斷
- 通過中斷接口P3.2連接的獨立按鍵S4測試,按一次LED燈流水燈,這里使用電平觸發(fā),
- 按鍵不松手和按鍵松手效果不相同,按下會看到燈流水燈,說明中斷一直在作用。
- P3.2是可以復(fù)用IO口,一是普通IO口,二是外部中斷0外部接口.即本節(jié)所講。
- 通過本程序就可以輕松的寫其他中斷方式的程序了
- **********************************************************************************/
- #include<reg52.h> //包含特殊功能寄存器的定義
- #define LED P1 //宏定義LED代表P1
- /********************************************************
- 主程序
- *********************************************************/
- main()
- {
- LED=0xff; //P1口初始值,關(guān)閉led燈
- EA=1; //全局中斷開
- EX0=1; //外部中斷0開
- IT0=0; //電平觸發(fā)
- while(1)
- {
- //在此添加其他程序,中斷程序可以跟此處的程序同步執(zhí)行
- }
- }
- /****************************************************
- 外部中斷程序
- *****************************************************/
- void Key_INT(void) interrupt 0 using 1
- {
- static unsigned char dat1=0xfe;
-
- LED=dat1; //初始化賦值
- dat1=dat1<<1; //右移一位
- if(dat1==0xff)
- dat1=0xfe;
- }
復(fù)制代碼 |
|