外部中断扩展 用中断控制小灯
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- #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提供下载:
练习外部中断扩展.zip
(78.63 KB, 下载次数: 33)
|