摘要
本设计选用STM32F103VET6为控制核心,DHT11为温湿度传感器,每隔两秒将得到的温度、湿度值经过处理后通过液晶屏和串口显示,并通过I2C—读写 EEPROM具有储存历史数据的功能,可以通过按键中断的方式切换LCD液晶屏的页面以柱状图的形式显示历史温湿度,另外该设计还具有报警功能,温度超过27度会触发蜂鸣器报警,湿度大于70%会亮红灯。
关键词:STM32、DHT11温湿度传感器、LCD液晶屏
目录
1 系统功能介绍........................................ 1
1.1 研究背景................................................................................................................................... 1
1.2 工作原理................................................................................................................................... 1
1.3 主要功能................................................................................................................................... 1
2 系统硬件系统设计.................................... 2
2.1 STM32F03VET6芯片介绍............................................................................................... 2
2.2 DHT11温湿度传感器......................................................................................................... 3
2.3 3.2寸TFT液晶屏................................................................................................................ 4
2.4 串口收发模块......................................................................................................................... 7
2.5 I2C一读写 EEPROM......................................................................................................... 8
3 各功能模块的软件设计............................... 10
3.1 系统软件设计....................................................................................................................... 10
3.2 字模部分................................................................................................................................. 11
3.3 温湿度检测部分.................................................................................................................. 12
3.4 LCD液晶显示部分........................................................................................................... 14
3.5 串口模块................................................................................................................................. 17
3.6 AT24C02................................................................................................................................. 17
3.7 LED和蜂鸣器报警模块.................................................................................................. 21
4 结论.............................................. 23
参考文献............................................... 24
在现代生活中,温湿度测量几乎涉及到各个领域,包括探险救灾机器人、温室环境智能监控系统、医院、工业控制、农业管理、仓库存储、文物保护等,因此研究低成本、高可靠性的温湿度系统就变得十分重要。
而对于国内外对温湿度检测的研究,从复杂模拟量检测到现在的数字智能化检测越发的成熟,随着科技的进步,现在对于温湿度的研究检测系统向着智能化、小型化、低功耗的方向发展。在发展过程中,以单片机为核心的温湿度控制系统发展为体积小,操作简单、量程宽、性能稳定、测量精度高等诸多优点,尤其是在生产和生活的各个方面起着至关重要的作用。
本设计采用STM32F103VET6为核心控制器与DHT11为温湿度传感器,得到相应的温度、湿度值并通过液晶显示,同时通过串口进行实时和历史数据的显示。并通过I2C—读写 EEPROM具有储存历史数据的功能,可以通过按键中断的方式切换LCD液晶屏的页面以柱状图的形式显示历史温湿度,当实时湿度值大于70%RH,和温度大于27℃时,系统分别进行LED和蜂鸣器的报警提示。整个系统工作可靠性高使用良好。
1.开机画面+班级姓名学号,用字模显示“欢迎”二字,并且使用字模的方式显示一个看门的小狗,此为LCD上显示的第一屏的内容,显示2秒左右。
2. 温湿度实时显示,采样间隔2s同时显示温度和湿度表盘,在LCD上显示为第二屏。并将采集的数据发送到串口显示,同时用EEPROM保存实时的温湿度数据,在串口上显示保存的成功和失败。
3. 历史信息保存与显示保存历史信息到 I2C EEPROM。历史信息包括: 按键K1切换显示上一次关机前保存的100次历史信息(每次的数据包含温度和湿度的整数部分),共200字节的数据并在LCD上利用柱状图的方式显示为第三屏。
4. 当实时温度大于27℃,蜂鸣器进行报警,湿度大于70%RH时LED亮红灯报警提示。
我们看到的STM32芯片是已经封装好的成品,主要由内核和片上外设组成。若与电脑类比,内核与外设就如电脑上的CPU与主板、内存、显卡、硬盘的关系。
STM32F103 采用的是 Cortex-M3 内核,内核即 CPU,由 ARM 公司设计。ARM 公司并不生产芯片,而是出售其芯片技术授权。芯片生产厂商(SOC)如 ST、TI、Freescale&