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

 我来答
seuzhouww
2012-10-18 · TA获得超过1386个赞
知道小有建树答主
回答量:658
采纳率:0%
帮助的人:300万
展开全部
看看这样行不?
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;
}
}
……//定时服务程序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
515987769
2012-10-18 · 超过36用户采纳过TA的回答
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:74.6万
展开全部
现场给写了一个 希望能帮倒你
#include <AT89x51.H>
#define Key1 P1_0
void main()
{
TMOD=0x11;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
while(1)
{
if(Key1==0) TR0=1;
else TR0=0;
}
}

void time0() interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东东上
2012-10-18
知道答主
回答量:4
采纳率:0%
帮助的人:6140
展开全部
楼上正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式