单片机C语言编程问题。怎么实现按键切换两个子程序啊。。(时钟和温度)

voidmain(){uinttime;option(6,59,30);TIMECON=0x53;INTVAL=0x01;IEIP2=0xa4;EA=1;initts()... void main()
{
uint time;
option(6,59,30);
TIMECON = 0x53;
INTVAL = 0x01;
IEIP2 = 0xa4;
EA = 1;
initts(); //初始化18b20

while(1){if(key==1){
time = hour*100 + min;
ShowTest(time);
delay();
}
if(key==0)
//实时的获取温度,并显示
{
gettempts();
display(t);
}
}
展开
 我来答
匿名用户
2012-07-05
展开全部
应该用一个标志位,如果你这种是普通的按键,即按下时是低电平,松开时是高电平的,大概这样写,在main声明一个变量,作为标志位.
char Flag;
然后按键按下时,直到弹起按键才改变Flag的状态。
if(!Key)
{
while(!Key);
Flag=~Flag;
}
if(Flag)
{
time = hour*100 + min;
ShowTest(time);
delay();
}

else
{
gettempts();
display(t);
}
把这个放在while(1)中,就可以了。
希望我的回答对你有帮助,有什么问题欢迎一起探讨。
追问
因为程序这里放不下,可不可以给个邮箱。。一块帮我改改这个程序。。。。。谢谢!
追答
1134336556@qq.com
gong4545
2012-07-05 · TA获得超过125个赞
知道小有建树答主
回答量:206
采纳率:100%
帮助的人:133万
展开全部
时钟和温度 都是在显示子程序中 显示的 显示子程序的 变量 用形参传递
进行切换时,把显示的形参改为 温度和时间 就行了啊
具体变量为温度或时间,就看你的按键判断啊标志决定 不就行了吗
求最佳 。。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Smart_wolf
2012-07-05 · TA获得超过1697个赞
知道小有建树答主
回答量:1468
采纳率:50%
帮助的人:646万
展开全部
默认情况下,你可以让程序只显示时间,当温度按键按下不松开,此时让程序显示温度,松开按键后,继续显示时间
默认情况下,你可以让程序只显示时间,当温度按键按下松开后,此时让程序延时显示温度5秒,然后自动退出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式