毕业设计(论文)-基于单片机湿度控制器设计.docx_第1页
毕业设计(论文)-基于单片机湿度控制器设计.docx_第2页
毕业设计(论文)-基于单片机湿度控制器设计.docx_第3页
毕业设计(论文)-基于单片机湿度控制器设计.docx_第4页
毕业设计(论文)-基于单片机湿度控制器设计.docx_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的湿度控制器设计 基于单片机湿度控制器全套设计加扣 3012250582课题名称:基于单片机的湿度控制器 姓 名: 学 号: 班 级: 电子1403班 专 业: 应用电子技术 院 系: 电子工程学院 指导教师: 二一六 年十一月十日 湖南信息职业技术学院毕业设计诚 信 声 明本人郑重声明:所呈交的毕业设计文本和成果,是本人在指导老师的指导下,独立进行研究所取得的成果。成果不存在知识产权争议,本毕业设计不含任何其他个人或集体已经发表过的作品和成果。本人完全意识到本声明的法律结果由本人承担。 毕业设计者签名:2016 年 11 月 1 日目 录第一章绪论11.1 前言1第二章 方案设计22.1功能要求22.2方案论证22.3 单片机简介22.4 管脚说明3第三章 系统硬件的设计53.1系统总体方案设计53.2 温湿度传感器53.3串口调试93.4液晶显示模块113.5独立按键14第四章 系统软件设计154.1软件系统介绍154.2 主程序介绍154.3 主流程图15结论15致谢16参考文献17附录18附录一:原理图、仿真图18附录二:实物图、上位机图21附录三:运行效果图21附录四:程序22摘 要本设计以STC89C52RC单片机作为湿度控制器的微处理器;采用温湿度传感器DHT11获取数据,以LCD1602实现信息交互。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。采用低功耗的字符型液晶作为显示器件,1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。显示更为直观。该系统基于可靠地硬件设计和稳定的软件算法实现题目的基本要求。关键词:STC89C52RC; 温湿度传感器; LCD1602,液晶。AbstractThe design of STC89C52RC single chip calculator processor using DHT11 to obtain the data of temperature and humidity sensors, LCD1602 interaction. DHT11 digital temperature and humidity sensor is a compound containing a calibrated digital signal output temperature and humidity sensors, application-specific digital temperature and humidity sensor module technology and techniques to ensure that products with high reliability and excellent long-term stability. Sensors-humidity sensing element includes a resistor and NTC temperature element and connected to a high-performance 8-bit microcontroller. So the products with excellent quality and super fast response, strong anti-jamming ability, the cost performance is extremely high. Single serial interface makes it simple and quick to system integration. Super small size, low power consumption, making it the type of application, the best choice for demanding applications. Products for the 4-pin single rank pin package, easy connection. Character liquid crystal display devices with low power consumption, 1602 LCD also called 1602-character, it is a specifically designed to display letters, numbers, symbols, such as the dot-matrix LCD modules. Show more intuitive. The system is based on reliable hardware design and the basic requirements of stable software topics. Keywords: STC89C52RC; Temperature and humidity sensors; LCD1602, LCD.36第一章 绪论1.1 前言空气湿度在许多方面有重要的用途,医学上,空气湿度与人体的呼吸之间关系非常密切;电子行业中,空气越干燥越易产生静电,相对湿度(RH)对表面积累电荷的性能产生直接影响;储藏生产中,在存放水果的仓库里湿度决定水果的成熟。在存放金属的仓库里湿度过高可能导致腐蚀。其它许多货物比如化学药剂、烟、酒、香肠、木、艺术品、集成电路等等也必须在一定的湿度或在湿度为零的条件下存放;农林业中,雾气弥漫的森林湿度过低可以在农业上导致土壤和植物失水和减产。在单片机在我国的各行各业得到了广泛使用,单片机的出现是计算机制造技术高速发展的产物,它是嵌入式控制系统的核心。如今,它已经广泛应用到我们生活中的各个领域,如:电子、科技、通信、汽车、工业等。一般只需几块钱,有着经济廉价的优势,用单片机可以很方便的实现一个简易的湿度控制器的设计。使用单片机来设计湿度控制器有以下优点:(1) 能明显地降低控制器硬件成本。速度更快、功能更新的新一代微处理机不断涌现,硬件费用会变得很便宜。体积小、重量轻、耗能少是它们的共同优点。 (2) 可显著改善控制的可靠性。集成电路和大规模集成电路的平均无故障时大大长于分立元件电子电路。 (3) 硬件电路易标准化。在电路集成过程中采用了一些屏蔽措施,可以避免电力电子电路中过大的瞬态电流、电压引起的电磁干扰问题,因此可靠性比较高。 (4) 采用微处理机的数字控制,使信息的双向传递能力大大增强,容易和上位系统机联接,可随时改变控制参数。 (5) 可以设计适合于众多电力电子系统的统一硬件电路,其中软件可以模块化设计,拼装构成适用于各种应用对象的控制算法;以满足不同的用途。软件模块可以方便地增加、更改、删减,或者当实际系统变化时彻底更新。 第二章 方案设计2.1功能要求通过温湿度传感器DHT11获取环境湿度百分比,以及温度(摄氏度)原始数据;经STC89C52RC单片机处理后,通过LCD1602显示获得的数值,程序设置报警值,当达到报警状态值时,蜂鸣器、LED转为警告状态。2.2方案论证方案一:采用温湿度传感器DHT11获取数据,品质卓越、超快响应、抗干扰能力强、性价比极高,超小的体积,超低的功耗。方案二:工业湿度传感器,成本高,体积大,应用电路较为复杂。方案三:信息交互采用数码管,数码管由多个发光二极管封装在一起组成“8”字型的器件,多用于显示数字,笔画等。方案四:信息交互采用LCD, 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,显示更为直观。以上4种方案都可以实现本次毕业设计的基本硬件需求。出于综合考虑,我们采用方案一作为本课题使用的传感器,硬件电路简单,成本低,采用方案四实现信息交互,显示更加直观。2.3 单片机简介STC89C52RC是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K字节系统可编程Flash存储器。使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051.12. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机)3.工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作 频率可达48MHz4. 用户应用程序空间为8K字节5. 片上集成512 字节RAM6. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。7. ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片8. 具有EEPROM 功能9. 共3 个16 位定时器/计数器。即定时器T0、T1、T210.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒11. 通用异步串行口(UART),还可用定时器软件实现多个UART12. 工作温度范围:-40+85(工业级)/075(商业级)13. PDIP封装2.4管脚说明1电源:VCC - 芯片电源,接+5V;VSS - 接地端;2.时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。3.控制线:控制线共有4根: RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。4.I/O口线:P0、P1、P2、P3共四个八位口。 P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。P0口也用以输出外部存储器的低8位地图1址。由于是分时输出,故应在外部加锁存器将此地址数据锁存,地址锁存,信号用ALE。 P1口是专门供用户使用的I/O口,是准双向口。 P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时,P2口也可以作为用户I/O口线使用,P2口也是准双向口。 P3口是双功能口,该口的每一位均可独立地定义为第一I/O功能或第二I/O功能。作为第一功能使用时操作同P1口。 主要特性8K字节程序存储空间;512字节数据存储空间;内带4K字节EEPROM存储空间;可直接使用串口下载;图2-1 单片机引脚图第三章 系统硬件的设计3.1系统总体方案设计硬件设计,使用温湿度传感器DHT11获取环境数据,LCD1602显示数据经过C语言编程,使硬件实现简单湿度监控功能。本设计通过使用STC89C51单片机芯片来设计电路,编制程序,仿真,调试,完成整个系统的功能。整个控制系统主要包括四个模块:按键输入模块、LCD1602显示模块、串口调试模块、温湿度传感器模块。STC89C52RC单片机电源输入按键输入LCD1602显示串口调试温湿度传感器图3-1系统模块组成图3.2 温湿度传感器DHT11是一款有已校准数字信号输出的温湿度传感器。 精度湿度+-5%RH, 温度+-2,量程湿度20-90%RH, 温度050。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,使其成为该类应用中,在苛刻应用场合的最佳选择。产品为4针单排引脚封装,连接方便。应用领域:暖通空调 测试及检测设备汽车 数据记录器消费品 自动控制气象站 家电湿度调节器 医疗除湿器特性相对湿度和温度测量全部校准,数字输出卓越的长期稳定性无需额外部件超长的信号传输距离超低能耗4引脚安装完全互换接线图DHT11与单片机的接线图电气特性VDD=5V,T = 25,除非特殊标注参数条件mintypmax单位供电DC355.5V供电电流测量0.52.5mA平均0.21mA待机100150uA采样周期秒1次引脚说明pin名称注释1VDD供电 35.5VDC2DATA串行数据,单总线3NC空脚,请悬空4GND接地,电源负极封装信息详细参数参数条件MinTypMax单位湿度分辨率111%RH8Bit重复性1%RH精度254%RH0505%RH互换性可完全互换量程范围03090%RH252090%RH502080%RH响应时间1/e(63%)25,1m/s 空气61015S迟滞1%RH长期稳定性典型值1%RH/yr温度分辨率111888Bit重复性1精度12量程范围050响应时间1/e(63%)630S应用信息工作与贮存条件超出建议的工作范围可能导致高达3%RH的临时性漂移信号。返回正常工作条后,传感器会缓慢地向校准状态恢复。在非正常工作条件下长时间使用会加速产品的老化过程。暴露在化学物质中电阻式湿度传感器的感应层会受到化学蒸汽的干扰,化学物质在感应层中的扩散可能导致测量值漂移和灵敏度下降。在一个纯净的环境中,污染物质会缓慢地释放出去。下文所述的恢复处理将加速实现这一过程。高浓度的化学污染会导致传感器感应层的彻底损坏。恢复处理置于极限工作条件下或化学蒸汽中的传感器,通过如下处理程序,可使其恢复到校准时的状态。在50-60和70%RH的湿度条件下保持 5小时以上。温度影响气体的相对湿度,在很大程度上依赖于温度。因此在测量湿度时,应尽可能保证湿度传感器在同一温度下工作。如果与释放热量的电子元件共用一个印刷线路板,在安装时应尽可能将DHT11远离电子元件,并安装在热源下方,同时保持外壳的良好通风。为降低热传导,DHT11与印刷电路板其它部分的铜镀层应尽可能最小,并在两者之间留出一道缝隙。光线:长时间暴露在太阳光下或强烈的紫外线辐射中,会使性能降低。配线注意事项:DATA信号线材质量会影响通讯距离和通讯质量,推荐使用高质量屏蔽线。焊接信息手动焊接,在最高260的温度条件下接触时间须少于10秒。注意事项(1)避免结露情况下使用。(2)长期保存条件:温度1040,湿度60%以下3.3串口调试串行接口是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件。一般完成这种功能的电路,我们称为串行接口电路。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。通信原理:串口通信(Serial Communications)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。a,波特率:这是一个衡量符号传输速率的参数。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。一般调制速率大于波特率,比如曼彻斯特编码)。通常电话线的波特率为14400,28800和36600。波特率可以远远大于这些值,但是波特率和距离成反比。高波特率常常用于放置的很近的仪器间的通信,典型的例子就是GPIB设备的通信。b,数据位:这是衡量通信中实际数据位的参数。当计算机发送一个信息包,实际的数据往往不会是8位的,标准的值是6、7和8位。如何设置取决于你想传送的信息。比如,标准的ASCII码是0127(7位)。扩展的ASCII码是0255(8位)。如果数据使用简单的文本(标准 ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。c,停止位:用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。d,奇偶校验位:在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位为1,这样就有3个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。通讯结构:串口通信是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。串口是计算机上一种非常通用的设备通信协议。大多数计算机(不包括笔记本电脑)包含两个基于RS-232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。RS-232(ANSI/EIA-232标准)是IBM-PC及其兼容机上的串行连接标准。可用于许多用途,比如连接鼠标、打印机或者Modem,同时也可以接工业仪器仪表。用于驱动和连线的改进,实际应用中RS-232的传输长度或者速度常常超过标准的值。RS-232只限于PC串口和设备间点对点的通信。RS-232串口通信最远距离是50英尺。图3-3串口调试电路图3.4液晶显示模块LCD1602A 是一种工业字符型液晶,能够同时显示16x02 即32个字符。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,一般的输出方式有以下几种:发光管、LED数码管、液晶显示器。发光管和LED数码管比较常用,软硬件都比较简单。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。 液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。 液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。 (1)引脚说明:第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。(2)1602LCD的RAM地址映射以及标准字库表LCD1602液晶模块内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符图有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1为高电平,0为低电平)。指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H 。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 。S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效 。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。 C:控制光标的开与关,高电平表示有光标,低电平表示无光标。 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁 。指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标 。指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线。 N:低电平时为单行显示,高电平时双行显示。 F:低电平时显示5X7的点阵字符,高电平时显示5x10的点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线)。 指令7:字符发生器RAM地址设置 。指令8:DDRAM地址设置 。指令9:读出忙信号和光标地址。 BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙,模块就能接收相应的命令或者数据。指令10:写数据 。指令11:读数据 。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。本设计的灰度调节是采用10k电阻和1.5k电阻分压的形式,灰度适中。液晶显示电路如下图3-4 液晶显示电路3.5独立按键单片机键盘有独立键盘和矩阵式键盘两种:独立键盘每一个I/O 口上只接一个按键,按键的另一端接电源或接地(一般接地),这种接法程序比较简单且系统更加稳定;而矩阵式键盘式接法程序比较复杂,但是占用的I/O少。根据本设计的需要这里选用了独立式键盘接法。独立式键盘的实现方法是利用单片机I/O口读取口的电平高低来判断是否有键按下。将常开按键的一端接地,另一端接一个I/O 口,程序开始时将此I/O口置于高电平,平时无键按下时I/O口保护高电平。当有键按下时,此I/O 口与地短路迫使I/O 口为低电平。按键释放后,单片机内部的上拉电阻使I/O口仍然保持高电平。我们所要做的就是在程序中查寻此I/O口的电平状态就可以了解我们是否有按键动作了。在用单片机对键盘处理的时候涉及到了一个重要的过程,那就是键盘的去抖动。这里说的抖动是机械的抖动,是当键盘在未按到按下的临界区产生的电平不稳定正常现象,并不是我们在按键时通过注意可以避免的。这种抖动一般10200毫秒之间,这种不稳定电平的抖动时间对于人来说太快了,而对于时钟是微秒的单片机而言则是慢长的。硬件去抖动就是用部分电路对抖动部分加之处理,软件去抖动不是去掉抖动,而是避抖动部分的时间,等键盘稳定了再对其处理。所以这里选择了软件去抖动,实现法是先查寻按键当有低电平出现时立即延时10200毫秒以避开抖动(经典值为20毫秒),延时结束后再读一次I/O 口的值,这一次的值如果为1 表示低电平的时间不到10200 毫秒,视为干扰信号。当读出的值是0时则表示有按键按下,调用相应的处理程序。硬件电路如图所示:图3-5 按键控制电路第四章 系统软件设计4.1软件系统介绍软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单片机编程常用的语言是C语言和汇编语言,最终都要转为Intel HEX格式或二进制格式(Binary)文件拷入单片机芯片内。这里我们使用的是C语言进行编程设计。4.2 主程序介绍程序包含实现LCD1602的初始化、DHT11读取数据、按键扫描、报警状态等功能的函数。程序由MAIN()函数开始运行,先完成三个初始化函数IO_Init()、LCD_init()、USART_Init();然后通过串口以及LCD显示设计者相关信息;最后进入死循环,不间断检测环境状态,并通过LCD显示相关数据。4.3 主流程图开始初始化获取传感器数据是否达到警戒值LCD1602显示报警结束 图4-1程序流程图结论经过一段时间的努力,在奚素霞老师和同学们的帮助及指导下基本完成了本次设计的工作。在本次毕业设计中,我通过基于单片机的设计和应用,对于单片机工作原理,功能有了宏观的了解,并对单片机C语言程序的应用有了更进一步的认识。在利用单片机设计简易LCD液晶显示屏的整个设计过程中,从电路的设计,元器件的选用,电路的调试,我都能独立的设计与制作,这让我对于理论和实际相结合有了新的认识。 本次课题的任务是使用STC89C52RC单片机实现一个简单的湿度控制器,根据实际情况,从系统的稳定性,方案实施的难易度等多方面考虑,硬件设计中我采用了STC89C52RC单片机来作为控制的核心,用DHT11温湿度传感器环境状态、LCD1602用于信息交互,具有电路简单,成本低,实用性高等特点;软件设计上,以多个驱动程序作为子程序,代码简介明了,便于调试修改,运行稳定。除此外,通过C#程序语言设计了一个针对于本课题的上位机程序,实现多种程序语言之间的相互交流,同时也极大地提升了自我的技术能力。完成这次毕业设计后,我发现对单片机原理有了更新的认识,懂得了这些器件在实际生产中的最基础的应用,掌握计算机的一些画图软件的应用。致谢经过一段时间的努力,在奚素霞老师和同学们的帮助及指导下基本完成了本次设计的工作。本课题在选题及研究过程中得到奚素霞老师的悉心指导。黄亚辉多次询问研究进程,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。奚素霞老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,虽历时三载,却给以终生受益无穷之道。对奚素霞的感激之情是无法用言语表达的。在此,我还要感谢为我提供帮助的同学们,正是由于你们的帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成.参 考 文 献1查兵,崔浩.单片机原理J.中国高新技术,2011年1期 2金仁贵.单片机应用系统的开发方法J.电脑知识与技术:学术交流,2006年12期 3严怀龙.基于单片机的数据采集系统 J.广西轻工业,2006年6期4杨美仙. 单片机的发展及其应用J. 科技信息(学术研究), 2007 5张志利. 基于RS232协议的单片机多机通信网络研究J. 自动化技术与应用, 2009附 录附录一:原理图、仿真图图1 Altium designer设计的电路原理图图2 PROTUES仿真运行图附录二:实物图、上位机图图3 实物图图4 基于单片机的湿度控制器上位机附录三:运行效果图图5 运行效果图附录四:程序Main.c#include Warning.hvoid main() IO_Init(); /初始化IO口 LCD_init(); /初始化LCD USART_Init(); /初始化串口 Delay_100us(10000); /延时100US Usart_ShowName(); LCD1602_ShowName(); /显示个人信息 while(1) DHT11_Data(); /获取传感器数据 LCD1602_DISPLAY(); /液晶显示 Usart_Recive(); /串口接收 Usart_Sendnow(); /串口发送 Beep_Warning(); /蜂鸣器 Led_Warning(); lcd1602.c#includeuchar LCD_addr=0;/*函数名:LCD_init功能 :LCD1602的初始化*/void LCD_init(void) LCD_RW = 0; LCD_write_command(0x38); /设置1602的显示光标功能 Delay_xMs(1); LCD_write_command(0x0e); /显示开及光标设置 Delay_xMs(1); LCD_write_command(0x06); /显示光标移动设置 Delay_xMs(1); LCD_write_command(0x01); /显示清屏 Delay_xMs(1);/*函数名:LCD_write_command行参 :command 要定入的指令功能 :向LCD1602的写1个指令*/void LCD_write_command(uchar command) LCD_RS=0; /选择写指令 LCD_EN=0; /使能初使化 LCD_DB=command; /发送指令 LCD_EN=1; /开使能 Delay_xMs(1); /延时 LCD_EN=0; /关使能/*函数名:LCD_write_data行参 :dat 要写入的数据功能 :向LCD1602的写1个数据*/void LCD_write_data(uchar date) LCD_RS=1; /选择写数据 LCD_EN=0; /使能初使化 LCD_DB=date; /发送指令 LCD_EN=1; /开使能 Delay_xMs(1); /延时 LCD_EN=0; /关使能/*函数名:LCD_write_data行参 :功能 :显示我的学号*/void LCD_My(void) uchar code ttt=Xie Chen Jun;/13 uchar code kkk=201415030115;/12 uint i=0; LCD_write_command(0x80);/0x80第一行从顶头开始显示,加n,后移n位显示 for (i=0;i12;i+) LCD_write_data(ttti); Delay_xMs(50); Delay_xMs(20); LCD_write_command(0x80+64);/0x80+64,第二行从顶头开始显示,加64再加n,第二行从n开始显示。 for (i=0;i12;i+) LCD_write_data(kkki); Delay_xMs(50); LCD_write_data(0x80); Delay_xMs(20);DHT11.c/定义数据读取过程中使用到的变量uchar U8FLAG,k;uchar U8count,U8temp;uchar U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;uchar U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;uchar U8comdata;uint U16temp1,U16temp2;/* *函数名:DHT11_COMTime(void) *功能:温湿传感器时序处理函数*/void DHT11_COM(void) uchar i; for(i=0;i8;i+) U8FLAG=2; while(!DHT11_IO)&U8FLAG+); Delay_10us(); Delay_10us(); Delay_10us(); U8temp=0; if(DHT11_IO)U8temp=1; U8FLAG=2; while(DHT11_IO)&U8FLAG+); /超时则跳出for循环 if(U8FLAG=1)break; /判断数据位是0还是1 / 如果高电平高过预定0高电平值则数据位为 1 U8comdata=1; U8comdata|=U8temp; /0 /rof/-/-湿度读取子程序 -/-/-以下变量均为全局变量-/-温度高8位= U8T_data_H-/-温度低8位= U8T_data_L-/-湿度高8位= U8RH_data_H-/-湿度低8位= U8RH_data_L-/-校验 8位 = U

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论