打印

一种扩展微处理器(单片机)外部中断接口的方法

[复制链接]
863|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yonko|  楼主 | 2018-5-11 12:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
一、        介绍
普通的微处理器(例如单片机)对数字量输入信号的处理一般采用扫描轮询和中断处理的方式。采用扫描轮询的方式很大程序上取决于单片机的扫描周期,只有执行完一个while循环之后才会进行下一次读输入口状态的操作,可能会造成信号遗漏或者延时采集。采用中断处理的方式是比较好一点的选择,一旦有外部中断信号输入就能触发中断程序,但是一般单片机只有2个外部中断接口,例如普通的51单片机。假如多于2个探头的信号需要及时处理,单片机就显得力不从心。本文利用逻辑门芯片扩展单片机外部中断口,达到缩短单片机IO口识别时间的目的。
>>更多精彩,欢迎关注微信公众号“永珂在线”
>>控制器、工控自动化、电路板、仪器、软件、APP开发定制,业务QQ2531263726
二、        一种解决方法

如图1所示,假设有两个探头需要被单片机及时采集信号,而单片机只有一个外部中断接口,有多个普通IO口。这时单片机外部中断口就不够用,假如使用普通IO口又有可能造成外部信号漏采或者延时。
一个比较可行的方法如图1 所示,将探头1和探头2的输出信号分为两路,一路接入逻辑门芯片(与门或者或门等芯片),另一路接入单片机的普通IO口。逻辑门芯片的输出接入单片机的外部中断接口。
接下来在程序中进行这样的处理:根据探头1、2的变化规律选择合适的逻辑门芯片,保证探头1或者探头2任意一个电平发生变化,都会导致逻辑门芯片输出的变化会触发单片机外部中断。一旦触发外部中断,接着在外部中断程序中读取并识别连接探头1、2的普通IO口的状态,并执行对应的处理程序。这样就大大缩短了单片机识别多个探头信号变化的时间,达到类似扩展外部中断的目的。
更多输入信号的处理方式以此类推。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

116

主题

229

帖子

0

粉丝