




免费预览已结束,剩余34页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的温度采集与监控系统设计内容提要 随着“信息时代”的到来,传感器作为获取信息重要手段,本文研究了用单片机控制的、基于数字温度传感器ds1820的温度测量、通过lcd5110显示的控制系统:重点阐述了ds1820的工作原理、指令系统、单片机与ds1820之间的接口、数据传递、通信协议;还有液晶lcd的工作原理、指令、还有与单片机的spi通信协议。该系统采用单片机与数字温度传感器ds1820相结合,能够测量出-55-125之间的温度,同时还具有通过控制加热和降温系统调节被测环境温度和对超限温度进行报警,能把温度控制在一个特定温度区间里;还有系统自动保存当次的温度峰值,以便有必要的研究等功能。关键词 温度传感器ds1820;lcd5110;单片机;硬件设计;软件设计abstractalong with the arrival of information ages, spread feeling machines conduct and actions to obtain information importance means, article research use list slice machine control of, according to numeral the temperature spread the temperature of the feeling machine ds1820 measure and pass lcd5110 manifestation of control system:the point elaborated the work principle, instruction system of ds1820, list slice the connect of, data of the machine and ds1820 deliver, correspondence agreement;return have lcd lcd of work principle, instruction, still have with list slice the spi of the machine correspondence agreement.should system adoption list slice machine and numeral the temperature spread the feeling machine ds1820 to combine together, can measure-the temperature of of 55 -125 , still have to pass control to heat in the meantime with reduce the rightness super only for temperature report to the police, ability pair of temperature control in a particular temperature zone;moreover return systematic auto keep be time of temperature feng value, in order to have necessity of research etc. function.the keyword temperature spread the feeling machine ds1820;lcd5110;list slice machine;hardware design;software design.目 录内容提要1abstract1第1章 结绪51.1温度的研究背景51.1.1 温度概述51.1.2 温度采集仪器51.1.3数字温度系统的设计现状61.2温度采集测量传感器61.2.1 热电偶温度传感器的简介61.1.2 电阻温度传感器的工原理61.1.3 集成模似温度传感器的简介与其驱动电路71.1.4集成数字温度传感器的简介及其驱动电路71.3 温度采集与监控系统研究的意义前景81.3.1温度检测与控制系统的必要81.3.2温度数字技术趋势81.5 本章小结9第2章 系统概述102.1 系统设计102.2系统主要技术参数指标102.3 系统总体方案设计102.4系统硬件结构112.5 本章小结11第章系统硬件设计123.1 硬件总体思路和电路原理图123.1.1 电路总体方案思路123.1.2 电路原理图123.2 电源电路设计143.2.1三端稳压管7805143.2.2 稳压管7805内部原理153.2.3 电源电路设计163.3单片机模块电路173.3.1单片机at89s52简介173.3.2 at89s52功能引脚使用183.3.3 时钟电路设计203.3.4 复位电路设计203.4 温度传感器ds18b20213.4.1 ds18b20简介213.4.2 ds18b20主要特征与应用电路原理模块223.3 lcd显示器233.3.1 lcd显示器简介233.4.2 同类 lcd 介绍243.4.3 系统的显示应用243.4.4 lcd电路应用原理253.4控制模块与警报模块253.5.1 控制电路253.5.2 警报电路263.4系统成品实物展示263.4本章小结27第4章 系统程序设计284.1程序整体筐架284.2 程序头文件处理284.3 lcd 5110显示模块程序设计294.4 ds18b20温度传感器程序设计314.5 温度常态lcd显示设计324.6 系统程序调试334.7 本章小结34第5章 系统成品展示355.1 系统功能总体简介355.2 操作详情355.3 本章小结36第6章 设计结论376.1 设计总结376.2 设计扩展376.3 本章小结37参考文献:38致 谢39第1章 结绪1.1温度的研究背景1.1.1 温度概述温度(temperature)是表示物体冷热程度的物理量,微观上来讲是物体分子热运动的剧烈程度。温度只能通过物体随温度变化的某些特性来间接测量,而用来量度物体温度数值的标尺叫温标。它规定了温度的读数起点(零点)和测量温度的基本单位。目前国际上用得较多的温标有华氏温标(f)、摄氏温标(c),热力学温标(k)和国际实用温标。现在英、美国家多用华氏温度,德国多用列氏温度,而世界科技界和工农业生产中,以及我国、法国等大多数国家则多用摄氏温度。 1.1.2 温度采集仪器最早的温度采集系统是一个简单的温度计,是在1593年由意大利科学家伽利略(15641642)发明的。他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。使用时先给玻璃泡加热,然后把玻璃管插入水中。随着温度的变化,玻璃管中的水面就会上下移动,根据移动的多少就可以判定温度的变化和温度的高低。以后荷兰人华伦海特在1709年利用酒精,在1714年又利用水银作为测量物质,制造了更精确的温度计。他观察了水的沸腾温度、水和冰混合时的温度、盐水和冰混合时的温度;经过反复实验与核准,最后把一定浓度的盐水凝固时的温度定为0,把纯水凝固时的温度定为32,把标准大气压下水沸腾的温度定为212,用代表华氏温度,这就是华氏温度计。 随着科学技术的发展和现代工业技术的需要,测温技术也不断地改进和提高。由于测温范围越来越广,根据不同的要求,又制造出不同需要的测温仪器,如:又制造出不同需要的测温仪器:气体温度计、电阻温度计、温差电偶温度计、高温温度计等。 1.1.3数字温度系统的设计现状 数字温度系统的设计一般采用温度传感器与核心处理芯片相结合,将温度信号转换为电信号,经过a/d转换变成数字信号,用数字显示。根据温度传感器的不同,数字温度计可采用热电偶、热电阻、热敏电阻、pn结型温度传感器、集成温度传感器等。数根据核心处理芯片的不同,数字温度计可为采用单片机和plc来设计。1.2温度采集测量传感器1.2.1 热电偶温度传感器的简介 热电偶是基于塞贝克发现的温度电动势势效应而制成的。图1.1 热电偶温度适合于测量精度要求不高但测温范围较宽、测温上限较高的场合。在实际应用中,其驱动电路多采用差分放大和仪器放大电路,如图1.1所示t0保持在零度以下很难实现,因此多采用温度补偿技术来修正误差。当然,在精度要求不高和测温温度较高的场合下可以忽略t0对测温的影响。1.1.2 电阻温度传感器的工原理顾名思义,测温电阻就是电阻的阻值会随着温度变化而变化,常用的测温电阻有两种,一种金属测温电阻,一种是半导体材料的测温电阻。对于高精度的测温场合,多使用金属测温电阻,它的稳定性和线性都很好,并且量程也很大。半导体材料的测温电阻俗称热敏电阻,由于量程比较小,线性也不是很好,大多情况都使用于电路板上的温度补偿。1.1.3 集成模似温度传感器的简介与其驱动电路 随着温度传感器使用的普遍,出现了高性能的集成化模似传感器,如analog devices公司生产的ad590传感器。 图1.2ad590是一种电流型温度传感器,有较强的抗干扰能力,不需要精密电源为其供电,长导线的电压也不会影响其测量精度,并且如果经过电路校正,小范围测量精度可达正负0.1度。所以ad590得到很广泛的应用。ad590的驱动电路如图1.2。1.1.4集成数字温度传感器的简介及其驱动电路 但随着数字技术发展,很多测量温度仪器都实现了数字化、智能化。集成数字温度传感器内部集成有a/d转换器,直接输出数字化的温度信号更便于与微机尤其是单片机接口,于是美信公司出品的ds18b20就是一款比较成功的数字温度传感器。图1.3 ds18b20与单片机的接口电路如图1.3所示。1.3 温度采集与监控系统研究的意义前景 1.3.1温度检测与控制系统的必要 温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。所以温度的测量和控制在我们生活环境里是必不可少的,最起码一年四季、一天24小时当中温度永远都在改变的,而其的改变都影响着我们的生活和工作。所以温度的测量和控制是许多行业的重要工作目标之一:如在气象预警、仓库存放图书保存,都需要在符合规定的温度环境条件之中。然而温度却是最不易保障的指标,针对这一情况,研制可靠且实用的温度检测与控制系统就显得非常重要。1.3.2温度数字技术趋势目前,随着信息技术的发展,传感技术的广泛应用,温度测试技术已向自动化、智能化方向发展。基于此,提出了温度的数字化测量。 随着人们生活水平的不断提高,数字温度设备的要求也越来越高,为现代人工作、科研、生活、提供更好、更方便的设施就需要从新技术入手,很多都向着数字化控制、智能化控制方向发展。多用于测温比较准确,智能功能需求的场所。1.5 本章小结 本章主要介绍了温度采集研究的历史背景,简介了各种测量仪器和各种传感器温度的使用,说明温度采集控制的重要性。除了说明传统测温仪器的构造简单、用得广泛,也突出现代的温度数字与传感器技术的先进、实用性强。同时认为温度数字技术在人们生活工作中越来越重要,温度数字技术与传统的温度测量仪器相比更显现出其的灵活方便。第2章 系统概述 2.1 系统设计 系统简单而言就是at单片机跟ds18b20数字温度传感器组成的温度监控系统。 2.2系统主要技术参数指标(1)系统采集温度范围:-55+125;(2)电路工作温度承受范围:-55+125;(3)系统采集精度:正负0.5;(4)电压需求:7v12v;(5)采用lcd动态显示方式。 2.3 系统总体方案设计 该温度采集监控系统的设计包括硬件设计和软件设计两大部分,结合实际情况,该系统具备如下功能: (1)实时采集温度; (2)显示温度; (3)串行传送数据; (4)控制外设; (5)温度超限报警;(6)极限温度数据自动保存; (6)可扩展,形成多点温度采集系统,可以升级具有远程监控等功能。2.4系统硬件结构 本系统跟据功能需要,从实用性出发,其硬件电路以mcu为中心可以分为几大模块:1、单片机系统:采用at89s52单片机;2、温度数据采集模块:采用ds18b20温度传感;3、lcd显示模块:lcd5110显示器;4、报警模块:蜂鸣器、led闪灯;5、电源驱动模块:采用7805稳压,有限电压5v;6、键盘控制模块;(如图2.1) at89s52单片机at89s52温度传感器ds18b20键盘控制电源驱动lcd显示电路(lcd5110)报警电路(蜂鸣器&led)led1222玉通药业有限公司llledled)图2.12.5 本章小结 本章概述了本系统的技术参数,总体设计方案,和硬件结构。本设计需要采用传感器技术与电子技术相结合,设计的数字温度采集系统与传统的温度计相比,输出温度采用数字lcd显示,具有读数方便,测温范围广,测温准确等重要特点。第章系统硬件设计 3.1 硬件总体思路和电路原理图3.1.1 电路总体方案思路本电路系统主要应用的温度范围在0125之间。系统的输入电压为直流+7v+12v,经过稳压电路转换成为+5v电压给电路的各个子系统供电,总来说电路是由如下几个模块组成:稳压电源7805电路传感器ds18b20单片机系统 mcu(at89s52)显视模块电路警报电路控制电路(说明)电源供向:控制方向: 3.1.2 电路原理图利用protel 2004 dxp设计,绘制电路原理图如图3.2所示和pcb排版如图3.3所示。系统硬件原理图: 图3.2pcb排版:图3.33.2 电源电路设计3.2.1三端稳压管7805目前,电子设备中常使用输出电压固定的集成稳压器,性能指标药业公司高而使用方便,并极大地简化了电源的设计,促进了电子设备中的稳压器向通用化、标准化发展。由于它只有输入端、输出端和公共端三个引线端子,故称之为三端式稳压器。7805原理图符号如图3.4所示与实物图如图3.5所示:7805gndinout图3.4图3.5 3.2.2 稳压管7805内部原理可以看出该芯片的接口相当简单,而且在电路排板中也不会出现什么大困难。 三端稳压器由启动电路、基准电路、取样比较放大电路、调整电路和保护电路等部分组成。内部电路如下图如图3.6所示:图3.6 三端稳压器7805的集成保护电路:包括两个方面减流式保护电路和过热保护电路。 (1)减流式保护电路是通过比较输入和输出电压差值来调整管的vce值,从而使调整管的功耗限制在允许范围之内,故上述保护称之为减流式保护。 (2)过热保护电保护电路如图4-4中r15的作用是给q15管的iceo和q16管的icbo一条分流通路,以改善温度的稳定性。 值得指出的是:当出现故障时,上述两种保护电路是互相关联,共同对电路进行保护作用的。为了提高稳压电源的整体工作效率,7805的最小输入电压为7.5v。3.2.3 电源电路设计7805应用电路如图3.7所示。图3.73.3单片机模块电路 3.3.1单片机at89s52简介at89s52是一种低功耗、高性能cmos8位微控制器,具有8k 在系统可编程 flash 存储器。使用 atmel 公司高密度非易失性存储器技术制造,与工业 80c51 产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 cpu 和在系统可编程flash,使得 at89s52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 at89s52具有以下标准功能: 8k字节flash, 256字节ram,32 位 i/o 口线,看门狗定时器,2 个数据指针,三个 16 位定时器/计数器,一个6向量 2级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52 可降至 0hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,cpu止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。at89s52引脚及功能:at89s52 单片机是标准的 40 引脚集成电路芯片,封装如图3.9,引脚排列如图3.8所示。 图3.8 图3.93.3.2 at89s52功能引脚使用vcc : 电源 。gnd: 地 。p0 口:p0口是一个8位漏极开路的双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时, p0口也被作为低8位地址/数据复用。在这种模式下,p0具有内部上拉电阻。 在 flash编程时,p0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 p1 口:p1 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p1 输出缓冲器能驱动 4 个ttl 逻辑电平。对 p1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。 此外,p1.0和p1.2分别作定时器/计数器2的外部计数输入(p1.0/t2)和时器/计数器2的触发输入(p1.1/t2ex) ,具体如下表所示。 在flash编程和校验时,p1口接收低8位地址字节。p2 口:p2 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个ttl 逻辑电平。对 p2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。在访问外部程序存储器或用16位地址读取外部数据存储器 (例如执行movx dptr)时,p2 口送出高八位地址。在这种应用中,p2 口使用很强的内部上拉发送 1。在使用8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。 在flash编程和校验时,p2口也接收高8位地址字节和一些控制信号。 p3 口:p3 口是一个具有内部上拉电阻的 8 位双向 i/o 口,p2 输出缓冲器能驱动 4 个ttl 逻辑电平。对 p3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(iil) 。p3口亦作为at89s52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,p3口也接收一些控制信号。 rst: 复位输入。晶振工作时,rst脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,rst 脚输出 96 个晶振周期的高电平。特殊寄存器 auxr(地址 8eh)上的disrto位可以使此功能无效。disrto默认状态下,复位高电平有效。 ale/prog:地址锁存控制信号(ale)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在flash编程时,此引脚(prog)也用作编程输入脉冲。 在一般情况下,ale 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,在每次访问外部数据存储器时,ale脉冲将会跳过。 如果需要,通过将地址为8eh的sfr的第0位置 “1”, ale操作将无效。 这一位置 “1”,ale仅在执行 movx 或movc指令时有效。否则,ale将被微弱拉高。这个 ale使能标志位 (地址为8eh的sfr的第0位) 的设置对微控制器处于外部执行模式下无效。 psen:外部程序存储器选通信号(psen)是外部程序存储器选通信号。 当 at89s52从外部程序存储器执行外部代码时,psen在每个机器周期被激活两次,而在访问外部数据存储器时,psen将不被激活。 ea/vpp:访问外部程序存储器控制信号。为使能从0000h 到ffffh的外部程序存储器读取指令,ea必须接gnd。 为了执行内部程序指令,ea应该接vcc。 在flash编程期间,ea也接收12伏vpp电压。 xtal1:振荡器反相放大器和内部时钟发生电路的输入端。 xtal2:振荡器反相放大器的输出端。3.3.3 时钟电路设计pin19:时钟 xtal1 脚,片内振荡电路(单极反相器)的输入端。 pin18:时钟 xtal2 脚,片内振荡电路(单级反相器)的输出端。 at89s52 的时钟有两种方式,一种是片内时钟振荡方式,但需在 18 和 19 脚外接石英晶体和振荡电容,振荡电容的值一般取 10pf30pf。另外一种是外部时钟方式,即将 xtal1接地,外部时钟信号从 xtal2 脚输入如图3.10。图3.103.3.4 复位电路设计 at89s52的复位引脚(rest)是第9引脚, 当此引脚连接高电平超过2个机器周期时, 即可产生复位动作。电源接上的瞬间,电容c1上没有电荷,相当于短路,所以第9脚直接连接到vcc,即单片机执行复位动作。随着时间的增加,电容上的电压逐渐增加,而第9脚上的电压逐渐下降,当第9脚上的电压降至低电平时,单片机恢复正常状态,称之为“power on reset”。在此r10使用10k电阻,10f电容,其时间常数为1ms,所以第9脚上的电压可保持在2s以上的高电平,足以使系统复位。约1ms的时间内,系统处于复位状态。电路连接如图3.11所示图3.113.4 温度传感器ds18b203.4.1 ds18b20简介温度传感器是该系统的关键器件,本文选用的是美国dallas 半导体公司生产的数字化温度传感器 ds18b20,它支持单总线接口,其内部使用了在板(on-b0ard)专利技术 全部传感元件及转换电路集成在形如一只三极管的集成电路内 其测量温度范围为-55 +125 ,在-10 +85 范围内,精度为0.5 温度传感器 ds18b20 采集到的现场温度直接以单总线的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量 如:环境控制 设备或过程控制 测温类消费电子产品等 与前一代产品(世界上第一片支持单总线接口的ds1820 温度传感器)不同,它支持 3.0v 5.5v 的电压范围,使系统设计更灵活 方便,而且 ds18b20 价格更便宜,体积更小ds18b20 的内部结构主要有 4 部分: 64 位光刻 rom 温度传感器 非挥发的温度报警触发器 th 和 tl 配置寄存器 其温度检电路图如图2所示ds18b20 管脚 gnd 为电源地, dq 为数字信号输入/输出端, vdd 为外接供电电源接入端(用寄生电源方式时接地) 在本系统中用外接电源, dq 接到 at89b52 的 p2.0 端, r1 为信号和 5v 电源之间的上拉电阻 在实际中,若需要多点检测时,可在单总线上挂多个 ds18b20,但超过 8 个时要考虑驱动问题,软件设计也变得复杂多了,同时要考虑挂 ds18b20 单总线的长度问题,一般不要超过 50m 为实现更远程的控制,可以考虑把系统设计成无线系统,以突破 ds18b20 单总线的长度的限制,其实物与封装图如图3.12。 图3.12 3.4.2 ds18b20主要特征与应用电路原理模块 1 、全数字温度转换及输出。 2 、先进的单总线数据通信。 3、最高 12 位分辨率,精度可达土 0.5摄氏度。 4 、12 位分辨率时的最大工作周期为 750 毫秒。 5 、可选择寄生工作方式。 6 、检测温度范围为55c +125c (67f +257f) 。7 、内置 eeprom,限温报警功能。 8 、64 位光刻 rom,内置产品序列号,方便多机挂接。 9 、多样封装形式,适应不同硬件系统。其电路原理应用如图3.13所示: 图3.133.3 lcd显示器3.3.1 lcd显示器简介lph7366 是 nokia 公司生产的可用于其 5110、6150,6100 等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。与其它类型的产品相比,该模块具有以下特点: 84x48 的点阵 lcd,可以显示 4 行汉字, 采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有 9 条。支持多种串行通信协议(如 avr 单片机的i、mcs51 的串口模式等),传输速率高达4mbps,可全速写入显示数据,无等待时间。 可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换。 lcd 控制器驱动器芯片已绑定到 lcd晶片上,模块的体积很小。 采用低电压供电,正常显示时的工作电流在200a以下,且具有掉电模式。 lph7366 的这些特点非常适合于电池供电的便携式通信设备和测试设备中 3.4.2 同类 lcd 介绍 nokia5110 的 lcd 控制芯片是 pcd8544 ,nokia 我已知同类型的 lcd 如下,由于他们采用了同样的控制芯片,所以指令完全兼容。3.4.3 系统的显示应用系统采用了lcd5110了,因为其是一块低功耗的cmos lcd控制驱动器,设计为驱动48 行84 列的图形显示。所有必须的显示功能集成在一块芯片上,包括lcd 电压及偏置电压发生器,只须很少外部元件且功耗小。lcd5110 与微控制器的接口使用串行总线。lcd5110采用 cmos工艺。其实物图如图3.14,封装如图3.15所示。 (实物) 图3.14 (封装)图3.153.4.4 lcd电路应用原理在这要提一下,由于lcd的工作电压是2.73.3v,所以系统在其电压输入端口vcc上串联接上两个降压二极管。其原理如图3.16所示。图3.16引脚功能如下: sdin:串行数据线 sclk:串行时钟线 d/c:模式选择 sce:芯片使能 osc:振荡器 res:复位3.4控制模块与警报模块3.5.1 控制电路本系统的控制电路就是在单片机i/o口上接上4个独立键盘如图3.17所示。图3.17键盘与单片机连接时,串联了一个10k上拉电阻。3.5.2 警报电路警报电路是由1个蜂鸣器和1个红色led灯组成,如图3.18。图3.18当温度超过最低和最高值时会自动报警,蜂鸣器和红色led灯就会发出相应的信息。3.4系统成品实物展示硬件成品如图3.14所示。图3.193.4本章小结本章具体介绍了系统硬件的各子模块。硬件设计时要服从总体方案要求,由先由电源驱动7805电路进行系统供电,然后通过温度传感器ds18b20对环境温度信息进行采集,然后把数据传给单片机处理,最后把温度结果在lcd上显示出来。电路设计不是很复杂,但是各模块间电压要协调好。第4章 系统程序设计 4.1程序整体筐架 主程序开始各模块初始化开中断1进入系统控制程序进入lcd,温度传感器驱动温度监控常态显示温度警报设置警报程序系统程序是用c语编写,其容量接近8k。设计程序时要考虑以下几个问题,(1) 实时采集温度; (2)温度显示:采用 lcd 显示当前温度;(3)按键处理;(4)越限报警和处理:将采集到的温度值与预先设置值进行比较,若当前温度值越限,则产生报警信号。软件设计主要有:主程序、 初值设定子程序、 温度读取子程序、 液晶显示子程序和输出控制子程序等。初值设定子程序完成对温度初值的设定及数据保存;温度读取子程序完成对温度传感器数据的读取,并通过液晶显示子程序显示温度值;输出控制子程序则根据温度的数值完成对输出口的控制。4.2 程序头文件处理 #include /头文件#define uint unsigned int #define uchar unsigned charuint tt,aa,tt2;float gettem;#includewords.c / lcd字模16进制数据,液晶要显示内容界面#includen5110.c / lcd驱动程序#includewriteword.c / 液晶界面控制#includeds1802.c /温度传感器ds18b20驱动程序#includeinit.c/系统各子模块初始化程序#includequ.c/温度常态监控实时曲线变化图程序。4.3 lcd 5110显示模块程序设计lcd_write_byte: 使用spi接口写数据到lcd输入参数:dt:写入的数据;command :写数据/命令选择;void lcd_write_byte(unsigned char dt, unsigned char command)unsigned char i; ea = 0;sce=0;dc=command;for(i=0;i8;i+) if(dt&0x80)sdin=1;elsesdin=0;dt=dt0;i-) dq = 0; / 给脉冲信号 dat=1; dq = 1; / 给脉冲信号 if(dq) dat|=0x80; ds_delay(4); return(dat);/ds18b20写一个字节void writeonechar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) dq = 0; dq = dat&0x01; ds_delay(5); dq = 1; dat=1; 4.5 温度常态lcd显示设计 本系统的温度显示界面,为更加数据准确和给人视觉形象、生动,这界面是采用数字与图形来显示,把数据以数字提示,与曲线动态扫描图,如图4.1所示。温度()08642x(0、10、20、30、)温度()yt 图4.1 以下为程序设计方案和数据的数学算法1.温度曲线图以0.25为变化单位。2.曲线按可变的y坐标描绘。3.曲线的描绘方法:计算温度区:设t为温度值,sum为y坐标起点, sum = int(t%1000)/100)*10;y坐标计算:设t为温度值,d为y坐标点数。 d= (t%1000)/25;4.6 系统程序调试 在程序调试过程中,我是一步步调试的,也就是首先把各个子模块在开发块上调试成功后,再并合到主程序上,分以下几个阶段来完成。(1) 首先要对lcd显示进行调控,用软件把需要的字模转成16进代码,然后通过lcd成功地做成一幅幅系统界面。(2) 第二个阶段就要对温度传感器进行程序驱动,单片机在spi通信协议下对周围温度实时采集,然后通过lcd显示出来。其间要对传感器进行调试,用手指捏住它,在体温接触下观察lcd显示变动测出其灵敏度,和实时性。(3) 第三阶段在前两阶段基础上,建立警报功能。通过初始温度限值设置,也是用手指捏住它,在体温接触下对其进行观察,当lcd显示超过那设置值时,成功出现蜂鸣器,led灯的报警信息。然后再用风扇吹传感器测试其低温警报。(4) 第四阶段也在前基础上建立,利用键盘控制,对系统进行调试控制。实现lcd显示界面的转换和系统参数的自定义设置,如温度警报值设置。(5) 第五阶段实现让系统记录当天最高最低温度,最后就程序结束。 总而言之,就是不断的修改程序和重复测试,一步步地实现系统功能。最后观察到系统数据正常,各个功能正常时程序就算成功了。4.7 本章小结本章介绍了系统程序设计,程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论