打印

关于单片机中断实现暂停的问题

[复制链接]
2526|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yuer0906|  楼主 | 2007-11-9 19:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在用一个外接开关,实现单片机控制的屏的显示,显示是动态的,想按一下开关,屏显示的东西暂停,再按一下,又继续先前的显示。请问一下中断函数要怎么写?用外部0中断。
我的疑问是,第一次进入中断时,也就是想让显示数据暂停时,执行中断函数,中断肯定是个死循环,再按一下,还是0号中断,中断同级,还会再响应吗?
多谢高手指导。谢谢

相关帖子

沙发
chunyang| | 2007-11-9 19:37 | 只看该作者

可以设个标志寄存器

每次进入中断仅仅对其取反,主程序流程中根据该标志决定执行何种操作。

使用特权

评论回复
板凳
yuer0906|  楼主 | 2007-11-9 20:33 | 只看该作者

问题是都是同一个级的中断啊!总的有个中断优先吧

使用特权

评论回复
地板
5880527| | 2007-11-9 21:51 | 只看该作者

我怕这个外部中断的

按钮啊什么的用外部中断不知道咋消抖,所以用扫描好了,PLC几个微秒的扫描都能来得及响应呢。什么程序会出现死循环啊,你检测到一次外部开关信号变化就跳过显示程序啊,使劲的跳过去不执行就是了嘛

使用特权

评论回复
5
awey| | 2007-11-9 21:59 | 只看该作者

你的手没MCU快的

中断一次只做个标志就退出,几个uS而已,你的手有这么快吗?

使用特权

评论回复
6
5880527| | 2007-11-9 22:31 | 只看该作者

呵呵

上面的PLC扫描周期是几个毫秒,写错了。不是手快不快的事情,而是这些机械触点信号不会一下子就稳定下来,从学单片机那天起就有个印象要对按键消抖,书本上是这样讲的,虽然发生的可能性很小。一般的传感器不会出这种问题

使用特权

评论回复
7
赤铸| | 2007-11-9 23:14 | 只看该作者

中断,原则上应该越短越好

就像开会时临时出去接个电话,能太久吗?
有时只能说“开会呢,散会说”,再记个备忘录(记脑子里也算备忘录):几点给某某回电话。

中断的标准用法之一就是:中断里设标志/清标志、加/减计数器(备忘录)。中断外面(会后)根据标志或计数器执行操作。

中断里放死循环更是特殊做法。

使用特权

评论回复
8
ms| | 2007-11-10 08:21 | 只看该作者

我的理解

LZ是想在按键中断里用死循环的方法让显示暂停,再用按键的方法让程序从中断退出,使显示继续吗?
如是的话,你的思路错了,中断应该按7楼讲的原则来用。
如是的话,你或许可以这样做,中断里做个标志,主程序看到这个标志就不刷新显示的数据,不就暂停了吗?再按按键进中断时清标志,主程序看不到标志就刷新刷新刷新...

使用特权

评论回复
9
yuer0906|  楼主 | 2007-11-10 09:11 | 只看该作者

我已经知道 怎么做了,谢谢大家

使用特权

评论回复
10
stycx| | 2007-11-10 09:14 | 只看该作者

什么屏?是怎么控制的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

21

帖子

0

粉丝