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

关于单片机定时器TR1=1就无法进入外部0的问题

f7bec901d1fda60d 2019-07-24 浏览量:1065
在单片机开发板上做了一个音乐播放器,音乐能正常播放,突然想用一个外部中断进入 电子琴模式,需要打开定时器1,没有进入电子琴模式是TR1=0.按了电子琴模式,也就是进入了外部中断,同时让TR1=1,电子琴有效了。然后再想返回原来的模式就没用了。后来又定义了一个开关,按下它之后让TR1=0然后就可以退出电子琴模式了,又能重新进入电子琴模式。但每次都需要把那个开关按下。才能退出来。请问大神们这是为什么,TR1=1会让外部中断0无效吗?麻烦知道的告诉我一下。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 我感觉,你是想用1个按键来控制进入和退出电子琴模式。

    但是因为程序部分写的不是很到位,你可以在这个按键外部中断程序中,对TR1进行取反操作,

    也就是进入和退出电子琴模式了

    • 发布于 2019-07-25
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 纯粹从程序方面入手就取反,不用赋值,这样的话中断可以在1和0不停的转换,否则你赋值了就不会变了,当然这是一个按键,你可以从硬件上着手,换个开关变成拨动的就不会出现这种情况了
    • 发布于2019-07-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 像这种应用,完全可以搞个全局变量来指定当前的模式,按一下按钮,那个模式就改变一下

    另外,像这种涉及到中断无效的,要检查一下是否存在中断触发之后没有消除标志位的情况

    • 发布于2019-07-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种按键的检测不需要用中断来处理,直接用按键检测然后触发对应的服务程序
    • 发布于2019-08-10
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于单片机定时器TR1=1就无法进入外部0的问题