1、 基于单片机温湿度控制系统 一、研究背景温度、湿度和人类生产、生活有着密切关系,同步也是工业生产中最常用最基本工艺参数,例如机械、电子、石油、化工等各类工业中广泛需要对温度湿度检测与控制。并且随着人们生活水平提高,人们对自己生存环境越来越关注。而空气中温湿度变化与人体舒服度和情绪均有直接影响,因此对温度湿度检测及控制就非常有必要了。随着科技飞速发展和普及,高性能设备越来越多,各行各业对温湿度规定也越来越高。老式温湿度检测模式是以人为基本,依托人工轮流值班,人工巡回查看等方式来测量和记录环境状况信息。在这种模式下,不但效率低不利于人才资源充分运用,并且缺少科学性,许多重大事故都是由人为因素导致,
2、人工维护缺少完整管理系统。而问世监控系统就可以解决这样人才资源挥霍,管理不及时问题,这是由于它智能化设计所决定。故本次设计对于类似项目还具备普遍意义。二、国内外研究现状(1)温度传感器智能温度传感器(亦称数字温度传感器)在20世纪90年代中期问世。它是微电子技术、计算机技术和自动测试技术(ATE_)结晶。当前,国际上已开发出各种智能温度传感器系列产品。智能温度传感器内部包括温度传感器、A/D转换器、信号解决器、存储器(或寄存器)和接口电路。有产品还带多路选取器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM)。智能温度传感器能输出温度数据及有关温度控制量,适配各种微控制器(
3、MCU),并且可通过软件来实现测试功能,温度计也越来越智能化。(2)湿度传感器湿度传感器产品及湿度测量属于90年代兴起行业。湿度传感器重要分为电阻式和电容式两种,产品基本形式都是在基片上涂覆感湿材料形成感湿膜。空气中水蒸汽吸附在感湿材料上后,元件阻抗、介质常数发生很大变化,从而制成湿敏元件。近年来,国内外在湿度传感器研发领域获得了较大发展。湿敏传感器正从简朴湿敏元件向集成化、智能化、多参数检测方向迅速发展。国内外各厂家湿度传感器产品水平不一,质量价格都相差较大,顾客如何选取性能价格比最优抱负产品确有一定难度,需要在这方面作进一步理解。当前国内市场上浮现了不少国内外湿度传感器产品,电容式湿敏元件
4、较为多见,感湿材料种类重要为高分子聚合物,氯化锂和金属氧化物。三、研究方案一方面明了了设计思路后来,着手硬件电路设计。采用学校统一发放STC89C52单片机学习板做为课题设计主控模块。实现环绕着单片机各个元器件正常工作并且实现所要功能。温湿度传感器不在使用分开使用。而是采用DHT11数字温湿度一体传感器进型温湿度测量。一方面在简化了设计流程同步增长系统稳定性;另一方面为减少了设计成本消耗。借鉴前人经验,传感器用法,用字符液晶显示可实现系统设计。 重要内容有:学习强化单片机知识 掌握智能温湿度检测系统,提出硬件电路设计方案 画出原理图 编写单片机控制软件 完毕系统整体功能调试 设计中涉及硬件电路
5、设计和系统程序设计。其硬件电路重要由电源电路、主控制器和显示电路等构成。其中单片机是核心某些负责对温度信号进行接受、检查并传播解决。四、预期成果1.人性化设计。界限温度值及湿度值可以由顾客依照顾客需求实现控制并且通过显示屏显示。2. 可以实时、精确显示采样温度值与湿度值。3.通过采集温度及湿度值,精确判断原则值与当前值之间差别,来变化温湿度至所需状态4.可以一改此前靠人力控制温湿度状况、彻底做到温湿度检测和控制智能化。从而大大提高系统以便性以及稳定性。摘要温湿度控制已成为当今社会研究热门项目。是工农业生产过程中必要考虑因素。作为最常用被控参数。温度和湿度已经不再是互相独立物理量,而应在系统中综
6、合考虑。广泛应用于实验室、大棚、花圃、粮仓乃至土壤等各个领域。而老式温湿度控制则运用湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材。通过人工进行检测。对不符合温度和湿度规定库房进行通风、降温、去湿等操作。这种人工测试办法费时费力,效率低。切随机性较大。误差大。因而就需要一种造价低廉、使用以便且计算精准温湿度控制仪器。运用单片机对温、湿度控制,具备控温、湿精度高、功能强、体积小、价格低,简朴灵活等长处,较好满足了工艺规定。本文通过使用STC89C52单片机、DHT11传感器模块、1602液晶显示屏模块。简朴明了实现可提规定。DHT11数字温湿度传感器把采集到温湿度数据传给单片机。通过单片
7、机解决。精确显示到液晶屏上。并对温湿度设立上下限。核心词:单片机DHT11传感器1602液晶显示屏STC89C52系统总体方案设计功能规定1、通过数字温湿度传感器DHT11采集温湿度数据,即时传播给单片机;2、单片机将收到信号进行分析和解决,将采集届时温湿度实时数据送给1602液晶显示屏;3、通过1602LCD液晶屏完毕温湿度数据显示;4、给定温度湿度上下限数值,设立不同温湿度.设计思路电路总体上分为温湿度采集某些、中央解决器、显示模块以及报警模块某些。以STC89C52单片机最小系统作为核心控制电路,控制DHT11传感器采集温湿度转换,控制1602液晶屏显示,。详细显示内容及方式由软件来完毕
8、。采集温湿度方面由DHT11传感器来完毕,它是一种数字温湿度传感器、内置模数转换,可以直接与单片机相连接。而1602液晶屏是插针式,也可以直接与单片机相连接。因而不需要手动焊接等复杂过程。详细环节是:按照原理图将传感器、1602液晶显示屏分别接入单片机。通过DHT11传感器采集当前温湿度值、再经单片机,将解决后数据传送到液晶屏上显示出来。设立温度上下限值。传感器选取方案方案一:选用DS18B20温度传感器作为温度检测模块。DS18B20是一线式数字温度传感器。具备独特单线式接口方式。测量范畴在55125,1085,误差范畴在-+0.5。最高精度可达0.0625。HS1101是电容式湿度传感器。
9、可测量相对湿度范畴在0%100%RH。误差为-+2%RH。方案二: 选用DHT11作为设计温湿度检测模块。DHT11是一款集成型数字温湿度一体传感器。 它应用专用数字模块采集技术和温湿度传感技术,保证产品具备极高可靠性与卓越长期稳定性。传感器涉及一种电阻式感湿元件和一种NTC测温元件,并与一种高性能8位单片机相连接。因而该产品具备品质卓越、超快响应、抗干扰能力强、性价比极高等长处。测量范畴20%90%RH,050。测温精度为-+2,测湿精度为-+5%RH。完全符合本次毕业设计规定。经上述分析,方案一虽然精度更精准。却稍显复杂。方案二即便不能实现方案一高精度测量。却也能满足设计规定。且简便易行。
10、可靠稳定。具备超高性价比。故选取方案二。显示屏选取方案方案一:采用12864液晶显示屏。液晶显示模块是12864点阵中文图形型液晶显示模块,可显示中文及图形,内置8192个中文中文(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微解决机:8-位并行及串行两种连接方式。具备各种功能:光标显示、画面移位、睡眠模式等。方案二:采用HJ1602液晶显示屏。HJ1602A 是一种工业字符型液晶,可以同步显示16x02 即32个字符。(16列2行)。1602只能显示字母、数字和符号能显示16*2个字符,但寄存器不止32个,有
11、某些显示效果,如字符一种个显示、字符从左到右或从右到左显示等等,显示效果简朴。总结:在编程使用方面,两者难度差不多,原理差不多,都是写指令、写地址、写数据等等。固然12864液晶屏显示更全面、字符更多。相比于1602液晶屏、12864能更形象详细实现显示功能。但是1602液晶屏也能实现设计规定。网上买比较便宜,最低六块钱左右。而12864液晶显示屏最便宜也要四十块钱。从造价方面考虑,固然是价格低廉优先。而HJ1602A就是最佳选取。单片机主芯片选取方案方案一:AT89C51是美国ATMEL公司生产低电压,高性能CMOS型8位单片机,器件采用ATMEL公司高密度、非易失性存储技术生产,兼容原则M
12、CS-51指令系统,片内置通用8位中央解决器(CPU)和Flash存储单元,功能强大。其片内4K程序存储器是FLASH工艺,这种单片机对开发设备规定很低,开发时间也大大缩短。写入单片机内程序还可以进行加密,这又较好地保护咱们劳动成果。再者,AT89C51当前售价比8031还低,市场供应也很充分。AT89C51可构成真正单片机最小应用系统,缩小系统体积,增长系统可靠性,减少系统成本。只要程序长度不大于4K,四个I/O口所有提供应顾客。可用5V电压编程,并且擦写时间仅需lOms。AT89C51芯片提供三级程序存储器加密,提供了以便灵活而可靠硬加密手段,能完全保证程序或系统不被仿制。PO口是三态双向
13、口,通称数据总线口,由于只有该口能直接用于对外部存储器读/写操作。方案二:STC89C51系列单片机指令系统和AT89C51系列完全兼容,但实际操作起来却存在诸多问题:(1)AT89C51不带ISP下载,要用下载器才行,STC89C52可以用你USB转串口下载,下载软件可以到STC厂家网上去下。(2)STC单片机执行指令速度不久,大概是AT3-30倍,尽管快是好事,但这样一来,你在AT上好使程序在STC上不一定好用,最典型例子就是那些对时序有严格规定模块,用STC时注意得加长延时,大概是AT1030倍就差不多,这一点自己调试就懂得了。(3)STC单片机对工作环境规定比较低,电压低于5伏时依然正
14、常工作,甚至3伏到4伏之间都还可以工作,然而这样环境下AT必定不行了,因此当一种系统用STC单片机好用,但用AT单片机不工作时,直接查最小系统,看单片机供电与否正常。比较这两种方案,由于在学校期间学过数字电路、单片机原理、C语言程序设计,综合考虑单片机各某些资源和作为学生可以获得资源,通过对比本次设计规定,我选取用STC系列芯片完毕。并且学校也提供了相应硬件操作平台,实际操作起来比较以便,故STC为更合理选取。总体设计框图按照系统功能详细规定,在保证明现其功能然础上,尽量减少系统成本。总体设计方案环绕上述思想,初步拟定系统方案如图2-1所示。控模块 DHT11传感器模块1602字符液晶模块MA
15、X串口传感器与之相连1602字符液晶与之相连 系统硬件设计概述本次毕业设计重要由3个大模块构成,分别是主控模块、传感器模块、LCD液晶显示模块,其中主控模块是本次毕业设计核心模块,重要是指STC89C52芯片,它控制整个系统运营,运用其各个口分别控制其她模块,使其她模块可以成为一种整体,实现功能需要;传感器模块用于实验室实时温湿度检测、由于DHT11数字一体性,集成了模数转换等模块。直接接单片机即可。LCD液晶显示模块同样接入单片机,完毕对单片机解决后数据进行显示。主控模块设计STC89C52芯片简介功能特性:STC89C52是一种低功耗、高性能CMOS8位微控制器,具备8K在系统可编程Fla
16、sh存储器。与工业80C51产品指令和引脚完全兼容。片上Flash容许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有机灵8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效解决方案,如图3-1所示。STC89C52具备如下原则功能: 8k字节Flash,256字节RAM,32 位I/O口线,看门狗定期器,2 个数据指针,三个16位定期器/计数器,一种6向量2级中断构造,全双工串行口,片内晶振及时钟电路。此外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选取节电模式。空闲模式下,CPU 停止工作,容许RAM、定期器/计数器、
17、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一种中断或硬件复位为止。重要性能:与MCS51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz33Hz、三级加密程序存储器、32个可编程I/O口线、三个16位定期器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定期器、双数据指针、掉电标记符。DHT11传感器模块设计DHT11数字温湿度传感器是一款具有已校准数字信号输出温湿度复合传感器。它应用专用数字模块采集技术和温湿度传感技术,保证产品具备极高可靠性与卓越长期稳定
18、性。传感器涉及一种电阻式感湿元件和一种NTC测温元件,并与一种高性能8位单片机相连接。因而该产品具备品质卓越、超快响应、抗干扰能力强、性价比极高等长处。每个DHT11传感器都在极为精准湿度校验室中进行校准。校准系数以程序形式储存在OTP内存中,传感器内部在检测信号解决过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小体积、极低功耗,信号传播距离可达20米以上,使其成为各类应用甚至最为苛刻应用场合最佳选则。产品为 4 针单排引脚封装。连接以便,特殊封装形式可依照顾客需求而提供。 DHT11传感器实物图如下所示:(1)引脚简介:Pin1:(VDD),电源引脚,供电电压为35.5
19、V。Pin2:(DATA),串行数据,单总线。Pin3:(NC),空脚,请悬浮。Pin4(VDD),接地端,电源负极。(2)接口阐明 :建议连接线长度短于20米时用5K上拉电阻,不不大于20米时依照实际状况使用适当上拉电阻。DHT11传感器连接STC89C51系列单片机相对比较简朴。单片机P2.0口用来发收串行数据,即数据口。连接传感器Pin2(单总线,串行数据)。由于测量范畴电路不大于20米,建议加一种5K上拉电阻,因而在传感器Pin2口与电源之间连接一种5K电阻。而传感器电源端口Pin1和Pin4分别接单片机VDD和GND端。传感器第三脚悬浮放置。DHT11传感器原件电路原理图如下1602
20、液晶显示模块设计1602液晶显示屏简介HJ1602A 是一种工业字符型液晶,可以同步显示16x02 即32个字符。(16列2行)。在寻常生活中,咱们对液晶显示屏并不陌生。液晶显示模块已作为诸多电子产品通过器件,如在计算器、万用表、电子表及诸多家用电子产品中都可以看到,显示重要是数字、专用符号和图形。在单片机人机交流界面中,普通输出方式有如下几种:发光管、LED数码管、液晶显示屏。发光管和LED数码管比较惯用,软硬件都比较简朴。在单片机系统中应用晶液显示屏作为输出器件有如下几种长处:由于液晶显示屏每一种点在收到信号后就始终保持那种色彩和亮度,恒定发光,而不像阴极射线管显示屏(CRT)那样需要不断
21、刷新新亮点。因而,液晶显示屏画质高且不会闪烁。 液晶显示屏都是数字式,和单片机系统接口更加简朴可靠,操作更加以便。 液晶显示屏通过显示屏上电极控制液晶分子状态来达到显示目,在重量上比相似显示面积老式显示屏要轻得多。 相对而言,液晶显示屏功耗重要消耗在其内部电极和驱动IC上,因而耗电量比其他显示屏要少得多。 字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,当前惯用16*1,16*2,20*2和40*2行等模块。下面以长沙太阳人电子有限公司1602字符型液晶显示屏为例,简介其用法。普通1602字符型液晶显示屏实物如图(1)引脚阐明:第1脚:VSS为地电源。 第2脚:VDD接5V
22、正电源。 第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脚:背光源
23、负极。(2)1602LCDRAM地址映射以及原则字库表LCD1602液晶模块内部字符发生存储器已经存储了160个不同点阵字符图形,这些字符图有:阿拉伯数字、英文字母大小写、惯用符号、和日文假名等,每一种字符均有一种固定代码,例如大写英文字母“A”代码是01000001B(41H),显示时模块把地址41H中点阵字符图形显示出来,咱们就能看到字母。它读写操作、屏幕和光标操作都是通过指令编程来实现(阐明:1为高电平,0为低电平)。指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H 。指令3:光标和显示模式设立 I/D:光标移动方向,高电平右移,低电平左移
24、。S:屏幕上所有文字与否左移或者右移。高电平表达有效,低电平则无效 。指令4:显示开关控制。 D:控制整体显示开与关,高电平表达开显示,低电平表达关显示。 C:控制光标开与关,高电平表达有光标,低电平表达无光标。 B:控制光标与否闪烁,高电平闪烁,低电平不闪烁 。指令5:光标或显示移位 S/C:高电平时移动显示文字,低电平时移动光标 。指令6:功能设立命令 DL:高电平时为4位总线,低电平时为8位总线。 N:低电平时为单行显示,高电平时双行显示。 F:低电平时显示5X7点阵字符,高电平时显示5x10点阵字符 (有些模块是 DL:高电平时为8位总线,低电平时为4位总线)。指令7:字符发生器RAM
25、地址设立 。指令8:DDRAM地址设立 。指令9:读出忙信号和光标地址。 BF为忙标志位,高电平表达忙,此时模块不能接受命令或者数据,如果为低电平表达不忙,模块就能接受相应命令或者数据。指令10:写数据 。指令11:读数据 。液晶显示模块是一种慢显示屏件,因此在执行每条指令之前一定要确认模块忙标志为低电平,表达不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。1602 内部显示地址如图例如第二行第一种字符地址是40H,那么与否直接写入40H 就可以将光标定位在第二行第 一种字符位置呢?这样不行,由于写入显示地址时规定最高位D7恒定为高电平1,因此实际写入数据
26、应当是01000000B(40H)+10000000B(80H)=11000000B(C0H) 。在对液晶模块初始化中要先设立其显示模式,在液晶模块显示字符时光标是自动右移,无需人工干预。每次输入指令前都要判断液晶模块与否处在忙状态。1602 液晶模块内部字符发生存储器(CGROM)已经存储了160个不同点阵字符图形,如下图所示,这些字符有:阿拉伯数字、英文字母大小写、惯用符号、和日文假名等,每一种字符均有一种固定代码,例如大写英文字母“A”代码是01000001B(41H),显示时模块把地址41H 中点阵字符图形显示出来,咱们就能看到字母“A”。液晶显示原理是运用液晶物理特性, 通过电压对其
27、显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示屏具备厚度薄、合用于大规模集成电路直接驱动、易于实现全彩色显示特点,当前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。系统软件设计 在对咱们所要设计课题有了整体理解之后,需要先建立程序框架流程图,对整个设筹划分模块,逐个模块实现其功能,最后把各个子模块合理连接起来,构成总程序。主程序一方面要对整个系统进行初始化,然后将采集到温湿度指令传给系统主流程图如图开始初始化延时温湿度测量1602显示数据判断温度温度低于26高于30电机控制电扇工作电机控制电扇工作结束1602液晶显示模块设计液晶显示模块是一种慢显示屏件,
28、在执行每条指令之前要确认模块忙标志为低电平,表达不忙,则此指令失效,要显示字符时要先输入显示字符地址,告诉模块在哪里现实了字符。1602液晶显示模块可与STC89C52直接接口。软件流程图如图所示:开始LC初始化延时设第一行显示位置显示第一行内容设第二行显示位置显示第二行内容传感器模块设计温湿度模块DH11数字温湿传感器加湿器温湿度传感器随着科技不断发展,汽车、空调、除湿器、烘干机等种类繁多电器都已进入人们寻常生活,而这些电器设备诸多都离不开对温度、湿度等环境因素规定。因而,温度、湿度传感器用途越来越广泛。新一代数字传感器不再需要外置A D转换模块,并具备原则接口,使用以便,得到了越来越多应用
29、。DHT11作为一种新型单总线温湿度数字传感器,具备更多长处,它使系统设计更加简朴,控制以便,易于实现。1 单总线通信简介 当前惯用微机与外设之间进行数据传播串行总线重要有I2C总线、SPI总线和SCI总线。其中I2C总线以同步串行两线方式进行通信(1条时钟线,1条数据线),SPI总线则以同步串行三线方式进行通信(1条时钟线,1条数据输入线,1条数据输出线),而SCI总线是以异步方式进行通信(1条数据输入线,1条数据输出线)。这些总线至少需要两条或两条以上信号线。DHT11传感器模块软件流程图如下图给DHT11上电延时1S保持高电平检测记录信号输出低电平延时输出低电平数据输出结束信号系统分析与
30、调试本设计是在Keil C环境下开发,Keil C软件支持C语言编程及调试,运用以便,是做C语言毕业设计者首选。设计首要任务是安装和学习使用这个软件,在简朴学习和理解Keil C后,咱们便可在此环境下开始了对带录音功能电子琴设计工作。在编译完Keil C后,再运用STC_ISP_V480软件烧录到开发板上,实现实物与程序连接。在烧录前要对STC_ISP_V480进行某些必要设立。第一步:设立MCU Type为STC89C52RC;第二步:打开编写好并编译程序文献,它是以.hex为后缀文献;第三步:选取相应COM端口,(可在我电脑设备管理处查看COM选项);第四步:点击Download/下载,等
31、提示请给MCU上电时,打开开发板上开关,它就自行烧录了在完毕对程序调试及烧录之后,还需要对其进行演示,把开发板与电脑连上,设立好相应接口,完毕供电及下载。开始供电后、稍带几秒等1602液晶屏能正常显示当前温湿度了之后。观测当前温湿度变化。并且针对与自己设定限值相比较。若当前温度没有超标,即没有超过限值。可以用手捂住DHT11传感器,令其温度显示超标。通过测试。完全可行。因而简朴实现了对温度控制。湿度控制原理跟温度同样。结论与展望本系统以单片机为核心部件控制系统,运用软件编程,最后基本上实现了各项规定。虽然系统还存在某些局限性,例如温湿度测量不够精准,特别是湿度,波动较大。尝试了各种改进办法。依
32、然不太抱负。但是大体能反映出设计目和规定。与预期成果相差不多。通过近一年奋斗,从拟定题目,到日后查找资料,理论学习,实验编程调试,这一切都使我理论知识和动手能力有了很大提高。理解了单片机硬件构造和软件编程办法,对单片机工作方式有了很大认知。同步,对某些外围设备例如传感器、液晶屏、键盘、等有了一定理解!学会了对一项工程如何设计:一方面,要分析需要设计系统要实现什么功能,需要什么器件;然后,针对设计购买相应硬件,选用硬件时不但要选用经济,更重要是如何能更精准更以便完毕系统规定;再次,对各个硬件软件实现要弄清晰,如何更好实现各个硬件协调,更好通过主控制器件实现硬件功能。最后,通过各种测试与调试,让设
33、计更好完毕系统规定。 但由于咱们水平有限,此设计中也存在一定局限性。就例如说对湿度控制方面,由于温度时刻都在发生着变化。而湿度变化又大体上取决于温度。因而对于湿度控制有点困难。同步由于湿度变化波动比较大。为湿度限值设定也带来了不小麻烦。温湿度控制已经成为了21世纪热门研究话题之一。无论是从生产还是生活,与咱们人类都是息息有关。而智能化控制温湿度已经发展成为一种必然。随着世界经济发展,人们生活水平提高以及社会进步。咱们不也许始终墨守陈规,不能在恪守此前运用人力资源来控制温湿度办法。不但挥霍大量人力资源、财力资源,并且控制系统也更加单一化。而采用自动控制办法、既节约了人力资源,更体现了与时俱进思想
34、、世界在进步、而这种进步就该体当前各个方面。#include#include#define uchar unsigned char#define uint unsigned int#define Data P0 sbit RS=P25;sbit RW=P26;sbit E=P27;sbit DHT=P10;sbit ADD=P13;sbit SEC=P14;sbit TADD=P15;sbit TSEC=P16;uchar FirstLine =wen:00 T:00;uchar SecondLine=shi:00; unsigned char shiZ,shiX,wenZ,wenX,chec
35、k,T=25;unsigned char tr_shiZ,tr_shiX,tr_wenZ,tr_wenX;unsigned char flag;unsigned int n=20,m;void delay_1ms(unsigned int a)unsigned int i;while(-a!=0) for(i=0;i600;i+);void delay_10us()unsigned char i;i-;i-;i-;i-;i-;i-;char read_data()unsigned char i,num,temp;num=0;for(i=0;i8;i+)flag=2;while(!DHT)&fl
36、ag+);delay_10us();delay_10us();delay_10us();if(DHT=1) temp=1;flag=2;while(DHT&flag+);elsetemp=0;num0;i-)for(j=100;j0;j-);void DelayUs(unsigned char us) unsigned char uscnt; uscnt=us1; while(-uscnt);void DelayMs(unsigned char ms) while(-ms) DelayUs(250); DelayUs(250); DelayUs(250); DelayUs(250); void
37、 lcd_write_com(uchar c) DelayMs(5); E=0; RS=0; RW=0; _nop_(); E=1; Data=c; E=0;void lcd_write_dat(uchar c) DelayMs(5); E=0; RS=1; RW=0; _nop_(); E=1; Data=c; E=0; RS=0;void lcd_init() DelayMs(15); lcd_write_com(0x38); lcd_write_com(0x38); lcd_write_com(0x38); lcd_write_com(0x06); lcd_write_com(0x0c)
38、; lcd_write_com(0x01);void ShowChar(uchar pos,uchar c) unsigned char p; if (pos=0x10) p=pos+0xb0; else p=pos+0x80; lcd_write_com(p); lcd_write_dat(c);void ShowString (uchar line,char *ptr) unsigned char l,*p; p=ptr; l=lineT)ADD=1;if(wenZT)ADD=0; keyscan(); 参照文献1 陈明荧.8051单片机课程设计实训教材M. 北京:清华大学出版社,2 徐新
39、艳.单片机原理、应用与实践M. 北京:高等教诲出版社,3 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用M. 北京:清华大学出版社,.4 王千.实用电子电路大全M. 电子工业出版社,.5 冯博琴.微型计算机原理与接口技术M. 北京:清华大学出版社,.6 张毅刚.MCS-51单片机应用设计M. 哈尔滨工业大学出版社,.7 张淑清,姜万录等.单片微型计算机接口技术及应用M. 国防工业出版社,.8 吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用M. 北京:清华大学出版社,.9 冯博琴.微型计算机原理与接口技术M. 清华大学出版社,.10 张毅刚.MCS-51单片机应用设计M. 哈尔滨工业大学出版社,.11 赵亮,侯国锐.单片机C语言编程与实例M. 北京:人民邮电出版社,.12 王振红,李洋,郝承祥.ISD4004语音芯片工作原理及其在智能控制系统中应用J. 电子器件3月第25卷第1期.13 R.L.Geiger,P.E.Allen,N.R.Strader.VLSI.Design Techniques for Analog And Digitial Ciruits,McGraw-Hill Inc.1990. 14 ANALOG DEVICES.The technology of AT89C51EB/OL.White Paper,Spe.28.