Small RTOS51实现基于8位单片机的温控器设计

出处:yangquan20 发布于:2009-11-12 16:47:05

  目前,8位单片机在测控领域和智能化电子产品应用中仍占有重要地位.而应用嵌入式实时操作系统(ERTOS)会对8位单片机的软件开发带来极大方便。在此简要介绍嵌入式实时操作系统及其在程序设计中的优越性,重点介绍了适合于小RAM单片机的嵌入式实时操作系统Small RTOS51,以及基于8位单片机的硬件和软件的设计方法和过程。

  1 嵌入式实时操作系统Small RTOS51简介

  嵌入式系统已成为当今的热门话题之一,从消费类电子产品到各种工业设备,嵌入式系统已渗透到日常生活的各个角落。对于嵌人式系统,一个重要的特征是实时性,即在确定的时间内完成规定的功能,并能对外部异步事件做出正确响应。确保系统的实时性,需要软硬件配合来完成,首先必须保证硬件处理速度满足实时要求,而对于软件,就是采用与之相适应的嵌入式实时操作系统(Embedded Real_TimeOperating System,ERTOS)。

  采用嵌入式实时操作系统(ERTOS),能够保证系统中任务切换的实时性,事件响应时间的确定性及系统的高可靠性,同时,ERTOS将用户应用程序看成是其上运行的多个任务,这就为程序的编写、调试和系统功能的扩展提供了极大方便,并且由于ERTOS的使用,客观上使得应用软件与下层硬件环境无关,便于嵌入式软件的移植,从而可以大大降低系统开发成本和开发周期。目前,已推出的嵌入式实时操作系统有很多种,比较常用的有VxWorks,WinCE,VRTX,pSOS,Palm OS,嵌入式Linux,Delta OS等。对于8051系列单片机,由于具有很少的RAM和ROM,在嵌入式实时操作系统中,比较适合于这种单片机操作系统是Small RTOS51,它使用Keil C51所带得RTX Tiny的堆栈管理机制,并和μC/OS-Ⅱ一样是抢占式的。目前,Small RTOS的版本为1.20.3,可以支持任务的动态建立与删除,支持C51的重入函数,支持动态内存分配等。

  2 嵌入式温控器

  2.1 嵌入式温控器的结构及原理

  由Small RTOS51实现的基于8位单片机的温控器的系统结构如图1所示。单片机作为控制,负责读取温度传感器的温度,并输出至LED显示器显示,按键用来设置温控器的温度,当温度超由输出控制部分输出控制信号,驱动继电器或者报警装置,电源部分为整个系统供电。

  2.2 嵌入式温控器硬件电路

  由于温控器的外围电路比较简单,主控器所需的输入/输出口不多,故采用Atmel公司的AT89C2051,温度传感器采用美国DALLAS半导体公司的DS18B20,其数据信号线接微控制器P3.7,LED显示器采用4个共阴极数码管构成,由4个串入并出的移位寄存器74LS164驱动,采用静态显示方式,P1.1作为LED显示器的串行数据输入,P1.0作为LED显示器的串行时钟输入,输出控制信号由P1.7输出,控制PNP型晶体管,另外设置4个按键分别连接微控制器的P3.2~P3.5,其硬件电路如图2所示。

  3 系统软件设计

  3.1 任务的分解划分

  任务的划分包括确定哪些变换属于哪个任务,以及确定各任务的优先级。具体划分原则可参考文献[1]。根据任务划分的原则以及嵌入式温控器的具体功能,本系统将任务分解划分为按键显示处理,温度测量,和输出执行3个任务。

  3.2 系统软件的设计

  系统软件设计主要包括主程序设计和各任务程序设计。

  该设计主程序流程图如图3所示。主程序进行初始化以后,顺序建立3个任务,进入CPU休眠状态,各个任务运行后,首先进入任务休眠状态,等待相应任务的唤醒,任务被唤醒以后,进行相应处理,再次进入休眠状态。各个任务均采用无限循环结构,其形式如下:

  任务唤醒用函数OSTaskResume(TASK_ID)来完成。在KeilμVision 2下建立工程,编辑相应的头文件config.h,并对OS_CFG.h和OS_CPU.h的有关内容进行相应设置,进行编译直到成功为止。

  4 结 语

  根据嵌入式温控器的硬件电路,利用嵌入式实时操作系统Small RTOS51对其进行程序设计,KeilμVision 2建立工程并进行编译,代码后温控器工作正常。对于现在仍然使用广泛的8位单片机,采用Small RTOS51进行程序设计,既简单又方便。利用中断、信号量、消息队列,可以实现更多功能和作用;另外实时操作系统有多种,但其原理类似,懂得了其中之一,可以举一反三,理解和应用其他嵌入式实时操作系统。


  

参考文献:

[1]. ROM datasheet https://www.dzsc.com/datasheet/ROM_1188413.html.
[2]. AT89C2051 datasheet https://www.dzsc.com/datasheet/AT89C2051_810086.html.
[3]. DS18B20 datasheet https://www.dzsc.com/datasheet/DS18B20_819975.html.
[4]. 74LS164 datasheet https://www.dzsc.com/datasheet/74LS164_1054394.html.


关键词:单片机温控器

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

相关技术资料
广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!