目前,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进行程序设计,既简单又方便。利用中断、信号量、消息队列,可以实现更多功能和作用;另外实时操作系统有多种,但其原理类似,懂得了其中之一,可以举一反三,理解和应用其他嵌入式实时操作系统。
关键字:Small RTOS51 温控器
引用地址:
Small RTOS51实现基于单片机的温控器设计
推荐阅读最新更新时间:2024-03-16 12:48
降低能耗的智能温控器设计方案
据统计,我国建筑能耗占全国总能耗30%左右,随着人民生活水平的提高,建筑能耗将呈现持续迅速增长的趋势。为了降低建筑能耗、帮助用户节省电费、实现更加人性化的控制,这就要求温度控制器更加的智能。本方案利用各种传感器、无线WIFI模块接收网络上的天气预报信息以及用户通过网络传送的控制命令来达到智能控制的目的。
红外传感器感应是否有人在家,万一出门忘了关空调,则自动地关闭空调。开车回家的路上,使用者可以用手机遥控家里的空调开始运转。这样就可以在能源消耗最优化的前提下,享受舒适的生活环境。
智能温控器跟踪用户对温度的调整和定制时间表习惯,以及通过网络来获取天气预报。自动帮助用户设定下一星期的温度调整方案。
系统结
[嵌入式]
电冰箱温控器代用装置
当电冰箱的温控器损坏,一时难以配置新温控器时,可以采用本文介绍的电子温控器作应急代用。 工作原理 该装置的电路工作原理见图1(点此下载原理图)。它采用了一块时基集成电路NE555作循环定时控制器。当电源接通时,由于IC1的②、⑥脚为低电平,则IC1触发置位,其③脚变为高电平,此时继电器J励磁吸合,它的常闭触点j1断开,R5不起作用。与此同时,常开触点j2闭合,电冰箱得电开始工作制冷。此时由于IC1的③脚处于高电平状态,二极管VD6导通,电流经过电阻R1、R2向C1充电,随着时间的推移,C1两端的电压升至2/3电源电压时,IC1自动复位,其③脚变为低电平,对应的继电器J也失电释放,电冰箱停止工作。停止工作后,由
[嵌入式]
基于Small RTOS51的PS/2键盘驱动程序开发
引言 随着嵌入式系统的发展,嵌入式软件设计向软件平台靠近,单片机软件设计不再是单一线程结构方式,而是逐步采用多任务的设计思想。实时操作系统使得实时应用程序的设计、扩展和维护变得更容易,无需大的改动就可以增加新的功能。然而随着任务的增加,要求输入的数据也会增加,类型也呈多样化。如果仍然用矩阵式扫描键盘,势必浪费单片机巨大的资源,且增加了成本。若用PC机标准PS/2键盘取而代之,将可解决以上矛盾。本文介绍基于实时操作系统Small RTOS51的PS/2键盘驱动程序的设计,具有响应快,移植性强,占用资源少等优点。 1 驱动的设计 驱动的实现一般可用以下几种方法:① 使用任务编写;② 使用消息编写;③ 使用信号量编写。PS
[应用]
基于Small RTOS51的营养液输液系统
目前,国内应用最多的是以51系列单片机为主的8位单片机。在51系列单片机系统中,可以进行移植的嵌入式操作系统为数不多。其中,Keil自带的RTX51没有源代码,使用起来很不方便;uC/OSII虽然有源代码,也有移植成的例子,但是,它对于51系列单片机系统的资源占用过大,需要外扩RAM,而且要保证每个函数的可重入性,使用起来比较勉强。Small RTOS51 是专门为小RAM系统设计的占先式内核,占用资源少、实时性好,应用在本系统上非常合适。 1 系统功能及硬件描述 1.1 系统的功能描述 对于处于昏迷状态或食道进行手术的病人,需要一种按时、按量对病人进行肠营养液输入的智能型肠营养液输液泵,以达到维持病人生
[单片机]
Small RTOS51中的一个典型问题及其解决方法
Small RTOS5l是一款专门为80C5l系列单片机设计的实时操作系统(实际上应该称其为实时内核),大部分代码用C语言编写,易于移植,十分适合于资源紧张的8位机。同时,它也是学习嵌入式操作系统原理极好的入门材料。本人就是在学习完SmallRTOS5l的基础上进一步学习了著名的uC/0S-II,受益颇多。 1 问题描述 在将Smau RTOS51应用于实验室某项目时,发现了一个奇怪的问题。简单说来,就是一个以无条件方式申请消息的任务竟然在没有取到消息的情况下,以指示“等待超时”的代码返回了。 在这里,首先解释一下任务申请消息的两种方式:无条件方式和超时方式。所谓五条件方式是指任务申请消息时,如果暂时没有消息可取,则任务将一
[应用]
基于Small RTOS51的多任务串行通信研究
引 言 在简单的单片机应用系统中,前/后台系统被广泛应用。其中应用程序是一个无限循环,循环中调用相应的函数完成相应的操作。这部分可以看作后台行为,也称为任务级;中断服务程序处理异步事件,可以看作前台,也叫中断级,时间相关性很强的操作靠中断服务程序来保证。中断服务程序提供的信息一直要等到后台程序运行到该处理这个信息时才能得到处理,最坏情况下,响应时间等于整个循环的执行时间。随着单片机应用系统的复杂化,前/后台系统已不能满足系统实时性的要求,这就需要一个嵌入式的实时操作系统来管理和协调多个任务和中断。 目前在单片机上运行的实时多任务操作系统主要有μC/OS、RTX51 Full和RTX51 Tiny。μC/OS是Je
[单片机]
温控器和PLC通讯不上,如何解决?
主要检查以下两部分: ① 温控器侧: a. 通讯接线是否正确,通讯线建议使用屏蔽双绞线; 具体接线参考下图 RS232接线:
b.检查调整菜单中通讯写是否有设置为On; c.终端电阻是不是使用,一般建议使用120欧姆; d.波特率、数据位、停止位、通讯协议、单元号是否设置正确(其中MODBUS-RTU数据位和停止位固定为8、1)。 ② plc 侧: a.PLC或者适配器的DIP开关是否设置正确; b. 串口通讯格式(波特率、数据位、停止位)设置是否和温控器一样; c.程序是否编辑正确(主要是指令和通讯格式); d. PLC的终端电阻是否设置成ON(SCB、SCU、通讯适配); e.发送协议之后是否有响应代码 有响应代码,对
[嵌入式]
基于Small RTOS51的数据采集器设计
摘要:介绍如何运用Small RTOS51多任务操作系统进行嵌入式控制器的软件设计。首先介绍Small RTOS51多任务操作系统,然后介绍基于该操作系统进行数据采集器软件系统的设计。
关键词:Small RTOS51 多任务操作系统 数据采集器
引 言
随着嵌入式系统的发展,嵌入式软件设计向软件平台靠近,单片机软件设计不再是单一线程结构方式,而是逐步采用多任务的设计思想。实时内核也称为实时操作系统或RTOS。它使得实时应用程序的设计、扩展和维护变得更容易,不需要大的改动就可以增加新的功能。通过应用程序分割成若干独立的任务,RTOS使得应用程序的设计过程大为简化。使用可剥夺性内核时,所有时间要求苛刻的事件都得到了尽可能快
[嵌入式]