完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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进行程序设计,既简单又方便。利用中断、信号量、消息队列,可以实现更多功能和作用;另外实时操作系统有多种,但其原理类似,懂得了其中之一,可以举一反三,理解和应用其他嵌入式实时操作系统。 |
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 23:28 , Processed in 1.312392 second(s), Total 85, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号