




已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广州大学松田学院毕业论文(设计)题目_基于单片机的温控报警器设计_基于单片机的温控报警器设计摘要温度是我们日常生产和生活中实时接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计就应运而生了,利用数字让人们更加直观的了解自己想知道的温度到底是多少。所以,温度的测量是一个很重要的物理参数,它能直接告诉人们所需要的温度的大小。随着世界的科技发展,对于温度的测量要求也是越来越严格了,但是测量温度的环境也越来越恶劣。温度的测量不仅仅局限于外出穿衣的指标上了,在现实的社会中,温度的测量和控制无处不在,例如家庭里面都能看见的冰箱的自动温度调节。但是很多时候,在恶劣的环境中的测量则会受到很大程度的限制,尤其在工业控制中,在这个时候,温度测量的自动控制先得尤为重要。本文将要介绍的是和采用DS18B20作为温度传感器,自动测量当前温度,由单片机AVRMEGA16进行处理控制,并通过LCD1602显示设定温度和当前温度,若当前温度超过设定温度,系统将会进行比较简单的声光报警。关键词DS18B20,LCD1602,单片机,声光报警TEMPERATUREALARMDESIGNBASEDONSCMABSTRACTTHETEMPERATUREISREALTIMEACCESSTOTHEPHYSICALQUANTITIESINOURDAILYPRODUCTIONANDLIFE,BUTITCANNOTSEE,JUSTBYFEELINGITPROBABLYONLYFEELTHETEMPERATUREVALUES,TRADITIONALPOINTERTHERMOMETERINDICATESTHATTHETEMPERATURE,BUTLOWACCURACY,USEISNOTCONVENIENTENOUGH,THEDISPLAYISNOTINTUITIVE,DIGITALTHERMOMETERISMADEUSINGDIGITALMOREINTUITIVEUNDERSTANDINGOFTHETEMPERATUREINTHEENDTHEYWANTTOKNOWISHOWMUCHTHEREFORE,THETEMPERATUREMEASUREMENTISAVERYIMPORTANTPHYSICALPARAMETERSCANDIRECTLYTELLPEOPLETHESIZEOFTHEREQUIREDTEMPERATUREWITHTHEDEVELOPMENTOFSCIENCEANDTECHNOLOGYOFTHEWORLD,FORTHETEMPERATUREMEASUREMENTREQUIREMENTSBECOMEINCREASINGLYSTRINGENT,MEASURETHETEMPERATUREOFTHEENVIRONMENTISALSOWORSENINGTEMPERATUREMEASUREMENTISNOTLIMITEDTOTHEINDICATORSGOOUTDRESSEDINTHEREALITYOFTHESOCIETY,THEMEASUREMENTANDCONTROLOFTEMPERATUREEVERYWHERE,FOREXAMPLE,THEFAMILYCANSEEINSIDETHEREFRIGERATORTHERMOSTATBUTMANYTIMES,INTHEHARSHENVIRONMENTOFTHEMEASUREMENTWILLBESUBJECTTOALARGEDEGREEOFRESTRICTION,ESPECIALLYININDUSTRIALCONTROL,ATTHISTIME,THEAUTOMATICCONTROLOFTHETEMPERATUREMEASUREMENTCOMEPARTICULARLYIMPORTANTTHISARTICLEISDS18B20ASTHETEMPERATURESENSORANDTHEUSEOFAUTOMATICMEASUREMENTOFTHECURRENTTEMPERATURE,TOBEPROCESSEDBYTHEMICROCONTROLLERAVRMEGA16CONTROLDISPLAYSTHESETTEMPERATUREANDTHECURRENTTEMPERATUREANDTHROUGHLCD1602TO,IFTHETEMPERATUREEXCEEDSTHESETTEMPERATURE,THESYSTEMWILLBERELATIVELYSIMPLETHESOUNDANDLIGHTALARMKEYWORDSSCM,DS18B20,LCD1602,SOUNDANDLIGHTALARM目录1绪论611课题的背景612课题的意义613研究的基本内容与拟解决的主要问题7131研究的基本内容7132拟解决的主要问题82设计的思路821设计基本原理822设计的基本条件923温度报警器的技术和工作原理9231DS18B20温度传感器介绍9232DS18B20的初始化10233DS18B20的写操作10234DS18B20的读操作11235DS18B20内部结构图11236DS18B20工作原理1124液晶显示屏LCD1602主要参数技术12241引脚接口说明表12242LCD1602的指令说明及时序1325ATMEGA16单片机介绍133系统硬件设计1331温度传感器设计1332液晶LCD1602显示部分设计1433单片机ATMEGA16原理图设计15331程序烧写16332电源端口16333串口通讯端的设计16334报警设计17335按键设计174系统软件设计1841流程图185温度数据处理函数1951DS18B20初始化函数1952传感器DS18B20的子函数19521传感器DS18B20写命令子函数20522DS18B20读一个字节数据子函数2153LCD1602显示函数23531LCD1602初始化子函数23532LCD1602写数据子函数24533LCD1602写命令子函数2454按键函数2555主函数286系统调试3061软硬件调试以及分析30参考文献31附录321绪论11课题的背景温度是我们日常生产和生活中实时在接触到的物理量,但是它是看不到的,仅凭感觉只能感觉到大概的温度值,传统的指针式的温度计虽然能指示温度,但是精度低,使用不够方便,显示不够直观,数字温度计的出现可以让人们直观的了解自己想知道的温度到底是多少度。所以,温度的测量是一个很重要的物理参数,它能直接告诉人们所需要的温度的大小。随着世界的科技发展,对于温度的测量要求也是越来越严格了,但是测量温度的环境也越来越恶劣。温度的测量不仅仅局限于外出穿衣的指标上了,在现实的社会中,温度的测量和控制无处不在,例如家庭里面都能看见的冰箱的自动温度调节。但是很多时候,在恶劣的环境中的测量则会受到很大程度的限制,尤其在工业控制中,在这个时候,温度测量的自动控制先得尤为重要。12课题的意义温度控制技术在工业上有很多方面都起到一个至关重要的作用。随着现代工农业技术的发展和人们对生活环境要求的提高,人们迫切需要检测与控制温度。这次温度报警器的设计与制作,阐明了该装置进行设计与制作的具体过程以及方法。这种温度报警器的机构并不复杂,而且可操作性强,应用广泛,扩展性好。工作时,设定好温度测量的范围,若当前环境温度超过设定的高温临界温度,由单片机发出声光报警信号,防止因温度再升高而带来的不必要的损失。在农业生产中,温室的温度是很难把握的。往往会超过或低于允许值,致使大批良种的报废,耽误农时,影响生产。在工业中,现今社会是个信息的时代,随着信息科技的高速发展和安全指数的日益提高,机房,作为现代化的代名词,信息化的枢纽,其工作安全系数已经成为系统的重中之重,机房内的机械一旦发生故障,将可能带来信息系统崩溃式的瘫痪。若电气线路发生短路、过载等故障而达到局部高温从而引发火灾,那损失是无法想象的。最重要的是,若果温度得不到有效的调节,会令机房内的电子设备、机械老化,导致这样那样的故障出现。一般的电子产品都是发热快,若散热设施做的不够及时而令机房内温度短时间内超出设备正常的温度,就会导致系统瘫痪或者火灾的事故发生。在日常生活中,也经常要用到高功率的电器,但是高功率电器的发热量大,有时候又可能引起火灾等等之类的危险情况。综合以上种种情况的出现,温度报警器就极其需要,只要环境温度超过一定范围时报警,来提醒使用者。数字温度计的出现为现今社会带来一定程度上的方便。它采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如250摄氏度,然后通过显示单元,如LED,,LCD或者电脑屏幕等显示出来给人观察。这样就完成了数字温度计的基本测温功能。数字温度计根据使用的传感器的不同,AD转换电路,及处理单元的不同,它的精度,稳定性,测温范围等都有区别,这就要根据实际情况选择符合规格的数字温度计。13研究的基本内容与拟解决的主要问题131研究的基本内容要设计出一款由单片机控制的温度报警器,首先,我们要知道温度传感器的选择。可以采用集成化的温度传感器直接传输数据由单片机处理,或者用热敏电阻来达到预期的效果。利用集成化的传感器成本较高,但其准确性相对于热敏电阻比较有保障,而且单片机处理的数据也会少很多。所以我会选择采用集成化温度传感器传输数据、由单片机收集处理的方案制作温控报警装置。我会首先用PROTEL99绘画出原理图和PCB图,接着编写单片机程序,然后在PROTEUS上进行仿真工作,最后在实际电路板上进行调试和改善。132拟解决的主要问题拟解决的问题1确定采用哪种传感器进行设计。2确定系统硬件的组成3确定好系统的模型。4设计好原理图和程序设计。5准备好制作的各种材料。6通过仿真以及调试,找出未解决问题。2设计的思路这次设计的思路在于设计出一个可以根据实时温度和设定温度对比之后进行声光报警的温度控制报警器。这个报警器能够稳定运行,并且能够在大多数情况下对高温带来的不良影响有一个预警的作用,防止一些对高温敏感的器械有不良情况出现。利用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。采用LCD1602作为数字显示模块,用AVRMEGA16进行软件设计21设计基本原理DS18B20采集温度数据,经过单片机响应之后发送数据到单片机。再经由单片机进行处理和分析。然后将用DS18B20采集回来的数据经处理后打印到LCD1602上。且经过按键设定报警温度并同将设定温度打印到LCD1602上,这里用采集回来的数据跟设定的数据作对比。对比之后,由单片机判断是否报警。图1基本设计框图22设计的基本条件本设计是利用DS18B20温度传感器设计的一个液晶显示温度报警器。设定安全温度在10125(可根据具体需要在程序中进行调整),对在这一范围内的温度变化采集后送入单片的端口。例如传感器的温度为100C,则对应的LCD1602上的实时温度为100C。而温度温度高于125C时,不在安全温度范围之内,蜂鸣器进行报警,发光二极管发光显示。23温度报警器的技术和工作原理231DS18B20温度传感器介绍DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20有独特的单线接口方式,和微处理器连接仅需一条口线即可实现双向通讯;它不需要任何外围元件,全部的传感元件都集成在集成电路内;电压范围在3055V之间,温度范围在55125,在1085时精度为05,符合设计条件;它还有负电压特性,电源极性接反时,温度计不会因发热烧毁,实验结果。其引脚功能描述见下1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可电源LEDMEGA16DS18B20LCD1602报警收集/输入数据输出数据以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。图2DS18B20封装图要注意的一点是,在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。232DS18B20的初始化(1)先将数据线置高电平“1”。(2)延时(该时间要求的不是很严格,但是尽可能的短一点)(3)数据线拉到低电平“0”。(4)延时750微秒(该时间的时间范围可以从480到960微秒)。(5)数据线拉到高电平“1”。(6)延时等待(如果初始化成功则在15到60微妙时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。(7)若单片机读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。(8)将数据线再次拉高到高电平“1”后结束。233DS18B20的写操作(1)数据线先置低电平“0”。(2)延时确定的时间为15微秒。(3)按从低位到高位的顺序发送字节(一次只发送一位)。(4)延时时间为45微秒。(5)将数据线拉到高电平。(6)重复上(1)到(6)的操作直到所有的字节全部发送完为止。(7)最后将数据线拉高。234DS18B20的读操作(1)将数据线拉高“1”。(2)延时2微秒。(3)将数据线拉低“0”。(4)延时3微秒。(5)将数据线拉高“1”。(6)延时5微秒。(7)读数据线的状态得到1个状态位,并进行数据处理。(8)延时60微秒。235DS18B20内部结构图DS18B20内部结构主要由四部分组成64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。图3DS18B20内部结构236DS18B20工作原理图424液晶显示屏LCD1602主要参数技术表21LCD1602技术参数表显示容量16X2个字符芯片工作电压4555V工作电流20MA(50V)模块最佳工作电压50V字符尺寸295X435(WXH)MM241引脚接口说明表第1脚VSS为地电源。第2脚VDD接5V正电源。第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脚背光源负极。242LCD1602的指令说明及时序基本操作时序1读状态输入RSL,RWH,EH输出D0D7状态字2写指令输入RSL,R/WL,D0D7指令码,E高脉冲输出无3读数据输入RSH,R/WH,EH输出数据4写数据输入RSH,R/WL,D0D7数据,E高脉冲输出无25ATMEGA16单片机介绍这次的设计,要用到的是单片机ATMEGA16。ATMEGA16是AVR系列的8位单片机,虽然它是8位的单片机,但功能非常的强大。有很多的内部资源,连接外部的端口多达44个,有32个是I/O端口,基本每个端口复用功能都非常好,最高速度达到16MHZ。并且支持串口、模数转换等功能,拥有512字节的EEPROM,1K字节片内RAM,在外加RAM和ROM的情况完全可以运行到UCOS操作系统。然而设计要用的功能并不多,端口的复用功能基本用不上,只需要安排足够的普通I/O端口给温度传感器和液晶显示便可以了。3系统硬件设计31温度传感器设计这部分设计用到了温度传感器DS18B20,这种传感器是单数据总线传感器,一共有三只引脚,一个引脚接电源VCC,一个引脚接地GND,还有一个就是数据总线引脚DQ接到单片机的其中一只引脚。设计图如下图5DS18B20原理图这个是DS18B20传感器的硬件设计。1脚接电源VCC,2脚是数据总线的引脚用于接到单片机ATMEGA16的PB3引脚,3脚用于接地GND。还有在设计里面考虑到电源的不稳定,所以在接近插槽的电源VCC和地GND之间加了一个01U的电容用于滤波,稳定电源。32液晶LCD1602显示部分设计这部分设计用到了带字符的液晶显示器LCD1602,这种液晶显示器是162显示规格的带字符显示器。这里带字符显示的液晶显示器里面已经有一个解释芯片,当收到字符数据时,自动识别出字符,不需要在单片机作解释,但缺点就是这种带字符的显示器不能按照设计者的意思随心所欲地显示需要的图案。不过今次设计液晶显示器的功能是用于显示实时温度和设定温度,并不需要特殊图案。因此,带字符的LCD1602液晶显示器对于今次设计来说,简单直观地实现效果。所以我选择用带字符的液晶显示器。LCD1602原理图如下图6LCD1602原理图设计按照LCD1602的接口信号来连接引脚。1脚是电源地GND;2脚接电源正极VCC;3脚接液晶显示偏压信号,利用两个1K的电阻进行分压;4脚到6脚接单片机ATMEGA16的PD5到PD7,分别代表接到LCD1602的RS、RW、EN的引脚;7脚到14脚接按顺序接到单片机ATMEGA16的PB0到PB7引脚,15脚背光源正极接电源正极VCC;16脚背光源负极接正源地GND。下表显示LCD1602的4脚到14脚和单片机引脚对应关系。表22单片机与LCD1602引脚对应表单片机ATMEGA16LCD1602单片机ATMEGA16LCD1602PD5引脚4(RS)PB3引脚10(DATA3)PD6引脚5(RW)PB4引脚11(DATA4)PD7引脚6(EN)PB5引脚12(DATA5)PB0引脚7(DATA0)PB6引脚13(DATA6)PB1引脚8(DATA1)PB7引脚14(DATA7)PB2引脚9(DATA2)33单片机ATMEGA16原理图设计这部分是整个单片机ATMEGA16的设计总图。包含了程序烧写下载端口,3个按键,电源端口,预留串口通讯端、复位模块和声光报警模块。图7设计部分原理图331程序烧写这部分设计是用于将在电脑端的编写好的程序烧写到单片机ATMEGA16,今次设计的下载用ASP下载方式。如下图,采用的是10PIN插针。1脚连接单片机的MOSI端;2脚空接;3脚接单片机RESET端;4脚接单片机SCK端;5脚接单片机MISO端;6脚到9脚均接电源地GND;10脚接VCC。图8程序烧写332电源端口这部分只需要外接一个2PIN的端子用于连接5V开关。用一个100U和一个01U的电容接电源和电源正极。如下图图9电源端口接线原理图333串口通讯端的设计此设计目的是为了能够使系统在硬件上得到扩展型设计,方便通过串口RS485或者RS232上传数据。图10串口设计图如图显示有两个引脚,分别是数据发送和接收。1脚RXD连接到单片机MEGA16港口PD0,引脚2连接到端口TXD单片机MEGA16PD1。这里的MEGA16单片机PD0口和PD1口是一种特殊的串行通信口,这俩端口可实现计算机与单片机之间的串口通信。334报警设计采用的是声光报警的方式来提示实时温度已经达到设定的温度。硬件上,利用一个有源蜂鸣器和一个LED灯来进行声光报警。当实时温度到了设定的温度,那么蜂鸣器响LED灯亮。如下图11是蜂鸣器部分,1脚接单片机的PD4端口,2脚接电源地,这里用单片机高电平驱动蜂鸣器的方法。如图12是LED灯部分,连接电源正极和单片机的PB4端口,这里用单片机低电平驱动LED的方法。图11蜂鸣器图12LED灯335按键设计本设计采用4个按钮,其中之一是用于重置。其他三个按钮用来设置设定温度。2键是用来设置温度增加,3键来设定温度下降,而4键是用于切换位数。4系统软件设计41流程图开始初始化芯片声光报警初始化DS18B20设定数值加1设定数值减1设定数值位数切换键4是否按下键2是否按下键3是否按下判断数值是否达到设定数值初始化LCD16025温度数据处理函数51DS18B20初始化函数程序代码如下VOIDINIT_18B20VOIDDQ_OUT/设置PB3为输出DQ_SET/拉高PB3电平DELAY_10US1/延时DQ_CLR/拉低PB3电平DELAY_10US75/延时DQ_SET/再次拉高PB3电平DELAY_10US6/延时DQ_IN/设置PB3为输入WHILEDQ_R/等待DS18B20返回来的高电平WHILEDQ_R/等待DS18B20初始化完毕52传感器DS18B20的子函数程序代码如下UINTREAD_18B20_TEMPVOIDUCHARTEMP1,TEMP2INTTEMPINIT_18B20/复位18B20WRITE_18B20_COM0XCC/忽略ROM配置WRITE_18B20_COM0X44/发出转换命令INIT_18B20WRITE_18B20_COM0XCCWRITE_18B20_COM0XBE/发出读温度命令TEMP1READ_18B20_BYTE/读取到温度的前两个字节TEMP2READ_18B20_BYTEINIT_18B20/复位18B20TEMPTEMP21/命令右移一位DELAY_10US5/延时这个是单片机向传感器写命令的函数。这里我们一开始就是一个循环语句,因为这里需要传送的命令都为8位,一次只能传送一位到传感器,所以需要分别传送8次。进入循环语句之后,我们将引脚设置为输出并拉低引脚电平。之后就是进入一个判断语句,判断命令的最后一位是否为1,当为1拉高引脚电平,但不为1拉低引脚电平。接着就是延时50US等待传感器反应,再接着是拉高电平指示这次的传送完毕,后面跟着就是需要将命令右移一位。这样直到整个命令完全传送到传感器中,再然后延时等待传感器反应。522DS18B20读一个字节数据子函数程序代码如下UCHARREAD_18B20_BYTEVOIDUCHARI,RETD0FORI0I1/数据右移一位DQ_OUT/设置PB3为输出DQ_CLR/拉低电平DQ_SET/拉高电平NOPNOPNOPNOP/延时DQ_IN/设置PB3为输入IFDQ_R/判断输入数据是否为1RETD|0X80/数据变量的最高位为1DELAY_10US5RETURNRETD/返回数据变量这个函数是用于读取传感器一个字节的数据,就是一个8位数据。首先,定义一个8位局部变量用于数值的返回。这里有一个循环语句,同样是8次,一次只能读一位的数据。进入循环语句之后,首先要将变量右移一位,这里值得注意的是这个变量不需要给一个它初始值,因为无论初始值是什么并不影响数据的读出。右移一位之后,设置引脚为输出并拉低电平,紧接就是拉高电平,延时等待传感器反应。再之后是设置引脚为输入,读一位数据,当这位数据是1,我们便将变量的最高位设置为1。延时50US等待传感器,当循环语句结束,返回数据变量给相关的函数、语句使用。53LCD1602显示函数531LCD1602初始化子函数程序代码如下VOIDLCD_INITVOIDLCD_W_COM0X38,0/8位数据传输,2行显示,57字形,不检测忙信号DELAY_MS5/延时5MSLCD_W_COM0X38,0DELAY_MS5LCD_W_COM0X38,0DELAY_MS5LCD_W_COM0X38,1/8位数据传输,2行显示,57字形,检测忙信号LCD_W_COM0X08,1/关闭显示,检测忙信号LCD_W_COM0X01,1/清屏,检测忙信号LCD_W_COM0X06,1/显示光标右移设置,检测忙信号LCD_W_COM0X0C,1/显示屏打开,光标不显示,不闪烁,检测忙信号DELAY_MS5DISPLAY_STR0,0,“REALTIMET0000“/第一行要显示的初始内容DELAY_MS5DISPLAY_STR0,1,“SETT0000“/第二行要显示的初始内容DELAY_MS5532LCD1602写数据子函数程序代码如下VOIDLCD_W_DATAUCHARW_DATALCD_BUSY/检测LCD是否处于忙状态LCD_RS_1/拉高RS电平LCD_RW_0/拉低RW电平_NOP/空命令,用于延时DATAPORTW_DATA/将要输入到LCD1602的数据放到PC端口_NOPLCD_EN_1/拉高EN电平_NOP_NOPLCD_EN_0/拉低EN电平此功能的作用,微控制器,显示数据输入到LCD1602。检测LCD1602是在一个繁忙的状态,当LCD1602闲置无效的RS级别(对应引脚查找表32),并拉低的RW级延时等待LCD1602反应。LCD1602的成在写入数据的状态,将准备写入的数据分配给PC口,延迟等待写数据,然后连接到一个下降沿完整的LCD1602的数据被写入。533LCD1602写命令子函数程序代码如下VOIDLCD_W_COMUCHARCOM,UCHARATTRIBCIFATTRIBC/ATTRIBC为是否需要判断LCD1602忙信号LCD_BUSYLCD_RS_0/拉低RS电平LCD_RW_0/拉低RW电平_NOP/空指令,延时DATAPORTCOM/将要输入到1602的命令放到PC端口_NOPLCD_EN_1/拉高EN电平_NOP_NOPLCD_EN_0/拉低EN电平这个函数是一个单片机的写命令到LCD1602功能并有两个参数,输入命令COM,如果你想检测忙音信号则用ATTRIBC写命令。当你进入该函数将检测忙音信号是否为1,是必要的检测忙信号等待LCD1602闲置1,0不要求检测忙音信号。后RS水平被拉低,并拉低RW水平,延缓LCD1602反应。此时进入LCD1602写命令状态,然后将需要输入一个8位命令数据输入通过PC端的单片机LCD1602。其次延迟等待命令完成,给一个下降沿LCD1602写命令完成。54按键函数程序代码如下VOIDSAVOIDIFCON0/当转换位键按下DELAY_MS100/软件防抖,延时SW/转换位变量加1IFSW4/转换位变量加到5归0SW0IFPLUS0XS/小数位加1IFXS9/当小数位加到10归0XS0IFREDUCE0XS/小数位减1IFXS9/当个位加到10归0GE0IFREDUCE0GE/个位减1IFGE9SHI0IFREDUCE0SHIIFSHI1BAI0IFREDUCE0BAIIFBAICNT/当实时温度比设定温度高BELL_ON/打开蜂鸣器LED_ON/点亮LED灯IFCNTTEMPERTURE/当实时温度比设定温度低LED_OFF/关闭LED灯BELL_OFF/关闭蜂鸣器整个程序的主函数就是该函数,它让整个程序不断运行和为它服务。在最后的死循环当中,程序在做一个不断的扫描,把读回来的温度数据赋予全局变量TEMPERATURE,然后显示函数显示读回来的实时温度,判断分析按键是否按下。最后,对实时温度进行判断,当实时温度大于设定温度,灯亮、器鸣;当实时温度小于设定温度,灯灭并关闭蜂鸣器。6系统调试61软硬件调试以及分析在本节中,设计调试。该系统的硬件调试主要是液晶显示器LCD1602,DS18B20温度传感器之间的关系,分别与单片机ATMEGA16的调试。首先,设计时,必须根据原理图来连接每个设备。不可接反或虚焊多焊。其次,你必须确定组件元件完好,在其他系统上运行或检测每个组件的工作情况是否良好。在设计调试的问题很多,其中最重要的关键是按钮防抖调试,液晶显示位置调试和启动DS18B20调试。按键防抖调试是调试设定温度,实时和准确度是否良好。由于按键没有考虑防抖的漏洞,它必须加上防抖功能在软件或硬件提供了一个按键的实时和准确性。在开始的时候没有加入防抖功能,会有一个连续变化或不稳定的关键值。这是因为按下按键时,水平不稳定之间的转换,那么将有很多次的电平转换。影像稳定器的软件和硬件,应用软件防抖在这个设计中,单片机检测后约100MS的延迟进行电平转换的关键水平变动后不读,要收取稳定的触发电平转换,直到所需的功能。液晶显示器显示位置的调试。在开始没有考虑到LCD1602的性质。因此,在调试时,位置数据显示位置是不是我想要的。经过学习后LCD1602的功能性质的毫秒级后,每完成的数据延迟是用来等待LCD1602一次写入数据的动作完成,解决显示不匹配的位置和设计。启动调试DS18B20。事实上,这里也是一个时间的问题,在设计之初就没有很好地明白,原来DS18B20这样一个敏感的设备耽误工作。由于这个原因,在一开始的时候一直无法启动DS18B20,已被写入在参考和控制程序,发现差异并不大,在水平设置。所以,延迟不起作用。想要延迟过快或延缓晚。所以做的修改在延迟方面,一如预期,只要根据第一部分第二章调试可以启动DS18B20的方法延迟。特别注意的是,一定要按照指示加入延时功能,因为DS18B20的设备是特别敏感的时间设备参考文献1居荣郭怡倩DS18B20在温控系统中的应用J农机化研究,2005012明德刚DS18B20在单片机温控系统中的应用J贵州大学学报(自然科学版)2006013张粤倪伟DSL8B20在分布式测温系统中的应用J淮阴工学院学报2002104杨振江,冯军单片机原理与实践指导,西安电子科技大学出版社,20085叶丹基于单片机的自适应温度控制系统M传感器技术2002036周兴华单片机C语言高级编程M北京中国电力出版社,201159937谭浩强C程序设计(第二版)M北京清华大学出版社,19998马潮AVR单片机嵌入式系统原理与应用实践M北京北京航空航天大学出版社,20079ATMELATMEGA48DATABOOKMHTTP/WWWATMELCOM10MAOH,LEEFREDCREVIEWOFPOWERFACTORCORRECTIONTECHNIQUESCPROCEEDINGSOFIPEMC97,HANGZHOU,1997附录附录1系统原理图附录2系统PCB图附录3系统软件程序INCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINELCD_RS_1PORTD|BITPD5/1602的RS信号置高电平DEFINELCD_RS_0PORTDX0ELSEIFY1/VOIDLCD_BUSYVOID/LCD1602忙信号子函数UCHARVALDATAPORT0XFFLCD_RS_0LCD_RW_1_NOPLCD_EN_1_NOP_NOPDDRC0X00VALPINC/读PC端口,将数据传入VAL局部变量WHILEVAL/自读PC端口,等待LCD1602返回来的信号为0,即不忙LCD_EN_0DDRC0XFF/LCD1602写命令子函数VOIDLCD_W_COMUCHARCOM,UCHARATTRIBCIFATTRIBC/ATTRIBC为是否是否需求判断LCD1602忙信号LCD_BUSYLCD_RS_0/拉低RS电平LCD_RW_0/拉低RW电平_NOP/空指令,延时DATAPORTCOM/将要输入到1602的命令放到PC端口_NOPLCD_EN_1/拉高EN电平_NOP_NOPLCD_EN_0/拉低EN电平/LCD1602写数据子函数VOIDLCD_W_DATAUCHARW_DATALCD_BUSY/检测LCD是否处于忙状态LCD_RS_1/拉高RS电平LCD_RW_0/拉低RW电平_NOP/空命令,用于延时DATAPORTW_DATA/将要输入到LCD1602的数据放到PC端口_NOPLCD_EN_1/拉高EN电平_NOP_NOPLCD_EN_0/拉低EN电平/LCD初始化子函数VOIDLCD_INITVOIDLCD_W_COM0X38,0/8位数据传输,2行显示,57字形,不检测忙信号DELAY_MS5/延时5MSLCD_W_COM0X38,0DELAY_MS5LCD_W_COM0X38,0DELAY_MS5LCD_W_COM0X38,1/8位数据传输,2行显示,57字形,检测忙信号LCD_W_COM0X08,1/关闭显示,检测忙信号LCD_W_COM0X01,1/清屏,检测忙信号LCD_W_COM0X06,1/显示光标右移设置,检测忙信号LCD_W_COM0X0C,1/显示屏打开,光标不显示,不闪烁,检测忙信号DELAY_MS5DISPLAY_STR0,0,“REALTIMET0000“/第一行要显示的初始内容DELAY_MS5DISPLAY_STR0,1,“SETT0000“/第二行要显示的初始内容DELAY_MS5/主函数VOIDMAINVOIDDELAY_MS100/100MS延时PORT_INIT/端口初始化LCD_INIT/LCD1602初始化LED_OFF/关LED灯BELL_OFF/关蜂鸣器WHILE1TEMPERTUREREAD_18B20_TEMP/将从18B20读回来的数据传入全局变量TEMPERTURE中DISPLAYLTEMPERTURE/实时温度显示子函数DELAY_US100/100US延时SS/温度设定子函数DISPLAY_2CNT/设定温度显示子函数IFTEMPERTURECNT/当实时温度比设定温度高BELL_ON/打开蜂鸣器LED_ON/点亮LED灯IFCNTTEMPERTURE/当实时温度比设定温度低LED_OFF/关闭LED灯BELL_OFF/关闭蜂鸣器/VOIDDISPLAYLUINTDDD/实时温度显示子函数LCD_W_COM0X8011,1/设置LCD显示位置是第一行,第12个位DELAY_MS5LCD_W_DATADISPLAYDDD/100010/实时温度的百位DELAY_MS5LCD_W_COM0X8012,1/设置LCD显示位置是第一行,第13个位DELAY_MS5LCD_W_DATADISPLAYDDD/10010/实时温度的十位DELAY_MS5LCD_W_COM0X8013,1/设置LCD显示位置是第一行,第14个位DELAY_MS5LCD_W_DATADISPLAYDDD/1010/实时温度的个位DELAY_MS5LCD_W_COM0X8015,1/设置LCD显示位置是第一行,第16个位DELAY_MS5LCD_W_DATADISPLAYDDD10/实时温度的小数后一位DELAY_MS5/18B20复位函数/10US级别延时子函数VOIDDELAY_10USUNSIGNEDCHARIIFI0RETURNWHILEINOP/空指令,作用延时NOPNOPNOP/18B20初始化(复位)子函数VOIDINIT_18B20VOIDDQ_OUT/设置PB3为输出DQ_SET/拉高PB3电平DELAY_10US1/延时DQ_CLR/拉低PB3电平DELAY_10US75/延时DQ_SET/再次拉高PB3电平DELAY_10US6/延时DQ_IN/设置PB3为输入WHILEDQ_R/等待DS18B20返回来的高电平WHILEDQ_R/等待DS18B20初始化完毕/18B20读温度子函数UINTREAD_18B20_TEMPVOIDUCHARTEMP1,TEMP2INTTEMPINIT_18B20/复位18B20WRITE_18B20_COM0XCC/忽略ROM配置WRITE_18B20_COM0X44/发出转换命令INIT_18B20WRITE_18B20_COM0XCCWRITE_18B20_COM0XBE/发出读温度命令TEMP1READ_18B20_BYTE/读取到温度的前两个字节TEMP2READ_18B20_BYTEINIT_18B20/复位18B20TEMPTEMP21/命令右移一位DELAY_10US5/延时/18B20读一个字节数据子函数UCHARREAD_18B20_BYTEVOIDUCHARI,RETD0FORI0I1/数据右移一位DQ_OUT/设置PB3为输出DQ_CLR/拉低电平DQ_SET/拉高电平NOPNOPNOPNOP/延时DQ_IN/设置PB3为输入IFDQ_R/判断输入数据是否为1RETD|0X80/数据变量的最高位为1DELAY_10US5RETURNRETD/返回数据变量/设定温度显示子函数VOIDDISPLAY_2UINTDDDLCD_W_COM0X800X406,1DELAY_MS5LCD_W_DATADISPLAYDDD/100010DELAY_MS5LCD_W_COM0X800X407,1DELAY_MS5LCD_W_DATADISPLAYDDD/10010DELAY_MS5LCD_W_COM0X800X408,1DELAY_MS5LCD_W_DATADISPLAYDDD/1010DELAY_MS5LCD_W_COM0X800X4010,1DELAY_MS5LCD_W_DATADISPLAYDDD10DELAY_MS5/按键设定温度子函数VOIDSSVOIDIFCON0/当转换位键按下DELAY_MS100/软件防抖,延时SW/转换位变量加1IFSW4/转换位变量加到5归0SW0IFPLUS0XS/小数位加1IFXS9/当小数位加到10归0XS0IFREDUCE0XS/小数位减1IFXS9/当个位加到10归0GE0IFREDUCE0GE/个位减1IFGE9SHI0IFREDUCE0SHIIFSHI1BAI0IFREDUCE0BAIIFBAI0BAI1CNTBAI1000SHI100GE10XS/将小数位,个位,十位和百位整合到全局变量CNT中GANEMPLOYMENTTRIBUNALCLAIMEMPLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTITIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPIFYOUAREBEINGREPRESENTEDBYASOLICITORATTHETRIBUNAL,THEYMAYASKYOUTOSIGNANAGREEMENTWHEREYOUPAYTHEIRFEEOUTOFYOURCOMPENSATIONIFYOUWINTHECASETHISISKNOWNASADAMAGESBASEDAGREEMENTINENGLANDANDWALES,YOURSOLICITORCANTCHARGEYOUMORETHAN35OFYOURCOMPENSATIONIFYOUWINTHECASEIFYOUARETHINKINGABOUTSIGNINGUPFORADAMAGESBASEDAGREEMENT,YOUSHOULDMAKESUREYOURECLEARABOUTTHETERMSOFTHEAGREEMENTITMIGHTBEBESTTOGETADVICEFROMANEXPERIENCEDADVISER,FOREXAMPLE,ATACITIZENSADVICEBUREAUTOFINDYOURNEARESTCAB,INCLUDINGTHOSETHATGIVEADVICEBYEMAIL,CLICKONNEARESTCABFORMOREINFORMATIONABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,SEEEMPLOYMENTTRIBUNALSTHELACKOFAIRUPTHEREWATCHMCAYMANISLA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 激光行业竞争分析与策略试题及答案
- 油层物理考试题及答案
- 系统规划与管理师考试线上课程评价试题及答案
- 药品市场动态与策略应对试题及答案
- 考试中应注意的时间管理试题及答案
- 报关实务考试试题及答案
- 河南音乐乐理试题及答案
- 药物储存与管理知识试题及答案
- 衛生管理機構評價題目
- 幼儿文学对口试题及答案
- 小学生安全教育校本教材(中年级版)
- 中职语文 大国工匠——彭祥华
- 数字化语音存储与回放系统(毕业设计)
- 喜达屋明星服务
- 烟草企业安全生产标准化规范-第3部分-考核评价准则和方法
- 武汉市控制性详细规划编制技术规程610
- 电子显微分析试题集1
- ANCA相关性小血管炎
- 服装面料采购合同
- 斯伦贝谢定向钻井和旋转导向
- 大学语文(高职版) 教学课件 ppt 作者 徐中玉 44 论读书 第四十四课 论读书
评论
0/150
提交评论