外部中斷擴展 用中斷控制小燈
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei.png (29.72 KB, 下載次數: 64)
下載附件
2019-11-23 15:52 上傳
單片機源程序如下:
- #include "reg52.h"
- sbit key1=P3^2;//外怒中斷0
- sbit key2=P2^0;
- sbit key3=P2^1;
- sbit key4=P2^2;
- sbit key5=P2^3;//外部中斷1的4個按鍵
- void T0_Init();
- void delayms(unsigned char);
- void main()
- {
- T0_Init();
- while(1)
- {
- P1=0Xff;
- }
-
-
- }
- //void delayms(unsigned char A)
- //{
- // unsigned int x,y;
- // for(A=x;x>0;x--)
- // for(y=110;y>0;y--);
- //}
- void T0_Init()
- {
- EA=1;//開啟總中斷
- EX0=1;//開啟外部中斷0
- EX1=1;//開啟外部中斷1
- IT0=0;
- IT1=0;//電平觸發
- }
- void T0_T() interrupt 0
- {
- P1=0xf0;//全亮
-
-
- }
- void T1_T() interrupt 2
- {
- if(key2==0)//按鍵2按下
- {
- P1=0xfe;//D1亮
- }
- while(!key2);//按鍵松手 松手則不亮
-
- if(key3==0)//按鍵3按下
- {
- P1=0xfd;//D2亮
- }
- while(!key3);
-
- if(key4==0)//按鍵4按下
- {
- P1=0xfb;//D3亮
- }
- while(!key4);
-
- if(key5==0)//按鍵5按下
- {
- P1=0xf7;//D4亮
- }
- while(!key5);
-
- }
-
復制代碼
51hei.png (12.07 KB, 下載次數: 58)
下載附件
2019-11-23 15:52 上傳
所有資料51hei提供下載:
練習外部中斷擴展.zip
(78.63 KB, 下載次數: 33)
2019-11-22 18:54 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|