STC15W4K32S4单片机
指示灯系列
任务二
按键控制1只发光二极管,当按键按下时,发光二极管闪烁,当按键释放时,发光二极管熄灭。
参考代码
#include <STC15.H>
void delay(unsigned int i)//延时函数
{
while(i--);
}
void main()//主函数
{
P0M0=0x00;P0M1=0x00;
P2M0=0x00;P2M1=0x00;
P6M0=0x00;P6M1=0x00;//准双向口
P27=0;
P64=0;//按键
while(1)
{if(P60==0)//判断按键是否按下
{
P06=1;
delay(50000);
P06=0;
delay(50000);
}
else
P06=1;
}
}
拓展练习:
两个按键控制两个LED灯,K1按下LED1亮,K2按下LED2亮,K1和K2同时按下或释放,LED灯均不亮。
K1按下,K2未按下,LED1点亮;
K1未按下,K2按下,LED2点亮;
否则,LED1和LED2熄灭。
#include <STC15.H>
void delay(unsigned int i)//延时函数
{
while(i--);
}
void main()//主函数
{
P0M0=0x00;P0M1=0x00;
P2M0=0x00;P2M1=0x00;
P6M0=0x00;P6M1=0x00;//准双向口
P27=0;
P64=0;//按键一端为低电平
while(1)
{if(P60==0&&P61==1)//判断k1按键是否按下
{
P06=1;
delay(50000);
P06=0;
delay(50000);
}
else if(P60==1&&P61==0)//判断k2按键是否按下
{
P05=1;
delay(50000);
P05=0;
delay(50000);
}
else//其余情况不亮
P06=1;
P05=1;
}
}
如果发现程序存在问题,欢迎留言指正。