本科毕业设计---基于单片机的温湿度检测系统的设计

上传人:痛*** 文档编号:202982132 上传时间:2023-04-23 格式:DOC 页数:43 大小:987.50KB
收藏 版权申诉 举报 下载
本科毕业设计---基于单片机的温湿度检测系统的设计_第1页
第1页 / 共43页
本科毕业设计---基于单片机的温湿度检测系统的设计_第2页
第2页 / 共43页
本科毕业设计---基于单片机的温湿度检测系统的设计_第3页
第3页 / 共43页
资源描述:

《本科毕业设计---基于单片机的温湿度检测系统的设计》由会员分享,可在线阅读,更多相关《本科毕业设计---基于单片机的温湿度检测系统的设计(43页珍藏版)》请在装配图网上搜索。

1、 毕业设计(论文)专用纸 基于单片机的温湿度检测系统的设计系 部 专 业 年 级 学生姓名 学 号 指导教师 职称 SCM design system based on temperature and humidity testingDepartment Subject Grade Name Student ID Teacher 津桥学院毕业(设计)论文诚信承诺书为确保毕业(设计)论文写作质量和答辩工作的顺利开展,达到按期圆满毕业的目标。本人郑重承诺:1.本人所呈交的毕业设计(论文),是在指导教师的指导下,严格按照学院、系部有关规定完成的。2.本人在毕业设计(论文)中引用他人的观点和参考资料均

2、加以注释和说明。3.本人承诺在毕业设计(论文)选题和研究内容过程中没有抄袭他人研究成果和伪造相关数据等行为。4.在毕业设计(论文)(设计)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。 毕业设计(论文)作者签名: 年 月 日目录基于单片机的温湿度检测系统的设计ISCM design system based on temperature and humidity testingII基于单片机的温湿度检测系统的设计1摘要1SCM design system based on temperature and humidity testing1引言2第一章 设计方案31.1 计算机与电子

3、技术发展概述31.2 系统主要单元的选择与论证41.2.1 单片机控制模块的选择论证41.2.2 温湿度检测模块的选择与论证51.2.3 显示模块的选择与论证5第二章 主要器件选取与系统框图52.1温度传感器的选取52.1.1技术参数62.1.2 应用领域62.2 单片机的选取72.3 单片机中断服务程序工作流程图92.3 LCD的选取10第三章组态王软件的介绍113.1 产生背景113.2 组态王软件123.3 功能12第四章 方案设计134.1 总体设计思路134.2 硬件电路设计144.2.1时钟电路设计144.2.2复位电路的设计154.2.3 LCD显示电路设计164.2.4 单片机

4、最小系统174.4 软件程序实现174.4.1 系统主程序工作流程图1718图9 系统主程序工作流程图184.4.2 组态王工作界面18参考文献21附录21附录121总结与体会38 38 基于单片机的温湿度检测系统的设计摘要温湿度的测量有很广的应用范围,对于温湿度测量系统设计的研究也具有很深远的意义,针对国内外关于温湿度测量系统的研究和发展状况,在探讨了现在温湿度测量系统面对的主要问题之后,我设计了一种基于单片机(MCU)的温湿度测量系统,这个装置对某些有特殊要求温度和湿度的场合能够实现长期、稳定、定时、自动的检测。本设计主要由硬件和软件两部分组成,硬件部分主要有单片机控制电路、温湿度检测电路

5、、报警电路、按键控制电路和1602液晶显示电路组成。处理器采用51系列AT89C52,整个系统是在系统软件控制下工作的,并可通过组态软件对本系统进行实时监测。关键词:单片机,温湿度检测,组态,控制报警SCM design system based on temperature and humidity testing Abstract : Measuring temperature and humidity have a very wide range of applications ,for the study of temperature and humidity measurement

6、system design also has a very far-reaching significance . For home and abroad about the temperature and humidity measurement system research and development , in exploring the main problems now facing the temperature and humidity measurement system after , I designed the temperature and humidity mea

7、surement system based microcontroller (MCU) of , This means special requirements for certain temperature and humidity of the occasion to achieve long-term , stable , timed , automatic detection . The design consists of hardware and software components , the hardware part mainly MCU control circuit ,

8、 temperature and humidity detection circuit , alarm circuit , key control circuit and 1602 LCD circuit . Processor uses 51 series AT89C52, the whole system is working in the system software control ,and through the configuration software for real-time monitoring of the system.Keywords:microcontrolle

9、r ,temperature and humidity testing,configuration ,control alarm 引言伴随着当今科技的发展和网络的普及,各种新型的自动控制系统也越来越多地运用到人们的日常生活、工业生产等领域。在人们生活水平提高的同时,也越来越注意周围温湿度的变化情况。本设计就是为了满足人们需要而设计的现代化智能温湿度监控系统。传感器是信息采集的重要工具,传感器技术与通信技术(信息传输)和计算机技术(信息处理),成为了现代化信息技术的三大支柱,其在信息系统中分别起着“感觉”,“神经”,和“大脑”的作用。现代电子产品的更新日新月异,功能向着多样化,体积向着最小化,功

10、耗向着最低化的方向发展。现代电子产品与传统电子产品在设计上的显著区别:1:大量使用大规模可编写芯片,以提高产品性能,缩小产品体积,降低产品功耗2:是广泛运用现代计算机技术,以提高电子设计自动化程序,缩短开发周期,提高产品的竞争力。单片机的单芯片的以其微小体积和极低的成本,轻易地容身于各大电子系统,如办公自动化、生活智能化和个人信息终端以及通信产品等方方面面,成为现代社会电子系统中重要的智能化工具。 测量温湿度的关键是温湿度传感器,温湿度传感器的发展经历了三个发展阶段:传统的分立式传感器,模拟集成式传感器,智能集成式传感器。现在,国际上新型温湿度传感器正从集成化向智能化,从模拟化向数字化的方向飞

11、速发展。温湿度是生活中最基本的环境参数,人们的生活与其息息相关,在工业生产过程中需要实时测量温湿度,在农业生产中也离不开温湿度的测量,因此研究温度和湿度的测量方法和装置具有重要的意义。第一章 设计方案1.1 计算机与电子技术发展概述近年来,计算机技术发展迅速,使得计算机在工农业、国防科研及日常生活的各个领域显示了它日益旺盛的生命力,它已成为世界各国工业发展水平的主要标志之一。计算机作为发展新技术,改造老技术的强有力的武器,它使人类面临着一个新的赞赏技术和工业革命,它的作用远远超过了以前因蒸汽机和电的出现而产生的第一次和第二次工业革命。现在,单片机也正朝着高性能和多品种的方向发展,单片机的发展正

12、朝着CMOS化,高性能,低功耗,大容量,小体积,低价格和外围电路的内装化等几个方面发展。最近几年,随着CMOS技术的进步,更是极大的促进了单片机的CMOS化,此种芯片除了低功耗外,还具有可控的功耗,使单片机可以工作在功耗精细管理的状态,而且单片机一般采用流水线技术和精简指令集结构,能够大幅度提高单片机的运行速度,并且提升信息处理功能,中断和定时控制功能,在一般上还具有串行扩展技术,随着低价位OTP及各种类型片内程序存储器的发展,加上外围接口不断被设计到片内,特别是I2C,API等串行总线的引入,可以使单片机的引脚设计得更少,单片机系统结构更加简化及规范化。这就引导我们利用单片机来实现对数显可调

13、稳压电源的控制。伴随着电子技术的迅速发展,计算机已融入到了我们的日常生活中,就51系列而言,在Intel公司将其内核使用权以专利互换或出售的形式转给世界许多著名IC制造商之后,随着计算机技术的不断发展,在工业测量控制领域内单片机的应用越来越广泛。同时,随着超大规模集成电路工艺和集成制造技术的不断完善,单片机的硬件集成度也不断提高,已经出现了能满足各种不同需求、具有各种特殊功能的单片机,这类单片机具有集成度高、性能价格比优越、货源充足等优点,在工业测量领域内获得了极为广泛的应用价值。现代的电子产品朝密集型发展,而电子产品的温度特性普遍比较差,这就对温、湿度的监测提出了新的要求。若采用国外进口的温

14、、湿度监测系统,虽然其性能较好,但是结合国情,其价格相当昂贵,又是全英文,推广起来较困难。 就是在以上问题出现的情况下,我设计出一个利用集成温度传感器及湿度传感器,配合单片计算机系统,从软件的编制上实现对各外围硬件的控制,最终实现对当前环境温、湿度进行监测。在硬件的设计上,所有元器件都采用了通用型产品,使得设计出来的产品生产及维修都相当方便,可以有效地降低成本,同时另外一点就是能用软件实现的功能尽量选用软件进行操作,更加突出了产品的简单性和高可靠性,因此,本设计方法是一个值得推广的方法,接下来就是对方案与设计原理方框图进行比较分析。1.2 系统主要单元的选择与论证 1.2.1 单片机控制模块的

15、选择论证方案一:采用XC9000系列的FPGA。该类器件具有并行处理能力,能快速的响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片价格较昂贵。 方案二:采用单片机作为控制核心,单片机数学运算功能较强。在程序相互调用方面,处理方便灵活,性能稳定,适合实际应用。且单片机技术发展较为成熟,价格便宜。 基于以上分析,采用单片机控制可更为简便灵活地实现系统功能,故拟采用方案二。1.2.2 温湿度检测模块的选择与论证方案一:选用DS18B20温度传感器和HS1101湿度传感器。DS18B20是一线式数字温度传感器,具有独特的单线式接口方式,测量范围在55125,误差为0.5。最高精度可达0.06

16、25。HS1101是电容式湿度传感器,可测相对湿度范围在0%100%RH,误差为2%RH。方案二:选用DHT11作为温湿度检测模块。DHT11是一款数字输出的复合传感器,包含一个电阻式感湿元件和NTC式温度检测元件,可测2090%RH湿度,误差5%RH,050摄氏度,误差2摄氏度。 方案选择,综上所述,虽然方案一测试范围和精度都优于方案二,但是本设计主要用于室内外环境监测,对其精度与范围要求没那么精确,方案一和方案二的测量范围都满本设计需求,但方案二的成本更加低廉,故本模块采用方案二。1.2.3 显示模块的选择与论证方案一:采用12864液晶模块显示测得的数据,可显示较多组的数据,字体较大,可

17、清晰读数,但12864液晶模块价格昂贵,接线复杂,故不采用。 方案二:采用1602液晶模块显示所测数据,1602液晶接线简单方便,同时也能满足显示需要,价格远低于12864液晶。因此,本方案为首选方案。 综上所述,显示模块选择方案二。第二章 主要器件选取与系统框图2.1温度传感器的选取DHT11温湿度传感器主要参数2.1.1技术参数供电电压: 3.35.5V DC输 出: 单总线数字信号测量范围: 湿度20-90%RH, 温度050测量精度: 湿度+-5%RH, 温度+-2分 辨 率: 湿度1%RH, 温度1互 换 性: 可完全互换 ,长期稳定性: 1%RH/年2.1.2 应用领域暖通空调 测

18、试及检测设备汽车 数据记录器消费品 自动控制气象站 家电湿度调节器 医疗除湿器特性相对湿度和温度测量全部校准,数字输出卓越的长期稳定性无需额外部件超长的信号传输距离超低能耗4引脚安装完全互换图一:DHT11与单片机的接线图2.2 单片机的选取本设计采用AT89C51系列单片机AT89C51俗称单片机,是一种带4K字节FLASH存储器的CMOS 8位微处理器,具有低电压,高性能的特点。其中的AT89C2051单片机带有2K字节闪存可编程可擦除只读存储器。该器件采用的技术是高密度非易失存储器制造技术。ATMEL的AT89C51将多功能8位CPU和闪速存储器组合在单个芯片中,是一种高效微控制器,AT

19、89C2051则是它的简化版本,在嵌入式应用中,它是有效且廉价的解决方案。AT89C51的外形及引脚排列如下图所示。如今AT89S51/52已取代了AT89C51/52。AT89C51的标准功能如下:4k 字节闪速存储器,128字节内部随机存取存储器, I/O 口线,两个16位定时器,一个全双工串行通信口,振荡器等。不仅如此,由于AT89C51可降至0HZ,因此有节电模式,。在静态逻辑操作中,只允许RAM,串行口和中断,计数器继续工作。如果掉电,RAM中的内容将保存下来,但振荡器及其他部件停止工作,直到下一个硬件复位。图3为AT89C51单片机的基本功能方块图。振荡器和时序OSC程序存储器4

20、KB ROM数据存储器256 B RAM/SFR定时器/计数器 2 16 AT89C51CPU64 KB总线 扩展控制器可编程 I/O可编程全双工串行口内中断外时钟源 外部事件计数 外中断 控制 并行口 串行通信图2 AT89C51 功能方块图AT89C51引脚第二功能介绍VCC:正极。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口。当需要进行FLASH校检使,P0口必须外加上拉电阻。 P1口:P1口是一个8位双向I/O口,其内部提供上拉电阻,能够使4个TTL门电流通过。当置P1口为高电平时,P1口的管脚被内部上拉电阻拉高,可以输入电流;相反,置P1口味低电平时,将输出。这就是内部

21、上拉的作用。在FLASH校验和编程时,P1口作为地址接收。 P2口:P2口也是一个内部上拉的双向I/O口,功能与P1类似。 P3口:P3口作为内部上拉的8位I/O口时,普通功能与P1,P2类似。P3口还有特殊功能,其备选功能如下:P3.0 RXD为串行输入口P3.1 TXD为串行输出口P3.2 INT0为外部中断0P3.3 INT1为外部中断1P3.4 T0为记时器0外部输入P3.5 T1为记时器1外部输入P3.6 为外部数据存储器写选通P3.7 为外部数据存储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

22、ALE/ :ALE是用于总线外扩存储器、片外外设、ARM、等芯片用的时钟脚,它与RD和WR和p0、p2口配合可以扩展65535个外部地址空间当ALE脚位低时p0、p2口输出16位外部地址,当ale输出上升沿,外部地址锁存器锁存地址,单片机配合RD或RW脚输出或输入数据。PSEN:外部程序存储器的选通信号端。/VP:保持低电平时,不用看内部程序存储器。注意加密方式1时, 则内部锁定为RESET;当保持高电平时,此间内部程序存储器。FLASH编程时,/VP也可施加编程电源。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:反向振荡器的输出,如采用外部时钟源驱动器件,应不接。2.

23、3 单片机中断服务程序工作流程图中断源发出中断申请关中断、保护现场INTO端有输入信号关闭报警恢复现场、开中断中断返回图3:中断服务程序工作流程图2.3 LCD的选取工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。1602LCD是指显示的内容为16X2,即可以显

24、示两行,每行16个字符液晶模块(显示字符和数字)。市面上字符液晶大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。第三章组态王软件的介绍组态软件,又称组态监控软件系统软件。译自英文SCADA,即 Supervisory Control and Data Acquisition(数据采集与监视控制)。它是指一些数据采集与过程控制的专用软件。它们处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件的应用领域很广,可以应用于

25、电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。在电力系统以及电气化铁道上又称远动系统(RTU System,Remote Terminal Unit)。组态软件在国内是一个约定俗成的概念,并没有明确的定义,它可以理解为“组态式监控软件”。“组态(Configure)”的含义是“配置”、“设定”、“设置”等意思,是指用户通过类似“搭积木”的简单方式来完成自己所需要的软件功能,而不需要编写计算机程序,也就是所谓的“组态”。它有时候也称为“二次开发”,组态软件就称为“二次开发平台”。“监控(Supervisory Control)”,即“监视和控制”,是指通过计算机

26、信号对自动化设备或过程进行监视、控制和管理。3.1 产生背景“组态”的概念是伴随着集散型控制系统(Distributed Control System简称DCS)的出现才开始被广大的生产过程自动化技术人员所熟知的。在工业控制技术不断发展和应用的过程中,PC(包括工控机)相比以前的专用系统具有的优势日趋明显。这些优势主要体现在:PC技术保持了较快的发展速度,各种相关技术已经成熟;由PC构建的工业控制系统具有相对较低的拥有成本;PC的软件资源和硬件资源丰富,软件之间的互操作性强;基于PC的控制系统易于学习和使用,可以容易地得到技术方面的支持。在PC技术向工业控制领域的渗透中,组态软件占据着非常特殊

27、而且重要的地位。3.2 组态王软件组态王KingView:由北京亚控科技发展有限公司开发,该公司成立于1997年。1991年开始创业,1995年推出组态王1.0版本,在市场上广泛推广KingView6.53、KingView6.55版本,每年销量在10,000套以上,在国产软件市场中市场占有率第一。3.3 功能组态软件指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,能以灵活多样的组态方式(而不是编程方式)提供良好的用户开发界面和简捷的使用方法,它解决了控制系统通用性问题。其预设置的各种软件模块可以非常容易地实现和完成监控层的各项功能,并能同时支持各种硬件

28、厂家的计算机和I/O产品,与高可靠的工控计算机和网络系统结合,可向控制层和管理层提供软硬件的全部接口,进行系统集成。组态软件通常有以下几方面的功能:(1)强大的界面显示组态功能。目前,工控组态软件大都运行于Windows环境下,充分利用Windows的图形功能完善界面美观的特点,可视化的m风格界面、丰富的工具栏,操作人员可以直接进人开发状态,节省时间。丰富的图形控件和工况图库,既提供所需的组件,又是界面制作向导。提供给用户丰富的作图工具,可随心所欲地绘制出各种工业界面,并可任意编辑,从而将开发人员从繁重的界面设计中解放出来,丰富的动画连接方式,如隐含、闪烁、移动等等,使界面生动、直观。(2)良

29、好的开放性。社会化的大生产,使得系统构成的全部软硬件不可能出自一家公司的产品,“异构”是当今控制系统的主要特点之一。开放性是指组态软件能与多种通信协议互联,支持多种硬件设备。开放性是衡量一个组态软件好坏的重要指标。组态软件向下应能与低层的数据采集设备通信,向上能与管理层通信,实现上位机与下位机的双向通信。(3) 丰富的功能模块。提供丰富的控潲功能库,满足用户的测控要求和现场要求。利用各种功能模块,完成实时监控 产生功能报表 显示历史曲线、实时曲线、提侠报警等功能,使系统具有良好的人机界面,易于操作,系统既叫适用于单机集中式控制、DCS分布式控制,也可以是带远程遇信能力的远程测控系统。(4)强大

30、的数据库。配有实时数据库,可存储各种数据,如模拟量、离散量、字符型等,实现与外部设备的数据交换。(5)可编程的命令语言。有可编程的命令语言,使用户可根据自己的需要编鸾程序,蹭强图形界面(6)周密的系统安全防范,对不同的操作者,赋予不同的操作权眼,保证整个系统的安全可靠运行。(7)仿真功能。捉供强大的仿真功能使系统并行设计,从而缩短开发周期。第四章 方案设计4.1 总体设计思路该设计包含硬件和软件设计两个方面。模块划分为数据采集、数据处理和LCD显示三大模块。本系统是由DHT11温湿度传感器、MCU控制电路、LCD显示模块以及组态王软件组成,下位机完成信息采集、处理、数据传送等功能,上位机在PC

31、端完成实时监控功能。就此设计来说,MCU模块就是控制的核心单元。所以此系统也是单片机系统应用的一个方面。单片机系统应用也是由硬件和软件两个方面组成。硬件包括单片机、输入输出设备以及外围电路组成,软件方面则是工作程序和LabVIEW监控的总称。从设计的要求来分析本设计应该包含以下结构:复位电路、温湿度检测电路、LCD显示电路、单片机和相关的控制电路以及管理软件组成。构成框图如下 AT89C51复位电路温湿度检测电路上位机监控LCD显示模块信号传输驱动通信图4:总体设计框图系统采用AT89C51控制,当打开本系统之后,温湿度传感器开始工作,检测温湿度情况之后,立即向MCU传入信息,MCU经过处理之

32、后,控制LCD显示此刻周围环境的温湿度,并且将此数据经过串口通信传到上位机,打开上位机软件,进入组态王画面,接收数据后,在相应的实时监控画面会出现实时曲线,当周围温湿度达到报警界限是自动报警。4.2 硬件电路设计4.2.1时钟电路设计XTAL1和XTAL2分别是反向放大器的输入和输出脚,这个反向放大器可以配置成片内震荡器。如果外部采用时钟源驱动器件,则XTAL2应该不接。一个机器周期包含6个状态周期,而每个状态周期为2个振荡周期,如果外接石英晶体振荡器的频率为12MHZ,那么一个振荡周期为1/12us,所以一个机器周期就是1us。如图5所示。图5:时钟电路4.2.2复位电路的设计单片机的复位方

33、法有两种,上电自动复位和按键复位。当单片机的时钟电路开始工作时,在RESET端连续给出2个机器周期的高电平时就能玩成自动复位工作。但使用晶振的频率为12M时,复位信号的持续时间应不小于2us。本设计采用按键复位的方式手动复位。图6位复位电路。图6:复位电路图4.2.3 LCD显示电路设计单片机的P2.0;P2.1;P2.2引脚分别作为LCD1602的寄存器选择端;读写信号端和使能端;P0口作为8位双向数据端。具体接法如图7所示。图7 LCD显示电路4.2.4 单片机最小系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包

34、括:单片机、晶振电路、复位电路。本设计使用最小系统图如下。图8 单片机最小系统4.4 软件程序实现4.4.1 系统主程序工作流程图整个系统主程序工作流程如下:图9 系统主程序工作流程图4.4.2 组态王工作界面将下位机打开,切换到工作状态,打开组态王软件,选择好已经建立好的工程,切换到VIEW界面,点击登录之后可以看见上位机能够实时显示下位机传来的温湿度数据,并且绘制出相应的曲线图。图10 组态王监控界面图11 下位机显示界面参考文献(1)中文专著:1 郭天祥. 新概念51单片机C语言教程M. 电子工业出版社, 2009.2 宋文绪. 传感器与检测技术M. 北京: 高等教育出版社, 2004.

35、3 余锡存. 单片机原理及接口技术M. 西安: 西安电子科技大学出版社, 2000. 4 李全利. 单片机原理及接口技术M. 北京: 北京航空航天大学出版社, 2004.5 薛均义, 张彦斌. MCS-51系列单片微型计算机及其应用M. 西安: 西安交通大学出版社, 2005.6 康华光. 电子技术基础(模拟部分)M. 北京: 高等教育出版社, 2004.7 韩晓新. 从基础到实践PLC与组态王M. 机械工业出版社,2011.附录附录1源程序代码1. 主函数部分#include /51系列单片机#include#include #includeDelay.h#includeDHT11.H#de

36、fine uint unsigned int /宏定义#define ulint unsigned long int /宏定义#define uchar unsigned char/*有符号8位整型变量 */#define KeyPort P3#define len 60#define DataPort P0 /LCD1602数据端uchar flag_MQ7,flag_MQ2,flag_TSC,flag_RED,flag_SHAKE,flag_FIRE;uchar rh_h_dat,rh_l_dat,t_h_dat,t_l_dat,jy_dat,check;uchar a,b,c,d,e,f

37、;uchar ge,shi,bai,qian,wan,shiwan; /显示变量uchar flag_RH=0,flag_T=0,flag_main=1; uchar RH_c,T_c;uchar shidu,flag;unsigned char flag1=0,flag_alarm,flag_alarm1=0;uchar numberT0,numberT1;uchar a1=0,b1=20,c1=0,d1=0;uchar Sendbuf=ABCDrn;void DHT11();void SendByte(unsigned char dat);void conversion(long temp

38、_data);void WriteDataLCM(uchar dataW);void WriteCommandLCM(uchar CMD,uchar Attribc);void DisplayOneChar(uchar X,uchar Y,uchar DData);void InitLcd();void loading();void show_main();void show_RH();void show_T();void SendStr(unsigned char *s);/发送一个字节void suspend_int();void SendByte(unsigned char dat);s

39、bit LCM_RS=P22; /LCD1602命令端口sbit LCM_RW=P21; /LCD1602命令端口sbit LCM_EN=P20; /LCD1602命令端口 sbit key1=P12;sbit bee=P25;void InitLcd()WriteCommandLCM(0x38,1);WriteCommandLCM(0x08,1);WriteCommandLCM(0x01,1);WriteCommandLCM(0x06,1);WriteCommandLCM(0x0c,1);/*/void DisplayOneChar(uchar X,uchar Y,uchar DData)Y

40、&=1;X&=15;if(Y)X|=0x40;X|=0x80;WriteCommandLCM(X,0);WriteDataLCM(DData);void WaitForEnable(void)DataPort=0xff;LCM_RS=0;LCM_RW=1;_nop_();LCM_EN=1;_nop_();_nop_();while(DataPort&0x80);LCM_EN=0;/*/void WriteCommandLCM(uchar CMD,uchar Attribc)if(Attribc)WaitForEnable();LCM_RS=0;LCM_RW=0;_nop_();DataPort

41、=CMD;_nop_();_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;/*/void WriteDataLCM(uchar dataW)WaitForEnable();LCM_RS=1;LCM_RW=0;_nop_();DataPort=dataW;_nop_();_nop_();LCM_EN=1;_nop_();_nop_();LCM_EN=0;void DHT11() read();if(flag=1)a = 0x30+t_h_dat/10;/分离温度十位b = 0x30+t_h_dat%10;/分离温度个位e = 0x30+rh_h_dat/10;

42、/分离湿度十位f =0x30+rh_h_dat%10;/分离湿度个位Sendbuf0=e;Sendbuf1=f;Sendbuf2=a;Sendbuf3=b; delay(30);void conversion(long temp_data) /取值运算 shiwan=temp_data/100000+0x30 ; temp_data=temp_data%100000; /取余运算 wan=temp_data/10000+0x30 ; temp_data=temp_data%10000; /取余运算qian=temp_data/1000+0x30 ; temp_data=temp_data%10

43、00; /取余运算 bai=temp_data/100+0x30 ; temp_data=temp_data%100; /取余运算 shi=temp_data/10+0x30 ; temp_data=temp_data%10; /取余运算 ge=temp_data+0x30; void show_main() InitLcd(); DisplayOneChar(3,0,e); DisplayOneChar(4,0,f); DisplayOneChar(5,0,%); /湿度显示 DisplayOneChar(6,0,R); DisplayOneChar(7,0,H); DelayMs(1);

44、DisplayOneChar(9,0,T); DisplayOneChar(10,0,:); DisplayOneChar(11,0,a); DisplayOneChar(12,0,b); /温度显示 DisplayOneChar(13,0,0XDF); DisplayOneChar(14,0,C); void loading() DisplayOneChar(3,0,L); DisplayOneChar(4,0,o); DisplayOneChar(5,0,a); DisplayOneChar(6,0,d); DisplayOneChar(7,0,i); DisplayOneChar(8,0

45、,n); DisplayOneChar(9,0,g); DisplayOneChar(10,0,.); DisplayOneChar(11,0,.); DisplayOneChar(12,0,.); /*- 发送一个字符串-*/ void SendByte(unsigned char dat) SBUF = dat; while(!TI); TI = 0;void SendStr(unsigned char *s) while(*s!=0)/ 0 表示字符串结束标志,通过检测是否字符串末尾 SendByte(*s); s+; void InitUART (void) /串口初始化 SCON =

46、 0x50; / SCON: 模式 1, 8-bit UART, 使能接收 TMOD |= 0x20; / TMOD: timer 1, mode 2, 8-bit 重装 TH1 = 0xFD; / TH1: 重装值 9600 波特率 晶振 11.0592MHz TR1 = 1; / TR1: timer 1 打开 EA = 1; /打开总中断 / ES = 1; /打开串口中断 void UART_SER (void) interrupt 4 /串行中断服务程序 unsigned char Temp; /定义临时变量 if(RI) /判断是接收中断产生 RI=0; /标志位清零 Temp=S

47、BUF; /读入缓冲区的值 P1=Temp; /把值输出到P1口,用于观察 SBUF=Temp; /把接收到的值再发回电脑端 if(TI) /如果是发送标志位,清零 TI=0;void main()bee=0;InitLcd();/液晶初始化 loading();DelayMs(100);InitUART();if(key1=0) while(1) DHT11();/湿度温度数据读取DelayMs(50);show_main();DelayMs(200);SendStr(Sendbuf); 2 DHT11部分/*DHT11温湿传感器驱动*/#include #includeDelay.h#in

48、cludeDHT11.h#include#include sbit DQ=P25; /DHT11数据线/单总线IOextern uchar rh_h_dat,rh_l_dat,t_h_dat,t_l_dat,jy_dat,check;uint count;extern uchar shidu,flag;uchar k=0x10;bit DHT_init() /DHT11的初始存在bit f=0;DQ=1;_nop_();DQ=0; /拉低总线大于18msdelay(18);DQ=1; /拉高delay10us();delay10us();delay10us();delay10us(); /延时

49、30uswhile(!DQ) /DHT响应80us的低电平信号f=1;while(DQ); /dht在拉高80usreturn f; uchar rdat() /读一个字节uint i,dat;for(i=0;i5) /高低电平信号的时间不同,若大于50ms则为1 dat=dat|0x01;else /否则为0dat=dat&0xfe;count=0;_nop_();_nop_();_nop_();return dat;void read() /读5个字节的 bit f;f=DHT_init();if(f=1)rh_h_dat=rdat(); /前两个是湿度的整数、小数rh_l_dat=rda

50、t();t_h_dat=rdat(); /后两个是温度的整数小数t_l_dat=rdat();jy_dat=rdat(); /最后一位校验位DQ=1;check=rh_h_dat+rh_l_dat+t_h_dat+t_l_dat; /检验数据是否正确if(jy_dat=check)flag=1;3 delay部分#includeDelay.hvoid delay(uint z) /长延时msuint i,j;for(i=110;i0;i-)for(j=z;j0;j-);void delay10us() /10us的延时uint i=5;i-;i-;i-;i-;i-;/*- mS延时函数,含有输

51、入参数 unsigned char t,无返回值-*/void DelayMs(unsigned int t) while(t-) int d; for(d=100;d0;d-); delay10us(); 总结与体会在设计中,主要是以TC89C52单片机为核心,对温度和湿度的检测与控制智能化进行了简单的设计与阐述。对MCS-51单片机系统的温湿度检测控制原理与结构进行了论述。本次设计可以说是软硬结合,又以硬件为主,软件程序为辅。给出了检测系统与控制系统的各部分电路以及相对应的程序。采用模块统与控制系统的各部分电路以及相对应的程序。采用模块化、层次化设计。用温温度传感器DHT11主要实现对温度、湿度的检测,将温度湿度信号通过传感器进行信号的采集并转换成数字信号,再运用单片机STC89C52进行数据的分析和处理,为显示和报警电路提供信号,实现对温湿度的控制报警。报警系统根据设定报警的上下限值实现报警功能,显示部分采用1602液晶显示所测温湿度值。实验证明该设计系统实现了对环境温湿度精确控制,达到了相应的效果,系统电路简单、集成度高、工作稳定、调试方便、检测精度高,具有一定的实用价值。表格允许下页接写,表题可省略,表头应重复写,并在右上方写“续表”。

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