标题: 求助 十二路延时显示的方法 [打印本页]

作者: ywk6543    时间: 2008-10-21 22:53
标题: 求助 十二路延时显示的方法

大家好,刚学单片机,现要做一个有12个输入开关与12盏灯一一对应,当任一个开关在任何时候点动按下(闭合一下,但不自保),则相对应的灯在15秒后亮,并持续亮5秒,然后熄灭。
在此题中,我想不明白单片机是怎么延时的,既假设第一个开关闭合了一下,则第一组的延时启动,这时如果再有开关动作,单片机怎么办?既怎么处理两个以上的延时同时计时时计时的?谢谢!
作者: ccc    时间: 2008-10-21 23:41
你的需求是当一个开关按下后不响应其他开关还是什么?你这个程序很简单的
作者: ywk6543    时间: 2008-10-22 14:29

不是的,各個開關相互獨立,可產任意動作(不排除兩個開關同時動作,或一個剛動作完,正在計時時,另一個也動作),但單片機要對每個開關都要響應。我主要是想弄清楚,單片機是怎麼應對這種多個同時要執行的任務。新手上路,謝謝你!


作者: ywk6543    时间: 2008-10-22 22:55

不是的,各個開關相互獨立,可產任意動作(不排除兩個甚至多个開關同時動作,或一個剛動作完,正在計時時,另一個也動作),但單片機要對每個開關都及时響應。我主要是想弄清楚,單片機是怎麼應對這種多個同時要執行的任務。新手上路,謝謝你!


作者: ywk6543    时间: 2008-10-24 22:32

客人(123.5.*.*),谢谢你的解答。但我要求的十二路开关是相互独立的,既是平等的,没有哪个比其它的重要的概念。
就是用中断,也只有两级呀。要是再有第三个开关动用呢?况且,当第一个开关动作后正在计时时,第二个开关动作,单片机去执行中断为第二个开关计时去了,那第一个开关计到中途的时间怎么办?总不能等第二个开关计时完成后再回来继续为第一个开关计时吧。

我们再设想一种情况:在一秒之内这些开关都动作了一遍,且不是同时动作,动作的时间间隔,也不相同。

请高手们指点一下思路,谢谢了!


作者: chongqing    时间: 2008-12-12 16:48
用查询的方法吧。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1