专注电子技术学习与研究
当前位置:单片机教程网 >> MCU设计实例 >> 浏览文章

中断程序和查询方式的区别

作者:佚名   来源:本站原创   点击数:  更新时间:2013年12月02日   【字体:


 中断程序在程序开始定义中断入口地址,初始化中必须打开中断允许位,程序运行时不用判断溢出状态位,溢出后硬件清零;
查询方式在程序运行时必须判断溢出状态位,溢出后须软件清零。

查询方式:发送数据——先发后查;
                     接收数据——先查后收。 
中断方式:发送数据——发送、等待中断、中断中发送; 
                    接收数据——等待中断、在中断中接收

中断方式,是事件触发的,换言之只要有事件产生都会进入中断,并且取得最优运行,因此响应更快,及时。
查询方式,就是在主函数里面不停循环,查询端口状态,明显其弊端在于响应速度,在处理事件多,处理流程复杂,函数嵌套执行的情况下,由于处理不过来容易丢失事件。

举个例子,在电话用户接入系统里面,一个单片机管理1个电话端口的摘挂机,执行周期要求8ms,用查询的方式足够了,但是当电话增加到16个,用查询方式,效果就差了,曾出现过电话响起的时(12个电话齐呼),拿起话筒,电话还在振铃,明显处理不过来。
这个时候,有两个办法,一个采用中断方式,另一个采用更高效的CPU,明显前者只需要修改软件,后者需要增加硬件成本,还延长开发时间。
 

关闭窗口

相关文章