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

发布者:幸福的老农最新更新时间:2009-11-16 来源: 现代电子技术 关键字:RTOS51  温控器  嵌入式实时系统 手机看文章 扫描二维码
随时随地手机看文章
    目前,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进行程序设计,既简单又方便。利用中断、信号量、消息队列,可以实现更多功能和作用;另外实时操作系统有多种,但其原理类似,懂得了其中之一,可以举一反三,理解和应用其他嵌入式实时操作系统。

关键字:RTOS51  温控器  嵌入式实时系统 引用地址:Small RTOS51实现基于8位单片机的温控器设计

上一篇:单片机C8051F2xx在锅炉水处理控制中的应用
下一篇:基于AT89C2051单片机的数字电容表设计

推荐阅读最新更新时间:2024-03-16 12:27

电冰箱温控器代用装置
当电冰箱的温控器损坏,一时难以配置新温控器时,可以采用本文介绍的电子温控器作应急代用。    工作原理 javascript :if(this.width>740)this.width=740" border=undefined>   该装置的电路工作原理见图1(点此下载原理图)。它采用了一块时基集成电路NE555作循环定时控制器。当电源接通时,由于IC1的②、⑥脚为低电平,则IC1触发置位,其③脚变为高电平,此时继电器J励磁吸合,它的常闭触点j1断开,R5不起作用。与此同时,常开触点j2闭合,电冰箱得电开始工作制冷。此时由于IC1的③脚处于高电平状态,二极管VD6导通,电流经过电阻R1、R2向C1充电,随着时间的推移,C1两端的
[模拟电子]
电冰箱<font color='red'>温控器</font>代用装置
Small RTOS51中的一个典型问题及其解决方法
Small RTOS5l是一款专门为80C5l系列单片机设计的实时操作系统(实际上应该称其为实时内核),大部分代码用C语言编写,易于移植,十分适合于资源紧张的8位机。同时,它也是学习嵌入式操作系统原理极好的入门材料。本人就是在学习完SmallRTOS5l的基础上进一步学习了著名的uC/0S-II,受益颇多。 1 问题描述 在将Smau RTOS51应用于实验室某项目时,发现了一个奇怪的问题。简单说来,就是一个以无条件方式申请消息的任务竟然在没有取到消息的情况下,以指示“等待超时”的代码返回了。 在这里,首先解释一下任务申请消息的两种方式:无条件方式和超时方式。所谓五条件方式是指任务申请消息时,如果暂时没有消息可取,则任务将一
[单片机]
深入探讨《Small RTOS51中消息队列的一处隐患》
摘要:Small RTOS51是一款重要的小型实时内核,消息队列是其提供的重要任务间通信的机制。针对其消息队列实现代码中的缺陷以及可能导致的消息丢失这一严重问题,从操作系统等待与唤醒机制理论的角度出发,剖析Small RTOS51内核在消息队列甚至互斥型信号量等实现机制上的漏洞所在;进一步指出原内核实现方式的修改方法,以及《Small RTOS51中消息队列的一处隐患》作者提出的第2种修改方法的完美实现。 关键词:Small RTOS51 消息队列 唤醒模型 隐患分析 引言   贵刊2005年第7期《Small RTOS51中消息队列的一处隐患》一文,对Small RTOS51V1.12.1版本的消息队列机制进行了周密的分析,
[嵌入式]
Small RTOS51中消息队列的一处隐患
引 言 Small RTOS5l是一款专门为80C5l系列单片机设计的实时操作系统(实际上应该称其为实时内核),大部分代码用C语言编写,易于移植,十分适合于资源紧张的8位机。同时,它也是学习嵌入式操作系统原理极好的入门材料。本人就是在学习完SmallRTOS5l的基础上进一步学习了著名的uC/0S-II,受益颇多。 1 问题描述 在将Smau RTOS51应用于实验室某项目时,发现了一个奇怪的问题。简单说来,就是一个以无条件方式申请消息的任务竟然在没有取到消息的情况下,以指示“等待超时”的代码返回了。 在这里,首先解释一下任务申请消息的两种方式:无条件方式和超时方式。所谓五条件方式是指任务申请消息时,如果暂时没有消
[嵌入式]
电冰箱温控器代用装置
当电冰箱的温控器损坏,一时难以配置新温控器时,可以采用本文介绍的电子温控器作应急代用。    工作原理   该装置的电路工作原理见图1(点此下载原理图)。它采用了一块时基集成电路NE555作循环定时控制器。当电源接通时,由于IC1的②、⑥脚为低电平,则IC1触发置位,其③脚变为高电平,此时继电器J励磁吸合,它的常闭触点j1断开,R5不起作用。与此同时,常开触点j2闭合,电冰箱得电开始工作制冷。此时由于IC1的③脚处于高电平状态,二极管VD6导通,电流经过电阻R1、R2向C1充电,随着时间的推移,C1两端的电压升至2/3电源电压时,IC1自动复位,其③脚变为低电平,对应的继电器J也失电释放,电冰箱停止工作。停止工作后,由于IC1
[工业控制]
电冰箱<font color='red'>温控器</font>代用装置
Small RTOS51中消息队列的一处隐患
引 言 Small RTOS5l是一款专门为80C5l系列单片机设计的实时操作系统(实际上应该称其为实时内核),大部分代码用C语言编写,易于移植,十分适合于资源紧张的8位机。同时,它也是学习嵌入式操作系统原理极好的入门材料。本人就是在学习完SmallRTOS5l的基础上进一步学习了著名的uC/0S-II,受益颇多。 1 问题描述 在将Smau RTOS51应用于实验室某项目时,发现了一个奇怪的问题。简单说来,就是一个以无条件方式申请消息的任务竟然在没有取到消息的情况下,以指示“等待超时”的代码返回了。 在这里,首先解释一下任务申请消息的两种方式:无条件方式和超时方式。所谓五条件方式是指任务申请消息时,如果暂时没有消
[应用]
基于Small RTOS51的PS/2键盘驱动程序开发
引言   随着嵌入式系统的发展,嵌入式软件设计向软件平台靠近,单片机软件设计不再是单一线程结构方式,而是逐步采用多任务的设计思想。实时操作系统使得实时应用程序的设计、扩展和维护变得更容易,无需大的改动就可以增加新的功能。然而随着任务的增加,要求输入的数据也会增加,类型也呈多样化。如果仍然用矩阵式扫描键盘,势必浪费单片机巨大的资源,且增加了成本。若用PC机标准PS/2键盘取而代之,将可解决以上矛盾。本文介绍基于实时操作系统Small RTOS51的PS/2键盘驱动程序的设计,具有响应快,移植性强,占用资源少等优点。 1 驱动的设计   驱动的实现一般可用以下几种方法:① 使用任务编写;② 使用消息编写;③ 使用信号量编写。PS
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved