版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖北民族学院毕业论文(设计)多路数字式温度监测系统学生姓名: 学 号: 031041226 系 别: 电气工程系 专 业: 电子信息科学与技术 指导教师: 孙玲姣 评阅教师: 论文答辩日期 答辩委员会主席 摘 要本设计是一个以微控制器、温度传感器、按键及TFT显示屏等为框架的数字式温度测量系统。设计采用了STM32F103ZE芯片为主控制器,通过单总线制温度传感器DS18B20实现温度采集,将温度信息通过STM32F103ZE微控制器处理后在TFTLCD模块中显示,以实现多点的温度监测。本设计一共使用了四个DS18B20,也就是说本系统可以同时采样四个地点的温度值。待温度传感器的温度值采回来后
2、,将所有的温度值显示在液晶屏上面。在显示功能上,使用折线图显示,使显示更直观、更强大。当然系统其他的功能也有显示,比如报警温度将会实时显示,其通过外围按键来调整极限温度。本设计也将部分显示相关的功能性按键加到TFTLCD上,减少外围电路,也增加了人机交互,使系统更加人性化、智能化。本设计功能齐全,在温度检测上面面聚到。关键词:微控制器,TFTLCD,DS18B20,温度监测AbstractThis design is to a micro controller, temperature sensor, buttons and TFT screen for the framework of di
3、gital temperature measuring system.STM32F103ZE chips as the main controller is adopted, through the single bus temperature sensor DS18B20 temperature acquisition, temperature information through STM32F103ZE micro controller shown in TFTLCD module after processing, in order to realize the multi-point
4、 temperature monitoring. This design uses the altogether four DS18B20, that is to say, this system can sampling temperature of four locations at the same time.With temperature sensor temperature after you come back, all the temperature display on the LCD panel.On the display function, using the line
5、 chart shows that make the show more intuitive, more powerful.The function of the system, of course, other also have display, such as alarm temperature will real-time display, through the peripheral buttons to adjust the limit temperature.This design will also be part of a display related functional
6、 keys on TFTLCD, reduce the peripheral circuit, also increased the human-computer interaction, make the system more humane, intelligent.The design of the function is all ready, at the top surface temperature detection.Keywords: microcontroller,TFTLCD,DS18B20, the temperature measurement目 录摘 要IAbstra
7、ctII1 绪言1.1 课题背景11.2 国内外概况11.3 课题研究的目的和意义21.4 课题的主要研究工作32 系统设计方案的研究2.1 方案选择42.2 系统总体方案设计72.3 系统功能介绍83 硬件电路设计3.1 硬件元件介绍93.1.1 STM32F103ZE 介绍93.1.2 DS18B20介绍123.1.3 TFTLCD介绍153.1.4 FSMC介绍173.2 硬件电路详细设计183.2.1 温度采集模块设计183.2.2 显示模块设计193.2.3 按键模块设计203.2.4 报警模块设计203.2.5 系统总体电路图224 软件设计4.1 主程序流程图234.2 温度采集
8、处理子程序244.3 显示子程序介绍244.4 按键子程序介绍255 系统调试及分析5.1 调试结果及分析276 总 结30致 谢31参考文献32III1 绪言 本章阐述了温度测量的研究背景、当前现状以及发展方向,明确指出了现今温度测量所面临的问题。1.1 课题背景 现在人们的生活水平不断提高,物质文化水平日益提高,先进的高科技技术越来越凸显出其优势,博得人美的喜爱。高科技的应用也是越来越多,渗透于各行各业,渗透到人们的生活当中。人们对苹果手机的喜爱,可以说到了疯狂的地步。因为苹果手机的高科技硬件与高效人性化的软件设计,使整个系统流畅、完美,大部分中青年都为之痴狂。科技更新,新产品大量更新换代
9、,大量新产品涌现市场,老化产品不停地被淘汰。单片机的应用也越来越广泛,它带给我们的方便也越来越大1。随处可见的电子产品,比如路由器、交换机;电气产品,比如洗衣机、空调、电冰箱;这些在生活中经常出现的设备,其主要就是使用单片机的控制。单片机以其廉价、小体积、程序简单的特点,出现在各大小的产品上面。近些年,市场上的电子产品越来越多,大到大型设备,小到电动玩具,都使用了单片机控制。单片机的控制加入,既增加了产品的智能化,简化电路,又能降低生产成本,所以单片机的流行是必然。在温度监控方面,近年也开始使用单片机控制,使用小型化、智能化、人性化的移动便携设备。现今的温室大棚,恒温箱,空调等很多设备都是靠控
10、制温度来达到我们想要的效果的。所以基于单片机的温度测量系统就更加具有它的研究意义。单片机在如今的地位堪称举足轻重,没有了单片机,那我们现代的社会将会成为原始社会。1.2 国内外概况社会在进步,科技在更新,技术也越来越发达。部分发达国家的科技也是领先于国内的。在美、日两个科技强国更是有了突出的展现。在仓库管理上,国外早就使用了多路、多点数字式温度采集,当然在性能上也是精度与稳定相结合的2。国外很早就已经实现多点多路温度监控系统,其采用计算机的高速、多功能的优点,将环境监控系统搭建起来2,3。基于计算机的多点监控系统,其具有电脑的多元化、多功能、计算速度快、实时显示、信息全、功能齐的特点。但是因为
11、有计算机的加入,大大增加了已有的投入成本,使系统的普及得到限制。可是随着MCU(Micro Controller Unit,即微控制器)技术的流行,MCU控制系统开始占据市场,大量的淘汰掉以前的环境监控系统。MCU控制以其低成本、小体积、高速的特点,迅速渗透各行业,将原有的计算机控制系统替换掉。环境监控方面,MCU也因为其小体积、低成本的优点,可以完全满足其系统的需求,而将原来的计算机系统替换下来4,5。在国内,环境温度监控系统的设计研发上,已经有了较为成熟的技术。在MCU控制系统推进潮流下,国内也赶着这更新换代的时机,设计研发了一些环境温度的监控系统4。但是与其他科技强国的对比之下,国内自主
12、研发的的系统,在功能、智能、性能方面都还是稍逊颜色。但是国内近几年在高速的MCU控制上,有了进一步的突破,在高速的控制系统的研发的突破下,似乎也有赶超国外的势头。1.3 课题研究的目的和意义研究目的:温度测量在我们的生活当中随处可见,在各个种类的企业中应用非常广泛。在日益更新的现代化技术当中,温度的测量普遍应用于各行各业当中,最为典型的是现代化工业生产上,在民用上也是相当的普遍的,生活中是随处可见。现代流行的温度测量中最为常见的两种方式分别是:模拟测量与数字式测量。模拟测量的稳定性,受到系统的所处环境干扰或者系统本身的稳定度的影响。数字式的温度测量是较稳定的,相对而言,比模拟温度测量的稳定性要
13、好。所以现代温度测量中,采用的数字式温度测量较为普遍。对数字式的测量系统进行研究,有利于温度测量的普及与实用6。而本系统加入了新型的STM32单片机,将系统小型化、快速化、人性化、智能化。人们为了改善生活环境或者对其他环境进行监视,无线环境监控系统开始流行。对环境的无线监控,可以方便管理者对环境的了解,也方便管理者对其的管理。对环境温度的监测研究,可以给环境监控系统提供支持。研究意义:温度的意义当然是不言而喻的,对温度的引用也是越来越广泛,合理使用温度测量,可以提高系统的有机协调性。基于现在发展的各种问题,多点温度监控系统正朝着以下几个方向发展:(1)系统不仅要实现实时监测,而且在软件技术上应
14、研究开发根据被监测环境地点的参数进行有效的判别、分析和提出专家决策方案,同时系统应用软件应向网络化发展,按统一的格式向外提供监测数据7。(2)针对测量的温度超限的问题,根据报警装置能够尽快发现地方并寻找一种解决报警的途径,这对促进温度监控技术发展和系统的推广应用均具有十分重要的意义8。(3)研制高性能的温度传感器。(4)进一步加强现场管理和维护水平。对温度监控系统的建立,可以帮助环境监控大系统的完成。近几年,环境监控系统成为研究的热点,但其多是基于理论的研究,在实际应用上,还是与国外存在明显的差距。温度监控是环境监控系统的一部分,实现温度监控可以发现整个环境监控上出现的问题,设计环境监控时,也
15、可以借鉴温度监控的方案。1.4 课题的主要研究工作单片机是一种类似于电脑CPU的器件,相对于电脑来说,它更加小巧方便,不需要更多的外围电路就可以应用在很多地方。在21世纪,单片机的应用十分广泛,不论是在工业控制或者产品系统监视控制方面,单片机都以它简约独特的优点展示出他的实用性。本次设计就是用单片机来控制温度采集的,在这个设计中,我主要的研究工作是以下几点:(1)怎样提高温度测量的精度;(2)怎样扩宽温度测量的范围;(3) 怎样提高温度采集的稳定性;(4) 怎样提高整个系统的稳定性。就以上四个问题的解决方法,主要是正确选择温度传感器,因此我采用了DS18B20温度传感器来完成此次设计。多路温度
16、采集系统是利用温度传感器DS18B20来达到检测温度的目的,并由单片机处理显示。本设计利用STM32单片机为微处理器,再加上基本的外围电路来完成,再通过实物连接与驱动程序一起调试,系统能稳定的工作。正确外围电路的设计,可以增加整个系统的稳定性,也就是说,系统在不同的环境下,不容易受到外界的干扰。其实在软件设计上,更是尤为重要,一个系统是否能够有机的结合,发挥电路各自的优势,主要在于程序上的优化。一个优化的程序可以使整个系统,如行云流水般的在硬件上运行;而一个不灵活的程序,也可以让一个设计完美的电路如死水一样,没有生机。硬件与软件的结合,能让整个系统的性能提升,甚至超过我们的预期目标,超标实现设
17、计。2 系统设计方案的研究2.1 方案选择、 本设计硬件主要包括五个模块:1) 主控模块方案一:采用51单片机。51单片机是Atmel公司生产的8位8031指令系统微控制器,IO口无需寄存器设置即可双向通信,芯片内部外设较少,网络上资料齐全,程序简单易懂,外围电路简单,成本低,最高时钟频率为24MHz,程序运行速度慢,并且稳定性不高,容易受到各种干扰。方案一:AVR单片机AVR单片机也是Atmel公司生产的8/16位精简指令微控制器,网络上资料比较齐全,程序比较复杂,但是其最高时钟频率为32MHz,程序运行速度比51单片机快,稳定性高,不容易受到各种干扰。 方案三:采用STM32F103ZET
18、6的MCU(微控制器)。STM32F103ZET6单片机是ST(意法半导体)生产的,基于ARM内核的32位 RISC指令微控制器。网络上资料较齐全,程序简单易懂,但是其最高时钟频率为72MHz,程序运行速度快,功耗低,并且稳定性高,不容易受到各种干扰,不过增强型的STM32单片机的成本较高,略低于高性能的AVR单片机。STM32F103ZET6属于STM32单片机系列增强型,其内部外设多,应用起来方便9。STM32单片机的每一I/O口都可以设置为中断输入口,按键输入就不在需要外加电路,不管接在哪个口上,其都可以设置为中断输入,不再需要电路上接与逻辑门或者作出其他改变,可以简化硬件电路的设计。考
19、虑系统温度采集口的数量上的可增加性,即在增加数个或者数十个传感器的情况下,系统还能够正常的运行,系统就必须使用超高速的控制器。在高速高性能的控制器上加入,能使整个系统的性能受到影响,低速的控制器可能是系统出现死机、采集周期过长等不良现象。所以综合考虑个方面的原因,本设计最终选择STM32F103ZET6微控制器来作为主控制器。2)温度采集模块方案一:采用PT100铂电阻温度传感器此传感器属于电阻式传感器,它的电阻随着温度的变化而变化。这种温度传感器有零度电阻值和电阻变化率,它性能比较稳定,测量范围达到-20085010,但是使用它要复杂的转换关系,要清楚的知道电阻和温度之间的关系。其采集电路主
20、要采用的是电阻分压网络,在电阻分压网络的设计上,由于定值电阻随着测量环境温度变化时,其阻值会有所变化,这就会给系统带来误差,使系统采集的温度值产生偏差,并且其电压值要进行AD转换,增加了系统的复杂程度。PT100自身体积较大,温度变化时,反应速度会优先减慢,如果环境变化温度较快时,将会有部分的中间温度会被直接过滤掉,使实时温度信息不准,实时性较差。方案二:采用AD590AD590是现在温度测量较为常见的温度传感器,测量精度高、温度范围宽,但是成本很高,一般的廉价应用上不会使用。AD590是电流型温度传感器,在检测温度变化时,其两端的输出电流会有相应的改变。应用方法,一般是采用在输出端接一个定值
21、电阻(当然这也要温漂较低的电阻),在测量电阻两端的电压(电压值=AD590输出电流定值电阻阻值),这与PT100的测量方式相同,使用AD转换器,将模拟电压值转换为数字量。当然AD590的体积也稍大,也会有高速温度变化时产生出滤波效果,实时性降低。方案三:采用DS18B20DS18B20是数字式的温度传感器,测量的温度范围较广,精度高,成本低,稳定性较好11。DS18B20采用单总线通信,减少了I/O的占用数量,减少了外围电路,通信简单11,12。DS18B20的集成度高,体积较小12。因为其体积小,可以测量到的温度值变化快,实时性就好。考虑到电路的复杂程度与系统转换的速度与性能,我选择方案三:
22、DS18B20温度传感器。在温度采集系统中我们经常用到集成型温度传感器,集成型传感器可以达到较高的精度,DS18B20就属于这一类传感器。本设计用四只DS18B20同时采集4路温度,直接与单片机I/O连接,不需要任何外围电路。3)显示模块方案一:采用LED数码管LED数码管是在一定形状的绝缘材料上,利用单只led组合排列成“8”字型的数码管,分别引出它们的电极,点亮相应的点划来显示出0-9的数字13。LED数码显示有动态扫描法和静态显示法,在单片机中,多采用动态扫描法,这样可以节约单片机的资源。数码管是简单的显示设备,只能显示阿拉伯数字与几个字母,在简单的装置或者不需要显示大量信息的设备上面适
23、用,显示的信息量极少,但是成本很低,驱动简单,功耗低。方案二:采用12864液晶屏12864液晶屏分辨率较低,内置8192个1616点阵,冷光显示,效果不佳,可视广角小,显示指令较少,能显示小量的信息,驱动比数码管难,成本较低。在较低廉的系统应用上较多,因为其简单廉价,是不可替代的。方案二:采用TFT-LCD显示屏采用TFT-LCD显示屏,TFT的显示采用“背透视”的照射方式,使其显示效果非常出色。3.35V宽电压范围供电,可以显示16位真彩色,并且可以分屏显示。液晶显示具有低电压、微功耗、易彩色化等特点.显示器采用每次扫描一条线的驱动方式,所以其驱动方法简单可用14,15。TFT-LCD液晶
24、屏的分辨率较高,可显示彩色图片,显示的信息量大,可视角广,成本较高,驱动较难,但所有的TFT公司都会讲大部分的驱动程序给用户,只要了解基本的控制器程序,对TFT的操作也是相当的简单。考虑到本设计显示的信息量较大,系统实时性显示功能,放弃掉方LED显示。12864液晶显示,驱动方式较为复杂,显示效果较差,如果要实时显示折线图,那就增加了系统的复杂程度。所以最终选择方案三。4)键盘控制模块方案一:采用独立式按键独立式按键中每只按键需接单片机的一条I/O线,较浪费单片机的I/O口,通过对线的查询,即可识别各按键的状态。一般多用于按键数目少的时候。方案二:采用矩阵式键盘矩阵式按键主要利用横向通信号列向
25、查询(或者列向同信号横向查询)的方式,得到对应的按键值。但是矩阵键盘需要不停地发送信号,这样才能不遗漏每一次按键。本设计需要对温度信息进行实时的采集,所以单片机要不停地和温度传感器通信,保证信息的实时性。如果使用了矩阵式键盘,那单片机就需要同时兼顾温度传感器和矩阵按键,给单片机带来了巨大的压力,使系统的整体性能严重降低,出现严重的迟滞性。本系统需要的按键不是很多,使用矩阵键盘也较为浪费。所以综合考虑,选择使用独立键盘作为输入。5)报警模块报警模块主要功能是提示系统使用者,本系统检测到的温度值达到了设定的极限值。报警效果为蜂鸣器鸣叫,警示LED点亮,采用声光报警可以有效地提醒使用者。2、在软件上
26、单片机是一个系统的大脑,一个总指挥所,支配其它的所有电路或者模块协调工作。程序是一个系统的思想,没有程序,电路就是死体,不能正常运作。有了程序,就想肉体有了灵魂,一个有效地程序,能让一堆电路工作,一个合理高效的程序,能优化整个系统使整个系统处于最佳的工作状态。本系统的软件程序主要包括主程序、温度检测程序、显示程序、报警系统程序、键盘扫描控制程序这几个大模块。主程序首先是各个子程序的初始化程序,然后是温度检测程序,不断的检测采集到的温度是否超出设置的范围,将检测到的温度显示在TFT彩屏上,在这过程中还可以设置显示哪路温度和温度测量的范围,如此不断的执行程序来达到实时温度检测的目的。2.2 系统总
27、体方案设计多路数字式温度监控系统,一共有三点主要的要求:1.多路;2.数字式;3.温度监测。本设计是以STM32F103ZET6为核心,支配着温度传感器电路、显示模块、报警电路、键盘电路。其温度检测电路一共有四路,都采用DS18B20温度传感器,对各个点的温度值进行采集。显示模块是由TFT及相关电路组成,用来显示所有的相关信息。报警电路由LED与蜂鸣器组成,提示使用者该系统检测到温度值已达到极限值,使用者在听到报警声后采取相应的措施以解除报警,再重新设置温度极限值。键盘电路则是作为输入,调节极限温度值或者其它功能。系统框图如下图:报警STM32F103ZE显示模块解除报警重新设置温度极值限值键
28、盘电路温度采集电路图2.1 系统总流程图 如图2.1,根据系统的设计要求,当温度传感器DS18B20把所测得的温度发送到控制器STM32F103ZE上,经它处理后,将温度在显示器TFTLCD上显示。2.3 系统功能介绍利用STM32F103ZE芯片控制温度传感器DS18B20进行实时温度采集并在TFT显示屏上显示采集处理后的温度,使它能够实现快速测量环境温度。当TFTLCD液晶显示器接收到来自STM32F103ZE控制器传送来的温度信息后,分别显示了当前的温度。设计的主要功能和指标如下:(1)多点监测;(2)监测温度范围宽,精度高;(3)用TFT液晶进行实际温度值显示;(4)能够自主设置上、下
29、限报警温度;(5)当超过报警温度后,能够自动发出报警信号。本系统使用较高的智能化设计,无需手动对系统进行各种参数的设定,一旦进入系统开启界面,系统将会自动对电路的各个功能模块进行自检,如果各个模块正常,将自动进入监测界面,如果检测到系统的部分问题不正常,将会在显示界面上显示出来,便于处理。进入监测画面以后,系统会以默认的初始值进行监测,如果被监测对象有特殊的需要,可以在监测界面下使用按键输入系统,对监测的参数进行修改,达到监测所需合适的要求。3 硬件电路设计3.1 硬件元件介绍3.1.1 STM32F103ZE 介绍根据本设计的具体要求,最终选用Cortex-M3内核单片机。为了有足够的引脚与
30、高速的主频,因而选择STM32F103ZET6。Cortex-M3采用了ARM7的架构,运行速度快、性能高、稳定性好、功耗低16。32位的CPU与普通的8位的单片机相比,在速度与性能上都是有飞跃性的差距。Cortex-M3内核单片机以其强大的功能,在现代的市场上在有举足轻重的地位,在许多的高性能、高速度的产品上,主控制器采用了STM32单片机,使整个系统完美的配合。在高速的控制产品上,STM32单片机的应用相当广泛,例如:GPS定位系统,GSM通讯设备,无线路由器。STM32单片机高速的不可替代性,使其在新型高速高稳定新的新产品应用上占据重要的位置。具体功能介绍:内核:ARM 32位的Cort
31、ex-M3 CPU 最高72MHz工作频率,在存储器的0等待周期访问时可达 1.25DMips/MHz(Dhrystone 2.1) 单周期乘法和硬件除法 存储器 从256K至512K字节的闪存程序存储器 高达64K字节的SRAM 带4个片选的静态存储器控制器。支持CF卡、SRAM、PSRAM、NOR和NAND存储器 并行LCD接口,兼容8080/6800模式 时钟、复位和电源管理 2.03.6伏供电和I/O引脚 上电/断电复位(POR/PDR)、可编程电压监测器(PVD) 416MHz晶体振荡器 内嵌经出厂调校的8MHz的RC振荡器 内嵌带校准的40kHz的RC振荡器 带校准功能的32kHz
32、 RTC振荡器 低功耗 睡眠、停机和待机模式 VBAT为RTC和后备寄存器供电 3个12位模数转换器,1s转换时间(多达21个输入通道) 转换范围:0至3.6V 三倍采样和保持功能 温度传感器 2通道12位D/A转换器 DMA:12通道DMA控制器 支持的外设:定时器、ADC、DAC、SDIO、I2S、SPI、I2C和USART 调试模式 串行单线调试(SWD)和JTAG接口 Cortex-M3内嵌跟踪模块(ETM) 多达112个快速I/O端口 51/80/112个多功能双向的I/O口,所有I/O口可以映像到16个外部中断;几乎所有端口均可容忍5V信号多达11个定时器 多达4个16位定时器,每
33、个定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入 2个16位带死区控制和紧急刹车,用于电机控制的PWM高级控制定时器 2个看门狗定时器(独立的和窗口型的) 系统时间定时器:24位自减型计数器 2个16位基本定时器用于驱动DAC 多达13个通信接口 多达2个I2C接口(支持SMBus/PMBus) 多达5个USART接口(支持ISO7816,LIN,IrDA接口和调制解调控制) 多达3个SPI接口(18M位/秒),2个可复用为I2S接口 CAN接口(2.0B 主动) USB 2.0全速接口 SDIO接口 CRC计算单元,96位的芯片唯一代码主控制器原理图如下:图3
34、.1 STM32F103xx增强型模块框图图3.2 STM32F103ZE 引脚图图3.3 STM32F103ZET6 实物图3.1.2 DS18B20介绍 温度传感器性能和结构:DS18B20是数字式的温度传感器,其将温度值直接转换为数字量输出。数字式的温度传感器可以简化电路的设计,增加系统的稳定性,也就是说在不同的温度环境下使用,抗干扰能力较高。直接数字量输出,省去AD转换电路,降低系统的复杂程度。 对于DS18B20的应用十分广泛,现在的高校或职业技术教学,都是以其为教学的材料DS18B20的性能特点如下: (1)单总线接口,节省I/O口8; (2)可通过数据线供电,电压范围为3.35.
35、0; (3)温度测量范围为55125; (4)测温分辨率可达0.0625; (5)温度以9位或12位A/D转换; DS18B20的外形和内部结构:DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器17,18。DS18B20的外形及管脚排列如下图: 图3.4 DS18B20外形及引脚排列图DS18B20引脚定义: (1)DQ为数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端。图3.5 DS18B20内部结构图DS18B20的工作原理:在测温系统中经常使用的DS18B20的产生的数据位数,主要是由分辨率
36、的不同而产生的,分辨率越高,相应的转换时间越长,相反分辨率越低,转换的时间越久,其时间差距从750mS到2S,这与DS1820的性能相似18。 DS18B20测温原理如图3.6所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器121。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入,计数器1和温度寄存器被预置在55所对应的一个基数值25。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直
37、到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度21。图3.6中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值26,27,28,30,31。 斜率累加器预置低温度系数晶振计数器1比较预置温度寄存器=0高温度系数晶振计数器2=0LSB置位/清除加1停止图3.6 DS18B20测温原理框图DS18B20有4个主要的数据部件: (1) DS18B20地址每一个DS18B20在出厂的时候就已经把地址序列固定了,并且每一个DS18B20的质地序列都不一样,所以在使用单总线挂起多个DS18B20的时候,必须先读出它的地址序列,否则无法识别;然而
38、每个DS18B20都占用一个数据线时,就不用读取地址序列20。64位光刻ROM的排列是:开始的8位是产品类型标号,然后48位则是DS18B20自身的序列号,最后8位是之前56位的循环冗余校验码22,23。(2)DS18B20寄存器格式如下表所示: 表3.1 DS18B20温度值格式bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0232221202-12-22-32-4bit15 bit14 bit13 bit12 bit11 bit10 bit9 bit8SSSSS262524DS18B20温度转换后的数据保存在两个8比特的RAM中,分辨率为0.0625/LSB,
39、在转换后的12位数据中,前五位表示温度的正负值,如果前五位大于0,则温度为正,此时的温度值为测得的数据值乘上0.0625;如果前五位小于0,则温度为负,此时的温度值为测得的数据值取反加1再乘上0.062511,12,17,18,33。表3.2 DS18B20温度数据TEMPERATUREDIGTAL OUTPUT(Binary)DIGITAL OUTPUT(Hex)+1250000 0111 1101 000007D0H+850000 0101 0101 0000 0550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 0010 0
40、0A2H+0.50000 0000 0000 10000008H00000 0000 0000 0000 0000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FF6EH-551111 1100 1001 0000FC90H(3)DS18B20的存储器 DS18B20的内部存储器由一个RAM(高速随机存取存储器)和一个掉电保护的电可擦除E2PRAM组成;E2PRAM用来放置低温度和高温度触发器TL、TH和结构寄存器33。(4)配置寄存器 该字节各位的意义如下:表3.3
41、 配置寄存器结构TMR1R011111低五位一直都是1,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时该位被设置为0,用户不要去改动,R1和R0用来设置分辨率26,27,如下表所示:(DS18B20出厂时被设置为12位)表3.4 温度分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms3.1.3 TFTLCD介绍本设计采用TFT-LCD模块。TFT-LCD是现在现代信息时代的最佳选择。现代的液晶显示功能已经渗透到各行各业当中,生活中最为常见的就是我们的手机,其它比如电脑、平板、
42、MP3、MP4、各种家用设备。液晶屏的出现,拉近了人与机器的距离,让人与机器之间可以沟通交流。TFT-LCD即薄膜晶体管液晶显示器19。其英文全称为:Thin Film Transistor-Liquid Crystal Display。该模块有如下特点: 1,2.4/2.8/3.53种大小的屏幕可选。 2,320240的分辨率(3.5分辨率为:320*480)。3,16位真彩显示。 4,自带触摸屏,可以用来作为控制输入。 本设计使用2.8英寸TFT-LCD模块,分辨率240*320,16位并口,带触摸功能,可以将系统所需要的所有按键集成到TFT上。该模块的外观图如图3-7所示: 图3.7 2
43、.8寸TFTLCD外观图图3.8 TFTFLCD模块原理图此模块使用TFT的16位并口数据总线,而没有使用8位的,是可以增加数据传输的速度。因为彩色照片的信息量较大,所以在使用TFT时都要求使用大数据量传输接口。该模块的80并口有如下一些信号线: CS:TFTLCD片选信号。 WR:向TFTLCD写入数据。 RD:从TFTLCD读取数据。 D15:0:16位双向数据线。RST:硬复位TFTLCD。 RS:命令/数据标志(0,读写命令;1,读写数据)。TFTLCD显示需要的相关设置步骤如下: 1) 与TFT链接的I/O口初始化(包括时钟、方向与模式),本设计使用FSMC功能。2) 初始化TFTL
44、CD模块。3) 通过函数将字符和数字显示到TFTLCD模块上。3.1.4 FSMC介绍 STM32的内部外设丰富,可选择性强,让用户在各种不同的应用中都能满足设计的要求。现代的液晶显示功能已经渗透到各行各业当中,生活中最为常见的就是我们的手机,其它比如电脑、平板、MP3、MP4、各种家用设备。液晶屏的出现,拉近了人与机器的距离,让人与机器之间可以沟通交流。因为液晶技术的兴起,FSMC技术也将随之兴起,FSMC即存储器扩展技术,其满足不同的大容量静态存储器的拓展。 FSMC(Flexihie Static Memory Controller,可变静态存储控制器)是增强型的STM32单片机特有的存
45、储机制。FSMC机制不是针对某一款存储器定制的,对寄存器设置可以改变FSMC的功能,在其它的存储器上使用。 FSMC的框图如图3.9所示:图3.9 FSMC框图 FSMC技术优势 支持多种静态存储器类型。STM32通过FSMC可以与SRAM、ROM、PSRAM、NOR Flash和NANDFlash存储器的引脚直接相连9;支持丰富的存储操作方法。FSMC不仅支持多种数据宽度的异步读写操作,而且支持对NORPSRAMNAND存储器的同步突发访问方式9;支持同时扩展多种存储器。FSMC的映射地址空间中,不同的BANK是独立的,可用于扩展不同类型的存储器9。当系统中扩展和使用多个外部存储器时,FSM
46、C会通过总线悬空延迟时间参数的设置,防止各存储器对总线的访问冲突9;支持更为广泛的存储器型号。通过对FSMC的时间参数设置,扩大了系统中可用存储器的速度范围,为用户提供了灵活的存储芯片选择空间9;支持代码从FSMC扩展的外部存储器中直接运行,而不需要首先调入内部SRAM9。3.2 硬件电路详细设计3.2.1 温度采集模块设计在本系统中,我一共设计了四路温度的采集,这四路温度的采集来自不同的四个温度传感器,在实际应用中这四个温度传感器可以放在四个不同的地方来检测不同环境下的温度。在这里我用了控制器的四个IO口,因为考虑到系统用的控制器IO口数目多且采用这样的方式不需要频繁的读取地址码,节省了系统
47、软件运行的时间,提高了效率。而且但总线控制时,总线上面挂的多个DS18B20的地址不同,使用时不但要发送地址,如果某个传感器坏掉以后,要对其更换,就必须将程序的地址序列修改,不然无法识别新的DS18B20。但总线的设计,大大降低了系统的通用性,一旦设计完成,如果要更换传感器,必须要到专门的地点,专业的人员对程序进行修改。每一路温度都和其他路的温度没有关系并且互不冲突,能够很好的实现四路温度同时监测。下图为温度采集系统的电路图,图中PG11,PC1,PC2,PC3表示接到控制器相应的IO口图3.10 温度采集电路图3.2.2 显示模块设计本设计中我采用开发板附带的TFTLCD显示屏,它内部有IL
48、I9325控制器来驱动TFT,TFT采用四线制电阻屏,刷屏速度快,带有触摸屏功能,可以省去部分按键电路的制作。TFTLCD可以直接接在控制器的IO口上,实际上控制器内部对其进行了相应的控制,利用控制器内部自带的FSMC技术把它当做了SRAM存储器来使用,因此使用起来方便快捷,无需更多的驱动的电路。下图为显示图块电路图(图中红色标注表示与控制器相应引脚的连接)图3.11 显示模块电路图由上图可知,它的数据线是采用位并口线来连接的,并且它有如下一些信号线: CS:TFTLCD片选信号。 WR:向TFTLCD写入数据。 RD:从TFTLCD读取数据。 D15:0:16位双向数据线。RST:硬复位TF
49、TLCD。 RS:命令/数据标志(0,读写命令;1,读写数据)。这里还需要注意,我们标注的DB1DB8,DB10DB17,是相对于LCD控制IC标注的,实际上大家可以把他们就等同于D0D15,这样理解起来就比较简单一点。3.2.3 按键模块设计 按键采用独立式按键,共用四个按键。按键部分电路如下图图3.12 按键模块电路图 由上图可以知道,KEY0,KEY1,KEY2是低电平有效的,KEY_UP是高电平有效的,而且在这里都没有上下拉电阻,因为在STM32的内部已经设置好了上下拉电阻。具体按键功能: KEY1:温度值设定按键“+”,设置报警温度限值值。 KEY0:温度值设定按键“-”,设置报警温
50、度限值值。 KEY_UP:选择查看哪路温度显示。 KEY2:温度值设置。按下此键开始设置报警温度值。3.2.4报警模块设计本设计采用蜂鸣器和led灯光报警,当检测到的温度值超过我们预先设置的报警温度时,蜂鸣器会发出声音并且led灯会亮起来,以此来提醒我们温度超限了。电路如图:图3.13 报警电路图从图中可以看到我采用了一个三极管,这是因为STM32的单个 IO 最大可以提供 25mA 电流(来自数据手册),而蜂鸣器的驱动电流是 30mA 左右,两者十分相近,但是如果直接驱动蜂鸣器的话,STM32的其他部分用电可能就不够用了,所以,我采用了一个三极管扩大电流后再来驱动蜂鸣器,这样就不需要STM3
51、2提供很大的驱动电流了。3.2.5 系统总体电路图图3.14系统总电路图4 软件设计程序是一个系统的思想,没有程序,电路就是死体,不能正常运作。有了程序,就想肉体有了灵魂,一个有效地程序,能让一堆电路工作,一个合理高效的程序,能优化整个系统是整个系统处于最佳的工作状态。4.1 主程序流程图本系统的软件程序主要包括主程序、温度检测程序、显示程序、报警系统程序,键盘控制程序几个大模块。主程序的优化结构,决定了一个系统的优化程度。主程序采用循环式扫描,对系统进行循环的检测。首先是各个子程序的初始化程序,包括对各个功能模块的检测,然后是温度检测程序,不断的检测采集到的温度是否超出设置的范围,将检测到的
52、温度显示在TFT彩屏上,在这过程中还可以设置显示哪路温度和温度测量的范围,如此不断的执行程序,主程序流程图如图4.1:开始子程序初始化按键温度设置读采集到的温度值解除报警是否超过设置的温度报警YN显示温度图4.1 主程序流程图4.2温度采集处理流程图温度采集程序主要是对DS18B20的控制程序。由微控制器STM32F103ZET6严格按照DS18B20的时序控制它,进行温度的采集和转换并输出到TFTLCD,使我们能够清楚地看到当前温度值。对DS18B20的设定在主程序已经完成,在这几只是其转化的程序,不在需要不停地对其设置,减轻了系统的压力,使系统的运行速度提高。温度采集程序流程图如下:开始提
53、示错误检测DS18B20是否存在复位DS18B20初始化DS18B20 IO端口 开始温度转换得到温度值TFTLCD显示温度值图4.2 温度采集模块程序流程图部分程序代码如下: DS18B20_Start (a); / ds1820 start convert DS18B20_Rst(a); DS18B20_Check(a); DS18B20_Write_Byte(a,0xcc);/ skip rom DS18B20_Write_Byte(a,0xbe);/ convert TL=DS18B20_Read_Byte(a); / LSB TH=DS18B20_Read_Byte(a); / MSB4.3 显示子程序介绍显示字程序需较为复杂,主要因为TFT的驱动难,但驱动程序就可以达百行。本系统显示程序突出优点是折线图,通过折线图将实时的温度显示出来,看起来更加的直观,更容易看出温度的变化趋势走向。开始TFTLCD 初始化确定显示位置显示数据图4.3 显示程序流程图部分程序代码如下: LCD_Fill(2,32,239,320,WHITE); /特点区域填充为白色POINT_COLOR=BLUE;/设置字体为蓝色 LCD_ShowString(60,90,240,16,16,DS18B20_0 OK);LCD_Sh
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年合作开拓:招商合同范文集成3篇
- 金融机构保安工作总结计划
- 保安公司浮雕施工协议
- 2024年夏令营活动场地出租合同3篇
- 2024版酒店管理与酒水销售合作协议2篇
- 图书馆活动灯具租赁协议
- 2024年区域代理:润滑油独家销售合同
- 2024年度高品质大尺寸地毯专用塑料包装袋订购合同版
- 水电站景观施工合同
- 2024年度互联网服务合同:网站建设、运营与维护3篇
- 教师资格考试高中语文面试试题及答案指导(2025年)
- 2024新信息科技七年级《第二单元 直播网络我来建》大单元整体教学设计2022课标
- 2024-2030年中国抗血栓药行业销售动态及需求趋势预测报告
- 医生值班与巡诊制度
- 幼儿园大班数学练习题100道及答案解析
- 2023年政府采购专家题(无解析)附有答案
- 体彩三人合伙协议书模板
- 甲状腺护理新进展
- 2024年秋新外研版(三起)英语三年级上册全册教案(2024年新教材)
- Unit 2 Different familiesPart B How are families different(教学设计)-2024-2025学年人教PEP版英语三年级上册
- 船舶采购建造 投标方案(技术方案)
评论
0/150
提交评论