单片机中断问题。比如说当温度值超限了,蜂鸣器就报警。我总感觉没必要使用定时器中断似的,我直接用if语句判断温度值是否超过限定值,如果超过就使蜂鸣器端口不断取反就响了啊。当没超过限定值了,就不响呗。总感觉没必要用定时器中断似的。。。
谢谢,很对头。
我能追问下,我看到有的设计是蜂鸣器报警采用中断,而LED报警采用查询。这是为什么?为什么不都采用中断呢?
追答这么说吧,用哪种方法来触发报警是取决于整个系统整体运行的任务的。具体的话要看设计方案才知道。
例如:报警声如果是采用读取某些预设好的声音,那么就涉及到音频解码的问题,这部分占用的系统资源会比较多,所以用中断来检查报警是合理的。
而如果整个系统,只有两个任务,一是检测,二是报警,那么采用中断跟查询的方式其实响应速度都差不多,可以根据自己的设计来决定。
当然,一般来说,如果资源允许,像报警这种事情,还是用中断来做好点。
万分谢谢!
追答补充一句:任何系统都有各自的特点,不是说某个功能就一定要用中断,某个功能就一定不能用,而是要根据具体的应用要求来设计的。
追问嗯哪,我照着一个设计范文改,他是蜂鸣器报警采用中断,LED报警采用查询的,一起组成报警系统。我在想是不是可以把LED报警也采用中断
追答要看你用什么单片机,单片机系统有多少个中断,说不定能用的中断只剩下一个呢。
我这样猜想,它原本的设计,应该是这样考虑的:
蜂鸣器报警一定是要及时的,所以用中断
LED显示对响应的时间要求没那么高,可以不用中断
省下来的中断源,可以用来留着做其他扩展
好像不是这样的。。。刚我想到,蜂鸣器采用中断而LED报警采用查询是因为蜂鸣器需要脉冲才能响所以采用定时器中断,因为定时器中断可以输出脉冲对吧哈哈