51/AVR单片机技术驿站!  <在线翻译>     便利工具    特色网址   无弹窗、无插件的绿色站点...  英才招聘   学历查询  喜欢>>收藏我站 

当前位置:首页 > 单片机技术文章 > 51单片机 > 详细内容
时间片轮转算法在单片机程序设计中的应用
发布时间:2009/7/6  阅读次数:1816  字体大小: 【】 【】【
摘要:
       提出一种采用时间片轮转算法改进单片机系统程序设计,实现多任务机制的软件设计方法,并给出了在MCS-51分级分布式系统中应用该算法进行程序的实例。
     关键词:时间片 多任务机制 单片机系统
       传统的单任务编程思想对于明显的顺序控制要求编程简单、思路清晰、开发周期短;但对于任务较多、控制功能复杂的问题时,却难以满足要求。因此,有必要对传统的单任务设计思想进行改进。时间片轮转算法是实现多任务调度的一种常用算法。在这种算法中,系统将所有的任务按顺序排成一个队列,每次调度时把CPU分配给队首的任务,并令其执行一个时间片,构成微观上轮流运行、宏观上并执行的多任务效果。作者在基于单片机的分级分布式控制系统——程控对讲系统的用户控制器程序中引入多任务机制,采用时间片轮转算法极大地改善了程序结构,实现了对32个独立用户的有效控制。这种程序设计思想也可以到其它以单片机为核心的分级分布控制系统软件设计中。
1 系统组成
       程控对讲系统是一个基于MCS-51的多级分布式系统,用户控制器是其中的一级,整个系统总体结构如图1所示。
       主控制器以单片机AT89C52为核心扩展非易失性存储器及其它功能器件,完成系统各用户对讲关系的编程和存储,并根据对讲关系对用户模块进行实时控制。用户控制器以单片机AT89C52为核心扩展用户机接口模块组成,每个用户控制器负责对其下一级的32个用户机进行管理与控制。
主控制器与用户控制器之间的信息交换采用主从方式的串行通信。主控制器对8个用户控制器轮流查询,各用户控制器只对与本模块相关的命令作出反应,用户控制器通过双绞线与用户机相连,以降低系统成本。用户机与用户控制器之间传输距离较远,最远可达8km。为保证在复杂的环境中正确传输数据,两者之间的通信采用DTMF编码。
2 任务的分配和时间片的划分
2.1 用户控制器子任务的确定
       用户控制器需要实时管理32个独立的用户机,一方面实时接收用户机的呼叫信号进行处理后传送给主控制器;另一方面根据系统工作状况向用户机发送被呼叫信息。
       用户控制器接收来自用户机的信号有两类。一类是DTMF编码信号,用于检测用户机是否需要呼叫其它用户机。用户机与控制器之间传送数据的位数是不等长的,每位DTMF编码数据的发送至少需要104ms,发送时间和空闲时间各占一半。另一类是话,DTMF编码信号和话音信号的复用可以降低系统的线路成本。
       在每次通信结束后,为使用户控制器能启动下一轮的DTMF编码数据的接收,用户机需要给用户控制器发送一个起始信号——挂机信号。用户机的工作电源直接从用户线路上提取,在话音和DTMF编码传送时用户线路有一定的工作电流(大于20mA),挂机信号使用户线路上电流接近于零(小于5mA),用户控制器检测用户线路上电路的这种变化后,进入新一轮的DTMF编码数据通信。挂机信号的持续时间为78ms。
我要评论
  • 匿名发表
  • [添加到收藏夹]
  • 发表评论:(匿名发表无需登录,已登录用户可直接发表。) 登录状态:未登录
最新评论
    暂无已审核评论!

网站导航 管理登陆 ┊ 免责声明 问题反馈  友链说明
本站部分内容来自网络共享资源,如有冒犯您的权利请来信告之删除或纠正!
不得对本站进行复制、盗链或镜像,转载内容须获得同意或授权;欢迎友情链接、站务合作!

    我要报警 Alexa
 mcusy_cn#126.com (请把#改成@) 交流:522422171
本站学习交流群:138..158(高级群1-)、77930286(高级群2)、61804809(群3)
Copyright© MCUSY All Rights Reserved
本站网警备案号: WZ36040002485
  ICP备案证书号:粤ICP备09034963号