基于ucos和MSP430F149温湿度检测系统的设计
   来源:中国科技博览     2021年06月28日 12:09

一种基于MSP430F1232的温湿度检测系统

李长昊++吴蕾

[摘  要]介绍了基于UCOS-II和MSP 430 单片机的温湿度检测系统的设计方案. 该系统采用温湿度传感器DHT11实现温湿度检测,将采集到的温湿度信号送到带有ucos操作系统的MSP430F149单片机进行数据分析处理后,在LCD12864液晶进行实时显示,并通过串口传送给PC机。经实验验证表明,该温湿度检测系统精度高、操作方便、线路简单、易扩展,具有良好的实际应用价值。

[关键词]ucos  MSP430F149  DHT11  温湿度检测

中图分类号:TP277 文献标识码:A 文章编号:1009-914X(2016)24-0115-02

随着时代的发展和社会的不断进步,越来越多的行业需要对温湿度进行检测.针对以上情况,研制可靠且实用的温度和湿度检测系统就显得非常重要。因此,为了随时可以检测环境的温湿度以进行监测,减少由于温湿度对工程带来的经济损失,笔者设计了一种基于MSP430F149和DHT11温湿度传感器的温湿度测量系统,可以实现对环境温湿度的实时监测和超限报警。

1 总体设计方案

本系统采用的主控制单元是美国TI公司开发的16 位超低功耗,高性能微处理器MSP430F149,采用的嵌入式实时操作系统UCOS-II,?与报警模块、液晶显示模块、温湿度采集模块、按键输入模块、通信模块等外围电路一起构成了基于MSP430温湿度检测系统。该系统具有以下主要功能:①能够检测当前环境的温度、湿度;②能通过LCD液晶显示器显示检测结果;③检测到的温湿度数据可以通过串口(RS232协议)传送给PC机;④设定温湿度上下限值,超过限定值后,可以声光报警功能。

2 硬件设计

2.1 主控单元

MSP430F149单片机是TI公司推出的功能强大的超低功耗、具有精简指令集(RISC)的16 位混合信号处理器(Mixed Signal Processor)。该单片机具有统一的中断管理、丰富的片上外围模块、片内有精密硬件乘法器、两个16 位定时器、一个8 路的12 位的模数转换器、6 路P 口、两路USART 通信端口、一个比较器、一个DCO 内部振荡器和两个外部时钟。MSP430F149芯片使用LQFP64封装,管脚分布图如下图1所示:

2.2 温湿度DHT11模块

DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。该传感器包括一个NTC测温元件和一个电阻式测湿元件,且应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。

温湿度传感器DHT11主要由单片机MSP430F149的IO口P5.3来控制,如图2所示:

其中DATA为串行接口(单总线),与单片机MSP430F149的IO口P5.3相连接。

2.3 液晶显示模块

12864C-1 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点阵的汉字.也可完成图形显示.低电压低功耗是其又一显著特点。

LCD12864液晶屏主要由单片机MSP430F149的P4及P5部分IO口来控制,如图3所示:

其中RS、RW、EC 分别为寄存器选择、读写信号、使能信号,为与其他模块共用的管

脚,分别与单片机P55、P56、P57 相连接。AD0~AD7 为并行数据信号线,分别与P40-P47相连接,PSB 和/RST 分别为并/串选择和液晶复位管脚,分别接P50 和P51。

2.4 RS232通信模块

本系统的RS232串口通信固定接在单片机MSP430F149的USART0口上,RS232 串行通信接口芯片选择MAX3232,它是一款3.0V~5.5V 供电、低功率的RS232收发器,支持高达1Mbps 的通信速率,仅需要四个电容作为外部元件即能工作。

RS232 串口模块电路图如图4所示:

3 软件设计

基于ucos和MSP430F149温湿度检测系统采用实时操作系统UCOS-II,把系统总体功能分割成单个小任务,通过完成多任务的调配工作,实现总体功能。程序采用C 语言和MSP430汇编语言进行设计,编译环境为IAR EW430软件。

3.1  μC/OS-II介绍

μC/OS II(Micro Control Operation System Two)是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,适合很多商业操作系统性能相当的实时操作系统(RTOS)。其核心代码用ANSI C语言编写,只有底层函数需要针对不同的CPU采用汇编语言编写,可以管理64个任务,可移植到近40多种处理器体系上,涵盖了从8位到64位各种CPU(包括DSP)。

uC/OS II可以简单的视为一个多任务调度器,在这个任务调度器之上完善并添加了和多任务操作系统相关的系统服务,如信号量、邮箱等。其主要特点有公开源代码,代码结构清晰、明了,注释详尽,组织有条理,可移植性好,可裁剪,可固化。

μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。

3.2 移植μC/OS-II系统

u COS-II的移植工作需要一定的硬件条件支持,本设计中所用的是MSP430处理器,它满足如下条件,简单的说就是

1、处理器可以通过 C 语言对中断进行开关动作,可以产生频率为10Hz 到100Hz 的定时中断;

2、采用的精简指令集,可以将堆栈指针和寄存器读写到堆栈和内存当中并且有硬件堆栈;

3、使用的IAR  编译环境可以产生可重入代码;

正是由于MSP430处理器和所使用的编译器IAR 可以满足以上要求,因此可以移植并正常运行UCOS-II  操作系统。

移植工作主要是以下几个文件的修改:OS_CPU.H、OS_CPU_C.C  和OS_CPU_A.ASM。在OS_CPU.H中设置MSP430F149处理器堆栈增长方向为从高到低、定义与编译器相关的数据类型、4个宏的声明(分别是OS_ENTER_CRITICAL()、OS_EXIT_CRITICAL()、OS_TASK_SW()和OS_STK_GROWTH);在OS_CPU_C.C文件中编写OSInitHookBegin (void) 、void  OSTaskIdleHook (void) 、OSTaskSwHook (void)、OSTCBInitHook (void)、OSTimeTickHook (void)等函数(可以用C语言编写);在OS_CPU_A.ASM文件中编写任务切换等函数(汇编语言编写)。

3.3 程序设计

程序总体设计为六个任务,如图5所示,说明如下:

(1)系统初始化任务主要完成对系统硬件,诸如串口、LCD显示屏、DHT11、时钟节拍定时器、WDT定时器、中断等的初始化设置,它只运行一次就自我删除。

(2)温湿度采集任务主要是进行温湿度数据的采集和数据的处理。

(3)LED显示任务是将温湿度传感器发送过来的数据在LCD上正确的显示出来。

(4)按键任务是通过按键设定温湿度的上下限值。

(5)报警任务是当环境温湿度超出范围时,触发报警。

(6)串口通信任务主要是完成将温湿度数据通过串口发送到PC上。

4 结论

本次的设计将μC/OS II移植到MSP430F149上,并利用实时操作系统μC/OS II的任务管理功能设计了系统软件,比传统的前后台系统具有更大的优势,系统开发周期大大缩短,系统软件的可靠性大大增加。本系统经过测试,可以精确并且正确的显示出当前环境下温湿度的数据,可以在工业生产与监测过程当中充分发挥它的作用。

参考文献

[1] 沈建华.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社,2004.

[2]广州奥松电子有限公司. 数字温湿度传感器DHT11 说明书[M]., 2009.

文章 温湿度 单片机