at89c51的智能加湿器系统设计

目录
一、引言 1
(一)课题背景 1
(二)总体设计 1
二、方案介绍 1
(一)方案的选择 1
(二)方案概述 1
三、硬件系统设计 2
(一)系统总体设计 2
(二)AT89C51单片机概述 3
(三)液位定位按键模块 6
(四)水位指示灯模块 7
(五)LCD1602液晶显示器模块 7
(六)DS18B20温度传感器 8
四、软件系统设计 10
(一)主程序流程设计 10
(二)DS18B20温度采集流程设计 11
(三)LCD1602显示流程设计 12
总结 15
附录 16
附录一 原理图 16
附录二 PCB图 17
附录三 实物图 18
附录四 DS18B20读取数据及传送的子程序 19
附录五 LCD控制及显示子程序 22
参考文献 33
致 谢 34
一、引言
(一)课题背景
近年来,随着科学技术的迅猛发展,传感器无论是在生活还是工业中都扮演着举足轻重的角色,对人类社会的进步起着关键的作用。并且随着工业控制领域要求的提高,单片机的性能和功能不断提高,从最初的8位发展到如今的32位,单片机在控制系统中发挥的作用越来越强大。本文以“基于AT89C51的智能加湿器系统设计”为研究对象,阐述了AT89C51单片机和DS18B20温度传感器的起源发展和原理、硬件整体结构以及软件设计,并着重介绍了“基于AT89C51的智能加湿器系统设计”是如何设计以及实现的。 *好棒文|www.hbsrm.com +Q: ¥3^5`1^9`1^6^0`7^2$ 
r /> 该设计以AT89C51单片机为控制核心,片外配合以加湿器开关模块、DS18B20温度传感器模块、键盘模块、蜂鸣器模块、指示灯模块和显示模块为一体构成智能加湿器系统,能够利用LCD1602液晶显示器实时显示室内温度值及加湿器开关状态,当室内温度过高或者湿度过低时,蜂鸣器会有报警提示,同时AT89C51开启加湿器的开关,加湿器向室内加湿。
(二)总体设计
1.设计任务
设计一个具有自动加湿功能的加湿器
2.实现功能
室内的相对湿度低于40%时系统能够自动加湿;
使用者可以灵活设置温湿度的报警值;
当温度高于报警值或适度低于报警值时蜂鸣器报警;
用LCD1602液晶显示器显示当前温度及湿度;
USB接口。
二、方案介绍
(一)方案的选择
方案一:采用FPGA作为主控芯片,外部配合加湿器开关模块、DS18B20温度传感器模块、键盘模块、蜂鸣器模块、指示灯模块和显示模块等模块,片内硬件描述语言将程序分为分频器模块、计数器模块、译码器、报警模块等相关模块,条理清晰,易于以后对系统功能的扩展,但是硬件描述语言相对C语言相对复杂,并且FPGA芯片上的时钟频率较高,稳定性不如单片机,所以放弃此方案。
方案二:采用51单片机作为控制核心,片外配合以加湿器开关模块、DS18B20温度传感器模块、键盘模块、蜂鸣器模块、指示灯模块和显示模块等模块构成,该方案成本低廉,稳定性强,并且基于本科阶段的学习已经对单片机知识有了一定的掌握,所以本次设计采用此方案。
(二)方案概述
通过DS18B20温度传感器对干湿球进行温度测量,AT89C51单片机将采集到的温度通过关系式转化为湿度,并将温度及湿度通过LCD1602液晶显示器显示出来,然后AT89C51将湿度与最佳舒适度的湿度做对比,当环境湿度大于最佳湿度时,AT89C51关闭加湿器的开关(加湿器用一个LED灯来模拟,当LED关闭时表示加湿器被关闭);当环境湿度小于最佳湿度时,AT89C51开启加湿器的开关(LED发光时表示加湿器被启动);另外系统还配置了模拟加湿器内部水位高度的三个开关,三个开关分别表示水位的高中低,当水位处于低时,蜂鸣器发出报警,警示使用者加湿器需要加水。
要使加湿器达到智能效果,必须做好软件和硬件两方面的分工配合。在硬件上,选择合适的功能模块,通过它们与AT89C51的合理搭配,实现预期的所有功能。因为时间以及精力的有限,所以此次设计用三个按键来模拟水位传感器,三个按键分别表示水位的高中低,而加湿器开关由一个LED灯来代替,当LED灯发光表示加湿器被启动,当LED灯不亮表示加湿器被关闭。在软件上,通过主程序与各个子程序的合理使用,使程序能够达到最大的简洁化来完成各个硬件模块的驱动。
三、硬件系统设计
(一)系统总体设计
1.系统结构图
本系统的总体框图如图3-1,以AT89C51单片机为控制核心,片外配合以加湿器开关模块、DS18B20温度传感器模块、按键模块、蜂鸣器模块、指示灯模块和显示模块为一体构成智能加湿器系统。

图3-1智能加湿器系统结构图
2.信号分析
图3-1系统结构图可以描述为:加湿器系统通过DS18B20温度传感器对干湿球的温度进行采集,并在传感器内部将采集到的温度信号转换成数字信号通过输出管脚传输给AT89C51单片机,单片机通过解码将带有温度信号的数字信号解读出来,并将其与设定温度进行对比,当温度高于设定温度时,蜂鸣器进行报警,并打开加湿器的开关;当温度低于设定温度时,蜂鸣器和加湿器被关闭。同时单片机驱动LCD1602液晶显示器将温度以及也为等信息反映给使用者。
(二)AT89C51单片机概述
1.AT89C51单片机组成如图3-2所示。
 图3-2单片机AT89C51组成结构图
ATMEL公司出产的AT89C51是一种带4K字节FLASH存储器的单片机,它是一种能在低电压场合工作的高性能CMOS类型的8位处理器。它内部集成的只读存储器具有高达1000多次的可擦除性,这样好的性能使得它非常适合学生做实验。另外这种类型的单片机已经采用了高密度的非易失储存器的制造技术,AT89C51单片机的通用IO管脚能够和工业上广泛采用的MCS-51类型的指令集能够完美兼容。ATMEL公司研发的这种高效率的微控制器将FLASH和性能强大的8位CPU集成在一个芯片里使得它在嵌入式领域有着广泛的应用。常用的AT89C2051型单片机是AT89C51单片机的精简版本。基于上述的特点,在很多嵌入式场合,AT89C51单片机正在发挥着越来越多的作用。DIP-40封装类型AT89C51单片机的芯片引脚图如图3-3所示。

图3-3AT89C51单片机引脚图
2.AT89C51单片机引脚结构
(1)电源引脚
VCC:芯片电源端;
??GND:接地端;
(2)I/O口引脚
P0口:AT89C51的P0口是双向的8为漏极开路I/O口。当在P0口管脚初次写1时,PO口被定义为高阻抗输入。PO端口还能当外部程序的数据储存器,定义它为地址/数据的第8位。在进行FLASH的编程时,P0口做为原码的输入口;当进行FLASH的校验时,从P0口输出原码,此时必须拉高PO口的外部。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1697.html

好棒文