51单片机中,当一个按键按下去,定时器中的TR0=1,当松开按键,定时器中的TR0就一直为0,

2025-06-21 19:20:28
推荐回答(1个)
回答1:

看看这样行不?
sbit KEY=P1^0;
bit BKeyLast;
main()
{
……//初始化定时器
TR0=BKeyLast=KEY;
while(1)
{
while(KEY==BKeyLast) ;
if(BKeyLast) TR0=0; //BKeyLast=1时,KEY==0,按下。
else TR0=1;
for(i=0;i<250;i++) ; //去抖动。
BKeyLast=!BKeyLast;
}
}
……//定时服务程序