APP下载

基于μC/OS和51单片机的温度检测系统设计

2018-02-16刘永琦曲鸣飞

通信电源技术 2018年12期
关键词:液晶字符串口

刘永琦,曲鸣飞

(北京电子科技职业学院 机电工程学院,北京 100176)

1 总体设计方案

本次研究采用的主控制单元是美国STC公司生产的STC89C52,是一种性能非常高的微处理器,为51内核,然后利用51单片机组成温度检测系统。系统主要由报警模块、输入模块、通信模块、温度采集模块以及液晶显示模块构成。这一系统的功能主要包括以下几点:可以对当下环境温度进行准确检测;能通过四位八段LED数码管显示检测结果;能够传输检测到的温度数据,传输时主要通过串口(RS232协议)进行传送;可以设定温度的上下限,当设定的限定值超过一定数值时,第一时间进行声光报警。

2 硬件设计

2.1 主控单元

STC89C52的功能主要包含:256字节RAM,MAX810复位电路,片内晶振及时钟电路,全双工串行口,一个7向量4级中断结构,32位I/O口线,3个16位定时器/计数器,8 kB Flash,内置4 kB EEPROM。此外,可以将STC89C52降到静态逻辑模式,通过0 Hz进行操作,可以使用节电模式。当处于空闲状态时,会自动停止CPU的工作。如果是掉电保护状态下,会自动保存RAM内容,停止单片机的所有工作。本次设计选择STC89C52单片机,使用PDIP40进行封装。

2.2 温度DS18B20模块

美国DALLAS半导体公司研发的DS18B20属于可组网数字式温度传感器,内部采用在板(ON-BOARD)技术[1]。所有的转换电路和传感元件都在一只三极管电路内集成。单线接口的方式非常独特。微处理器和DS18B20进行连接时,只要使用一条口线,就能够完成DS18B20和微处理器之间的双向通信。DS18B20在使用中不需要外围元件。

这一设备的控制是由单片机STC89C52的I/O口P1.7完成的,如图1所示,其中DQ为数字信号输入/输出端,与单片机STC89C52的I/O口P1.7相连接。

图1 温度采集电路

2.3 LCD显示模块

1602液晶也被称为1602字符型液晶,最大的作用是将符号、数字、字母显示出来,属于点阵型液晶模块。它主要由多个5×11或是5×7的阵字符位组成,不同点阵字符位显示不同的字符。1602LCD是指内容显示的格式为16×2,即显示2行。每行的字符液晶模块有2个,主要是显示数字和字符。目前,市场上常见的字符液晶是HD44780液晶芯片,所以利用HD44780对程序进行控制具有非常广泛的应用范围[2]。

1602采引脚功能如下。

第1脚:VSS地接到GND。

第2脚:VDD接到5 V正电源。

第3脚:VL是液晶显示屏对比度的调整端,对比度最弱的状态是接正电源时。在对电源进行接地时,可以达到最高的对比度;如果对比度过高,会显示“鬼影”;使用时可以适当调整对比度,可以使用10 kΩ的电位器进行调节。

第4脚:如果是在高电状态下,应当选择数据寄存器;反之,要使用指令寄存器。

第5脚:RW在高电平时开展读操作,低电平只能进行写操作。如果两者都处在低电平,可以显示地址或是写入指令。当RS是低电平且RW为高电平时,可以进行读忙信号;反之,是写入数据。

第6脚:E端为使能端,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。

想要控制LCD1602液晶屏,主要是通过单片机STC89C52的P2和P0部分实现。

2.4 RS232通信模块

本系统RS232串口通信固定接在单片机STC89C52的P3.0和P3.1口上,RS232串行通信接口芯片选择MAX3232,通信速率最高达1 Mb/s,只需4个电容就可以正常开展工作。内部结构主要有以下几部分组成。第一,电荷泵电路,主要由4只电容和6个脚组成,最大的作用是产生-12 V和+12 V的电源,满足RS-232串口电平需求。第二,数据转换通道,主要由7~13脚构成,其中11~13脚是第一数据通道,7~10脚是第二数据通道,这里采用第二数据通道。第三,供电。15脚DNG和16脚VCC(+5 V)。

RS232串口模块电路如图2所示。

图2 RS232串口模块

3 软件设计

基于μC/OS和STC89C52的温度检测系统,选择的操作系统为μC/OS-II,可以实时进行操作,将系统的总体功能划分为不同任务,利用完成多任务实现总体功能。设计程序时,选择汇编语言和C语言,编译软件使用的是Keil。

3.1 移植μC/OS-II系统

μC/OS-II开展移植工作,在硬件方面必须具备强大的功能。进行设计时,采用的处理器型号是STC89C52,能够有效满足当前的需要,主要内容如下:

(1)利用C语言开展处理器;

(2)指令集非常精简,能够把寄存器和堆栈指针读写到内存中,而且能够进行硬件堆栈;

(3)编译环境选择的是Keil,能够使代码重新录入。

采用编译器Keil和STC89C52处理器能够有效满足目前的使用需求,所以能够正常运行该系统。进行移植的过程中,采用的方式主要通过对以下几个文件进行修改,如OS_CPU_C.c、OS_CPU_A.asm和OS_CPU.h。此外,在OS_CPU_A.asm文件中编写任务切换等函数(汇编语言编写)。

3.2 程序设计

设计的程序总体主要包括6个任务,如图3所示。

(1)系统初始化设置,包括中断、时钟节拍定时器、DS18B20、LCD显示屏、系统硬件以及串口等。(2)温度采集任务,主要是采集和处理温度数据。(3)LCD显示任务,显示传送来的数据。

(4)按键任务,利用按键,有效设定温度的上下限值。

(5)报警任务,环境温度超出时自动报警。

(6)串口通信任务,将温度数传送到PC端,开展后续的工作。

图3 总体流程

4 结 论

随着我国经济实现了跳跃式发展,人们的生活水平有了很大提高,对各方面的要求越来越高。因此,在开展设计工作的过程中,把μC/OS-II移植到STC89C52,通过实时操作系统μC/OS-II设计系统软件,主要使用任务管理功能,相较传统系统优势明显,且大幅降低了开发系统的使用时间,提高了系统软件的可靠性,最大程度地保障了安全性能。通过严格全面的测试,设计的系统能够对当下环境的温度数据进行准确显示,可以应用于相关监测工作,且应用效果良好。

猜你喜欢

液晶字符串口
寻找更强的字符映射管理器
不可压液晶方程组的Serrin解
浅谈AB PLC串口跟RFID传感器的通讯应用
《液晶与显示》征稿简则
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
液晶与显示2015年第30卷第1期 目录