1、问题要求
2、解决代码
#include<reg52.h>
#define uchar unsigned char
uchar count=0;
void Time0_init();
sbit button=P3^1;
sbit LED=P3^0;
void main()
{
Time0_init();
while(1)
{
if(button==1)
{
EA=0;
ET0=0;
count=0;
}
else if(button==0)
{
EA=1;
ET0=1;
}
}
}
void Time0_init(){
TMOD=0X01;
TH0=(65536-20000)/256;//20000us=20ms=0.02s
TL0=(65536-20000)%256;
TR0=1;
}
void Time0_service() interrupt 1
{
TH0=(65536-20000)/256;//20000us=20ms=0.02s
TL0=(65536-20000)%256;
count++;
if((count>=10)&&(count<100))
{
if(button==0)
{
LED=0;
}
}
else if(count>=100)
{
if(button==0)
{
LED=1;
}
}
}
3、仿真说明
长按0.2秒后,松开亮:
长按2s后,松开灭: