




已阅读5页,还剩37页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要本次设计是采用STC89C54单片机加上低成本的温湿度模块DHT11构成的温湿度检测系统。设计主要由硬件与软件两部分设计构成。硬件方面包括单片机STC89C54、温湿度模块DHT11、显示模块LCD1602、电池电源、I2C存储器以及控制按键等5个部分。此系统完全基于单片机最小系统并进行一定的改进,系统电路简单,工作稳定,调试方便,可以精确到1,因此具有一定实用性。系统提供3中工作模式,可以分别显示温度、湿度、温湿度报警上下限,超出温湿度限定的范围蜂鸣器实现报警。为了方便实用,系统使用3节1.5v电池作为电源,方便使用。软件部分则是本系统所使用的C语言程序。 DHT11数字温湿度传感器是一款含有已校准熟悉信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。单片机STC89C54是一款价格便宜,性能高强的CMOS8位单片机。【关键词】 STC89C54 DHT11 温度 湿度 报警ABSTRACT This design is the STC89C54 single-chip microcomputer and low cost of the temperature and humidity of the temperature and humidity DHT11 module a detection system.Design mainly by the hardware and software design consists of two parts. Hardware including monolithic integrated circuit AT89S52, temperature and humidity DHT11 module, display module LCD1602, battery power supply, the I2C memory and control such as keys in five parts. This system is completely based on single chip minimize system and some improvement, the system circuit is simple, stable work, convenient debug, accurate to 1, so there are some practical. Three of the system to provide the work mode, can show different temperature, humidity, temperature and humidity on the alarm limit,and Beyond the range of temperature and humidity limit buzzer realize the alarm. In order to facilitate the practical, systems use 3 quarter 1.5 v battery as a power supply, convenient use. Software part is the system used by C language program. DHT11 digital temperature and humidity sensor is a contain already calibration familiar with signal output of the temperature and humidity sensor compound, used special digital module collection technology and temperature and humidity sensor technology to ensure that products with high reliability and excellent long-term stability. Sensors including a resistive are wet components and a NTC (temperature sensor, and with a high performance eight single chip connected. So the product has excellent quality, super fast response, anti-jamming ability, extremely cost-effective higher advantages. SCM STC89C54 is a cheaper price, performance of high strength CMOS8 a single-chip microcomputer.【Key words】STC89C54 DHT11 temperature humidity alarm前 言11设计的引出12 设计的意义13 传感器的发展14 设计的目的与内容1第一章 系统设计21.1 设计任务2单片机的温湿度检测系统,能够实时监控当前环境的温度、湿度。21.2 设计要求2第二章 总体方案的确定22.1 设计的总体概略22.2 设计方案的选定32.2.1 单片机32.2.2 温湿度传感器42.2.3 显示器5第三章 系统硬件设计53.1单片机STC89C54简介53.1.1主要特性63.1.2 引脚功能说明63.2 温湿度传感器DHT11简介和电路图83.3 显示器LCD1602简介和电路图103.4 报警系统设计113.5 键盘设计113.6 复位电路设计123.7 晶振电路设计123.8 AT24C02存储器电路设计13第四章 系统软件设计模块134.1系统流程图134.2 按键扫描子程序144.3编程思想16结束语16致 谢17参考文献18整个系统原理图19程序清单2039前言1设计的引出在当前社会中,各个行业的发展都极为迅速。尤其是进入21世纪后,整个中国的社会都发生了巨大的变革,社会成分日益复杂,社会利益重新分配,人民生活急剧变化。物质领域和精神领域的生活、医疗、教育、服务等广泛领域都发生了极大的变化。面对社会变革带来的新情况、新问题,都要求我们去了解、去解决。其中对于环境温湿度的检测也成为了必不可少的一件事。不同人对于温湿度差异所造成的影响都各不相同,对于夏天的中暑,冬天的感冒等等屡见不鲜。为了让人们可以更明确的了解温湿度变化,国家采取了天气预报的方式。但这只是一种大范围性的估计,我们需要研究一种简单的、家庭的装置方便人们根据所显示的数据调整自身环境,以达到最佳的居住环境,这是社会发展中不可或缺的一步。2 设计的意义由于时代的进步,人民生活的极大提高,人们对于生活环境的需求日益提高,而由于温湿度差异所造成的影响对人们生活造成了极大的不便。对于生活环境温湿度的检测已经成了一项必不可少的研修方向。当温湿度可以把握的情况下,人们可以根据需要调节室内环境。研究温湿度的检测很有必要,它可以让人们正确把握自身环境,同时也可以据此预测环境的变化等等。具有比较重要的意义。3 传感器的发展传感器是现代信息技术的三大基础之一。随着监控系统的自动化、智能化的发展,要求传感器准确度高、可靠性高、稳定性号,并具备一定的数据处理能力。传感器本身是一种物理装置,能够探测外界的信号、物理条件(如光、热、湿度等)并将弹指的信息传给其他装置。随着继承化技术的发展,各类混合集成和单片机继承式压力传感器的相继出现,传感器得到快速的发展和推广,并逐步迈向集成化、多功能化、智能化。其中温湿度传感器也是发展中的重要一员,温湿度传感器从一开始的板子变成至今的集成块,历经很多跨越式的进步,并能够做到对当前所测数据的检测。已经具备了一定的智能化。随着科技的进步,温湿度传感器同样也要进一步发展,如何能使得其在稳定性、精确性等方面有更大的方面发展显的尤为重要4 设计的目的与内容 设计的目的是为了满足人们对于家居环境温湿度的不同需求,让人们可以清楚的了解自身所处环境的不同状况并作出适当调整。设计的内容主要是温湿度的检测。设计中采取了数字化的温度检测,当环境温度发生改变时,湿度传感器和温度传感器也将同时发生变化、主要是其中的感应电阻会发生阻值的变化,并通过电路将之转化为电压型号,再由A/D转换器变为数字信号送入单片机中,通过单片机进行数据的过滤处理,再由单片机将信号传出通过外部显示设备显示该温湿度。该系统设置按键可以分3种模式显示温湿度,并采用简单的干电池作为电源,方便实用。第一章 系统设计1.1 设计任务单片机的温湿度检测系统,能够实时监控当前环境的温度、湿度。1.2 设计要求1、上电显示环境温湿度值。带温湿度报警、显示功能,可超过报警范围(报警上限值和下限值),相应的LED灯亮。2、支持串口通信,把温度值、湿度值发送串口调试助手。第二章 总体方案的确定2.1 设计的总体概略 本设计总体思路为:信息采集信息处理信息显示/报警。它的主要模块为单片机模块,温湿度采集模块,显示模块,键盘模块,LED报警模块,电源模块,设计方块图如下:单片机模块温湿度采集模块键盘模块显示模块LED报警模块电源模块设计方案模型图2.2 设计方案的选定2.2.1 单片机方案一:采用AT89C51单片机作为硬件核心。其内部具有4KB Flash ROM存储空间,可以用3V的比较低压工作,能与MCS-51系列单片机完全兼容,但是在电路设计的应用中由于不具备ISP在线编程技术,当在对电路进行调试时,由于对程序的错误修改或程序的新增功能需要烧入程序时,其会造成一定的损坏当对芯片的多次拔插时。方案二:采用STC89C54单片机作为硬件核心。具有8K 在系统可编程Flash 存储器,可以用3V的比较低压工作,其能与MCS-51系列单片机完全兼容,AT89C51的功能完全具有,当在对电路进行调试时,由于对程序的错误修改或程序的新增功能需要烧入程序时,也不必要对芯片重复拔插,所以很大程度上对芯片造成损坏基本没有。STC89C54和AT89C51都是8051的内核,只不过54的内部资源比51多,比如增加了一个16位的计数器T2,当然相应的特殊寄存器(SFR)也有了一点变化,另外52的内存也从51的128字节提高到了256字节,ROM也从4K提高到8K,可以装下更大的程序,但是若单从运算速度来讲,由于二者都是8051的直系后代,基本上可以认为二者运算性能相同。考虑到内存的增加对较复杂的程序带来的好处,54的总体性能是要比51好不少的。另外S54比C51还增加了ISP功能,就是在线可编程功能,这可是很有用的功能,首先是省去购买编程器的钱。两者在价格上区别不大,综上比较,根据本设计内容选择方案二2.2.2 温湿度传感器 目前传感器应用非常广泛,传感器的品种繁多,本次设计选择DHT11和SHT11进行比较,根据最适合本设计的方案用之。方案一 DHT11: 湿度测量范围:2095%RH; 温度度测量范围:0 50; 湿度测量精度: 5%RH 温度测量精度:2 方案二 SHT11: 湿度测量范围:0100%RH; 温度测量范围:-40+123.8; 温度测量精度: 0.4 湿度测量精度:3.0%RH虽然SHT11测量精度比较高,但是DHT11从价格上来说远远低于SHT11,本设计主要应用于人的日常生活,选择合适的元器件用做设计,DHT11完成能满足我们日常生活检测的需求,故本次设计选择DHT11作为设计温湿度传感器。其实物图如下:2.2.3 显示器方案一:数码管显示,数码管按段数分为七段数码管和八段数码管,起驱动方式分别为静态驱动和动态驱动,静态驱动编程简单,显示亮度高但是占用I/O端口多,在十几应用时必须增加译码器驱动进行驱动,增加了硬件电路的复杂性。动态电路是最广泛的显示方式之一,其能够节省大量的I/O端口,而且功耗低。针对数码管,其显示单调不具备数据的直观性。方案二:LCD1602液晶显示,具有字符发生器ROM,可显示192种字符(32个5x10点阵字符和160个5x7点阵字符和),具有64个字节的自定义字符RAM,可以自定义4个5x11点阵字符或8个5x8点阵字符。具有80个字节的RAM,标准的接口特性,适配m6800系列mpu的操作时序。模块结构轻巧、紧凑、装配容易,像素分辨率高,尺寸小。对于本次设计,只要同时能直观地显示温度湿度出来就可以了,选择LCD1602能够把温湿度很直观的显示出来,而且不占用资源,在设定阈值时更能简洁明了,1602能显示两行字符,恰好对应分配给温度和湿度,本次设计选择LCD1602为显示元件。1602实物图如下:第三章 系统硬件设计3.1单片机STC89C54简介STC89C54是一种高性能、低功耗的CMOS八位微控制器,具有8K在系统在线可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品引脚和指令完全兼容。片上Flash允许ROM在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使其为众多嵌入式控制应用系统提供灵活的解决方案。 3.1.1主要特性(1) 低功耗空闲和掉电模式;(2) 全静态操作:0Hz33Hz;(3) 八个中断源;(4) 8K字节在系统可编程Flash存储器;(5) 掉电标识符;(6) 三级加密程序存储器;(7) 与MCS-51单片机产品兼容;(8) 全双工UART串行通道;(9) 三个16位定时器/计数器;(10) 看门狗定时器;(11) 双数据指针;(12) 1000次擦写周期;(13)32个可编程I/O口线。3.1.2 引脚功能说明 VCC:电源GND:地 P0口:8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问数据存储器和外部程序时,P0口也被作为低8位数据/地址复用。在这种模式下,P0具有内部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:具有内部上拉电阻的8位双向I/O口,P1输出缓冲器可以驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P10和P12分别作定时器/计数器的外部计数输入(P10/T2)和定时器/计数器的触发输入(P11/T2EX),具体如下表所示。在Flash编程和校验时,P1口接收低8位地址字节。P1口引脚的功能引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的重载/捕捉触发信号和方向控制)P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用) P2口:具有内部上拉电阻的8位双向I/O口,P2输出缓冲器驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在方位外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在Flash编程和校验时,P2口也接收一些控制信号和高8位地址字节。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动四个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C54特殊功能(第二功能)使用,如表所示。 端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)P3口引脚的第二功能RST:复位输入。晶振工作时,单片机复位需要RST脚持续2个机器周期高电平将。看门狗计时完成后,RST脚输出96个晶振周期的高电平。AXUR(地址8EH)特殊寄存器上的Disrto位可以使此功能无效。Disrto默认状态下,复位高电平有效。ALE/:控制信号(ALE)访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。在一般情况下,ALE以晶振1/6的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,ALE脉冲将会跳过,当每次访问外部数据存储器时。如果需要,通过将SFR(其地址为8EH)的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVC或MOVX指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(SFR地址为8EH的的第0位)的设置对微控制器处于外部执行模式下无效。:外部程序存储器选通信号()是外部程序存储器选通信号。当S54从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令。必须接地。为执行内部程序指令,应该接VCC。在Flash编程期间,也接收12V电压。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。3.2 温湿度传感器DHT11简介和电路图数字温湿度传感器DHT11是一款含有已校准熟悉信号输出温湿度复合传感器,它应用专用的温湿度传感技术和数字模块采集技术,确保产品具有卓越的长期稳定性和极高的可靠性。传感器包括一个NTC测温元件和一个电阻式感湿元件,并与一个性能高的8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在即为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。典型的应用电路如图:DHT11引脚说明:pin名称注释1VDD供电35.5V2DATA串行数据,单总线3NC空脚,悬空4GND接地,电源负极性能说明:参数条件MinTypMax单位分辨率8Bit111%RH精度254%RH重复性1%RH温度0-505%RH温度量程范围03090%RH502080%RH252090%RH长期稳定性典型值1%RH/yr迟滞1互换性可完全互换分辨率888Bit111重复性1响应时间1/e(63%)630S量程范围050精度12总线空闲状态为高电平的时候主机把总线拉低等待DHT11响应, DHT11能检测到起始信号,主机必须把总线拉低,至少大于18ms。DHT11一旦接收到主机的开始信号,接着就等待开始信号的结束,然后发送80us的低电平响应信号,要读取DHT11的响应信号,必须等待开始信号的结束,并延时等待20-40us后才能够接受,主机发送开始信号后,这时候就可输出高电平或切换到输入模式,接着总线由上拉电阻拉高。DHT11发送响应信号的时候总线为低电平 ,DHT11把总线拉高80us之前,必须等到响应信号发送,准备发送数据时,每一bit数据都以50us低电平时隙开始,数据位是0或1是由高电平的长或短来决定。假如响应信号的读取为高电平,但是DHT11无响应响应,这时候说明路线可能连接不正常,当最后一bit数据传送结束后,DHT11把总线拉低50us,接着总线由上拉电阻拉高进入空闲状态。3.3 显示器LCD1602简介和电路图1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形1602LCD是指显示的内容为16X2即可以显示两行,每行16个字符液晶模块(显示字符和数字)。具有80个字节的RAM,标准的接口特性,适配M6800系列MPU的操作时序。模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。颜色分单色(黑白)、彩色两种。使用时,可将P0与LCD的数据线相连,P2口与LCD的控制线相连,其中,TC1602第4脚RS为寄存器选择,第5脚RW为读写信号线,第6脚E为使能端。第714脚:D0D7为8位双向数据线。相反,因此在编写软件时需要做处理,使读取正确。LCD显示电路如下图所示LCD显示图3.4 报警系统设计 在微型计算机控制系统中,为了安全生产,对于一些重要的系统部位或参数,都设有紧急状态报警系统,以便提醒操作人员注意采取紧急措施。其方法就是把计算机采集的数据通过过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。本设计采用三个LED灯电路。如果温度和湿度都没有超过或低于程序设定值时,绿灯常亮.如温度和湿度没有在范围内,则相应的LED灯亮红色。3.5 键盘设计按键是用来设定温度、湿度上下限报警值,查看温度、湿度上下限报警值。主要有4个按键分别是功能选择键、上键、下键、确认键。3.6 复位电路设计RST引脚是单片机复位端,高电频有效。在引脚端输入至少连续两个单片机周期的高电频,单片机复位。使用时,在引脚与VSS引脚之间接一个10K的下拉电阻,与VCC引脚之间接一个约10F的电解电容,即可保证上电自动复位。本设计中复位电路如图3.7 晶振电路设计单片机晶振的作用是为系统稳定提供周期性的时钟信号,一个晶振通常是一个系统共用,以使系统各部分保持同步,有些通讯系统的射频和基频使用不同的晶振,而是通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率,可以用于同一个晶振项链的不同锁相环来提供的。设计中晶振电路如图3.8 AT24C02存储器电路设计AT24C02是EEPROM,可以配合温湿度采集控制系统存贮掉电前需要保存的数据,把设定的温湿度报警上限、下限保存下来。第四章 系统软件设计模块4.1系统流程图计算机在完成一项工作时,必须按顺序执行各种操作。这些操作是程序设计人员用计算机所能够接受的语言把解决问题的步骤事先描述好的,也就是事先编制好计算机程序,再由计算机去执行。另外,一个有效率的控制系统还需要完善的算法,由算法绘制出相应的流程图,这样根据流程图编制软件程序。根据温湿度监控系统功能,系统软件流程图如下:开始初始化串口初始化液晶相应字符显示温湿度采用1602液晶显示按键扫描读取报警值温湿度发送串口 系统流程图4.2 按键扫描子程序左起第一个键是功能选择键,按一次进入报警温度上限设置,此时显示上一次设置温度报警上限值(TH36)且光标不断闪烁,进行上限温度设置,设置好后按确认键。按第二次,进行下限温度报警设置,此时显示上一次设置温度报警下限值(TL25)且光标不断闪烁,设置好后按确认键。按第三次,进行上限湿度报警设置,此时显示上一次设置湿度报警上限限值(HH72)且光标不断闪烁,设置好后按确认键。 再按一次即第四次,进行下限湿度报警设置,此时显示上一次设置湿度报警下限限值(HH62)且光标不断闪烁,设置好后按确认键。第二个按键是增加键,可以对上限温度或下限温度进行增大调整第三个按键是减小键,可以对下限温度或下限温度进行减小调整。第四个按键是确认键,可以对温湿度上下限报警值保持到IIC(AT24C02)中。温度上限设置温度下限设置湿度上限设置湿度下限设置调整温度上限值调整温度下限值调整湿度上限值调整湿度下限值确认保存数据返回开始有按键按下吗是按下选择功能键吗等待等待4.3编程思想本次设计主要是能够实时显示出当前确切的温湿度。接通电源后将有一定缓冲时间,随后向模块发送命令,并接受模块所发送数据。经检查校验后,通过LCD1602显示。首先是LCD初始化,采用八位的数据端口,两行显示,5*7的点阵,然后可以通过按键切换,设置温湿度上限极限报警,报警值存放AT24C02存储器中。也可以通过按键查看报警上下限值。如果没有特殊情况,LCD会随着显示当前湿度与温度的数值。结束语本设计综合利用单片机技术、传感器技术、数字电子技术和LCD显示等科学知识,完成了单片机控制的温度、湿度和显示装置的设计。比较系统地介绍了硬件的组成及设计方法。利用单片机C语言完成了系统软件的设计。1. 把传感器技术应用到单片机控制系统中,实现了对环境温度和湿度的数据采集和读取。2. 利用LCD液晶的显示技术完成了环境温度、湿度及显示电路的设计。3. 外接了蜂鸣器报警模块,在超过设定温湿度上下限时自动报警。4. 在本设计的基础上皆有继电器模块,可以外接调温调湿电器,把功能扩展延伸为实现对环境温湿度的控制。5. 整个系统软硬件搭配合理,设计、开发、维护方便,性价比高。由于单片机经济实用、开发简便,因而在工业控制、农业自动化、家电智能化等领域占据了广泛的市场。本文介绍的系统设计有一定的实用性,但该系统在设计过程中还有很多漏洞。还需要在智能化方面加以改进。特别是在提高稳定度和节省功耗等方面。不过,该产品有很好的可扩性能,比如,该设备的测量结果不仅能在本地显示,而且能利用单片机的RS-485总线通信协议和串行口将采集的数据传送到主控机,以进行进一步的处理、存档。主控机负责控制指令的发送,以控制各个从机的温湿度采集和收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。从机与主控机之间也能够相互协调、相互联系,从而达到系统整体统一、和谐的效果。致 谢经过一个多月的找资料和设计,本次设计基本接近尾声,作为一个本科生的毕业设计,由于经验的匮乏,难免有许多考虑不周全的地方,如果没有导师的督促指导,以及同学们的指导和支持,想要完成这个设计是难以想象的。 在这里首先要感谢我的导师韦文斌老师。韦老师平日里工作繁多,但在我做毕业设计的阶段中,从查阅资料到设计草案的确定和修改,和论文检查,后期指点设计等整个过程中都给予了我悉心的指导。除了敬佩韦老师的专业水平外,他的治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。 其次要感谢我的同学对我无私的帮助,特别是在软件的使用方面,正因为如此我才能顺利的完成设计,我要感谢我的母校广西科技大学(筹),是母校给我们提供了优良的学习环境;另外,我还要感谢那些曾给我授过课的每一位老师,是你们教会我专业知识。最后,感谢百度这么好的搜索平台让我快捷的搜索网上相关资料,让我节省了很多时间。在此,我再说一次谢谢!谢谢大家!参考文献1 郭天祥.51单片机C语言教程.北京:电子工业出版社,20102 李晓荃.单片机原理与应用M. 北京:电子工业出版社,2000.3 刘和平.单片机原理及应用M.重庆:重庆大学出版社,2002 .4 徐爱钧.单片机高级语言 C51 应用程序设计M. 北京:电子工业出版社,2002.5 谢自美.电子线路设计.实验.测试(第二版) M.武汉:华中科技大学出版社,2000. 6 江国强.现代数字逻辑电路.北京:电子工业出版社,2002 .7 张勇.PROTEL 99SE 电路设计技术入门与应用(第一版).北京:电子工业出版社,2002 .8 樊昌信.通信原理(第五版)M.北京:国防工业出版社,2001 .整个系统原理图程序清单/*/ DHT11温度、湿度采集/单片机 : AT89S52 或 STC89C54RC /功能 : (1)串口发送温湿度数据 波特率 9600 / (2)液晶1602显示温度、湿度值/ (3)可设置温度、湿度上下限报警值,报警值具有数据保存功能(数据保存在IIC AT24C02)/ (4)可查询温度、湿度上限、下限报警值/硬件连接:P2.3口为通讯口连接DHT11,DHT11的电源和地连接单片机的电源和地,单片机串口加MAX232连接电脑 /作者: 王玉金 /*/#include #include #include /Keil library #include /Keil librarytypedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号8位整型变量 */typedef signed char S8; /* defined for signed 8-bits integer variable 有符号8位整型变量 */typedef unsigned int U16; /* defined for unsigned 16-bits integer variable 无符号16位整型变量 */typedef signed int S16; /* defined for signed 16-bits integer variable 有符号16位整型变量 */typedef unsigned long U32; /* defined for unsigned 32-bits integer variable 无符号32位整型变量 */typedef signed long S32; /* defined for signed 32-bits integer variable 有符号32位整型变量 */typedef float F32; /* single precision floating point variable (32bits) 单精度浮点数(32位长度) */typedef double F64; /* double precision floating point variable (64bits) 双精度浮点数(64位长度) */#define uchar unsigned char#define uint unsigned int#define Data_0_time 4/-/-IO口定义区-/-/#define DataPort P1 /LCD1602数据端口sbit LCM_RS=P20; /LCD1602命令端口sbit LCM_RW=P21; /LCD1602命令端口sbit LCM_EN=P22; /LCD1602命令端口sbit P2_0 = P23 ;sbit sda=P37;/sbit scl=P36;/bit write=0; /写24C02的标志sbit AlarmTemp=P24;sbit AlarmHum=P25;sbit staticOK=P26;bit set_temp_up=0;bit set_temp_down=0;bit set_humidity_up=0;bit set_humidity_down=0;sbitsi=P34;sbitrclk=P33;sbitsclk=P32;sbit key_set=P00;sbit key_up=P01;sbit key_down=P02;sbit key_ok=P03;/-/-定义区-/-/U8 U8FLAG,k;U8 U8count,U8temp;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8comdata;U8 outdata5; /定义发送的字节数 U8 indata5;U8 count, count_r=0,num;U8 str5=RS232;U16 U16temp1,U16temp2;U8 a,b,c,aa,selectnum=0,value,downnum=0,checknum;U8 value_shi,value_ge,downnum_shi,downnum_ge;U8 shidu_shi,shidu_ge,wendu_shi,wendu_ge;uchar a,num,sec,tcnt,ge,shi,temp; U8 temp_uplimit,temp_lowlimit,humidity_uplimit,humidity_lowlimit;U8 Alarm_temp_up,Alarm_temp_low,Alarm_humidity_up,Alarm_humidity_low;void Delay(U16 j) U8 i; for(;j0;j-) for(i=0;i0;x-)for(y=110;y0;y-);void delay() ; void start() /开始信号sda=1;delay();scl=1;delay();sda=0;delay();void stop() /停止sda=0;delay();scl=1;delay();sda=1;delay();void respons() /应答uchar i;scl=1;delay();while(sda=1)&(i250)i+;scl=0;delay();void init()sda=1;delay();scl=1;delay();void write_byte(uchar date)uchar i,temp;temp=date;for(i=0;i8;i+)temp=temp1;scl=0; delay();sda=CY;delay();scl=1;delay();scl=0;delay();sda=1;delay();uchar read_byte()uchar i,k;scl=0;delay();sda=1;delay();for(i=0;i8;i+)scl=1;delay();k=(k1)|sda;scl=0;delay();return k;void write_add(uchar address,uchar date)start();write_byte(0xa0);respons();write_byte(a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025合同能源管理的绿色建筑行业
- 四川外国语大学《数理逻辑与图论》2023-2024学年第二学期期末试卷
- 高校物业精细化管理
- 宁波水平钢支撑施工方案
- 绥化学院《景观工程技术》2023-2024学年第二学期期末试卷
- 上海外国语大学贤达经济人文学院《食品物理学》2023-2024学年第二学期期末试卷
- 餐饮安全培训
- 上海电影艺术职业学院《互动叙事2》2023-2024学年第一学期期末试卷
- 《品味火锅》课件
- 2025至2031年中国大功率干湿两用吸尘器行业投资前景及策略咨询研究报告
- 新2024年-北京市房屋租赁合同自行成交版
- 有效工作时间管理
- 2025年安徽省铜陵市枞阳县浮山中学高三下学期3月适应性考试历史试题含解析
- 劳动合同法员工培训课件
- 2025年上海市房屋租赁合同模板(标准版)
- 详解家庭教育指导师考试试题及答案
- 智慧城市中的公民参与-全面剖析
- 麻醉科急救处理职责
- 安全文明施工保证措施及承诺
- 2025长沙市存量房买卖合同(合同版本)
- 地理课程跨学科主题学习的问题与对策
评论
0/150
提交评论