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

[复制链接]
 楼主| yuer0906 发表于 2007-11-9 19:15 | 显示全部楼层 |阅读模式
我现在用一个外接开关,实现单片机控制的屏的显示,显示是动态的,想按一下开关,屏显示的东西暂停,再按一下,又继续先前的显示。请问一下中断函数要怎么写?用外部0中断。<br />我的疑问是,第一次进入中断时,也就是想让显示数据暂停时,执行中断函数,中断肯定是个死循环,再按一下,还是0号中断,中断同级,还会再响应吗?<br />多谢高手指导。谢谢
chunyang 发表于 2007-11-9 19:37 | 显示全部楼层

可以设个标志寄存器

每次进入中断仅仅对其取反,主程序流程中根据该标志决定执行何种操作。
 楼主| yuer0906 发表于 2007-11-9 20:33 | 显示全部楼层

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

  
5880527 发表于 2007-11-9 21:51 | 显示全部楼层

我怕这个外部中断的

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

你的手没MCU快的

中断一次只做个标志就退出,几个uS而已,你的手有这么快吗?
5880527 发表于 2007-11-9 22:31 | 显示全部楼层

呵呵

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

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

就像开会时临时出去接个电话,能太久吗?<br />有时只能说“开会呢,散会说”,再记个备忘录(记脑子里也算备忘录):几点给某某回电话。<br /><br />中断的标准用法之一就是:中断里设标志/清标志、加/减计数器(备忘录)。中断外面(会后)根据标志或计数器执行操作。<br /><br />中断里放死循环更是特殊做法。
ms 发表于 2007-11-10 08:21 | 显示全部楼层

我的理解

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

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

  
stycx 发表于 2007-11-10 09:14 | 显示全部楼层

什么屏?是怎么控制的?

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

本版积分规则

5

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

5

主题

21

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部