APP下载

多任务程序架构的搭建

2011-08-08虞益龙

电脑与电信 2011年12期
关键词:单片机系统

虞益龙

(常州刘国钧高等职业技术学校,江苏 常州 213000)

1.引言

传统的单片机程序设计多为单任务系统,其业务逻辑顺序安排在主函数中,主函数一般为死循环,循环过程中通过调用函数来完成相应的操作,而对于一些较短的实时任务则通过中断方式进行处理。此种程序结构简单、直观,易于实现,但对于较复杂的应用此种结构实现不了,并且不能满足实时性要求较高的场合,因此必须考虑一种新的结构模式。

本文提出的方法也是按时间片切换任务的,但不同的是,执行任务的时间不是由定时器平均分配的,而是按照执行任务中一个完整过程的时间来自动分配的。在单片机系统程式设计中,可按系统的功能或模块划分为任务,而每个任务可按具体作业细分为各个过程。可见任务由过程组成。按时间片分配任务的设计,系统效率就会更高。

2.多任务轮循程序架构

多任务轮循程序架构就是一个系统由多个任务构成,各任务之间相对独立。本文提出一种基于定时器中断的多任务轮循程序架构,如图1所示。在主程序中,根据任务延时量判断任务是否就绪,各任务轮循占用CPU时间,由任务延时量控制任务执行频度及CPU关照度,而任务延时量又由定时器T0中断控制。

图1 定时中断的多任务轮循程序架构流程图

基于定时器中断的多任务轮循架构中,子任务的执行依靠主程序任务调度来实现,子任务不能设计成死循环流程。正因为各任务不抢占CPU,所以程序设计不用考虑现场保护问题,简化了程序设计。……

登录APP查看全文

猜你喜欢

单片机系统
Smartflower POP 一体式光伏系统
WJ-700无人机系统
ZC系列无人机遥感系统
基于单片机的SPWM控制逆变器的设计与实现
基于PowerPC+FPGA显示系统
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
半沸制皂系统(下)
小议PLC与单片机之间的串行通信及应用
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini