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

求助一个单片机按键程序思路,不能用外部中断

624c3f0a6f7929b8 2020-08-03 浏览量:443
要求用汇编语言实现这样一个功能:在任何时候,若按下按键后,数码管必须显示键值,并延时3s后,恢复原来的显示内容与功能。并且此功能不影响其它显示和功能键。

因为外部中断有其它用处不能用,该怎么实现?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 汇编的移植性太差,汇编需要用到单片机的寄存器,而且你不给出单片机的型号,这个问题应该是无解的,

    当然,现在都是用的C语言编程,建议你可以看看安富莱开发板的按键代码,这个绝对经典。



    • 发布于 2020-08-05
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6
  • 现在单片机都用c语言,几行代码就够了,用汇编多麻烦,直接主循环里面判断按键是否按下,然后执行显示函数,显示函数里面增加3s延时
    • 发布于2020-08-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 现在用汇编语言的都是老家伙了,很少有人会用汇编折腾了,你这个要求,只能用状态机来实现了,用定时器来扫描按键。
    • 发布于2020-08-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 不用外问中断,就在定时器中断中进行按键的状态读取,这样,实时性还是比较高的。
    • 发布于2020-08-03
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接读取按键对应引脚的状态,若是按下延时10US再判断一次,去掉抖动。定义一个标志位,若判断按下后就将标志位置1,然后显示对应的键值,再用DELAY延时就可以了。
    • 发布于2020-08-04
    • 举报
    • 评论 0
    • 0
    • 0

  • 不用中断那用轮询检测电平的方式也可以实现
    • 发布于2020-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 用轮询也是可以的,效率和实时性稍微低一点而已
    • 发布于2020-09-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

求助一个单片机按键程序思路,不能用外部中断