单片机开发设计之一种扩展微处理器(单片机)外部中断接口的方法
一种扩展微处理器/单片机外部中断接口的方法
一、 普通单片机对数字量输入信号的处理
普通的微处理器(例如单片机)对数字量输入信号的处理一般采用扫描轮询和中断处理的方式。采用扫描轮询的方式很大程序上取决于单片机的扫描周期,只有执行完一个while循环之后才会进行下一次读输入口状态,可能会造成信号遗漏或者延时采集。采用中断处理的方式是比较好一点的选择,一旦有外部中断信号输入就能触发中断程序,但是一般单片机只有2个外部中断接口,例如普通的51单片机。假如多于2个探头的信号需要及时处理,单片机就显得力不从心。
二、 一种解决方法
如图1所示,假设有两个探头需要被单片机及时采集信号,而单片机只有一个外部中断接口,有多个普通IO口。这时单片机外部中断口就不够用,假如使用普通IO口又有可能造成漏采或者延时。
一个比较可行的方法如图1 所示,将探头1和探头2的输出信号分为两路,一路接入逻辑门芯片(与门或者或门等芯片),另一路接入单片机的普通IO口。逻辑门芯片的输出信号接入单片机的外部中断接口。
这样,保证一旦探头1或者探头2有任一信号来,都能使逻辑门芯片输出有效并触发单片机的外部中断程序。在单片机的外部中断程序中需要识别普通IO口并处理是哪一路的探头信号输入并执行相应的动作。
更多输入信号的处理方式以此类推。
三、 联系方式
提供单片机项目开发、电路板设计开发打样、控制器开发订做、工控测控传感自动化系统构建、仪器仪表测试设备定制、软件开发EXE编程等服务。永珂科技工作室 Q_Q 2531263726
小编能讲一下扫描轮询机制吗?还有扫描轮询只有在while循环才有用吗?