找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1491|回复: 14
收起左侧

单片机计时程序有点小毛病!

[复制链接]
ID:278457 发表于 2022-7-16 22:13 | 显示全部楼层 |阅读模式
以前程序是从9999开始倒计时开始的,现在按下键,不是从9999开始计时的
51hei图片20220716221005.png
51hei图片20220716221109.png
51hei图片20220716221637.png
51hei图片20220716221656.png
51hei图片20220716221753.png
51hei图片20220716221903.png
51hei图片20220716222415.png
回复

使用道具 举报

ID:278457 发表于 2022-7-16 22:14 | 显示全部楼层
是9998开始的,这是什么毛病.
回复

使用道具 举报

ID:278457 发表于 2022-7-16 22:15 | 显示全部楼层
现在从9998或是9997开始计时.
回复

使用道具 举报

ID:278457 发表于 2022-7-16 22:32 | 显示全部楼层
随机数倒计时
回复

使用道具 举报

ID:698558 发表于 2022-7-17 11:44 | 显示全部楼层
我是新手,别的没看明白,没看到楼主对sec赋值,不知道是不是赋值的问题?另外
LEDBuf[0]=sec/1000   LEDBuf[1]=sec%1000/100
LEDBuf[2]=sec%100/10   LEDBuf[3]=sec%100
这样取数会不会更好一点儿
新手有说错不要见怪
回复

使用道具 举报

ID:121859 发表于 2022-7-17 13:14 | 显示全部楼层
初始化时TR1=0,SEC=9999;按键后才TR1=1;就可以了
回复

使用道具 举报

ID:698558 发表于 2022-7-17 17:20 | 显示全部楼层
本帖最后由 zhangxl 于 2022-7-17 17:25 编辑

viod servic_init(void)
{
  sec=9999;
     while(1)
     {
        取数
      }
}
应该这样吧,中断时时的在减sec值。我今天遇到了相同的情况。
回复

使用道具 举报

ID:698558 发表于 2022-7-17 17:24 | 显示全部楼层
zhangxl 发表于 2022-7-17 17:20
viod servic_init(void)
{
  sec=9999;

这个可能不太对,你可已在调用Service_int()之前加上sec=9999;
回复

使用道具 举报

ID:161164 发表于 2022-7-17 17:39 | 显示全部楼层

  1. While(1)
  2. {
  3.         While(1)
  4.         {
  5.                 While(1)
  6.                 {
  7.                         //这写法令人极度不适
  8.                 }
  9.         }
  10. }
复制代码

回复

使用道具 举报

ID:1039802 发表于 2022-7-17 20:22 来自手机 | 显示全部楼层
lkc8210 发表于 2022-7-17 17:39

但是规范写法就这样
回复

使用道具 举报

ID:824490 发表于 2022-7-19 16:49 | 显示全部楼层
这么多while(1),你确定代码不会陷死在里边,出不来吗?
回复

使用道具 举报

ID:824490 发表于 2022-7-19 16:51 | 显示全部楼层
wei1130 发表于 2022-7-17 20:22
但是规范写法就这样

不!
While(1)是无条件循环。没有退出的条件,如果代码中没有相应的处理,很容易死在里边的。
回复

使用道具 举报

ID:824490 发表于 2022-7-19 16:56 | 显示全部楼层
这代码似乎不大对,main()中没有大循环,却在键扫中加入while(1)。看成不明白。
回复

使用道具 举报

ID:278457 发表于 2022-8-6 17:19 | 显示全部楼层
zhangxl 发表于 2022-7-17 11:44
我是新手,别的没看明白,没看到楼主对sec赋值,不知道是不是赋值的问题?另外
LEDBuf[0]=sec/1000   LEDB ...

没事,这本来就是交流,取长补短
回复

使用道具 举报

ID:278457 发表于 2022-8-6 17:20 | 显示全部楼层
zhangxl 发表于 2022-7-17 17:20
viod servic_init(void)
{
  sec=9999;

,一起努力
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

Powered by 单片机教程网

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