版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . i / 65毕毕 业业 设设 计(计( 论论 文文 )题目题目基于单片机的多点温度基于单片机的多点温度检测系统检测系统. . . . i / 65毕业设计(论文)任务书毕业设计(论文)任务书 信息与电气工程学院 院 电子信息工程 系(教研室)系(教研室)主任:(签名) 年月日1 设计(论文)题目与专题:基于单片机的多点温度检测系统2 学生设计(论文)时间:自 2012 年 2 月 20 日开始至 2012 年 6 月 8 日止3 设计(论文)所用资源和参考资料:1)传感器原理与应用 2)计算机控制与接口技术3)单片机原理与应用 4)STM32F107xx Reference m
2、anual5)STM32F10 xxx Cortex-M3 programming manual 6)金牛开发板用户使用手册 7)金牛开发板原理图 4 设计(论文)应完成的主要容:1)控制系统简介 2)单片机控制原理 3)系统硬件设计 4)系统软件设计 5)系统设计仿真结果 6)系统设计的优缺点,设计心得 5 提交设计(论文)形式(设计说明与图纸或论文等)与要求:1)论文正文不少于 1.5 万字,提供电子版和纸质版,格式和要求按院有关规定2)提供系统原理图、硬件原理图、印刷板图与软件框图 3)要有设计总结和设计心得 6 发题时间:2012 年 2 月 20 日指导教师: (签名)学 生: (签
3、名)湖湖 南南 科科 技技 大大 学学毕业设计(论文)指导人评语毕业设计(论文)指导人评语. . . . ii / 65主要对学生毕业设计(论文)的工作态度,研究容与方法,工作量,文献应用,创新性,实用性,科学性,文本(图纸)规程度,存在的不足等进行综合评价指导人:指导人: (签名)年 月 日指导人评定成绩:指导人评定成绩:湖湖 南南 科科 技技 大大 学学毕业设计(论文)评阅人评语毕业设计(论文)评阅人评语. . . . iii / 65主要对学生毕业设计(论文)的文本格式、图纸规程度,工作量,研究容与方法,实用性与科学性,结论和存在的不足等进行综合评价评阅人:评阅人: (签名)(签名)年年
4、 月月 日日评阅人评定成绩:评阅人评定成绩:湖南科技大学湖南科技大学毕业设计(论文)答辩记录毕业设计(论文)答辩记录日期:日期:20122012 年年 6 6 月月 7 7 号号 . . . . iv / 65学生:学生: 克厚克厚 学号:学号:08040302220804030222 班级:班级: 电子电子 2 2 班班 题目:题目:基于单片机的多点温度检测系统基于单片机的多点温度检测系统提交毕业设计(论文)答辩委员会下列材料:提交毕业设计(论文)答辩委员会下列材料:1 1 设计(论文)说明书设计(论文)说明书 共共 2 2 7 7 页页2 2 设计(论文)图设计(论文)图 纸纸 共共 4
5、4 页页3 3 指导人、评阅人评语指导人、评阅人评语 共共 2 2 页页毕业设计(论文)答辩委员会评语:毕业设计(论文)答辩委员会评语:主要对学生毕业设计(论文)的研究思路,设计(论文)质量,文本图纸规程度和对设计(论文)的介绍,回答问题情况等进行综合评价答辩委员会主任:答辩委员会主任:(签名)委员:委员:(签名)(签名)(签名)(签名)答辩成绩:答辩成绩:总评成绩:总评成绩:. . . . i / 65摘摘 要要随着社会的进步和工业技术的发展,人们越来越重视温度因素,目前许多产品都对温度围要求严格,但是目前市场上普遍存在的温度检测仪器大都是单点测量,并且有温度信息传递不与时、精度不够的缺点,
6、不利于工业控制者根据温度变化与时做出决定。在这样的形式下,开发设计出一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。本课题以 STM32F107 单片机系统为核心,并能对多点温度进行实时巡检。DS18B20 是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本论文结合实际使用经验,介绍了 DS18B20 数字温度传感器在单片机下的硬件连接与软件编程,并给出了软件流程图。关键关键词词:温度测量;单总线;数字温度传感器;STM32F107 单片机. . . . ii /
7、 65AbstractAbstractAlong with the progress of the society and the development of the technology industry, People pay more and more attention to temperature factors,nowmanyproducts strict to temperature range, But on the market atpresent the prevalence of temperature testing instrument is mostly sing
8、le-point measurement, And have a temperature information transfer not timely, precision insufficient shortcomings, According to temperature change against industrial controller make timely decision. In this form, development and design a kind of can simultaneously measuring more, and high real-time,
9、 high precision, and can handle more comprehensive information system of measurement temperature is very necessary. This topic to STM32F107single-chip microcomputer system as the core, and able to more real-time temperature inspection. DS18B20 is a network of high precision digital temperature senso
10、r, since it has the unique advantages single bus, users can easily set up sensor network, and can make more temperature measurement circuit become simple and reliable. In this paper the actual use of experience, this paper introduces digital temperature sensor DS18B20 in under the single chip of the
11、 hardware connection and software program- ming, and gives the software flow chart.KeyKey wordswords:temperature measurement;single bus;Digital temperature sensor;STM32F107 single chip;. . . . iii / 65目目 录录第一章第一章 绪绪 论论11.1 课题背景 11.2 本课题的任务与目标 21.3 本课题的方案设计 2第二章硬件设计第二章硬件设计42.1 温度传感器设计 42.2 单片机系统设计 62
12、.3 显示电路设计 82.4 键盘电路设计 102.5 报警电路设计 112.6 存储模块设计 112.7 通信模块设计 12第三章软件设计第三章软件设计143.1 软件设计的一般原则 143.2 系统主程序流程图 153.3 温度传感器程序设计 163.4 显示程序设计 183.5 键盘程序设计 193.6 报警程序设计 193.7 存储模块程序设计 203.8 通信模块程序设计 21第四章第四章 结结 论论22参考文献参考文献23致致24附录附录25. . . . 1 / 65第一章第一章 绪绪 论论1.11.1 课题背景课题背景在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪
13、里,从事什么工作,无时无刻不在与温度打着交道。自 18 世纪工业革命以来,工业发展对是否能掌握温度有着很大的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎 80%的工业部门都不得不考虑着温度的因素。 温度传感器主要经过了三个发展阶段:(1)模拟集成温度传感器:该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器,此种传感器具有功能单一、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温、控温,不需要进行非线性校准,外围电路简单。它是目前应用最为普遍的一种集成传感器,典型产品有AD590、AD592、TMP17、LM135 等;(2)模
14、拟集成温度控制器:该传感器主要包括温控开关、可编程温度控制器,典型产品有 LM56、AD22105 和 MAX6509。某些增强型集成温度控制器中还包含了 A/D 转换器以与固化好的程序,这与智能温度传感器有某些相似之处,但它自成系统,工作时并不受微处理器的控制,这是二者的主要区别;(3)智能温度传感器:该传感器(亦称数字温度传感器)是微电子技术、计算机技术和自动测试技术(ATE)的结晶。智能温度传感器部都包含温度传感器、A/D 转换器、信号处理器、存储器和接口电路。有的产品还带多路选择器、中央控制器(CPU)、随机存取存储器(RAM)和只读存储器(ROM),智能温度传感器的特点是能输出温度数
15、据与相关的温度控制量,适配各种微控制器(MCU),并且它是在硬件的基础上通过软件来实现测试功能的,其智能化程度也取决于软件的开发水平。进入 21 世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性与安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。目前市场上主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量围大,而得到了普遍的应用。此种产品测温围大都在-200800之间,分辨率 12 位,最小分辨温度在 0.0010.01 之间自,带 LED 显示模块,显示 4 位到 16
16、 位不等,有的仪表还具有存储功能,可存储几百到几千组数据,该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。. . . . 2 / 65针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比较高的单片机多路测温系统。1.21.2 本课题的任务本课题的任务与目标与目标本课题设计主要是实现对温度进行多点同时测量并准确显示。整个系统由单片机控制,要能够接收温度传感器的数据并显示出来,并且可以从键盘输入命令,系统根据不同的命令,实现不同的功能,并且能够对异常情况进行报警,还可以将测量数据保存起来以供以后查询
17、使用或者通过串口传给 PC 机。并设计一种合理、可行的单片机监控软件,完成多点测量和显示的任务,并编写硬件底层驱动程序。1.31.3 本课题的方案设计本课题的方案设计温度测量的方案有很多种,可以采用传统的分立式传感器、模拟集成传感器以与新兴的智能型传感器,而对于控制系统则可以采用计算机、单片机等。.1设计方案一设计方案一本方案采用模拟分立元件,如电容、电感或晶体管等非线形元件,实现多点温度的测量与显示,该方案设计电路简单易懂,操作简单,且价格便宜,但采用分立元件分散性大,不便于集成数字化,而且测量误差较大。.2设计方案二设计方案二本方案采用 AT89C52 单片
18、机为核心,通过温度传感器 AD590 采集温度信号,经信号放大器放大后,送到 A/D 转换芯片,最终经单片机检测处理温度信号,但 A/D 转换电路设计较烦琐,而且使用 AD590 进行温度检测必须对输出端进行补偿,以减小误差。.3设计方案三设计方案三本方案运用主从分布式思想,由一台上位机(PC 微型计算机) ,下位机(单片机)多点温度数据采集,组成两级分布式多点温度测量的巡回检测系统。该系统采用 RS-232 串行通讯标准,通过上位机(PC)控制下位机(单片机)进行现场温度采集。温度值既可以送回主控 PC 机进行数据处理,由显示器显示。也可以由下位机单独工作,实时显示当前各点的
19、温度值,并且对各点进行控制。 . . . . 3 / 65下位机采用的是 STM32F107 单片机基于数字温度传感器 DS18B20 的系统。基于数字式温度计 DS18B20 的温度测量系统的硬软件开发过程,DS18B20将温度信号直接转换为数字信号,实现了与单片机的直接接口,从而省去了信号调理电路。该仪器电路简单、功能可靠、测量效率高,很好地弥补了传统温度测量方法的不足。方案 3 相对与方案 1,在功能、性能、可操作性等方面都有较大的提升。相对与方案 2,硬件电路简单,易于操作,具有更高的性价比,更大的市场。所以本课题设计采用方案 3 完成本设计。DS18B20DS18B20有如下的性能特
20、点:有如下的性能特点:(1)独特的单线接口,既可通过串行口线,也可通过其它I/O口线与微机连接,无需变换其它电路,直接输出被测温度值;(2)多点能力使分布式温度检测应用得以简化;(3)不需要外部元件;(4)既可用数据线供电,也可采用外部电源供电;(5)不需备份电源;(6)测量围为-55+125,固有测温分辨率为05;(7)通过编程可实现912位的数字读数方式;(8)用户可定义非易失性的温度告警设置;(9)应用围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统。以上特性使得DS18B20非常适用于构建高精度、多点温度测量系统。. . . . 4 / 65第二章第二章 硬件设计硬件设计本课
21、题研究的多点测温系统是以 STM32F107 单片机和单总线数字温度传感器 DS18B20 为核心,充分利用单片机优越的部和外部资源与数字温度传感器DS18B20 的优越性能构成一个完备的测温系统,实现对温度的多点测量。整个系统由单片机控制,能够接收传感器的温度数据并显示出来,还可以从按键输入命令,系统根据不同的命令,实现不同的功能,并且能够对异常情况进行报警,还可以将测量数据保存起来以供以后查询使用或者通过串口传给 PC 机。由于单片机具有强大的运算和控制功能,使得整个系统具有模块化、硬件电路简单以与操作方便等优点。本课题的整个系统是由单片机系统电路、温度传感器电路、显示电路、键盘电路、报警
22、电路,存储电路,串口通信电路等构成。其系统框图如图 2.1 所示:图图 2.12.1 系统整体框图系统整体框图2.12.1 温度传感器温度传感器设计设计DS18B20单总线智能温度传感器,属于新一代适配微处理器的智能温度传感DS18B20键盘电路发光 LED存储电路LCD 显示STM32F107单片机报警电路电源电路时钟电路复位电路RS-232PC计算机. . . . 5 / 65器。全部传感元件与转换电路集成在形如一只三极管的集成电路,与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字值读数方式,其可以分别9375ms和750ms完成9位和12位
23、的数字量,最大分辨率为00625,而且从DS18B20读出或写入DS18B20的信息仅需要一根口线(单总线接口)。DS18B20与单片机的硬件连接有两种方法,一是外部电源供电方式:VCC接外部电源,GND接地,I/0与单片机的I/0线相连;二是寄生电源供电方式:VCC和GND接地,I/0接单片机I/0线。无论是哪种供电方式,I/0口线都要接47k Q左右的上拉电阻。DS18B20DS18B20有如下的性能特点:有如下的性能特点:(1 1)可将被测温度直接转换成计算机能识别的数字信号输出,温度值不需要经放大和AD转换成数字信号,解决了传统温度传感器存在的因参数不一致性的问题,使用方便。(2 2)
24、提供912位温度读数,精度高,且其信息传输只需一根信号线,与计算机接口十分简便,读写与温度变换的功率来自于数据线而不需额外的电源。(3 3)每一个DS18B20都有一个惟一的序列号,这就允许多个DS18B20连接到同一总线上,尤其适合于多点温度检测系统。(4 4)负压特性:当电源极性接反时,DS18B20虽然不能正常工作,但不会因发热而烧毁。正是由于以上特点,DS18B20广泛应用于过程控制、环境控制、建筑物、机器设备中的温度检测。其外形和管脚如图2.2所示:图图2.2DS18B202.2DS18B20外部形状与管脚图外部形状与管脚图本课题设计采用外部电源供电方式,四个数字式温度传感器DS18
25、B20与单片机连接如图2.3所示:. . . . 6 / 65图图2.32.3DS18B20DS18B20与单片机连接图与单片机连接图2.22.2 单片机系统设计单片机系统设计STM32F107 是意法半导体推出全新 STM32 互连型系列微控制器中的一款性能较强产品,它以 32 位 ARM Cortex-M3 为核、72MHZ 运行频率、含有高达 64KB SRAM、256KB FLASH、80 个可编程的 I/O 线、支持 256 个可嵌套中断源。还集成了各种高性能工业标准接口,包括 ADC、DAC、I2C、USART、SPI、I2S,拥有全速 USB(OTG) ,CAN2.0B 接口,以
26、与以太网 10/100 MAC 模块。可以满足大部分工业、医疗、楼宇自动化、家庭音响和家电市场等多种产品的需求。本课题是运用 ST 公司的 STM32F107 来实现整个系统的控制,主要运用到了启动选项配置,复位电路,时钟电路等部分。.1启动选项启动选项STM32F107 单片机有三种启动方式,其启动方式如下表 2.1 所示:表表 2.12.1 启动方式配置选择表启动方式配置选择表BOOT1(JP13)BOOT2(JP15)启动模式描述1-2,2-3or open2-3金牛开发板设定为 User Flash 启动方式2-31-2金牛开发板设定为 System Memory 启动
27、方式1-21-2金牛开发板设定为 Embedded SARM 启动方式1-2 表示接高电平 1,2-3 表示接低电平 0. . . . 7 / 65本课题设计采用默认的启动方式,即 1-2 接高电平,2-3 接低电平,表示从 UserFlash 开始启动程序。.2复位电路复位电路无论哪种单片机,都会涉与复位电路。如果复位电路不可靠,在工作中就有可能出现“死机” , “程序走飞”等现象,复位操作使单片机进入初始化过程,程序从00000000H地址单元开始执行, 当STM32F107单片机的复位引脚NRST出现一段时间的低电平时,单片机就完成了复位操作,如果NRST持续为低电平,单
28、片机就处于循环复位状态,而无法执行程序,因此要求复位后能脱离复位状态。复位操作通常有上电和开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。常用的复位电路如图2.4所示:图图2.42.4 复位电路复位电路.3时钟电路时钟电路STM32F107 单片机的时钟信号通常有部振荡方式和外部振荡方式。单片机部有一个高增益反相放大器,在引脚 XTAL1 和 XTAX2 外接晶体振荡器,晶振为8MHZ,就够成了部振荡方式,外部振荡方式是把已有的时钟信号引入单片机,这种方式适于用于用来使单片机的时钟与
29、外部信号保持一致,但部振荡方式所得的时钟信号比较稳定。本课题设计采用部振荡器方式,电容值一般为 20PF,起稳定振荡频率、快速起振的作用,其电路连接如图 2.5 a)所示:另外本课题用到 RTC 功能,还需为 STM32F107 提供 RTC 时钟,RTC 晶振为 32.768KHZ, 电容值一般为 10PF。其电路连接如图 2.5b)所示:. . . . 8 / 65图图 2.52.5 a a) 系统时钟电路系统时钟电路 图图 2.52.5 b b) RTCRTC 时钟电路时钟电路2.32.3 显示电路设计显示电路设计显示设备是电子系统常见的输出设备,在电子系统中占有极其重要的作用,显示电路
30、主要有两种显示方式:数码管显示方式和LCD液晶显示方式。数码管是由7段或8段发光二极管组成,在平面上排成8字型,主要有共阴极和共阳极两种,只要使某些段点亮而另一些段不亮就可以显示0-9,A-F等字型。要使某段点亮必须具备2个条件:一是共阴极管的公共端接地和共阳极管的公共端接电源;二是共阴极管的控制端接电源和共阳极管的控制端接地。此显示方式具有接口简单,占用资源少、控制灵活方便等特点,目前市场上主要有2位一. . . . 9 / 65体,4位一体,8位一体等数码管,价格也比较便宜。LCD液晶显示器是Liquid Crystal Display的简称,LCD的构造是在两片平行的玻璃当中放置液态的晶
31、体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面,不仅可以显示字符,数字,还可以显示汉字,图片等,由于LCD显示器通过控制是否透光来控制亮和暗,当色彩不变时,液晶也保持不变,这样就无须考虑刷新率的问题,对于画面稳定、无闪烁感的液晶显示器,刷新率不高但图像也很稳定,LCD显示器还可以通过液晶控制透光度的技术原理让底板整体发光,做到了真正的完全平面。但是相对于数码管显示器,其价钱比较其昂贵。由于LCD液晶显示方式相对于数码管显示方式来说不用考虑不断刷新等优点,所以本课题设计利用TFT-LCD作为输出显示设备。利用单片机传输控制信号,在LCD
32、上将传感器的温度信号和按键输入的控制信号都显示出来。其电路连接如图2.6a)所示:. . . . 10 / 65图图2.62.6 a a)TFT-LCDTFT-LCD电路连接图电路连接图另外再利用4个发光LED显示4个温度传感器的工作正常情况,其电路连接如图2.6b)所示:图图 2.62.6 b) 发光发光 LEDLED 电路连接图电路连接图2.42.4 键盘电路设计键盘电路设计按键是电子设备常见的输入设备,作为人们与电子设备交流的重要途径,一旦出错,将影响到电子设备的整体使用,按键电路虽然简单,但按键的稳定性、可靠性,应引起足够的重视。单片机的按键电路主要有矩阵形式和线性形式两种。当按键较少
33、时可接成线性形式;当按键较多时,可以将按键接成矩阵形式,这种形式节省口线,其中以使用 +条l/0线实现的矩阵扫描式按键电路最为常用。通常按键在按下或释放的时侯,通常伴随着几ms到十几ms的触点抖动,然后才能稳定下来,在触点抖动期间检测按键的通断状态,会导致一次按键或释放被错误地认为是多次操作。所以,当检测到有键按下或释放时,应通过软件延时20 ms左右,避开触点抖动的影响。去抖的时间既不能太短也不能太长,如果时间太短,无法起到去抖作用;如果时间太长,超过了键按下的持续时间,则会检测不到按键。由于本课题设计需要的按键较少,故采用线性按键方式,其电路连接如图2.7所示:. . . . 11 / 6
34、5图图2.72.7 按键电路连接图按键电路连接图2.52.5 报警电路设计报警电路设计为了实现多点温度检测系统报警的功能,在单片机获取多点DS18B20温度传感器转换的温度值后,与预设的温度值相比较,如果温度不在预设定的围,高于或者低于预设的温度值,则给出报警信号,并且相应的发光二极管不断闪烁,表示相应的温度传感器出现异常。其电路连接如图2.8所示: 图图2.82.8 报警电路连接图报警电路连接图2.62.6 存储模块设计存储模块设计DS18B20完成温度转换后,温度值可以显示出来,但是一些重要的数据需要保存下来,供给以后查询使用,这就需要设计一个存储电路,由于需要存储温度数据不是很多,所以本
35、课题设计选用E2PROM-AT24LC02芯片来设计一个存储电路,AT24LC02芯片可以存储128个字节,足以满足本设计系统存储的需要,其电. . . . 12 / 65路连接如图2.9所示:图图 2.92.9 存储电路连接图存储电路连接图2.72.7 通信模块设计通信模块设计 RS-232是目前异步串行通信中应用最广泛的标准总线,适用于数据中断设备(DTE)和数据通信设备(DEC),ELA-RS-232是目前最常用的串行接口标准,用于计算机与计算机之间,计算机与单片机的数据通信。此标准的目的是定义数据终端设备(DTE)之间的电气特性。RS-232提供了单片机与单片机、单片机与PC机之间串行
36、数据通信的标准接口,但RS-232规定的逻辑电平与单片机的逻辑电平是不一致的,因此在应用中,必须把微处理器的信号电平(TTL电平)转换为RS-232电平,通常选用电平转换芯片MAX-232来实现。RS-232C总线标准接口引脚信号定义如表2.2所示:表表2.22.2 RS-232CRS-232C通信接口标准定义表通信接口标准定义表引 脚信 号方 向功 能1DCDIN数据载波检测2RXDIN接收数据3TXDOUT发送数据4DTROUT数据终端设备(DTE)就绪5GND _信号公共参考地6DSRIN数据通信设备(DEC)就绪7RTSOUT请求发送8CTSIN清除发送. . . . 13 / 659
37、RIIN振铃指示STM32F107单片机部带有有5个串口电路接口,其功能与51系列单片机的串口相似,在设计硬件接口电路时,应充分考虑到电路的电气特性、逻辑电平以与驱动能力的匹配问题,若匹配得不好,将会导致通信失败。本课题设计使用的是STM32F107部的串口1接口,采用MAX-232作为PC机与单片机的串行通信接口间的电平转换芯片。硬件连接时,可从MAX-232中的2路发送器和接收器中任选一路,只要注意发送与接收的引脚对应关系即可。其接口电路连接如图2.10所示:图图2.102.10 PCPC机与单片机通信电路连接图机与单片机通信电路连接图. . . . 14 / 65第三章第三章 软件设计软
38、件设计系统进行软件设计时,先要对本课题硬件结构有一个熟练的掌握,知道系统的组成,数据的传输,信号是如何被控制的,以与信号的显示,然后进行软件设计时,先搞清楚各个部分的子程序与他们的流程图,再进行编程,最后将它们进行系统的编程和整合。本系统软件设计主要包括系统程序和流程图,根据整个系统的要求,完成温度的测量与控制必须经过以下几个步骤:单片机接受传感器的温度信号,并通过 LCD 显示出来,同时单片机扫描按键,接受控制信号,系统根据不同的命令,实现不同的功能,例如,可以将测量数据保存起来以供以后查询使用或者通过串口传给 PC 机,若温度不在预设温度的围则发出报警信号。3.13.1软件设计的一般原则软
39、件设计的一般原则在单片机应用开发中,程序代码使用效率、单片机的抗干扰性以与软件可靠性是实际工程设计的重点,本课题采用C语言进行编程,必须注意以下几个问题:.1提高程序代码效率提高程序代码效率必须熟悉当前使用的 C 语言编译器,试验每条 C 语言编译以后对应的汇编语言的语句行数,这样就可以很明确的知道代码效率。.2减少程序错误减少程序错误我们在编写程序时,要注重考虑如下方面:(1 1)物理参数;(2 2)资源参数;(3 3)应用参数;(4 4)过程参数。.3单片机的抗干扰性单片机的抗干扰性防止干扰最有效的方法是去除干扰源、隔离干扰路径。单片机干扰最
40、常见的现象就是复位,导致程序运行异常,设计系统一般是需要添加一个“看门狗”监控模块,在系统出现不可逆转的干扰时,监控模块将重启系统,并从断点处继续执行。.4系统的可靠性系统的可靠性. . . . 15 / 65(1 1)要测试单片机软件功能的完善性; (2 2)上电、掉电测试;(3 3)系统耗损测试。3.23.2 系统主程序流程图系统主程序流程图根据系统设计的功能要求,我们将整个软件系统分割成若干个独立的程序模块,这些程序模块可以是几条语句的集合、功能函数或程序文件,随后,根据各个程序模块的实现功能写出流程,一般还需要写出具体的实现功能描述,本课题系统主程序流程如图 3.1 所
41、示: 是 否 是否是 否 是判断 是 否系统初始化显示系统主界面显示 4 路温度传感器的温度值保存 4 路温度传感器的温度值与 RTC 时间将 4 路温度传感器的温度值发送到 PC 机给出报警信号与相应发光 LED 闪烁相应发光 LED 闪烁开始KEY1 按下KEY2 按下KEY3 按下KEY4 按下高于/低于预设温度值. . . . 16 / 65图图3.13.1 系统主程序流程图系统主程序流程图3 3. .3 3 温度传感器程序设计温度传感器程序设计对单总线的DS18b20芯片来说,访问每个器件都要遵守下列命令序列:首先是初始化;其次执行ROM命令;最后就是执行功能命令。初始化过程由主机发
42、出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道,总线上有从机设备,且准备就绪。每次访问线器件,必须严格遵守这个命令序列,如果出现序列混乱,则器件不会响应主机。在主机检测到应答脉冲后,就可以发出ROM命令,这些命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备,这些命令还允许主机能够检测到总线上有多少个从机设备,以与其设备类型或者有没有设备处于报警状态,从机设备支持5种ROM命令,每种命令长度为8位,5种ROM命令分别如下:(1 1)搜索)搜索ROMF0hROMF0h当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样
43、主机就能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环以找出总线上所有的从机设备,如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令,在每次执行完搜索ROM循环后,主机必须返回初始化。(2 2)读)读ROM33hROM33h读ROM命令仅适用于总线上只有一个从机设备。它允许主机直接读出从机的64位ROM代码,而无须执行搜索ROM过程,如果该命令用于多节点,系统则必然发生数据冲突,因为每个从机设备都会响应该命令。(3 3)匹配)匹配ROM55hROM55h匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备,仅当从机完全匹配64位ROM代
44、码时,才会响应主机随后发出的功能命令,而其它设备将处于等待复位脉冲状态。(4 4)跳越)跳越ROMCChROMCCh主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。例如,主机通过在发出跳越ROM命令后跟随转换温度命令44h,就可以同时命令总线上所有的DS18B20开始转换温度,这样大大节省了主机的时间。值得注意的是,如果跳越ROM命令跟随的是读暂存器BEh的命令,则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。(5 5)报警搜索)报警搜索EChECh除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令,报警搜索命令
45、允许主机设备判断那些从机设备发生了报警,同搜索. . . . 17 / 65ROM命令一样,在完成报警搜索循环后,主机必须返回初始化。完成DS18B20初始化和发送合适的ROM命令之后,主机就可以发出相应的功能命令,就可以通过编程控制读到其部RAM所采集到的温度值。由于本课题采用的是单节点测温系统,可以发出跳越ROM命令,并且其后跟随转换温度命令44h,就可以直接启动总线上的DS18B20开始温度转换,这样可以大大节省主机的时间,提高效率。其程序流程如图3.2所示:返回图图3.23.2 温度传感器程序流程图温度传感器程序流程图DSl8B20DSl8B20编程注意事项:编程注意事项:(1)(1)
46、:温度换时间设置为750ms时,灵敏度会大大提高,在需要较高精度要求下建议使用,而且回复性很好。(2)(2):DS18B20的读写时序须经过仔细调整,在反复的调试中找出合适的延时时间。发送温度转换命令44h发送跳越 ROM 命令CChDS18B20 初始化DS18B20 初始化发送跳越 ROM 命令CCh发送存储器命令BEh连续读出两个字节的数据(即温度)读取温度值延时 750ms开始. . . . 18 / 65(3)(3):在程序等待DS18B20发出的存在信号时,最好设置一个有限的等待时间,否则一旦有温度传感器损坏时,程序将进人无限等待的死循环中。3 3. .4 4 显示程序设计显示程序
47、设计根据系统设计的功能要求,单片机系统不仅要能接收到温度信号,还要将温度信号显示出来,使系统一目了然。对于输入的温度信号,其显示是通过3.2 寸 320*240 的彩色 TFT-LCD 显示出来的,主要显示系统主界面和 4 路温度传感器的温度值,该显示模块的 LCD 驱动芯片型号为 ILI9320,其程序流程如图 3.3a)所示:另外再利用 4 个发光 LED 显示 4 个温度传感器的工作正常情况,其程序流程如图 3.3 b)所示:图图3.3a3.3a) LCDLCD显示程序流程图显示程序流程图判断是判断 是判断是判断是LED1:亮/闪烁LED2:亮/闪烁LED3:亮/闪烁发送数据初始化液晶
48、ILI9320置显示位置功能设置返回LED4:亮/闪烁准备LED初始化传感器 1 正常/异常传感器 2 正常/异常传感器 4 正常/异常传感器 3 正常/异常. . . . 19 / 65图图3.33.3 b b) 发光发光LEDLED程序流程图程序流程图3 3. .5 5 键键盘盘程序设计程序设计单片机系统将传感器的温度信号显示以后,需要扫描按键,系统根据输入的不同键码执行相应的功能,按键电路虽然简单,但按键的稳定性、可靠性,应引起足够的重视,例如,当检测到有键按下或释放时,应通过软件延时以避开触点抖动的影响,去抖时间既不能太短也不能太长,时间太短,无法起到去抖作用;时间太长,超过了键按下的
49、持续时间,则会判不到按键。根据本课题设计的系统要求,采用了4个线性按键KEY1,KEY2,KEY3,KEY4,其程序流程如图3.4所示:系统主界面主要显示RTC实时时钟的时间和STM32F107芯片本身的温度值,STM32F107芯片部自带有一个温度传感器,其连接着ADC接口的第16通道,通过启动ADC转换即可得到实时芯片的工作温度值,另外再定义一个按键扫描的函数,接受按键的键码值,根据扫描的键码值单片机转入执行相应的功能,扫描函数既可以采用循环扫描方式,也可采用中断方式,本课题采用中断方式来实现按键扫描函数。判断是判断是判断是 判断 是图图3.43.4按键程序流程图按键程序流程图3.63.6
50、 报警报警程序程序设计设计本课题设计采用高温和低温报警,事先预设一个最高温度值和一个最低温返回显示系统主界面显示 4 路温度传感器的温度值保存 4 路温度传感器的温度值与 RTC 时间将 4 路温度传感器的温度值发送到 PC 机KEY初始化KEY1 按下KEY3 按下KEY2 按下KEY4 按下. . . . 20 / 65度值,最高/低温度值可根据实际情况来设置,单片机采集到温度值后,与其比较,如果某个传感器的温度超过或者低于了预设定的温度值,将发出报警信号。其程序流程如图3.5所示: 否 是图图3.53.5 报警程序流程图报警程序流程图3.73.7存储模块程序设计存储模块程序设计本课题设计
51、采用E2PROM-AT24LC02芯片来存储经DS18B20转换后的温度值与RTC的时间,AT24LC02芯片与STM32F107单片机通过I2C总线相连,因为I2C只有时钟线SCL和数据线SDA两根线,因此,对读写的数据位有着严格的时序要求,只有严格遵守通讯协议才能保证数据传输的正确性和完整性,否则将无法读取数据,其程序流程如图3.6所示:图图3.63.6 存储程序流程图存储程序流程图高于/低于预设温度值给出报警信号AT24LC02 初始化读/写数据写地址返回显示当前温度值准备. . . . 21 / 653.83.8 通信模块程序设计通信模块程序设计 本系统通过串口与上位机进行通信,可以实
52、时向上位机传送经DS18B20转换后的温度值,本课题设计采用单片机系统通过RS-232总线与计算机相连接。在进行实物仿真时,可以看到上位机(PC机)接收到的4个通道的温度值以与记录该温度值的RTC时间,当然也可以在本身系统的LCD上显示4个通道转换后的温度值,其程序流程如图3.7所示: 否 是图图3.73.7 通信程序流程图通信程序流程图发送数据初始化串口串口中断入口发联络信号 AAH返回是联络信号 55H?准备. . . . 22 / 65第四章第四章 结结 论论本课题设计是利用KeiluVision3软件对系统进行程序代码的设计和编写,并在金牛开发板上进行了程序仿真,从本课题设计的结果可以
53、看出,利用硬件实物(金牛开发板)进行单片机系统的程序设计仿真可以极提高单片机程序在目标硬件上的可靠性,稳定性,对于提高产品的开发效率、降低开发成本等有重要的作用。 硬件电路的简单是以软件的复杂为代价的,所以在程序编写和调试的过程中稍一粗心就会出现错误,包括时间延时不够,设置参数的类型有误,按键子程序放置位置不妥等错误。本程序经过了反复的调试修改,虽然能达到预期的基本目标,但是还有很多地方需要完善,如开始仿真时机器会扫描错误代码而使电路报警等。本课题通过分析和对比各种不同的温度传感器,最终选定DS18B20,这种单总线数字温度传感器的通信方式比较独特,软件编写要求的比较新颖,特点突出。用其构建的
54、系统有很多优点:硬件连线简单,省去了使用模拟传感器要进行放大、A/D转换等工作,由于它的级联功能,一条总线可挂接多个传感器测量不同位置的温度,根据DS18B20唯一的序号识别不同传感器在各自位置的温度。需要注意的是, 由于DS1820单线通信功能是分时完成的,遵循严格的时隙概念,因此, 系统对DS1820和各种操作必须按协议进行,即:初始化DS1820发ROM功能命令发存储器操作命令处理数据。通过调试系统发现了DS18B20有上述优点,但是也有一些缺点,例如,DS18B20在测量温度的时候,灵敏度不够高,温度快速变化时无法迅速显示出其变化。我们可以发现:由DS18B20构建的测温系统适用于环境
55、温度监控,对温度小变化较敏感的测温场所;而不适合应用于要时性强、温度跨度大的测温场所。. . . . 23 / 65参参 考考 文文 献献1 万文略.单片机原理与应用M.:大学,2004:31-56.2 周航慈.单片机应用程序设计技术M.:航空航天大学,2001:46-87.3 郁有文,常健,程继红.传感器原理与工程应用第二版M.:电子科技大学,2003:107-152.4 周云波.由 DS18B20 单线数字温度计构成的单线多点温度测量系统N.电子技术应用,1996:77-92.5 程安宇,士民,徐洋.基于 DS18B20 的单片机温度测量控制系统J.兵工自动化.2007:24-63.6 万
56、超.51 单片机温度控制系统设计J.科技信息.2009:57-88.7 Joseph Yiu.STM32F10 xxx Cortex-M3 programming manualS.arm.2008:120-180.8 Joseph Yiu.STM32F107xx Reference manualS.st.2010:271-367.9 邓荣.基于 AT89S52 单片机的温度控制系统R.工业职业技术学院自动化系.2010:30-50.10 广林.Protel99SE 电路设计与制版C.:电子工业,2005:19-69.11 余载泉,玉和.PROTEL 实战演练J.2000:36-77.12 金奎
57、焕,允俊,任正权.如何使用 KEIL8051 C 编译器J.2002:47-92.13 马中梅.单片机 C 语言设计C.:航空航天大学,1999:33-47.14 爱钧,秀华.Keil Cx51 V7.0 单片机高级语言编程与 Vision2 应用实践S.:电子工业出版 2007:43-91. . . . 24 / 65致致 从论文选题到搜集资料,从提纲的完成到正文的反复修改,我经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中,心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,我甚至还有一点成就感。本次毕业设计是在平阳老师的悉心指导下完成的,不论在选题、资料搜集还是在论文
58、写作方面,老师都给予了我很大的帮助。老师治学严谨、一丝不苟,对学生既严格要求,又耐心指导、循循善诱,在繁忙的工作之余经常关心我的论文进行情况,并且对我在毕业设计中遇到的问题耐心指导,巧妙地激发我的求知欲来促使我对问题进行更深入的研究,使我的独立探索解决问题的能力有了很大的提高,老师的用心良苦,让我深深体会到为人师表的伟大与无私。在本次毕业设计中,我还得到了其他很多同学和老师的帮助,对我成功完成本次毕业设计带来了很大的帮助。在此次论文完成之即,请接受我真诚的感!衷心地感在百忙之中评阅论文和参加答辩的各位专家、教授!最后感四年里陪伴我的老师、同学、朋友们,有了他们,我的人生才丰富,有了他们,我在奋
59、斗的路上才不孤独,他们!. . . . 25 / 65附录附录 A A 材料清单材料清单已用 部件类型 元件标号 封装 描述= = = =3 1K R1 R20 R24 C/R/LED1 1MR2 C/R/LED1 3.2TFT CN7 LCD Connector2 4K7 R27 R28 C/R/LED1 8MHZ X2 JZ11 10K R3 R4 R5 R6 R7 R8 C/R/LEDR21 R22R23 R25R262 10PF C5 C6 C/R/LED5 10R R15 R16 R17 R18 R19 C/R/LED2 10UF C1 C2 C/R/LED2 20PF C7 C8
60、C/R/LED1 24LC02 U4 E2PROM1 32.768KHZ X1 JZ8 100NF C3 C4 C9 C10 C/R/LEDC11C12 C13C144 470R R11 R12 R13 R14 C/R/LED 2 8085 Q1 Q2 Q1 JATG CN2 JTAG5 LED_R D1 D2 D3 D4 D5C/R/LED1 LT11117-3.3 U2 LTI1 MAX232 U3 MAX2321 POWER CN1 CN2 R R9 R10 C/R/LED5 RESET RESET S1 S2 S3 S4KEY1 STM32F107 U1 STM32F1074 TEMP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年幼儿园小班禁毒及教案
- 2026年幼儿园课程实施的途径
- 2026年幼儿园儿歌黑猫警长课件
- 团体标准-换向器用石墨-紫铜构件真空钎焊工艺规范征求意见稿
- 中国土壤修复市场规模与竞争格局深度分析-专题研究报告
- 数据分析公司员工绩效评估与薪酬管理
- 交通雨季施工保障方案
- 海洋牧场生态承载力方案
- 高质量发展绩效
- 高血压患者清晨血压升高的监测与调整方案实施-1
- 微生物组数据隐私伦理
- 2026重庆水务环境集团所属重庆水务集团股份有限公司招聘42人笔试备考题库及答案解析
- 2026届河北省石家庄市新乐市重点名校中考英语仿真试卷含答案
- 2026安徽安庆市宿松县事业单位招聘84人笔试备考试题及答案解析
- 持续照料养老社区建设指南
- 《三才绝学》聂枭九部系列之一
- 保险行业系统生态图分析报告
- 2018劳动合同北京市劳动合同书样本劳动和社会保障局监制
- 《中华人民共和国标准设计施工总承包招标文件》(2020年版)
- GB/T 41715-2022定向刨花板
- GB/T 5786-2000六角头螺栓细牙全螺纹
评论
0/150
提交评论