欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载
     

    毕业论文-基于STC89C5单片机的室内温湿度计的设计.doc

    • 资源ID:3943115       资源大小:797KB        全文页数:29页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业论文-基于STC89C5单片机的室内温湿度计的设计.doc

    郑州航空工业管理学院 毕 业 论 文(设 计) 2013 届 电子信息工程 专业 0913082 班级题 目 基于STC89C5单片机的室内温湿度计的设计 姓 名 学号 指导教师 职称 讲 师 二一 三 年 五 月 十九 日 内 容 摘 要 本次设计是采用MSC-51系列单片机中的STC89C52和DHT11的低成本的温湿度的检测系统。本设计主要包括硬件电路的设计和系统软件的设计。硬件电路主要包括单片机、温湿度传感器、显示模块、报警器以及键盘等5部分,由DHT11温湿度传感器及1602字符型液晶模块构成系统显示模块,该系统电路简单、工作稳定、集成度高,调试方便,测试精度高,具有一定的实用价值。其中测温湿度控制电路由温湿度传感器和预设温度值比较报警电路组成,用户根据需要输入预设值,当实际测量的温湿度大于预设的温湿度数值时,发出报警信号(蜂鸣器蜂鸣,led灯亮)。软件部分包括了主程序、显示子程序、测温湿度子程序。本次设计采用的DHT11温湿度传感器是一款含有已校准数字输出的温湿度复合传感器,传感器包括一个电阻式感湿原件和一个NTC测温元件,并与一个高性能的8位单片机相连接。关键词:温度测量; 湿度测量; STC89C52; DHT11 Abstract This design is the use of MSC-51 Series MCU STC89C52 and DHT11 in the low-cost temperature and humidity detection system. This design includes the design of hardware and system software design. Hardware circuit includes a microcontroller, temperature and humidity sensors, display module, the alarm and the keyboard 5, the DHT11 temperature and humidity sensor and 1602 constitute a system of character LCD module display module, the system circuit is simple, stable, high integration, commissioning Convenient, high precision, has some practical value. Temperature and humidity control circuit in which the temperature and humidity sensors and compare the value of the preset temperature alarm circuit, the user input required pre-default value, when the actual temperature and humidity measurements of temperature and humidity is greater than the preset value, an alarm signal (bee Buzzer beep). Software part includes the main program, display routines, subroutines side temperature and humidity。The design uses the DHT11 temperature and humidity sensors is a digital output with a calibrated temperature and humidity combined sensor, the sensor includes a resistance and a sense of the original wet NTC temperature measurement devices, and with a high-performance 8-bit microcontroller connected.Key words:Temperature measurement; Humidity measurement;STC89C52; DHT11 目 录第一章 绪 论- 1 -1.1 研究背景及意义- 1 -1.2 研究要实现的功能- 1 -第二章 设计分析及方案论- 3 -2.1 设计总体方案及方案论证- 3 -2.2 元器件的选择- 4 -2.2.1 主控制器件:单片机- 4 -2.2.2 传感器:温湿度传感器dht11- 5 -2.2.3 显示器件:lcd1602- 8 -第三章 硬件电路图的设计- 12 -3.1 报警电路- 12 -3.2 晶振电路- 13 -3. 3 显示电路- 14 -3.4 传感器电路- 14 -3.5 复位电路- 15 -3.6 总体电路- 16 -第四章 软件部分设计- 18 -4.1 程序流程图- 18 -总 结- 19 -致 谢- 20 -参考文献- 20 -附 录- 21 -源程序- 21 - 第一章 绪 论1.1 研究背景及意义随着人们生活水平的不断提高,人们对其生存质量做出更高的要求。因此家居内的基本环境如湿度、温度有必要做出一定精度的监测以让人们和最佳舒适感系数做出简单明了的判别,从而采取一定措施以达到最佳舒适度。环境控制也就成了人们安居乐业的基础,成了共建和谐环境的重要环节。尤其是目前生活节奏的加快,许多白领都出现了亚健康的状态,因此家庭温湿度的检测对于现代家庭来说也变得刻不容缓了。因此为了满足最适宜人们生活的最佳温度和湿度,我们需要研究一种家庭式的,便于提醒和控制温湿度的装置,人们可以根据不同季节以及个人的需要进行不同的调整,以便达到最佳的居住环境,这不仅仅是对于环境要求的进步,同时也体现了现代文明的发达与先进。研究温湿度的控制非常有必要,它可以优化组合社区资源,提升服务水平,推动反房地产等其他行业的发展,为他们带来新的商机。并且可以移植到汽车,仓库,蔬菜大棚等有限空间的温湿度数据采集系统中去。因此,具有广阔的应用前景和用途。1.2 研究要实现的功能本设计的目的就是了解对室内的温湿环境的实现方法,和应用到的有关软硬件知识。实现的功能有实时温度,湿度智能显示。并且能够智能报警从而采取相应措施。便于提醒和控制温湿度的装置,人们可以根据不同季节以及个人的需要进行不同的调整,采用DHT11数字温湿度传感器与单片机STC89C52相连外围电路比较简单。 所以,本次设计以DHT11数字温湿度传感器为例,介绍基于单片机的数字温湿度计的设计提出解决。 - 2 - 第二章 设计分析及方案论2.1 设计总体方案及方案论证按照系统设计功能的要求,确定系统由5个模块组成:主控制器,数字温湿度传感器,报警电路,按键电路及驱动显示电路。如图2.1驱动显示模块块模块报警电路按键电路温湿度传感器主控制器 图2.1 总体电路框图单片机作为主控制器,主要负责处理由温湿度传感器送来数据,并把处理好的数据送向显示器模块,数据温湿度传感器主要用来采集周围的环境参数,并把所采集到得数据送向单片机,按键电路主要是用来完成单片机的复位操作和温湿度初始值的设定。蜂鸣器电路就是用三极管来实现的,用来判断周围的温度或者湿度是否超出设定数值,显示电路主要用来显示当前的温湿度。2.2 元器件的选择2.2.1 主控制器件:单片机STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口,内置8KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。单片机管脚图如2.2所示图2.2 STC89C52单片机管脚图2.2.2 传感器:温湿度传感器dht11DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的温湿度传感和数字模块采集技术,具有很高的稳定性和可靠性,DHT11传感器内含一个NTC测温和一个电阻式感湿元件,并与一个8位的高性能单片机相连接,在精确的湿度校验室中DHT11传感器进行过校准,以程序的形式校准系数储存在0TP内存中,检测信号的时候,在处理过程中传感器内部要调用这些校准系数,采用单线制的串行接口,使系统集成可以有较低的功耗,而且更加简单快速,信号传输距离超过20米,作为一个数字温湿度传感器DHT11具有响应快速、抗干扰强、性价比高等优点,它的性能指标如下:湿度测量范围为2095RH;湿度测量精度为±5RH;温度测量范围为050 ,温度测量精度为±2,工作电压3055 V,相应时间<5S,DHT1l采用4针单排引脚封装, 传感器通电后,需要等待1s,这是因为要越过不稳定的状态,在此期间不需发送指令,电源引脚(VDD,GND)之间可增加一个100nF 的电容,用以去耦滤波7。传感器应用电路:图2.3。实物图:图2.4图2.3 传感器电路 图2.4 dht1实物图 串行接口(单线双向)采用单总线数据格式,DATA 用于微处理器与DHT11之间的通讯和同步,一次通讯时间4ms左右,数据分小数部分和整数部分。通讯过程如图2.5所示图2.5 通讯过程总线空闲状态为高电平的时候主机把总线拉低等待DHT11响应, DHT11能检测到起始信号,主机必须把总线拉低,至少大于18ms。DHT11一旦接收到主机的开始信号,接着就等待开始信号的结束,然后发送80us的低电平响应信号,要读取DHT11的响应信号,必须等待开始信号的结束,并延时等待20-40us后才能够接受,主机发送开始信号后,这时候就可输出高电平或切换到输入模式,接着总线由上拉电阻拉高。DHT11发送响应信号的时候总线为低电平 ,DHT11把总线拉高80us之前,必须等到响应信号发送,准备发送数据时,每一bit数据都以50us低电平时隙开始,数据位是0或1是由高电平的长或短来决定。假如响应信号的读取为高电平,但是DHT11无响应响应,这时候说明路线可能连接不正常,当最后一bit数据传送结束后,DHT11把总线拉低50us,接着总线由上拉电阻拉高进入空闲状态。数字0信号表示方法如图2.6所示图2.6 数字0信号表示方法数字1信号表示方法.如图2.7所示:图2.7 信号1 表示方法2.2.3 显示器件:lcd1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(Simple Matrix)和主动矩阵驱动(Active Matrix)三种。点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字。字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。下面以长沙太阳人电子有限公司的1602字符型液晶显示器为例,介绍其用法。一般1602字符型液晶显示器实物如图2.8所示:图2.8 1602字符型液晶显示器实物图1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图2.9所示:图1.9 1602LCD尺寸图 图 2.9 1602 基本参数1602LCD主要技术参数:显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm显示部分采用SMC 1602液晶屏进行数据显示,其主要技术参为:表1所示。信号说明为表2所示.表1 液晶屏技术指标显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.omA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(WXH)mm 表2 信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D3Data I/O3VL液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读/写选择端13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLA背光源负极 第三章 硬件电路图的设计3.1 报警电路微型计算机控制系统中,为了安全起见,对于一些重要的参数或系统,都设定有紧急状态报警系统,以便于提醒操作人员注意,或者采取紧急措施,本设计采用把计算机采集的数据进行数据处理、标度变换、数字滤波之后,与该参数上下限与给定值进行比较,如果高于上限值则进行报警,否则就作为采样的正常值,进行显示。本设计采用峰鸣音报警电路。如图3.1所示。蜂鸣器额定电流30Ma,而对于STC89C52单片机,P1口的灌电流为15mA,由此可见,仅靠单片机的P3口电流是不能驱动蜂鸣器的,必须使用晶体管放大电路,为了使单片机的功率更小,所以使用PNP型晶体管,当外部环境的温度或者湿度超过预设值的时候,基级变为低电平,蜂鸣器导通鸣叫。 图3.1 报警电路 3.2 晶振电路单片机系统都有晶振,在单片机系统中晶振的作用非常大,全称叫做晶体振荡器,它结合单片机内部电路产生所需时钟频率,单片机晶振提供的时钟频率越高,那么单片机的运行速度就会越快,单片机的一切指令执行都是建立在单片机晶振所提供的时钟频率。在通常的工作条件下,普通的晶振频率的绝对精度可以达到百万分之五十,高级晶振精度更高,有些晶振还可以由外加的电压在一定范围内调整频率,称为压榨振荡器,在共振的状态下晶振用一种能把电能和机械能相互转化的晶体工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供及本周的时钟信号,通常一个系统共用一个晶振,以便于各部分保持同步,有些通讯系统的基频和射频使用不同的晶振,而是通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率,可以用于同一个晶振项链的不同锁相环来提供的。单片机STC89C52的晶振电路采用无源晶振,微调电容取33uf。图3.2即为晶振电路。 图3.2 晶振电路3. 3 显示电路在日常生活中,我们对液晶显示器并不陌生,它已作为很多电子产品的通过器件,比方在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。显示模块选用1602字符型液晶模块,它是目前工控系统中使用最广泛的液晶屏之一,由于它显示的质量高,电路图如图3.3所示,1602字符型液晶模块是点阵型液晶,驱动方便,经过编程后显示内容多样化。 图 3.3 lcd1602显示电路3.4 传感器电路DHT11是数字型温湿度传感器,可直接以数字方式传输所采集的当前环境温湿度,DHT11采用的是单总线通信,因此只需将单片机的一个IO端口与DHT11的通信接口连接就可以实现数据的采集和传送,相对于其他电路来说比较简单。如图3.4所示: 图3.4 传感器电路3.5 复位电路本次设计采用的是上电复位,而51单片机采用的都是高电平复位,当RST引脚上出现了两个周期以上的高电平就会触发内部复位,如图3.5所示: 图3.5 复位电路3.6 总体电路总体电路图如图3.6所示:图 3.6 总体电路图第四章 软件部分设计4.1 程序流程图 开始通讯复位启动传输定时器初始化写湿度指令成功OK=1失败 ERROR=1读湿度值成功OK=1失败 ERROR=1写温度指令成功OK=1失败 ERROR=1读温度值成功OK=1失败 ERROR=1ERROR=1?Y数据处理显示处理通讯复位启动传输N定时器时间到中断其它程序设置初始值刷新lcd回到中断点总 结 大学的学习中,毕业设计是一个很重要的环节,是我们步入社会参与社会实践的很好锻炼,从最初的选题,开题构思,绘图,编程,仿真直到完成设计,这中间,查找资料,老师指导,同学交流,编写调试程序,以及硬件焊接,每一个过程都是一次成长和对自己的一次的检验。本次设计是基于单片机的温湿度设计,包括硬件电路和软件两部分。设计初对于单片机的应用并不是很了解,本科学习中初步接触过C语言,由于本次设计需要硬件和软件两部分,因此我是从软件部分先开始的,然后才开始硬件电路的设计,但是由于软件的不完美影响了硬件电路设计的不是很美观。在软件设计过程中,我基本是一步步开始学起的,在学习中遇到很多问题,经过同学的指点和讨论,我学到了很多编程技巧,同时也掌握了一些编程思想。由于原器件的局限性,硬件电路不是很美观,但是这并不影响结果,再画原理图的过程中我又进一步掌握了proteus的基本应用,并有了较为深入的了解。由于电路设计比较简单,所以并没有涉及PCB板,直接手动焊接完成电路。通过本次设计,对于主要芯片STC89C52有了基本的了解,并且对DHT11传感器有了切实的了解何在实际中的应用有了深刻的认识。基本掌握了该芯片的基本功能。经过软件在硬件电路的时候,基本功能均能实现,如果把手放在传感器上面,温度和湿度会立即发生变化。并且温湿度上下限可以实时调节。致 谢四年的大学生活接近尾声,我的毕业设计也顺利的完成了,这里首先向我的指导老师王丹老师表示最诚挚的感谢,同时也感谢那些帮助过我的同学们。在本次的毕业设计中王老师给我提供了极大的帮助,首先在一开始的选题中我便遇到了难题,由于当时选题的时候不在学校,回到学校面对众多选题不知该选哪一个,好在老师在时间上给了我很大的宽限,让我有足够的时间回头复习一下专业知识,然后选题,最终选了一个自己擅长和喜欢的方向。因此毕业设计对于自己来说也是充满着兴趣,这样做出来的东西可能会更加完美和轻松。在毕业设计的过程中,王老师定期检查督促我们的毕业设计,帮我们解决遇到的问题。王老师认真负责的态度让我倍受感激。同时在此也感谢白鑫和丁宝宝同学,他们解决了许多我在毕业设计中遇到的问题,特别是刚开始软件的学习中,他们给了我很大的帮助。在此向所有毕业设计的过程中给予我帮助的老师和同学表示最诚挚的谢意。参考文献1徐 玮.C51单片机高效入门 第二版 机械工业出版社2汤武辉.Proteus仿真软件与单片机实验教学长江 大学学报3李建民.单片机在温度控制系统中的应用 网络信息资源4陈汝全.实用微机与单片机控制技术 电子科技大学出版社5刘宝元.张玉虹 基于单片机的温湿度监控系统设计 国外电子测量技术 附 录源程序#include<reg52.h>#include<intrins.h>#define SIZE 5/定义存贮数组为五个字节#define NUMBER 20#define OK 1#define ERROR 0typedef unsigned char uchar;typedef unsigned int uint;uint shidu,wendu;uint wen_sx=0;/温度上限uint shi_sx=0;/湿度上限uchar num;uchar STATUS = OK; /状态标志uchar code table="wendu:" /温度uchar code table1="shidu:"/湿度uchar code table2="0123456789"uchar value_arraySIZE;uchar bai,shi,ge,bai1,shi1,ge1,num1,shi2,ge2,shi3,ge3; /*各个变量定义*/uchar count,shidu_xiaoshu,wendu_xiaoshu;/标志,问四度小数部分uchar num;sbit e=P27;sbit rs=P26;sbit wr=P25;sbit DHT11=P17;/ 传感器传输总线定义sbit s1=P11; /按键定义sbit s2=P12;sbit s3=P13;sbit s4=P14;sbit baojing=P15;/ 报警位定义sbit led=P34; void delay_5us() _nop_(); _nop_(); _nop_(); _nop_(); _nop_();void delay(uint delay)uint i,j;for(i=0;i<delay;i+)for(j=0;j<120;j+);uchar read_one_byte(void)uchar count,value=0,i=0;STATUS = OK;for(i=8;i>0;i-)value <<= 1;count = 0;while(DHT11 = 0 && count+<NUMBER);if(count>=NUMBER)STATUS = ERROR;return 0;delay_5us();delay_5us();delay_5us();if(DHT11 != 0)value +;while(DHT11 != 0&& count+ <NUMBER)DHT11 = 1;if(count>=NUMBER)STATUS = ERROR;return 0;return value;uchar ReadValue(void)uchar count=0,check_value=0,i=0;DHT11 = 0;delay(20);DHT11 = 1;delay_5us();delay_5us();delay_5us();delay_5us();if(DHT11 != 0)return ERROR;while(DHT11 = 0 && count+<NUMBER);if(count>=NUMBER) DHT11 = 1; return ERROR;count = 0;DHT11 = 1;while(DHT11 != 0 &&count+<NUMBER);if(count>=NUMBER) DHT11 = 1; return ERROR;for(i=0;i<SIZE;i+)value_arrayi=read_one_byte();if(STATUS=ERROR)DHT11 = 1;return ERROR;if(i!=SIZE-1)check_value+=value_arrayi;if(check_value=value_arraySIZE-1)shidu = value_array0*10 + value_array1/100;wendu = value_array2*10 + value_array3/100;DHT11 = 1;return OK;elsereturn ERROR;void delayms(uint z) uint x,y;for(x=z;x>0;x-)for(y=110;y>0;y-);void writedata1602(uchar Data)e=0;rs=0;rs=1; /rs为一时写数据delayms(1);P0=Data;e=1;delayms(1);e=0;rs=0;void writecom1602(uchar Data1)e=0;rs=1;rs=0; /rs为0时写命令delayms(1);P0=Data1;e=1;delayms(1);e=0;rs=1;void lcd_int()/lcd初始化e=0;writecom1602(0x38);writecom1602(0x0c);writecom1602(0x06);writecom1602(0x80);void interrupt_init()TMOD=0X01; TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1; void keyscan() if(s1=0) delay(50); if(s1=0) if(wen_sx<50) wen_sx+;/按键1按下时温度上限增加 else( wen_sx=0); /当上限大于五十时,变为0 if(s2=0) delay(50); if(s2=0) if(wen_sx>0) wen_sx-;/温度上限大于0时,使温度上限减小 else( wen_sx=50); /当减小到零时,为50if(s3=0) delay(50); if(s3=0) if(shi_sx<95) shi_sx+;/使湿度上限值增加 else( shi_sx=0); /上限大于95时,变为0 if(s4=0) delay(50); if(s4=0) if(shi_sx>0) shi_sx-; /使湿度上限值减小 else( shi_sx=95); / 减小到零时变为95 void kongzhi()/控制报警 if(wendu/10>=wen_sx)|(shidu/10>=shi_sx) /此处 设定预设温度 baojing=0; /报警,蜂鸣器响 led=0; /led灯亮 num+; if(num=20) num=0; baojing=baojing;/取反 led=led; else baojing=1; /不报警,灯不亮 led=1; /*-中断处理液晶显示函数-*/void timer0() interrupt1TH0=(65536-50000)/256;TL0=(65536-50000)%256;count+; if(count=3) ReadValue(); /读温度值keyscan(); /按键扫描程序 bai=wendu/100;/温度,湿度值各位进行分离 shi=wendu%100/10; ge=wendu%10; bai1=shidu/100; shi1=shidu%100/10; ge1=shidu%10; shi2=wen_sx/10;ge2=wen_sx%10/1;shi3=shi_sx/10;ge3=shi_sx%10/1;writecom1602(0x80);/写指令 for(num=0;num<6;num+)writedata1602(tablenum); / delay(20); /* 写入温湿度以及温湿度上限值数据*/writedata1602(table2bai);writedata1602(table2shi);writedata1602('.');writedata1602(table2ge);writedata1602(0xdf);writedata1602('C');writedata1602('-');writedata1602(table2shi2);writedata1602(table2ge2);writecom1602(0x80+0x40);for(num1=0;num1<6;num1+)writedata1602(table1num1);

    注意事项

    本文(毕业论文-基于STC89C5单片机的室内温湿度计的设计.doc)为本站会员(韩长文)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开