c语言编写按键的中断和查询方式的区别,中断程序和查询方式的区别

本文探讨了中断和查询方式在单片机处理任务中的差异。中断方式响应速度快,适合多事件处理,而查询方式在处理简单任务时足够,但随着任务数量增加,效率下降。文中举例说明在电话接入系统中,当电话端口增多,查询方式无法及时处理,建议采用中断方式或升级CPU。中断方式仅需软件调整,而升级CPU则涉及硬件成本和开发时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

查询方式在程序运行时必须判断溢出状态位,溢出后须软件清零。

查询方式:发送数据——先发后查;

接收数据——先查后收。

中断方式:发送数据——发送、等待中断、中断中发送;

接收数据——等待中断、在中断中接收

中断方式,是事件触发的,换言之只要有事件产生都会进入中断,并且取得最优运行,因此响应更快,及时。

查询方式,就是在主函数里面不停循环,查询端口状态,明显其弊端在于响应速度,在处理事件多,处理流程复杂,函数嵌套执行的情况下,由于处理不过来容易丢失事件。

举个例子,在电话用户接入系统里面,一个单片机管理1个电话端口的摘挂机,执行周期要求8ms,用查询的方式足够了,但是当电话增加到16个,用查询方式,效果就差了,曾出现过电话响起的时(12个电话齐呼),拿起话筒,电话还在振铃,明显处理不过来。

这个时候,有两个办法,一个采用中断方式,另一个采用更高效的CPU,明显前者只需要修改软件,后者需要增加硬件成本,还延长开发时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值