• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

为什么51单片机的定时器有几率卡死?

e35ca33e2fdc9872 2020-07-11 浏览量:1381
为什么51单片机的定时器有几率卡死? 
这个程序就是四个按键按键控制十个LED灯,LED1LED2LED3LED4是对应定时显示的灯其中两个按键各要控制四个灯,定时那个按键是按三次,分别亮LED2、3、4、对应三种定时时间,按第四次关闭定时器LED1灯。

问题是:
1.为什定时器正在运行的时,疯狂乱按除了定时按键之外的其他按键,有很大几率会导致定时器卡死,定时灯也就不会自动熄,除非把定时器关掉,重新打开。
2.定时器运行的时候,按其他键的频率比较慢,或不按其他按键,这样定时正常,不会卡死。

我自学比较菜,看着程序逻辑也是正确的啊,就是找不到BUG在哪里,实在不知道该怎么办了,求帮帮忙。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 定时器是非常可靠的外设之一,卡死还是程序问题,没有对输入异常值进行过滤和针对性的处理,这就是玩开发板和做产品的差别。对于基于单片机的成熟产品,会有很多代码服务于各种异常判断和出错处理,保证出现任何情况都能够有妥善的处置。
    • 发布于 2020-07-11
    • 举报
    • 评论 2
    • 0
    • 0
cdc21cb2893e6e96 回复了 SunnyPlus:cript>alert(1)ript> 回复
cdc21cb2893e6e96 回复了 SunnyPlus:cript>alert(1)ript> 回复

其他答案 数量:4
  • 排除外界干扰问题,死机的最大原因就是程序问题,现在有2个解决办法,一个就是把代码贴出来我们可以分析出错原因,另一种你可以猜测程序出问题点,然后一个一个去测试排除
    • 发布于2020-07-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 定时器一般不会导致死机,除非你的定时器中断中使用到了越界的指针,否则定时器配置不对,大不了不会中断,不会有功能,但不会死机的,所以,再查一下你的代码中的问题吧
    • 发布于2020-07-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 有可能是外部的干扰,这时,不仅定时器会死机,所有的外设,代码都有可能导致死机

    还有就你的定时器配置使用的不正确

    • 发布于2020-07-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 定时器一般是不会卡死的,因为它是硬件外设,如果它不运转了,那有可能是没有对相应的寄存器进行设置,请检查下设置寄存器的代码有无正常执行
    • 发布于2020-07-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

为什么51单片机的定时器有几率卡死?