基于单片机温湿度控制(Protel图+visio图)讲解

上传人:简****9 文档编号:21596753 上传时间:2021-05-05 格式:DOCX 页数:29 大小:165.84KB
收藏 版权申诉 举报 下载
基于单片机温湿度控制(Protel图+visio图)讲解_第1页
第1页 / 共29页
基于单片机温湿度控制(Protel图+visio图)讲解_第2页
第2页 / 共29页
基于单片机温湿度控制(Protel图+visio图)讲解_第3页
第3页 / 共29页
资源描述:

《基于单片机温湿度控制(Protel图+visio图)讲解》由会员分享,可在线阅读,更多相关《基于单片机温湿度控制(Protel图+visio图)讲解(29页珍藏版)》请在装配图网上搜索。

1、计算机控制设计课程设计报告班级B 电气 092姓名刘 佳 园学号0910601204课程设计题目:仓库温湿度控制系统设计本课程设计要求设计仓库温湿度控制系统设计仓库的温湿度是保存货物的重要参数, 如果不能对其进行良好的控制, 直接导致货物损坏或者变质,造成重大损失!本设计通过使用 STC89C52单片机、 DHT11传感器模块、 1602 液晶显示屏模块以及报警模块。简单明了的实现的可提要求。 DHT11数字温湿度传感器把采集到的温湿度数据传给单片机。 经过单片机的处理。 准确的显示到液晶屏上。 并对温湿度设置上下限。越限报警。技术参数和设计任务:1、利用单片机 89C52实现对温湿度的控制,

2、以实现对仓库进行温湿度控制;2、为准确检测控制仓库的温湿度,采用DHT11 传感器采集的温湿度;3、达到方便人工监控和观察记录,采用LCD液晶屏设计;4、使电路更稳定运行,采用保护电路;5、为了及时控制温湿度,采用报警设计;6、避免一些瞬间干扰量,软件设计中采用延时设计。1一、本课程设计系统概述温度、湿度和人类的生产、 生活有着密切的关系, 同时也是工业生产中最常见最基本的工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度湿度的检测与控制。 并且随着人们生活水平的提高, 人们对自己的生存环境越来越关注。而空气中温湿度的变化与人体的舒适度和情绪都有直接的影响, 所以对温度湿度的检测及

3、控制就非常有必要了。随着科技的飞速发展和普及, 高性能设备越来越多, 各行各业对温湿度的要求也越来越高。 传统的温湿度检测模式是以人为基础, 依靠人工轮流值班, 人工巡回查看等方式来测量和记录环境状况信息。 在这种模式下, 不仅效率低不利于人才资源的充分利用,而且缺乏科学性,许多重大事故都是由人为因素造成的,人工维护缺乏完整的管理系统。而问世监控系统就可以解决这样人才资源浪费,管理不及时的问题, 这是由于它的智能化设计所决定的。 故本次设计对于类似项目还具有普遍意义。1、系统原理本设计最关键部分是关于温度和湿度的采集以及检测、显示。STC 单片机执行指令的速度很快,对工作环境的要求比较低;传感

4、器模块我选择了DHT11 数字温湿度传感器。告别了以前的单独测量温度以及湿度的方式, 更简洁,更方便。连接好外围电路。通过 DHT11 准确的检测出当前环境下的温湿度,并且将所测数据交给 STC 单片机进行分析和处理。再将所得数据有单片机发送给 HJ1602A 液晶屏。成功完成显示。 控制模块采用蜂鸣器报警方式。 预先设置好所需温度和湿度的限值,将蜂鸣器接入电路。通过温度和湿度的上下限值控制蜂鸣器的报警。若逾越限值,实现蜂鸣器鸣响。 但是需要注意的是温度超标和湿度超标需设置两种不同的鸣响方式,用来加以区别。提醒工作人员此时温度湿度数据出现异常、需及时调整, 及时启用升温器、 加湿器、降温风扇以

5、及喷雾器来有效的调整实验室内温湿度。 从而简单实现了控制。 总体来说,本次设计主要涉及了温湿度的测量以及实现简单控制。硬件方面有四个模块,即传感器模块、 STC89C52 单片机主控模块、 LCD1602 液晶显示模块以及报警模块,从硬件制作方面。也相对简便。原理清晰、连线方便,不需要额外的焊接等技术。给硬件的制作带来了极大的便捷。2电路总体上分为温湿度采集部分、 中央处理器、显示模块以及报警模块部分。以 STC89C52 单片机最小系统作为核心控制电路,控制 DHT11 传感器采集的温湿度的转换,控制 1602 液晶屏的显示,以及蜂鸣器的报警。具体显示内容及方式由软件来完成。采集温湿度方面由

6、 DHT11 传感器来完成,它是一个数字温湿度传感器、内置模数转换, 可以直接与单片机相连接。 而 1602 液晶屏是插针式,也可以直接与单片机相连接。因此不需要手动焊接等复杂的过程。具体步骤是:按照原理图将传感器、 1602 液晶显示屏分别接入单片机。通过 DHT11 传感器采集当前的温湿度值、 再经单片机, 将处理后的数据传送到液晶屏上显示出来。 并且接入蜂鸣器。设置温度的上下限值。实现越限报警。电路总体上分为温湿度采集部分、 中央处理器、显示模块以及报警模块部分。以 STC89C52 单片机最小系统作为核心控制电路,控制 DHT11 传感器采集的温湿度的转换,控制 1602 液晶屏的显示

7、,以及蜂鸣器的报警。具体显示内容及方式由软件来完成。采集温湿度方面由 DHT11 传感器来完成,它是一个数字温湿度传感器、内置模数转换, 可以直接与单片机相连接。 而 1602 液晶屏是插针式,也可以直接与单片机相连接。因此不需要手动焊接等复杂的过程。具体步骤是:按照原理图将传感器、 1602 液晶显示屏分别接入单片机。通过 DHT11 传感器采集当前的温湿度值、 再经单片机, 将处理后的数据传送到液晶屏上显示出来。 并且接入蜂鸣器。设置温度的上下限值。实现越限报警。2、控制方案a.传感器选择DHT11 数字温湿度一体传感器。DHT11 是一款集成型的数字温湿度一体传感器。它应用专用的数字模块

8、采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC 测温元件,并与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。测量范围 20%90%RH,050。测温精度为 -+2,测湿精度为 -+5%RH。完全符合本次毕业设计的要求。b.显示器选择采用 HJ1602 液晶显示屏。3HJ1602A 是一种工业字符型液晶,能够同时显示16x02 即 32 个字符。(16列 2 行)。1602 只能显示字母、数字和符号能显示16*2 个字符,但寄存器不止32 个,有一些显示效果,如字符一个个显示、字符

9、从左到右或从右到左显示等等,显示效果简单。c.单片机主芯片选择STC89C52 系列单片机。3、总体设计框图按照系统功能的具体要求, 在保证实现其功能的然础上, 尽可能降低系统成本。总体设计方案围绕上述思想,初步确定系统的方案如图1 所示。P2.0DHT11传感器模块传感器与之相连STC89C52主控模块P2.2P2.41602字符液晶模块1602字符液晶与之相连P0.7报警模块图 1 总设计框图从图中可以看出,系统有微处理器模块、 1602 字符液晶显示模块、 DHT11 传感器模块和报警模块组成。 在方案设计中, 遵循简洁至上的原则, 因此所有的外围模块采用串行方式与微处理器模块接口。 该

10、设计以 STC89C51 系列单片机为控制核心,实现温湿度采集及显示的基本功能。 在设计系统时, 为了更好地采用模块化设计法, 分步的设计各个单元功能模块, 系统的硬件部分可以分为传感器的使用、单片机控制、 1602 液晶显示和实现报警四大部分。二、硬件设计此次的设计主要由4 个大的模块构成, 分别是主控模块、 传感器模块、 LCD4液晶显示模块及报警模块, 其中主控模块是此次毕业设计的核心模块,主要是指STC89C52 芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体, 实现功能的需要; 报警模块主要指将蜂鸣器接入单片机电路。通过对时时温度的检测, 并给定

11、所需要的温度区间, 即给定上下限值,实现越限报警;传感器模块用于实验室实时温湿度的检测、由于DHT11 的数字一体性,集成了模数转换等模块。直接接单片机即可。LCD 液晶显示模块同样接入单片机,完成对单片机处理后的数据进行显示。1、主控模块设计a.STC89C52芯片的简介STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。与工业 80C51 产品指令和引脚完全兼容。片上 Flash 允许程序存储器在系统可编程, 亦适于常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程 Flash,使得 STC89C52 为众多嵌入式

12、控制应用系统提供高灵活、超有效的解决方案,如图 3-1 所示。STC89C52 具有以下标准功能: 8k 字节 Flash, 256 字节 RAM ,32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位定时器 /计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外, AT89S52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下, CPU 停止工作,允许 RAM 、定时器 /计数器、串口、中断继续工作。掉电保护方式下, RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。5管脚介绍:U 113

13、9P1 0P0 0238P1 1P0 1337P1 2P0 2436P1 3P0 3535P1 4P0 4634P1 5P0 5733P1 6P0 6832P1 7P0 713INT 1P2 0211222INT 0P2 123P2 21524T1P2 31425T0P2 426P2 53127EA /VPP2 62819P2 7X 118X 29R ESE TR XD1011TX D1730R DA LE/P1629W RPSENA TC 89c 51图 2 STC89C52VCC :供电电压。GND:接地。P0 口: P0 口为一个 8 位漏级开路双向I/O 口,每脚可吸收8TTL 门电流

14、。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。在 FIASH 编程时, P0 口作为原码输入口,当 FIASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。 P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时, P1 口作为第八位地址接收。P2 口: P2 口为一个内部上拉电阻的8 位双向 I/O 口

15、, P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“ 1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由6于内部上拉的缘故。 P2 口当用于外部程序存储器或16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址 “1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向I/O 口,可接收输出 4 个 TTL门电流。当 P3 口写入

16、“ 1”后,它们被内部上拉为高电平,并用作输入。作为输由于外部下拉为低电平,P3 口将输出电流( ILL )这是由于上拉的缘故。P3 口也可作为 STC89C52 的一些特殊功能口,如下表所示:管脚备选功能 :表 3-1P3 口的第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0 (外部中断0)P3.3/INT1 (外部中断1)P3.4T0(记时器0 外部输入)P3.5T1(记时器1 外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持

17、RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时, 地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是: 每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX , MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。/PSEN:外部程序

18、存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。/EA/VPP : 当 /EA保 持 低 电 平 时 , 则 在 此 期 间 外 部 程 序 存 储 器7( 0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1 时, /EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V 编程电源( VPP)。XTAL1 :反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2 :来自反向振荡器的输出。XTAL1 和 XTA

19、L2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。b.主控模块电路原理图单片机主程序模块通过对DHT11 传感器采集到信号的读取,将得到的数据信号进行分析和处理,再将处理后的信号发送给1602 液晶显示模块。完成信息的 接 收 与 发 送 。 并 且 连 接 蜂 鸣 器 。 控 制 报 警 系 统 。 如 图3J?C ON 1Y 1ININS1S2O UT+5C RY ST ALC 6G

20、C 7C 2C 110 610 4C 82 2 p22 p1 0 0 0u FU 1G NDG NDG ND1P1 0P0 03 923 8G NDP1 1P0 133 7J?G NDP1 2P0 243 6G NDP1 3P0 3G ND53 5IN+5P1 4P0 4V CC63 4S?P1 5P0 5D -/D M73 3P1 6P0 6D +/DP83 2SW S PD TP1 7P0 7G ND132 1G NDINT 1P2 0122 2C ON 6INT 0P2 12 3P2 2152 4T1P2 3R 1 6142 5T0P2 42 61 kP2 5312 7EA /VPP2

21、62 8P2 7D 1119X 118LE DX 29R ESE TR XD1 01 1TX D173 0R DA LE/P162 9G NDW RPS ENA TC 89 c5 1图 3STC89C52模块电路原理图c.DHT11 传感器模块设计DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传8感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC 测温元件,并与一个高性能8 位单片机相连接。 因此该产品具有品质卓越、 超快响应、抗干扰能力强、性价比极高等优点。每个DHT11 传感器都在极

22、为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。单线制串行接口, 使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20 米以上,使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4 针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。引脚介绍:Pin1: (VDD) ,电源引脚,供电电压为35.5V。Pin2:(DATA ),串行数据,单总线。Pin3:(NC),空脚,请悬浮。Pin4( VDD ),接地端,电源负极。V CCR 125kIC1 02D AT A3N C1V CCV DD4

23、G ND10 0nfD HT 11图 4 DHT11 电路原理图d.1602 液晶显示模块设计HJ1602A 是一种工业字符型液晶,能够同时显示16x02 即 32 个字符。(16列 2 行)。在日常生活中,我们对液晶显示器并不陌生。液晶显示模块已作为很多电子产品的通过器件, 如在计算器、 万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。在单片机的人机交流界面中,9一般的输出方式有以下几种: 发光管、 LED 数码管、液晶显示器。发光管和 LED 数码管比较常用,软硬件都比较简单。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:由于液晶显示器每一个点在收

24、到信号后就一直保持那种色彩和亮度, 恒定发光,而不像阴极射线管显示器( CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。液晶显示器都是数字式的, 和单片机系统的接口更加简单可靠,操作更加方便。液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的, 在重量上比相同显示面积的传统显示器要轻得多。相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动 IC 上,因而耗电量比其它显示器要少得多。字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式 LCD ,目前常用 16*1, 16*2, 20*2 和 40*2 行等的模块。引脚说明:第 1 脚: VSS 为地电源。

25、第 2 脚: VDD 接 5V 正电源。第 3 脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整对比度。第 4 脚: RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第 5 脚:R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。当 RS 和 R/W 共同为低电平时可以写入指令或者显示地址,当RS 为低电平R/W 为高电平时可以读忙信号,当RS 为高电平 R/W 为低电平时可以写入数据。第 6 脚:E 端为使能端, 当 E 端由高电平跳变成低电平时,液晶模块执行命令

26、。第 7 14 脚: D0 D7 为 8 位双向数据线。10第 15 脚:背光源正极。第 16 脚:背光源负极。1602LCD 的 RAM 地址映射以及标准字库表LCD1602 液晶模块内部的字符发生存储器已经存储了160 个不同的点阵字符图形,这些字符图有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A ”的代码是01000001B( 41H),显示时模块把地址41H 中的点阵字符图形显示出来,我们就能看到字母。它的读写操作、屏幕和光标的操作都是通过指令编程来实现的(说明:1 为高电平, 0 为低电平)。指令 1:清显示,指令码0

27、1H,光标复位到地址00H 位置。指令 2:光标复位,光标返回到地址00H 。指令 3:光标和显示模式设置I/D :光标移动方向,高电平右移,低电平左移 。S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令 4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标。B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令 5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标 。指令 6:功能设置命令DL :高电平时为 4 位总线,低电平时为8 位总线。N:低电平时为单行显示,高电平时双

28、行显示。 F:低电平时显示 5X7 的点阵字符,高电平时显示 5x10 的点阵字符 (有些模块是 DL:高电平时为 8 位总线,低电平时为 4 位总线)。指令 7:字符发生器 RAM 地址设置。指令 8:DDRAM 地址设置。指令 9:读出忙信号和光标地址。 BF 为忙标志位,高电平表示忙,此时模块不能接收命令或者数据, 如果为低电平表示不忙, 模块就能接收相应的命令或者数据。指令 10:写数据。11指令 11:读数据。液晶显示模块是一个慢显示器件, 所以在执行每条指令之前一定要确认模块的忙标志为低电平, 表示不忙,否则此指令失效。 要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字

29、符。16 02J220 PINSCW0 1 2 34 5 67 AKSC O S/B B B BB B BB L LV V V RRDE D D D D D D D B B0123456V CC 1 2 3 4 5 6 7 8 911111114560123456722200000000P P P P P P P P P P PV CC10 k12345678901234567890111111111124560123456712322200000000222P P P P P P P P P P PP P PW 2R ?PO T2图 5 1602 显示模块e.报警模块蜂鸣器是一种一体化结构的

30、电子讯响器。采用直流电压供电, 广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“ HA ”。+5 V1SP 122R 231SP EA KE RQ 21k90 12213J13G ND图 6蜂鸣器工作原理图三、软件设计在对我们所要设计的课题有了整体的了解之后, 需要先建立程序框架的流程图,对整个设计划分模块, 逐个模块实现其功能, 最终把各个子模块合理的连接12起来,构成总的程序。 主程序首先要对整个系统进行初始化, 然后将采集到的温湿度指令传给系统的主流程图

31、如图 7 所示:开始初始化判断温度延时温度低于 26高于 30温湿度测量蜂鸣器铃响蜂鸣器铃响1602显示数据结束图 7主程序流程图1、1602 液晶显示模块设计液晶显示模块是一个慢显示器件, 在执行每条指令之前要确认模块的忙标志为低电平,表示不忙,则此指令失效,要显示字符时要先输入显示字符地址,告诉模块在哪里现实了字符。1602 液晶显示模块可与STC89C52 直接接口的。软件流程图如图 8 所示:13开始LCD初始化延时设第一行显示位置显示第一行内容设第二行显示位置显示第二行内容图 81602 液晶显示模块程序流程图2、传感器模块设计设计温湿度模块DH11 数字温湿传感器加湿器温湿度传感器

32、随着科技的不断发展,汽车、空调、除湿器、烘干机等种类繁多的电器都已进入人们的日常生活,而这些电器设备很多都离不开对温度、湿度等环境因素的要求。因此,温度、湿度传感器用途越来越广泛。新一代的数字传感器不再需要外置的A D 转换模块,并具有标准接口,使用方便,得到了越来越多的应用。 DHT11 作为一种新型的单总线温湿度数字传感器, 具有更多的优点, 它使系统设计更加简单, 控制方便,易于实现。 1 单总线通信简介 目前常用的微机与外设之间进行数据传输的串行总线主要有 I2C 总线、 SPI 总线和 SCI 总线。其中 I2C 总线以同步串行两线方式进行通信 (1 条时钟线, 1 条数据线 ),S

33、PI 总线则以同步串行三线方式进行通信 (114条时钟线, 1 条数据输入线, 1 条数据输出线 ),而 SCI 总线是以异步方式进行通信的 (1 条数据输入线, 1 条数据输出线 )。这些总线至少需要两条或两条以上的信号线。DHT11 传感器模块的软件流程图如下图所示:给DHT11上电延时 1S保持高电平检测记录信号输出低电平延时输出低电平数据输出结束信号图 9DHT11传感器模块程序流程图四、小结本系统以单片机为核心部件的控制系统, 利用软件编程, 最终基本上实现了各项要求。虽然系统还存在一些不足,比如温湿度测量不够精确,特别是湿度,波动较大。尝试了各种改进方法。 仍然不太理想。 不过大体

34、能反映出设计的目的和要求。与预期的结果相差不多。 足够能够应用与仓库的温湿度检测和控制, 可以很好的帮助仓库保存货物。经过近两个礼拜的奋斗,从确定题目,到后来查找资料,理论学习,实验编程调试,这一切都使我的理论知识和动手能力有了很大的提高。 了解了单片机的硬件结构和软件编程方法, 对单片机的工作方式有了很大的认知。 同时,对一些15外围设备比如传感器、液晶屏、键盘、蜂鸣器等有了一定的了解!学会了对一项工程如何设计:首先,要分析需要设计的系统要实现什么功能,需要什么器件;然后,针对设计购买相应的硬件,选用硬件时不仅要选用经济的,更重要的是如何能更精确更方便的完成系统的要求;再次,对各个硬件的软件

35、实现要弄清楚,如何更好的实现各个硬件的协调, 更好的通过主控制器件实现硬件的功能。 最后,通过各种测试与调试,让设计更好的完成系统要求。但因为我们的水平有限, 此设计中也存在一定的不足。 就比如说对湿度的控制方面,由于温度时刻都在发生着变化。 而湿度的变化又大体上取决于温度。 因而对于湿度的控制有点困难。 同时由于湿度变化波动比较大。 造成报警频繁, 为湿度限值的设定也带来了不小的麻烦。温湿度控制已经成为了 21 世纪热门研究话题之一。 无论是从生产还是生活,与我们人类都是息息相关的。 而智能化的控制温湿度已经发展成为一种必然。 随着世界经济的发展, 人们生活水平的提高以及社会的进步。 我们不

36、可能一直墨守陈规,不能在恪守以前利用人力资源来控制温湿度的方法。 不仅浪费大量的人力资源、财力资源,并且控制系统也更加单一化。而采用自动控制的办法、既节省了人力资源, 更体现了与时俱进的思想、 世界在进步、 而这种进步就该体现在各个方面。五、参考文献1 于海生 . 计算机控制技术 M. 北京:机械工业出版社 ,2007.2 韩志军 . 单片机应用系统设计入门向导与设计实例 M. 北京:机械工业出版社 ,2005.3 雎丙东 . 单片机应用技术与实例 M. 北京:电子工业出版社 ,2005.4 靳达 . 单片机应用系统开发实例导航 M. 北京:人民邮电出版社 ,2003.5 戴佳 .51 单片机

37、应用系统开发典型实例 M. 北京:中国电力出版社 ,2005.6 孙传友 . 测控系统原理与设计 M. 北京:北京航空航天大学出版社 ,2002.7 沈红卫 . 单片机应用系统设计实例与分析 M. 北京:北京航空航天大学出版社 ,2003.8 陈明荧 .8051 单片机课程设计实训教材 M. 北京:清华大学出版社, 20039 吴金戌,沈庆阳,郭庭吉 .8051 单片机实践与应用 M. 北京:清华大学出版社, 2002.10 张毅刚 .MCS-51单片机应用设计 M. 哈尔滨工业大学出版社, 2004.16附录 1 运行程序#include #include #include typedef

38、unsigned charU8;/* defined for unsigned 8-bits integer variable无符号 8 位整型变量*/typedef unsigned intU16;/* defined for unsigned 16-bits integer variable无符号 16 位整型变量*/#define lcd_H#include #define HIGH 1#define LOW 0#define TRUE 1#define FALSE 0#define ZERO 0#define MSB 0x80#define LSB 0x01/*液晶屏部分*#defin

39、e LINE1 0#define LINE2 1#define LINE1_HEAD 0x80#define LINE2_HEAD 0xC0#define DATA_MODE 0x38#define OPEN_SCREEN 0x0C#define DISPLAY_ADDRESS 0x80#define CLEARSCREEN LCD_en_com(0x01)#define LCDIO P1sbit LCD1602_RS = P24;/定义端口sbit LCD1602_RW = P23;sbit LCD1602_EN = P22;17/-/-IO 口定义区-/-/sbitP2_0 = P20 ;

40、sbitSPK=P07;int t1,t2,ss;/-/-定义区 -/-/U8U8FLAG;U8U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8U8comdata;unsigned char str1=s,h,i,d,u,:;unsigned char str2=w,e,n,d,u,:;LCD_init();void D

41、elay(U16 j)U8 i; for(;j0;j-)for(i=0;i27;i+);voidDelay_10us(void)U8 i;i-;18i-;i-;i-;i-;i-;voidCOM(void)U8 i;for(i=0;i8;i+)U8FLAG=2;while(!P2_0)&U8FLAG+);Delay_10us();Delay_10us();Delay_10us();U8temp=0;if(P2_0)U8temp=1;U8FLAG=2;while(P2_0)&U8FLAG+);/超时则跳出 for 循环if(U8FLAG=1)break;/判断数据位是 0 还是 1/ 如果高电平高

42、过预定 0 高电平值则数据位为 1U8comdata=1;U8comdata|=U8temp;/0/rof19void LCD_Read_BF(void)unsigned char read=0;LCD1602_RS=LOW;LCD1602_RW=HIGH;LCD1602_EN=HIGH;LCDIO=0XFF;read=LCDIO;void LCD_en_com(unsigned char command)/写指令LCD_Read_BF();LCD1602_RS=LOW;LCD1602_RW=LOW;LCD1602_EN=HIGH;LCDIO=command;LCD1602_EN=LOW;vo

43、id LCD_en_dat(unsigned char dat)/写数据LCD_Read_BF();LCD1602_RS=HIGH;LCD1602_RW=LOW;LCD1602_EN=HIGH;LCDIO=dat;LCD1602_EN=LOW;void LCD_set_xy(unsigned char x,unsigned char y) /写入地址函数unsigned char address;20if(y=LINE1)address=LINE1_HEAD+x;elseaddress=LINE2_HEAD+x;LCD_en_com(address);void LCD_write_char(u

44、nsigned char x,unsigned char y,unsigned char dat)/写入字符函数LCD_set_xy(x,y);LCD_en_dat(dat);void LCD_write_string(unsigned char x,unsigned char y,unsigned char *s)/写入字符串函数LCD_set_xy(x,y);while(*s)LCDIO=*s;LCD_en_dat(*s);s+;void LCD_Init(void) / 初始化函数LCD_en_com(0x38);/* 显示模式设置 */Delay(5);LCD_en_com(0x38)

45、;Delay(5);LCD_en_com(0x38);Delay(5);LCD_en_com(0x38);21LCD_en_com(0x08);/* 显示关闭 */LCD_en_com(0x01);/* 显示清屏 */LCD_en_com(0x06);/* 显示光标移动设置 */Delay(5);LCD_en_com(0x0C);/* 显示开及光标设置 */-/- 湿度读取子程序-/-/- 以下变量均为全局变量 -/- 温度高 8 位 = U8T_data_H-/- 温度低 8 位 = U8T_data_L-/- 湿度高 8 位 = U8RH_data_H-/- 湿度低 8 位 = U8RH_

46、data_L-/- 校验 8 位 = U8checkdata-/- 调用相关子程序如下 -/- Delay();, Delay_10us();,COM();/-void RH(void)/主机拉低 18msP2_0=0;Delay(180);P2_0=1;/总线由上拉电阻拉高主机延时 20usDelay_10us();Delay_10us();Delay_10us();22Delay_10us();/主机设为输入判断从机响应信号P2_0=1;/判断从机是否有低电平响应信号如不响应则跳出,响应则向下运行if(!P2_0)/T !U8FLAG=2;/判断从机是否发出80us 的低电平响应信号是否结束while(!P2_0)&U8FLAG+);U8FLAG=2;/判断从机是否发出80us 的高电平,如发出则进入数据接收状态while(P2_0)&U8FLAG+);/数据接收状态COM();U8RH_data_H_temp=U8comdata;COM();U8RH_data_L_temp=U8comdata;COM();U8T_data_H_temp=U8comdata;COM();U8T_data_L_temp=U8comdata;COM();U8checkdata_temp=U8co

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!