毕业设计(论文)基于单片机的空调温度,湿度控制器设计.doc

上传人:laozhun 文档编号:3981158 上传时间:2023-03-30 格式:DOC 页数:38 大小:436KB
返回 下载 相关 举报
毕业设计(论文)基于单片机的空调温度,湿度控制器设计.doc_第1页
第1页 / 共38页
毕业设计(论文)基于单片机的空调温度,湿度控制器设计.doc_第2页
第2页 / 共38页
毕业设计(论文)基于单片机的空调温度,湿度控制器设计.doc_第3页
第3页 / 共38页
毕业设计(论文)基于单片机的空调温度,湿度控制器设计.doc_第4页
第4页 / 共38页
毕业设计(论文)基于单片机的空调温度,湿度控制器设计.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《毕业设计(论文)基于单片机的空调温度,湿度控制器设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于单片机的空调温度,湿度控制器设计.doc(38页珍藏版)》请在三一办公上搜索。

1、摘 要 本毕业设计论文介绍了基于AT89C52单片机的空调温度和湿度控制器的设计,该控制器硬件主要由AT89C52单片机,DHT11温度湿度检测电路,电源电路和输出控制电路等组成,软件采用C语言编程。该控制器利用单片机技术,通过温度和湿度检测电路对空调环境温度和湿度自动监测,并由 LCD 显示所测温度和湿度,实现了对温度和湿度的优化控制。关键词:AT89C52单片机;温度;湿度;传感器;控制器AbstractThis paper of the graduation design introduces AT89C52 SCM based on controller design of tempe

2、rature and humidity of the air conditioning .This controller hardware consist of AT89C52 SCM, DHT11 detection circuit of temperature and humidity , supply circuit of the power and output control circuit and other components, The C programming language used in the software. The controller using techn

3、ology of SCM.,It is realize the optimal control of temperature and humidity through detection circuit of the temperature and humidity monitoring automatically the temperature and humidity around the environment of the air conditioning ,and the LCD displaying the value of the temperature and humidity

4、.Keywords: AT89C52 SCM; Temperature; Humidity; Sensors; Controller目录摘 要IAbstractII1. 绪论11.1引言11.2 设计目的及意义11.3 设计的要求及主要内容22. 系统组成及原理32.1 系统组成及原理32.1.1 系统组成32.1.2 系统工作原理32.2 硬件设计部分52.2.1 单片机最小系统52.2.1.1 单片机AT89C52简介52.2.1.2 复位电路简介72.2.1.3 晶振电路简介72.2.2 电源电路82.2.3 DHT11温湿度传感器82.2.4 lcd1602液晶显示器92.2.5 键盘

5、102.2.6 蜂鸣器112.2.7 发光二极管的显示123. 软件部分设计133.1 软件流程图设计133.2 程序144 总结31参考文献32附录1 系统电路33附录2 PCB图34附录3 实物照片35致谢361. 绪论1.1引言 温度与湿度是影响人类生存与生活的两大因素,人类自古以来就不停的对温湿度进行探索,温度与湿度在探索中逐渐被人类所熟知,人类开始对温湿度进行控制来达到自己想要的结果。其中空调可以很方便快捷地控制温湿度。那么空调是怎样控制温湿度的呢?我们接下来来探讨。1.2 设计目的及意义自古以来,温度,湿度都是影响人们生活的两大因素。温度过高不仅会使人们感觉到热,还会加快食物变质等

6、其他不良影响,同样温度过低会让人感到寒冷及作物生长缓慢等等。湿度同样也会影响人们的生活。湿度过高或者过低会引发许多生理疾病及其他不好的影响。所以,人们及其他生物只适合生活在一定范围的温湿度范围之内。自前几十年市场上出现一种名叫空调的家电,立刻受到广大消费者的青睐,经过几十年的发展,空调已经成为家电中很普及的家电之一。由此可见,人们随着生活质量的提高,对一些娱乐享受的消费同样随之提高,空调正适应潮流而出现。夏日,随着温度的升高,一些食物容易变质腐烂。特别是一些酒店,菜肴的新鲜程度至关重要。当市场上出现一种家电叫冰箱时立刻引起消费者的抢购。北方冬季空气湿度低,太干燥,影响皮肤的水分代谢。使人们生理

7、不适。所以市场也有一些家电增加湿度,也可以喷一些水来增加湿度。而南方刚好相反,湿度过高,所以除湿机就出现市场。 由上述可知,温度湿度对我们的影响。所以研究温度湿度是非常重要。在选择毕业设计题目,我就选择基于单片机空调温度,湿度控制设计。设计的目的就是控制温度和湿度的控制。使温度湿度在一定范围内,当超出范围,相应的发光二极管发光,报警。1.3 设计的要求及主要内容 设计并制作以单片机为核心的空调温度,湿度控制器主要由单片机控制系统,直流稳压电源,温度与湿度检测电路和显示电路等几部分组成,实现对空调温度,湿度控制的功能。2. 系统组成及原理2.1 系统组成及原理2.1.1 系统组成 系统组成硬件主

8、要有按键电路,发光二极管显示电路,单片机最小系统,LCD液晶显示电路,DHT11温湿度传感器电路,电源电路。系统主要要完成对温度湿度的采集、显示以及设定等工作,从而实现对温度湿度的控制。本系统采用DHT11作为检测温湿度器件,外部温度湿度信号经 DHT11将输入的模拟信号转换成8位的数字信号, 通过并口传送到单片机系统( AT89C52) ,单片机系统将接收的数字信号译码处理,通过LCD1602将温度显示出来;同时单片机系统还将完成键盘扫描 、按键温度设定、超温,湿度报警等程序的处理 ,将处理的温,湿度信号与系统设定设定值比较,形成可以由蜂鸣器和发光二极管显示温湿度是否超出范围,从而实现智能化

9、。 键入控制 液晶显示电路 报警及显示 单片机 AT89C52 单片机最小系统 温湿度检测电路 电源供给 图1 系统原理方框图 2.1.2 系统工作原理系统设计的目的就是对环境的温湿度值的控制,硬件主要包括发光二极管电路,单片机最小系统,按键电路,LCD液晶电路,DHT11温湿度电路,蜂鸣器报警电路,及电源电路。我在这介绍几个重要的电路:(1)发光二极管电路:发光二极管的作用是显示反映环境温湿度值是否在设定值范围的具体显示,这样就可以通过四个不同的发光二极管的发光状况来看出温湿度大概具体的值范围,这样有利于我们更方便控制温湿度值。(2)按键电路:我这用8个按钮的作用就是改变设定的温湿度上限下限

10、值,按键两个一组改变一个值的大小,一个是递加的作用,一个递减的作用。从而实现设计的人性化。(3)LCD液晶电路:在这个设计,由于需要显示环境温湿度值和设定的温湿度上限下限值,再说需要显示的数据较多,所以我选择液晶1602显示器。通过液晶显示器可以准确方便随时了解现在的温湿度值和设定值。(4)DHT11温湿度传感器电路:这个设计需要检测温湿度值,所以需要一个电路来检测温湿度值,在选择传感器时,由于DHT11具有同时检测温湿度值的功能,而且连接电路简单便捷,所以DHT11是我最好的选择了。(5)蜂鸣器电路:当温湿度过高或者过低时,需要报警功能,我选用一种方便便宜的元件蜂鸣器,由于单片机引脚电流过小

11、,然而驱动蜂鸣器需要一个的电流,需要放大电流,所以我选择NPN三极管来放大电流,单片机引脚低电平驱动蜂鸣器报警。(6)电源电路:正常情况下,一般电压都是220V交流电压,然而设计需要+5V直流电压,所以需要一个电源电路来转换成需要的电源。我选用一种变压器先把220V变成9V电压,通过桥式整流把交流转变成直流,再通过电容滤波及7805稳压,最后转变成需要的+5V直流电源。 图2 系统总电路2.2 硬件设计部分2.2.1 单片机最小系统 晶振电路,复位电路及单片机组成单片机最小系统,其中复位电路的极性电容的大小直接影响单片机的复位时间,容值越大需要的复位时间越短,我选用10uF。晶振电路我选用12

12、MHZ的晶振,晶振频率直接影响单片机的处理速度,频率越大处理速度越快。与晶振相连的是两个电容,我采用30pF。单片机我选用AT89C52。单片机就像电脑中的PCU,是数据处理及控制中心。最小系统的电路图如下: 图3 单片机最小系统图2.2.1.1 单片机AT89C52简介单片机,是单片微型计算机的简称,它最早是被用在工业控制领域,是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器,随机存储器,只读存储器,多种I/O口和中断系统,定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。该设计论文采用AT89C52型号单片机,该型号单片机有四十个引脚,引脚图如

13、下 图4 单片机引脚图各引脚功能:(1)Vcc(40脚):接+5v电源,为单片机提供电源。(2)Vss(20脚):接地,属于电源接口。(3)XTAL1(19脚):片内振荡器方相放大器和时钟发生器电路的输入端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容;当采用外接时钟源时,该引脚接外部时钟振荡器的信号。(4)XTAL2(18脚):片内振荡器反相放大器的输出端。当使用片内振荡器时,该引脚连接外部石英晶体和微调电容;当采用外部时钟源时,该引脚悬空。(5)RST(9脚):复位信号输入端,高电平有效。在此引脚加上持续时间大于2个机器周期的高电平,就可以使单片机复位。(6)/Vpp(31脚):E

14、A为该引脚的第一功能,即外部程序存储器访问允许控制端。当接高电平时,在PC值不超出0FFFH时,单片机读片内程序存储器(4KB)中的程序;当PC值超出时,将自动转向读取片外60KB程序存储器空间中的程序当接低电平时,只读取外部程序存储器中的内容,读取的地址范围为0000HFFFFH,片内的4KB Flash程序存储器不起作用。Vpp为该引脚的第二功能,即在对片内Flash进行编程时,Vpp引脚接入编程电压。(7) ALE/PROG(30脚):ALE为CPU访问外部程序存储器或外部数据存储器提供一个地址锁存信号,将低8位地址锁存在片外的地址锁存器中。PROG为该引脚的第二功能,即在对片内Flas

15、h存储器编程时,此引脚作为编程脉冲输入端。(8) (29脚):片外程序存储器的读选通信号,低电平有效。(9) P0,P1,P2,P3:I/O口引脚。2.2.1.2 复位电路简介单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态, 并从这个状态开始工作。无论是在单片机刚开始接上电源时, 还是断电后或者发生故障后都要复位。89系列单片机的复位信号是从RST引脚输人到芯片的施密特触发器中的。当系统处于正常工作状态时, 且振荡器稳定后, 如果RST引脚有一个高电平并维持2个机器周期(24个振荡周期), 则CPU就可响应并且将系统复位。复位分为手动复位和上电复位。本设计系统采用的是上电自

16、动复位。系统复位电路如下所示。 图5 复位电路图2.2.1.3 晶振电路简介 晶振就是给单片机提供稳定的正常工作的时钟信号。其原理:在石英晶体的两个极板上加一个电场,晶片会产生机械变形,对极板施加机械力使其变形,又会在极板上产生相应的电荷,这叫作压电效果。如果在两个极板上加上交变的电压,晶片便会产生机械变形震荡,同时这种机械震荡还会产生交变的电场,但是当外加交变电压频率与晶片固有的频率相等时,机械振动的幅度会加剧,产生交变电场也增大。叫做压电谐波。AT89C52内部有一个用于构成片内振荡器的高增益反相放大器, 振荡器产生的信号送到单片机, 作为单片机的时钟信号,驱动单片机产生执行指令功能的机器

17、周期。引脚XTAL1和XTAL2是此放大器的输人端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器,外接石英晶体或陶瓷谐振器以及电容C1和C2构成并联谐振电路, 接在放大器的反馈回路中。对外接电容C1和C2的值虽然没有严格的要求, 但电容的大小多少会影响振荡器频率的高低、振荡器的稳定性、起振圈内部振荡的接法的快速性和温度稳定性。一个晶振与两个30pF的电容组合连接单片机的两端XTAL1和XTAL2而成晶振电容,此处采用12MHZ的晶振。电路如下所示 图6 晶振电路图2.2.2 电源电路 一般电源包括变压,整流,滤波,稳压四个部分。变压是利用电磁感应的原理,主

18、要构件是初级线圈,次级线圈和铁心。整流部分应用桥式整流电路,就是利用了桥臂上二极管的正向导通特性。若是全桥整流输入为正弦信号,那就是前半个周期,其中两个二极管加上的是正向电压,另外两个为负向电压,加正向的导通,形成一个回路,后半个周期一个道理。 直流稳压电源中的滤波电路一般是在电压输出并联一个电容,他的作用是滤除电路中的交流部分。 此处稳压采用的是7805,7805是一种固定式的三端集成稳压器,它可以在满足一定条件下输出5V电压,电流最大一般是1A。 该电源的元件:变压器一个,二极管四个,7085一个,极性1000uf电容一个,极性220uf电容一个,电路如下: 图7 电源电路2.2.3 DH

19、T11温湿度传感器DHT11数字温湿度传感器是一款含有己校准数字信号输出的温湿度复合传感器。它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机连接。因此该产品具有品质卓越,超快响应,抗干扰能力强,性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中药调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积,极低的功耗,信号传输距离可达20米以上,使其成为各类应用甚至最为苛刻的应

20、用场合的最佳选择。产品为4针单排引脚封装。连接方便,特殊封装形式可根据用户需求而提供。DHT11与单片机是用DATA引脚连接,单线双向。DATA用于微处理器与DTH11之间的通信和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数部分和整数部分,具体格式在下面说明,当前小数部分用于以后扩展,现读出为零。操作流程如下:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据+8bit校验和数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bit温度整数数据+8bit温度小数数据”

21、所得结果的末8位。DHT11电路图如下 图8 DHT1电路2.2.4 lcd1602液晶显示器 Lcd是液晶显示器的缩写,它是一种被动式的显示器,即液晶本身并不发光,而是利用液晶经过处理后能改变光线通过方向的特性,从而达到白底黑字或黑底白字显示的目的。液晶显示器具有省电,抗干扰能力强等优点,因此被广泛应用在智能仪器仪表和单片机测控系统中。1602液晶主要技术参数如下表2所示。表1 1602液晶主要技术参数表显示容量162个字符芯片工作电压4.5-5.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺寸2.954.35(WH)mm 在设计1602与单片机的接口时,我们将D0-D7八

22、个数据口与P0口相连,但必须注意单片机AT89S52的P0口不带上拉电阻,所以必须附加10K的上拉电阻。其余引脚与单片机的接法如下所示。 图9 LCD电路表2 1602液晶引脚功能表引脚号符号引脚说明引脚号符号引脚说明1Vss电源地9D2数据口2VDD电源正极10D3数据口3VO液晶显示对比度调节端11D4数据口4RS数据/命令选择端(H/L)12D5数据口5R/W读写选择端(H/L)13D6数据口6E使能信号14D7数据口7D0数据口15BLA背光电源正极8D1数据口16BLB背光电源负极 2.2.5 键盘由于设计要求需要手动设定温湿度上限下限值的设定,所以需要按键来实现值的递加递减,我选用

23、四角轻触按键,因为这种键的特点有手动按一下后,松手后按键自动弹回。这八个键盘的作用分别是:k2上限温度值递加,k3上限温度值递减,k4下限温度值递加,k5下限温度递减,k6上限湿度值递加,k7上限湿度值递减,k8下限湿度值递加,k9下限湿度递减。键盘接口电路如下所示。 图10 键盘电路2.2.6 蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。本设计牵涉到超出范围报警,由于蜂鸣器简单又常用,用来做报警是很方便 蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动膜发声的,

24、因此需要一定的电流才能驱动它,由于单片机接口电流都很小,不能够驱动蜂鸣器工作发声,这时就需要一种电流放大的效果,三级管刚好有这种作用,因此引用三极管,此处选用PNP,PNP三极管基极与发射极电流较小,所以基极接单片机引脚接口,由于电流放大的作用,发射极与集电极之间电流较大,所以发射极接蜂鸣器。 蜂鸣器电路图如下: 图11 蜂鸣器电路2.2.7 发光二极管的显示 发光二极管是一种由磷化镓等半导体材料制成的,能直接将电能转换成光能的显示器件。此处应用4个发光二极管作为显示温湿度控制显示作用的效果。当温度高于设定的温度上限值时,红色发光二极管点亮;当温度低于设定的温度下限值时,蓝色发光二极管点亮;当

25、湿度高于设定的湿度上限值时,绿色发光二极管点亮;当湿度低于设定的湿度下限值时,黄色发光二极管点亮。电路图如下 图12 发光二极管电路3. 软件部分设计3.1 软件流程图设计程序是从定义变量,数组及其他开始,后再对一些元件进行初始化,当判断这些元件初始化成功,可以正常工作时,然后开始对温湿度进行不停的检测,单片机不停的对温湿度传感器进行读取数据,又不停的传送给液晶显示器来显示当前温湿度,后再与设定的温湿度值进行值大小比较,当出现温湿度超过设定值时,通过发光二极管和蜂鸣器来提醒报警。程序不停的对温湿度进行检测,读取,显示,比较,程序进行死循环。图13 软件流程图3.2 程序#include#inc

26、lude#define uint unsigned int#define uchar unsigned char#define KeyPort P3sbit lcd_rs=P22;sbit lcd_rw=P23;sbit lcd_e=P24;sbit buz_bit=P20;sbit dl_red=P11;sbit dl_blue=P12;sbit dl_green=P13;sbit dl_white=P14;sbit Sensor_SDA = P27;uchar *String;uchar Sensor_Data5=0x00,0x00,0x00,0x00,0x00;uchar Sensor_

27、AnswerFlag; /收到起始标志位uchar Sensor_ErrorFlag; /读取传感器错误标志uchar Sensor_Check; /校验和uint Sys_CNT;uint Tmp;uchar flag;uchar num;uchar code table=Temp: C;uchar code table1=RH: %;uchar code table2=Sensor Not;uchar code table3=Connected;uchar code table4=Check wrong;uchar temp_H_shi,temp_H_ge, temp_L_shi,temp

28、_L_ge, hum_H_shi,hum_H_ge, hum_L_shi,hum_L_ge, shih,geh, shi,ge; uchar temp;uchar T1_count,T0_count;uchar hum;/定义整形的湿度数据uchar temp_H,temp_L,hum_H,hum_L;uchar code number_table=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39;uchar code table5= welcome to ;uchar code table6=this is my work。;void lcd

29、_init(void);/液晶初始化void delay_ms(uint ms); /12MHZ延时N毫秒void write_com(uchar com);/给lcd写指令void delay_us(uint us);/延时12微妙void write_com(uchar com);/lcd写指令void write_data(uchar dat); /lcd写数据void display_start(void);/lcd一开始显示的void write_char(uchar x,uchar y, uchar c);/往第y行的第x+1列写字符cvoid display_form(void)

30、;/设置lcd显示的基本框架void display_temp_hum(void);/显示温度湿度void key();/键盘扫描void campare(void);/看温度湿度是否在上限下限之间unsigned char Read_Sensor(void);unsigned char Read_SensorData(void);void diyihang(uint z);void dierhang(uint z);void display();void Clear_Data (void);void check_and_display();void delay_us(uint us)/ 延时

31、12微妙 while(us-) _nop_() ; void write_com(uchar com)/lcd写指令lcd_e=0;lcd_rs=0;lcd_rw=0;P0=com;delay_us(400);/ 延时N微妙lcd_e=1;delay_ms(1); /12MHZ延时N毫秒lcd_e=0;void write_data(uchar dat) /lcd写数据lcd_e=0;lcd_rs=1;lcd_rw=0;P0=dat;delay_us(33);/ 延时N微妙lcd_e=1;delay_ms(1); /12MHZ延时N毫秒lcd_e=0;void delay_ms(uint ms

32、) /延时一毫秒uchar i;while(ms-) for(i=0;i123;i+);void lcd_init(void)/液晶初始化delay_ms(15);write_com(0x38);/设置16x2,5x7点阵,8位数据接口delay_ms(5);write_com(0x38);delay_ms(5);write_com(0x38);write_com(0x38);write_com(0x0c);/设置开显示,不显示光标write_com(0x01);/显示清屏write_com(0x06);/写一个字符后地址指针加1void display_start(void)/lcd一开始显

33、示的uchar j;write_com(0x80);/放置光标的位置为第一行第一列for(j=0;j16;j+)write_data(table5j);delay_us(100);write_com(0xc0);/放置光标的位置为第2行第一列for(j=0;j1)write_data(c);delay_ms(5);void display_form(void)/设置lcd显示的基本框架write_char(0,0,T); write_char(1,0,:); write_char(2,0, ); write_char(3,0,H); write_char(4,0, ); write_char(

34、5,0, ); write_char(6,0, ); write_char(7,0,L); write_char(8,0, ); write_char(9,0, ); write_char(10,0, ); write_char(11,0,N); write_char(12,0, ); write_char(13,0, ); write_char(14,0,0xdf);/lcd显示 write_char(15,0,C); write_char(0,1,R); write_char(1,1,:); write_char(2,1, ); write_char(3,1,H); write_char(

35、4,1, ); write_char(5,1, ); write_char(6,1, ); write_char(7,1,L); write_char(8,1, ); write_char(9,1, ); write_char(10,1, ); write_char(11,1, ); write_char(12,1,N); write_char(13,1, ); write_char(14,1, ); write_char(15,1,%); void key()/键盘扫描uchar key_l,key_h;uchar key_value;P3=0xf0; /高四位置高,低四位拉低key_l=P

36、3;key_l=key_l&0xf0;if(key_l!=0xf0)delay_ms(5);if(key_l!=0xf0)key_l=P3&0xf0;/11100000 0xe0表示左边第一个键按下key_l=key_l|0x0f;/假设11101111P3=key_l;key_h=P3;key_h=key_h&0x0f; /00001110key_l=key_l&0xf0;/11100000key_value=key_h+key_l;/11101110switch (key_value)case 0xee:temp_H+;display_temp_hum();break;/第1行第1列键按下

37、,上限温度加1case 0xde:temp_H-;display_temp_hum();break;/第1行第2列键按下,上限温度减1case 0xbe:temp_L+;display_temp_hum();break;/第1行第3列键按下,下限温度加1 case 0x7e:temp_L-;display_temp_hum();break;/第1行第4列键按下,下限温度减1case 0xed:hum_H+;display_temp_hum();break;/第2行第1列键按下,上限湿度加1case 0xdd:hum_H-;display_temp_hum();break;/第2行第2列键按下,

38、上限湿度减1case 0xbd:hum_L+;display_temp_hum();break;/第2行第3列键按下,下限湿度加1 case 0x7d:hum_L-;display_temp_hum();break;/第2行第4列键按下,下限湿度减1default:display_temp_hum();break;void campare(void)/看温度湿度是否在上限下限之间if(temptemp_H)dl_red=0;dl_blue=1;if(temptemp_H)|(temphum_H)|(hum=temp)&(temp=temp_L)&(hum_H=hum)&(hum=hum_L)b

39、uz_bit=1;if(temp_H=temp)if(temp=temp_L)dl_red=1;dl_blue=1;if(humhum_H)dl_green=0;dl_white=1;if(hum=hum)if(hum=hum_L)dl_white=1;dl_green=1;void main() /主函数/Timer_init();/定时器初始化lcd_init();/液晶初始化display_start();/液晶开始显示的 delay_ms(5000);/lcd显示5s时间display_form();/设置lcd显示的基本框架/init_ds18b20();/ds18b20初始化tem

40、p_H=45;temp_L=0;hum_H=70;hum_L=50;dl_red=1;dl_blue=1;dl_white=1;dl_green=1;while(1)Read_Sensor();display_temp_hum();/调用温度湿度显示程序campare();/看温度湿度是否在上限下限之间key();/键盘扫描Clear_Data(); / 清除收到数据check_and_display(); / 检测并显示数据delay_ms(1000); / 延时 2S(两次读取间隔至少2S)void Clear_Data (void)int i;for(i=0;i5;i+) Sensor_Datai = 0x00;/接收数据清零void display_temp_hum(void)uchar t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号