基于单片机的无线远程温度监控系统设计_第1页
基于单片机的无线远程温度监控系统设计_第2页
基于单片机的无线远程温度监控系统设计_第3页
基于单片机的无线远程温度监控系统设计_第4页
基于单片机的无线远程温度监控系统设计_第5页
已阅读5页,还剩81页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的无线远程温度监控系统设计摘要本科毕业设计基于单片机的无线远程温度监控系统设计系院:信息工程学院名:专业:通信工程职称:副教授本文论述的远程温度控制是将无线发射与接收和自动控制相结合的一种控制。基于这种技术,本系统以AT89S51系列单片机为控制单元,采用Dallas单线数字温度传感器DS18B20和无线收发模块NRF24L01对试验现场温度数据进行远程无线测量与控制。整个系统包括主、从两个子系统,其中主系统完成对试验现场设定温度值、设定值显示、实际值显示、失控报警和接收数据功能;子系统完成温度采集、温度控制和发送数据功能。该系统结构简单实用、功能齐全,通用性强,可被应用于许多工业生产领域,它可使操作人员与恶劣的工作环境分离开来,实现生产自动化,提高企业的生产效率。关键词:AT89S51;温度传感器;NRF24L01;显示;报警AbstractThelong-distancetemperaturecontrollingthispaperpresentsisatechnologyoflinkingwirelessreceivingandsendingtoautomation.Basedonthetechnology,thesystemisbasedonthecontrolofAT89S51SCM,usingDallassinglelinedigitalthermometerDS18B20,wirelessreceivingandsendingmoduleNRF24L01totestandcontrolthetemperaturedataofaexperiencingplace.Thewholesystemconsistsofthemainsystemandsubsystem.Themainsystemcompletesthefunctionsofinitializinganddisplayingthetemperaturevalue,displayingactualtemperature,alarmingwhenitisoutofcontrol,andreceiving.Thesubsystemcompletesthefunctionsofreceiving,andtemperaturecollecting,controlling,andsending.Thedesignconcludesthatthissystemhasmanyadvantages,suchasitsuniqueness,simple,convenience,andsuchcommonusing.Itcanbewidelyusedinlotsofindustrialproducingandcontrollingfields,applyingthissystemcandepartoperatorsfromexecrableenvironment,realizeproducingautomation,andimprovecorporation’sproducingefficiency.Keywords:AT89S51;Temperaturesenior;NRF24L01;Display;Warning选题的目的和意义温度是工业生产中常见的被控参数之一。从食品生产到化工生产,从燃料生产到钢铁生产等等,无不涉及到对温度的控制,可见,温度控制在工业生产中占据着非常重要的地位,而且随着工业生产的现代化,对温度控制的速度和精度也会越来越高。近年来,温度控制领域发生了很大的变化,工业生产中对温度的控制不再局限于近距离或者直接的控制,而是需要进行远距离的控制,这就产生了远程温度控制。远程控制的通信方式有多种,如通过有线网络、无线电等等。每一种方式都有其优点和缺点。利用无线电通信,方便、灵活,而且经济。它不需要像有线网络控制耗费巨大的通信资源,也不受网络速度的影响。在温度控制的方法上,传统的控制方法(包括经典控制和现代控制)在处理具有非线形或不精确特性的被控对象时十分困难。而温度系统为大滞后系统,较大的纯滞后可引起系统不稳定。在温度采集方法上,通常是利用热电偶把热化为电信号,再通过A/D转换得到温度值。这种方法速度慢,而且精度不是很高。综合上面的考虑,本次毕业设计设计了基于无线电通信的远程温度控制系统。现代工业设计、工程建设及日常生活中常常需要用到温度控制,早期温度控制主要应用于工厂中,例如钢铁的水溶温度,不同等级的钢铁要通过不同温度的铁水来实现,这样就可能有效的利用温度控制来掌握所需要的产品了。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会。近年来,单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃发展,单片机已经渗透到工业、农业、国防,科研以及日常生活等各个领域。传统的温度采集的方法不仅费时,而且精度差满足不了各行业对于温度数据提高精度,设备高可靠性的需求。单片机的出现使得温度数据的采集和处理得到了很好的解决。选择适当的单片机和温度传感器以及前端处理电路,可以获得较高的测量精度,不但方便快捷,成本低廉,省事省力,而且大幅度提量精度。国内外研究现状在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎所有的工业部门都不得不考虑着温度的因素。目前国内外对于温度监控的研究和应用已非常普遍,但对于无线远程温度监控这方面的研究和应用还有相当大的提升空间。无线温度监控不仅可以应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都将会见到它的影子,无线远程温度监控将会有更广阔的发展空间。本设计主要研究内容本设计是基于单片机的无线温度监控系统,经过大量查阅资料和研究,最无线接收和发射模块,采用LCD1602液晶屏进行显示。该系统由发射系统和接收系统组成,发射系统进行温度采集以及数据发射,接收系统作为主系统,对数据接收处理并显示出来。该系统具有温度过限报警功能,设有4个独立按键,分别进行温度高低限定值的选择、设定,清除报警声和报警灯。该系统具有操作方便,远距离操控,功能多样,电路简洁,成本低廉等优点,符合电子技术的发展趋势,有很广阔的市场前景。经过设计和一系列的调试,测试结果基本达到了该设计预期制定的各项要求,顺利地完成了本次毕业设计的目标。2设计要求与方案论证设计要求(1)温度监测范围:室温~125℃;(2)接收系统显示温度实际值,收发距离:60米以内;(3)可以人工设定报警温度上、下限定值;(4)超过温度限定值时蜂鸣器报警和发光报警。系统基本方案选择和论证2.2.1单片机芯片选择方案与论证方案一:采用FPGA(现场可编程们阵列)作为系统的控制器。FPGA可实现各种复杂的逻辑功能,规模大,密度高,它将所有的器件集成在一块芯片上,减小了体积,提高了稳定性,并可用EDA软件仿真、在线调试,易于进行功能扩展,响应速度快。但成本高,同时由于引脚较多,电路板的布线比较复便宜,并且技术比较成熟,低功耗,易于购买等优点,但是8位机程序执行速度比较慢,内部资源比16位单片机少很多。考虑到本系统对程序运行速度的8位单片机价格便宜,并且其内部具有丰富的资源,故采用AT89S51单片机作为本系统主控制芯片。2.2.2温度采集模块选择方案与论证方案一:使用热敏电阻作为传感器,用热敏电阻与一个相应阻值电阻相串联分压,利用热敏电阻阻值随温度变化而变化的特性,采集这两个电阻变化的分压值,并进行A/D转换。此设计方案需用A/D转换电路,增加了线路的复杂程度,增加硬件成本而且热敏电阻的感温特性曲线并不是严格线性的,会产生较大的测量误差。因此此方案不可行。为“一线”总线,这种独特的方式可以使多个DS18B20方便地组建成传感器网络,为整个测量系统的建立和组合提供了更大的可能性。它在测温精度、转换时间、测数距离、分辨率等方面比其他温度传感器有了很大的进步,给用户带来了更方便的使用和更令人满意的效果。DS18B20直接输出数字温度值,不需要校正,因此选择此方案。2.2.3无线收发模块的选择方案与论证进的声表面波器件和数据专用ASK超外差式单片接收电路开发生产了TX315系R其频率绝对一致,故在使用时可随意增加发射和接收组件,以组成所需的功能系统。此系统用此模块很好,但是这个模块的价格太昂贵,所以放弃此方案。片射频收发器件,工作于GHz~GHzISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其功率发射时,工作电流也只有9mA;接收时,工作电流只有,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便,而且价格相对其他无线模块较低,易于购买,因此选择此方案。2.2.4显示模块的选择方案与论证方案一:采用数码管显示,成本低、亮度高。但本系统所要实现较多的内容,硬件电路设计会比较复杂,而且功耗大,所以不适合本设计。方案二:采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示。方案三:采用LCD1602液晶屏显示,显示内容较多,方便组合,可视面积大,画面效果好,抗干扰能力强,调用方便简单,而且可以节省软件中断资源。系统中需要显示温度和上限温度等信息,要求显示内容丰富。比较上述三种方案,方案三电路简单、显示信息量大、能很好的满足题目要求,因此采用方案三。2.2.5报警模块的选择方案与论证间可控,但本设计报警时间是随机的,取决于试验现场的温度,因此不可行。方案二:采用9102三极管驱动蜂鸣器,当达到温度上下限值,就会给三极管一个高电平驱动蜂鸣器,实现声音报警,并且可以接个发光二级管,同时点亮二极管,实现发光报警。此方案实行起来方便,电路也简单,因此选用此电路设计最终方案的确定由以上讨论的各种方案最终得出本次设计的方案为:采用单片机芯片L3系统的硬件设计与实现系统硬件电路主要分为:单片机AT89S51主、从系统、接收电路、显示电路、键盘电路、温度采集电路、发射电路。设计总框图如图3-1所示,系统设ATAT89S51无线发温度采液晶显AT89S51无线接声光报单片机独立键系统硬件概述硬件电路是由单片机芯片AT89S51为控制核心,具有在线编程,丰富的中断源、灵活性强、低功耗等功能,能在3V低压工作;温度的采集由DS18B20来构成,它具有微型化、低功耗、高性能、搞干扰能力强、易配处理器等优点,特别适用于构成多点温度测控系统,可直接将温度转化成串行数字信号给单片机处理,且在同一总线上可以挂接多个传感器芯片;无线收发模块用NRF24L01,工作于~ISM频段,NRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便;显示部份由1602LCD来完成;报警电路采用三极管驱动蜂鸣器及发光二极管实现声光报警。主要单元电路的设计3.2.1单片机主控制模块的设计结,单片机一切工作停止,直到下一个中断或硬件复位为止。单片机主控制电路即包括了单片机的时钟电路和复位电路。本设计采用的是内部时钟电路。单片机内部有一个用于构成振荡器的高增益反相放大器,18脚之间跨接的晶振和微调电容作为反馈元件一起构成一个稳定的自激振荡器。9引脚是单片机的复位输入端,接上电容,电阻及电阻和按钮组成手动复位电电路3.2.2温度采集电路模块的设计DS18B20,它是DALLAS公司生产的单总线式数字温度传感器,它具有微型化、低功耗、高性能、搞干扰能力强、易配处理器等优点,特别适用于构成多点温度测控系统,可直接将温度转化成串行数字信号(提供9位二进制数字)给单片机处理,且式,温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输占用微处理器的端口较少,可节省大量的引线和逻辑电路。它具有测量精度高,电路连接简单特点,此类传感器仅需要一条数据线进行数据传输,使用3.2.3无线收发电路模块的设计NRF24L01是一款新型单片射频收发器件,工作于~ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强Shock低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。NRF24L01率为0Mb/s~10Mb/s;125个频道:与其他NRF24系列射频器件相兼容;发射数据时,首先将NRF24L01配置为发射模式:接着把接收节点地址为高电平并保持至少10μs,延迟130μs后发射数据;若自动应答开启,那么NRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成生中断,通知MCU。最后发射成功时,若CE为低则NRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据FLs收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信CE变低,则NRF24L01进入空闲模式1。SPI口为同步串行通信接口,最大传输速率为10Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI状态和数据信息是从MISO输出给MCU。NFR24L01模块采用电压供电,其应用电路及电源转换电路如图3-6所3.2.4显示电路模块的设计功功能说明一般接地接电源(+5V)LCD对比度调整端,接正电源时对比度最弱,接地时对比度最高RS为寄存器选择,高电平时选数据寄存器、低电平时选指令寄R/W为读写信号线,高电平时进行读操作,低电平时进行写操E(或EN)端为使能(enable)端,下降沿使能。高4位三态、双向数据总线7位(最高位)(也是busylag符号VSSVDDV0R/WEDB0DB1DB2DB3DB4DB5DB6DB7123456789由于1602LCD具有功耗低、寿命长、体积小、显示内容丰富、接口控制方便等优点。因此在各类电子产品中被广泛的推广和使用。本系统采用它来作为显示器件,不仅简化了硬件电路,而且极大的提高了系统的可靠性。如图3.2.5报警电路模块的设计蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器压电式蜂鸣器:压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后(~15V直流工作电压),多谐振荡器起振,输出~的音频信号,阻抗匹配器推动压电蜂鸣片发声。电磁式蜂鸣器:电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互缠绕。本设计应用三极管驱动蜂鸣器同时点亮发光二极管实现报警,其应用电路3.2.6电路原理及说明将以上各个电路模块连接起来,即构成无线远程监控系统,总系统工作原理如下:温度传感器对实验现场的温度进行采集,副控芯片AT89S51对采集温度数据进行处理,将有用数据送给发射模块NRF24L01,主系统的接受模块NRF24L01接受数据送给主控芯片AT89S51,AT89S51对数据进行分析处理,对现场实际温度进行显示;另外,可以人工通过独立键盘对所测温度进行监控,先设定好规定的温度范围,当采集的温度超过此范围时,蜂鸣器响,同时点亮发光二极管,通过按键选择,可以独立实现声音报警、发光报警及声光同时报警;当检测温度不在设定范围内时,系统正常运行,时刻显示着现场的温度4系统程序的设计主程序的设计主程序包括主系统程序设计,子系统程序设计和报警程序设计。主系统程序负责键盘设定值的检测,上下门限设定值的显示,通过无线模块接收子系统发送来的数据并显示在LCD上,并且判断接收的温度是否超出门限值,如果超出就进行报警操作。主系统流程图如图4-1所示。主程主程键盘设定值设定值显接收副系统实际值显温度超出N返回Y报警子系统负责对温度的数据采集,经过处理后通过无线模块发送出去。子系主主程温度采数据处实际值发返回报警程序通过对接收到的实际值与设定值进行比较,当温度小于报警下限值时,进行报警下限处理,当温度大于报警上限值时,进行报警上限处理。报报报警子程设定值与实际值比温度小于NY温度大于报警下限处Y报警上限处返回N主程序首先对LCD进行初始化,然后进行按键扫描,设定温度上下限值,接着初始化无线接收模块,然后温度数据,并判断是否超出设定范围,超过即启动报警程序,不超过则继续判断,如此循环。main()0C0C0C24L24L24L̅型计算机控制技术[M].北京:清华大学出版社,2009.[2]徐炜,姜晖,崔琛.通信电子技术[M].西安:西安电子科技大学出版社,2008.[3]朱定华.微机原理与接口技术[M].北京:清华大学出版社,2010.[4]李斯伟,雷新生.数据通信技术[M].北京:人民邮电出版社,2009.[5]谢自美.电子线路设计实验测试[M].武汉:华中科技大学出版社,2010.[6]梁廷贵.遥控电路可控硅触发电路语音电路分册[M].北京:科学技术文献出版社,2011.[7]黄贤武,郑筱霞.传感器原理及其应用[M].成都:电子科技大学出版社,2010.[8]俞国亮.MCS-51单片机原理与应用[M].北京:清华大学出版社,2010.[9]夏路易,石宗义.Protell99SE设计教程[M].北京:北京希望电子出版社,2009.[10]王用伦.微机控制技术[M].重庆:重庆大学出版社,2010.[11]李大寨.传感器电子制作DIY[J].北京:科学出版社,2011.[12]张毅刚.单片机原理及应用[M].北京:高等教育出版社,2010.[13]谭浩强.C语言程序设计教程[M].北京:高等教育出版社,2010.出版社,2010.[15]候殿有.单片机C语言设计[M].北京:人民邮电出版社,2010.[16]姜志海,赵艳雷.单片机的C语言[M].北京:电子工业出版社,2008.[17]郑锋,王巧芝,程丽平.51单片机典型应用开发实例大全[M].北京:中国铁道工业出版社,2011.[18]杜洋.爱上单片机[M].北京:人民邮电出版社,2011.[19]喻金钱,喻斌.短距离无线通信详解:基于单片机控制[M].北京:北京航空航天大学出版社,2009.学出版社,2009.致谢附录Ⅰ系统总原理图附录Ⅱ仿真程序副系统仿真程序#include<>#include<>typedefunsignedcharuint8;typedefunsignedintuint16;typedefunsignedlonguint32;typedefcharint8;typedefintint16;typedeflongint32;sbitDQ=P1^0;//DS18B20sbitLED=P1^1;//LEDint8read_temp(void);voidstart_temp_sensor(void);voidtran_init(void);voidsend(int8tem);voiddelay(uint16cnt);voidDS18b20_reset(void){bitflag=1;while(flag)whilewhile(flag){DQ=1;delay(1);DQ=0;delay(50);//550usDQ=1;//delay(6);//66usflag=DQ;//presence="0继续下一步"}delay(45);//延时500usflag=~DQ;}DQ=1;}voidwrite_byte(uint8val){uint8i;for(i=0;i<8;i++){DQ=1;DQ=0;nops();//4usDQ=val&0x01;delay(6);val>>=1;}DQ=1;delay(1);}//最低位移出//66us//右移一位uint8read_byte(void){uint8i,value=0;for(i=0;i<8;i++){DQ=1;value>>=1;DQ=0;nops();//4usDQ=1;nops();//4usif(DQ)value|=0x80;delay(6);//66us}DQ=1;return(value);}voidstart_temp_sensor(void){DS18b20_reset();writebytexCCSkipROM令write_byte(0x44);//发转换命令}/*读出温度*/int8read_temp(void){uint8temp_data[2];//读出温度暂放int16temp;DS18b20_reset();//总线复位writebytexCCSkipROM令write_byte(0xBE);//发读命令tempdatareadbyte度低8位tempdatareadbyte度高8位temp=temp_data[1];temp<<=8;temp|=temp_data[0];temp>>=4;return(int8)temp;}/*串口传输*/voidtran_init(void){EA=1;/*CPU开放所有中断*/ES=1;/*允许串行口中断*/TMODx/计时器T1为定时器模式,工作于方式2*/TH1=0xfd;TL1=0xfd;PCON=0x00;SCON=0x50;/*SMOD=0*//*数据串行传输工作于方式1,波特率9600bit/s,允许接TR1=1;}voidsend(int8tem){SBUF=tem;while(!TI);TI=0;}主系统仿真程序voiddelay(uint16i){while(i--);}voiddelay_ms(uint16m)for(;m>0;m--)for(n=125;n>0;n--);}main(){int8dataout[16];tran_init();while(1){start_temp_sensor();//初始化18B20delay_ms(1000);//延时1秒dataout[0]=read_temp();//读温度send(dataout[0]);}}#include<>#include<>typedefunsignedcharuint8;typedefunsignedintuint16;typedefunsignedlonguint32;typedefcharint8;typedefintint16;typedeflongint32;//LCD1602sbitRS=P1^3;sbitRW=P1^4;sbitEN=P1^5;sbitBUSY=P0^7;//KEYSsbitKey1=P3^4;sbitKey2=P3^5;sbitKey3=P3^6;sbitKey4=P3^7;sbitBUZZ=P1^2;//BUZZER//LEDsbitLED1=P1^0;sbitLED2=P1^1;#defineKEY_DELAY5//按键扫描延时//键值#defineK_ALARM1#defineK_TL2#defineK_ADD3#defineK_SUB4voiddelay1ms(unsignedintms)//延时1毫秒(不够精确的){unsignedinti,j;for(i=0;i<ms;i++)for(j=0;j<100;j++);}/*等待繁忙标志*/voidwait(void){P0=0xFF;RS=0;RW=1;EN=0;EN=1;}while(BUSY==1);EN=0;}/*写数据*/voidw_dat(uint8dat)laymsRS=1;RW=0;EN=0;P0=dat;delay1ms(1);EN=1;delay1ms(1);EN=0;}/*写命令*/voidw_cmd(uint8cmd){delay1ms(1);RS=0;RW=0;EN=0;P0=cmd;delay1ms(1);EN=1;delay1ms(1);EN=0;}串到LCD*/voidw_string(uint8addr_start,uint8*p){w_cmd(addr_start|0x80);while(*p!='\0'){w_dat(*p++);}}/*发送数字到LCD(00~99)*/voidw_data(uint8addr_start,uint8dat){w_cmd(addr_start|0x80);w_dat(dat%100/10+'0');w_dat(dat%10+'0');}voidLCD1602_init(void){delay1ms(15);w_cmd(0x38);delay1ms(5);w_cmd(0x08);delay1ms(5);w_cmd(0x01);delay1ms(5);w_cmd(0x06);delay1ms(5);w_cmd(0x0c);delay1ms(5);}voidrece_init(void)EACPU断*/ES=1;/*允许串行口中断*/TMODx计时器T1为定时器模式,工作于方式2*/TL1=0xfd;PCON=0x00;/*SMOD=0*/SCON=0x50;/*数据串行传输工作于方式1,波特率9600bit/s,允许接收TR1=1;/*启动定时器T1*/}int8receive(void){}while(!RI);RI=0;returnSBUF;/*等待等待数据接受*//*远程温度控制*/uint32Count=0;uint8Rev_dat[16]=0,Alarm=0,Tl=0;int8k_val=0,Top=40,Low=10;voiddelay(uint16n){while(n--);}voiddelay_ms(uint16m)for(;m>0;m--)for(n=125;n>0;n--);}/*按键扫描*/uint8scan_key(void){uint8val=0;if(Key1==0){delay_ms(KEY_DELAY);if(Key1==0)val=K_ALARM;while(Key1==0);}if(Key2==0){delay_ms(KEY_DELAY);if(Key2==0){val=K_TL;if(Tl==0)//上下限切换w_string(0x4A,"");w_string(0x43,"");}while(Key2==0);}if(Key3==0){delay_ms(KEY_DELAY);if(Key3==0)val=K_ADD;while(Key3==0);}if(Key4==0){delay_ms(KEY_DELAY);if(Key4==0)val=K_SUB;while(Key4==0);}returnval;}voidbuzzer_sound(uint16t)//蜂鸣器发声{uint16i;for(i=0;i<t;i++){BUZZ=~BUZZ;//电平反转delay(100);//延时k_val=scan_key();//按键扫描if(k_val)//判断键值break;}BUZZ=1;//蜂鸣器不响}voidkey_action(uint8val)//按键处理{int8tmp;switch(val){caseK_ALARM://警报方式if(Alarm>=2)Alarm=0;Alarm++;if(Alarm==0)//声音和LEDw_string(0x40,"LS");elseif(Alarm==1)//LEDw_string(0x40,"L");elseif(Alarm==2)//声音w_string(0x40,"S");break;caseK_TL:if(Tl>=1)//上下限值加Tl=0;Tl++;if(Tl==0)w_string(0x43,"T");//显示上限标志ew_string(0x4A,"L");//显示下限标志break;caseK_ADD:if(Tl==0){if(Top<=50)//上下限值减Top++;if(Top<0){tmp=-Top;w_string(0x45,"-");//显示负号w_data(0x46,tmp);//显示数值}{w_s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论