找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

这个单片机程序 为什么倒计时的时候无法抢答?

查看数: 2874 | 评论数: 5 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-5-4 15:08

正文摘要:

按下开始开关后开始倒计时,但是在倒计时的过程中无法进行抢答,单独把抢答程序运行是可以进行抢答的,希望大佬帮忙看看 单片机源程序如下: #include<reg51.h> #define uchar unsigned char #define u ...

回复

ID:724589 发表于 2020-5-6 10:11
黄youhui 发表于 2020-5-6 09:31
我是想告诉你在你的倒计时函数里面卡死了,你要出来就要加break,当你按下抢答建就出来,而且仅有在倒计 ...

感谢大佬,已经解决了
ID:724589 发表于 2020-5-5 12:13
黄youhui 发表于 2020-5-4 16:41
你代码写的不好,while函数不要放到放if里面如果strart =1,不满足if条件,那么单片机上电直接运行会在几毫 ...

大佬,我按照你说的改了一下,加了break后就不显示倒计时了,有没有具体的修改方法啊,谢谢大佬
ID:332444 发表于 2020-5-4 18:43
ID:592807 发表于 2020-5-4 16:41
你代码写的不好,while函数不要放到放if里面如果strart =1,不满足if条件,那么单片机上电直接运行会在几毫秒内运行完main函数所有函数,之后呢?
if (start==0)
{
bit flag;//定义flag,方便跳出
    while(!flag)

另外就是你的void timer()函数,while(1)出不来,没有break,或者start=1;让代码从函数里面出来,卡死了
          while(1)
   {
         if(start==0)
{
       while(start==0);
      second=5;
}
     P0=table[second];

   }  
ID:592807 发表于 2020-5-4 15:08
gwy666 发表于 2020-5-5 12:13
大佬,我按照你说的改了一下,加了break后就不显示倒计时了,有没有具体的修改方法啊,谢谢大佬

我是想告诉你在你的倒计时函数里面卡死了,你要出来就要加break,当你按下抢答建就出来,而且仅有在倒计时能抢答,那你就得将抢答按钮放到倒计时函数里面,并且抢答成功或者倒计时结束时break

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表