/*P70
实验效果:
外部中断:手动按键实现流水灯(需要杜邦线连接)
P3.3——P3.5
按第一次:100ms流水灯
按第二次: 500ms流水灯
*/
#include<reg52.h>
#include<intrins.h> //位移头文件_crol_
sbit k1=P3^5;//定义开关K3
void delay(unsigned int xms)
{
unsigned int i,j;
for(i=xms;i>0;i--)
for(j=112;j>0;j--);
}
void wu ()
{
EX1=1;
EA=1;
IT1=1;//触发方式为下降沿触发
}
void w()
{
if(k1==0)//如果按下开关
{
delay(10);//;延迟10ms 消抖
if(k1==0)//再次判断按键是否有被按下
{
while(k1==0);//直到按键判断松开
while(1)
{
delay(100);
P1=_crol_(P1,1);//流水灯
if(k1==0) //如果检测到按键再次被按下
break; //退出该循环
}
while(1) //执行这个循环
{
delay(500);
P1=_crol_(P1,1);//流水灯
}
}
}
}
void main()
{
wu (); //调用定时器方法
P1=0xfe; //1111 1110
while(1)
{
w();
}
}
void time()interrupt 2
{
w();
}
51基础——外部中断:手动按键实现流水灯
最新推荐文章于 2023-05-09 22:29:14 发布