这个程序如何改写
k1断开,此时按下机器总开关(短,长),执行:k1一直通,k4通1s,然后断开。k1接通,此时按下机器总开关(短按),执行:k1仍接通,k4接通1s,然后断开。
k1接通,此时按下机器总开关(长按),执行:k1断开,k4无动作。
用的芯片是at89c51,机器总开关p0.0,k1p2.4,k4p2.1.
如何添加程序,实现其功能。
#include<reg51.h>
#include<intrins.h>
sbit key0=P0^0;
sbit key3=P0^3;
sbit b1=P0^4;
sbit k1=P2^4;
sbit k4=P2^1;
void delay1s(void)
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_();
}
main()
{
_nop_();
k1=0;
k4=0;
if(key3==1)
while(1)
{
if(key0==0)
{
while(!key0);
k1=1;
k4=1;
}
if(k4==1)
{
delay1s();
k4=0;
}
}
}
短按(小于2s),长按(大于3s)