微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机多任务机制的实现策略

51单片机多任务机制的实现策略

时间:11-19 来源:互联网 点击:

余的I/O端口作为外部传感器的状态输入端(单片机电源为+5V),同时让传感器输出端通过反相器统一接在单片机的外部中断请求引脚,任何一个传感器都可以向单片机发出中断请求。在中断后,通过程序扫描输入端口状态,确定是哪一个设备要求中断,从而切换到相应的任务。在没有中断请求时,系统按任务的产生顺序执行。在此有二问题需要解决:

(1)若单片机I/O端口不多余时,怎样处理多个中断请求。采用多路编码的方式可以缓解单片机端口不足的问题。例如芯片74LS148,是一块8-3编码器,完成八路信号编码到三位二进制信号,只要将三位输出信号端接入单片机I/O端口就可以通过程序判定八路外部中断。其电路图如图二所示。以此类推,可以满足更多传感器或设备与单片机相连。

(2)外部中断的优先级如何处理。由于实际的微型控制系统中,单片机连接的外部设备比较固定,也即各外部设备中断的优先级比较固定,完全可以用较简单的优先级表法实现优先级的确定。只要在内存中预置一片数据区,对应表示外部设备的中断优先级,那么就可以通过检查表的方式获得优先级别,从而判断任务的切换方向。进一步可以通过程序动态的修改长期等待和长期运行的任务对应的优先级,所有任务都有机会获得CPU。


3二种策略的比较

上述第一种策略的主要特点是:各任务在任务调度程序控制下有条不紊的执行,每个任务在给定的时间片内完全占有CPU,可以完成既定子任务,同时又在时间片结束时让出CPU,以便其他任务执行。只要恰当地选取时间片,就可以很好地协调多个任务连续执行,比较适合于批处理系统和任务既定控制系统。第二种策略的主要特点是:实时性很好,可以实现系统与外界交互,及时地调度相应任务。因为,在受外界影响很大的实时控制系统中,更多的需要考虑任务的优先级和外部传感器的状态,使用外部中断切换任务是比较理想的。而且使用了先中断再查询的策略,大大提高了查询速度和准确性,同时对多路控制也有较好的支持。

4结束

现在有单任务机制的51单片机系统中实现多任务机制,仅仅在升级软件(即ROM芯片中程序的重新烧写)和增加,更改少许硬件电路的条件下,就可以使控制系统支持多任务处理和控制,不仅升级成本低,而且大大延续系统的寿命和扩充系统的功能,具有较高的使用价值。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top