基于STC89C52单片机的车内温湿度智能监控系统

2021-09-15 00:59廖文浩
仪器仪表用户 2021年9期
关键词:三极管蜂鸣器按键

罗 潜,廖文浩,柳 畅

(1.广东梅州职业技术学院,广东 梅州 514011;2.广州番禺职业技术学院,广州 511487)

随着人们生活水平的不断提高,汽车越来越多地走进了普通百姓家庭,在给人们的生活、工作以及学习带来极大便利的同时,人们也越来越注重汽车的舒适性。其中,车内温湿度就是汽车舒适性的重要指标之一[1,2]。车内温湿度过高或过低都会直接影响到车内人员的舒适程度,甚至会导致交通事故。为了给驾驶员和乘车人员营造一个舒适的温湿度环境,设计了一款基于STC89C52单片机的车内温湿度智能监控系统。该系统主要由STC89C52单片机最小系统、DHT11温湿度传感器模块、LCD1602显示模块、继电器驱动模块,以及按键模块等软硬件组成,能够对车内温湿度进行实时监控,使车内保持舒适的温湿度环境[3-5]。

1 系统总体设计

本系统以STC89C52单片机最小系统为核心,并搭配DHT11温湿度传感器模块、LCD1602显示模块、蜂鸣器报警模块、继电器驱动模块,以及按键模块等外围功能模块。系统整体结构如图1所示。DHT11温湿度模块实时采集车内的温湿度,并把采集到的温湿度数据发送给STC89C52单片机。STC89C52单片机会对传送回来的温湿度数据进行处理,把采集到的温湿度数据发送给LCD1602显示模块进行显示。如果温湿度值超过或低于温湿度上下限值,蜂鸣器报警模块会发出“嘀嘀嘀”的报警声,同时继电器驱动模块会驱动车载空调设备工作,及时调控车内温湿度,并可通过按键模块来设置温湿度上下限值。

图1 系统整体结构图Fig.1 The system structure diagram

2 系统硬件设计

系统硬件设计采用Altium Design进行系统电路设计,在电路设计过程中要选择符合常规用法的经典电路,并且要注意硬件抗干扰的设计。系统电路原理如图2所示。

图2 系统电路原理图Fig.2 The system circuit Schematic diagram

2.1 STC89C52单片机最小系统

本系统采用STC89C52单片机最小系统作为微控制系统,主要由STC89C52单片机、时钟电路、复位电路以及电源组成[6]。STC89C52是STC公司生产的一种低功耗、高性能的CMOS 8-bit MCU,具有如下功能特点:8kB Flash,512B RAM,内置4KB EEPROM,MAX810复位电路,WDT,4个8位I/O口,3个16位T/C,4个外部中断,1个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口;另外,STC89C52可降至0 Hz静态逻辑操作,支持2种SOFTWARE可选择节电模式;空闲模式下,CPU停止工作,允许RAM、T/C、串口,中断继续工作;掉电保护模式下,RAM内容被保存,振荡器被冻结,MCU停止工作,直至下一个中断出现或硬件复位;最高运作频率35MHz,6T/12T可选。

时钟电路本质上是一个振荡器,通过产生特定的时钟信号来驱动单片机工作,采用11.0592 MHz高速外部晶振Y1和电容C6、C7组成的并联谐振回路,分别连接到STC89C52单片机的X1(Pin18)、X2(Pin19)引脚。

复位电路的作用是使整个系统恢复至初始状态,采用阻容式复位电路来实现系统上电复位,在系统接通电源那一瞬间,电容C8进行充电;当电容C8两端电压未达到STC89C52单片机RESET(Pin9)引脚高电平的门限电压值时,RESET引脚输出为低电平,系统处于复位状态;当电容C8两端的电压达到STC89C52单片机RESET引脚高电平的门限电压值时,RESET引脚输出为高电平,系统进入正常工作状态。

2.2 DHT11温湿度传感器模块

本系统采用DHT11温湿度传感器模块作为数据采集端。DHT11温湿度传感器内部包括1个NTC测温元件和1个电阻式感湿元件,并与1个高性能的8-bit MCU相连接,是一款含有已校准DS输出的温湿度复合传感器。Dout用于STC89C52单片机与DHT11之间的通讯和同步,采用单线制串行接口,使模块集成变得简易快捷[7,8]。

2.3 LCD1602显示模块

本系统采用LCD1602显示模块作为数据显示端。LCD1602显示模块是一种字符型液晶显示模块,能够显示字母、数字以及符号,主要由字符型液晶显示屏(LCD)、控制驱动主电路(HD44780)、电阻、电容等组成。为了减少对单片机I/O的需求,利用HD44780所具有的4-bit数据总线的功能,采用间接控制方式(四线并口通信方式),分别用DB4~DB7引脚与STC89C52单片机P0.4~P0.7(Pin32~Pin35)引脚相连接,先传数据或命令的高4位,再传低4位。

2.4 蜂鸣器报警模块

本系统采用蜂鸣器模块作为报警端。该电路是利用三极管工作开关状态原理,三极管Q1的基集串联1个限流电阻R1与STC89C52单片机P1.0(Pin1)引脚相连接,当三极管Q1的基集端为低电平时,三极管Q1开关导通,蜂鸣器发出“嘀嘀嘀”报警声;否则,蜂鸣器不鸣声报警。

2.5 按键模块

本系统采用3个独立按键并联上拉电阻组成按键模块。按键KEY1(参数切换功能)、KEY2(增加功能)、KEY3(减小功能)分别与STC89C52单片机P3.1~P3.3(Pin11~Pin13)引脚相连接。按键输入信号是低电平有效,按键无输入信号作用时,就由上拉电阻拉至高电平置位。

2.6 继电器驱动模块

本系统采用继电器驱动模块作为负载驱动端。继电器驱动是STC89C52单片机与车载空调设备的接口,三极管Q2与三极管Q1在电路中一样起着开关作用,其基集端串联一个限流电阻R7与STC89C52单片机P1.1(Pin2)引脚相连接。当三极管Q2的基集端为低电平时,三极管Q2开关导通,继电器线圈得电,使其常开触点与公共端短接、常闭触点与公共端断开,从而驱动车载空调设备工作;否则,继电器不工作。

2.7 电源模块

本系统所需电压为5V,采用单独供电,选用普通的蓄电池即可满足系统供电需求,通过电源开关P4(Switch)控制电源与系统之间的供电。

3 系统软件设计

系统软件设计采用C语言进行编程,以软件程序模块化设计来配合硬件模块,最终实现系统功能。软件程序主要由主程序和子程序组成,其主程序工作流程如图3所示。

图3 系统主程序工作流程图Fig.3 The system main program work flow chart

当系统上电工作后,整个系统先进行初始化操作,包括STC89C52单片机最小系统初始化、DHT11温湿度模块初始化、LCD1602显示模块初始化、继电器驱动模块初始化以及按键模块初始化等,保证各模块准备就绪;DHT11温湿度模块实时采集车内的温湿度,并把采集到的温湿度值以特定的数据帧格式发送给STC89C52单片机;STC89C52单片机会对传送回来的温湿度数据进行处理,若温湿度值超过或低于温湿度上下限值,蜂鸣器报警模块会发出“嘀嘀嘀”的报警声,同时继电器驱动模块会驱动车载空调设备工作,及时调控车内温湿度;LCD1602显示模块显示温湿度值,第一行显示采集到的实时温湿度值,第二行显示预设的温湿度上下限值;按键模块可用来设置温湿度上下限值。系统各子程序工作流程如图4所示。

图4 系统各子程序工作流程图Fig.4 The system sub-program work flow chart

4 结语

本课题充分利用传感器技术、集成电子技术以及嵌入式技术,设计了一款基于STC89C52单片机的车内温湿度智能监控系统,通过对系统软硬件的调试,实现了对车内温湿度的实时采集、传输、显示,以及异常报警,能够及时调控车内温湿度,使车内人员保持良好的舒适度,在一定程度上可降低交通事故的发生率。此外,该系统可应用于其他领域的温湿度监控,具有很强的移植性和广泛的应用性。

猜你喜欢
三极管蜂鸣器按键
电动自行车产品车速提示音检测现状和整改技术研究(2)
基于有限状态机的按键检测程序设计
掌控板制作简易钢琴
基于晶体三极管的放大电路分析
单片机驱动蜂鸣器的程序设计
三极管引脚折弯机双凸轮机构的分析与仿真
三极管放大电路的研究
一种多方向导光按键结构设计
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响
三极管单管放大电路的失真分析