电气工程及自动化论文多点温度巡回检测系统的设计_第1页
电气工程及自动化论文多点温度巡回检测系统的设计_第2页
电气工程及自动化论文多点温度巡回检测系统的设计_第3页
电气工程及自动化论文多点温度巡回检测系统的设计_第4页
电气工程及自动化论文多点温度巡回检测系统的设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要传统的温度检测大多以热敏电阻为温度传感器,这种热敏传感器的工作原理是其 电阻值随温度的变化而发生显著的变化。由于热敏电阻的可靠性差,测量准确率低, 而且必须经过专门的接口电路转换为数字信号后才能送给单片机进行处理,在高精度 要求的温度检测应用中,热敏电阻己经被精度高,准确性好的各种集成温度采集设备 所代替。随着科学技术的发展,微型化,集成化,数字化正成为传感器发展的重要方向。数 字化温度传感器dsb18b20就是工业上普及的传感器之一。它采用单总线协议,与微机 接口只用一个i/o 口,这种一线总线的数字传输方式,提高了系统的抗干扰性。本文介绍了一种多点巡回温度检测系统的实现,以at89c5

2、2单片机为处理器, ds18b20为温度传感器,开发出的一款实吋温度检测与显示装置,与传统的设备相比 较,这种系统占体积小,测温迅速,抗干部扰能力强,准确率高,有一定的工程实用 性。关键词:温度传感器;单一总线;ds18b20abstractmost of the conventional temperature sensing is thermistor, the working principle of this thermal sensor is that its resistance changes with temperature significantly. poor reliab

3、ility of the thermistor gives its measurement low accuracy , only when go through a special interface circuit into a digital signal processing that can it be sent to the microcont-roller. the required temperature in the high-precision test applications, the thermal resistance has been high precision

4、, integrated temperature measurement accuracy of a good variety of equipment replaced.with the development of science and technology, miniaturization, integration is becoming an important direction in the development of digital sensors. digital temperature sensor dsb18b20 sensor is one of the popula

5、r industry. it uses a single bus protocol and the computer interface with a single i/o ports, line bus is a kind of digital transmission which improves the system's interference.this paper presents a multi-point temperature measurement system realized by make at89c52 microcontroller as the proce

6、ssor, ds18b20 as the temperature sensor, developed a real-time temperature sensing and display devices. compared with the traditional equipment, it accounts for small volume, tests temperature rapid, anti-interference ability of cadres, high accuracy, a certain practicability.key words: temperature

7、sensor; single - bus; ds18b20目录第一章绪论11.1 课题背景11.2课题研究意义11. 3本课题的任务21.4系统整体目标2第二章系统总体设计3f件设计83. 1 温度传感器83. 1. 1温度传感器选用细则83. 1.2 温度传感器ds18b20 93. 2单片机系统设计163. 2. 1复位电路173. 2.2时钟电路183. 2.3 i/o 口 193. 3显示电路设计 193.4矩阵键盘电路设计 213. 4. 1键盘的分类213. 5报警电路设计2123第四章软件开发4. 1软件开发工具简介234.2软件实现2343软件流程图234.4 ds18b20

8、操作流程 244.4. 1软件实现254.4.2操作时序264. 4.3 ds18b20编程注意事项304. 5显示程序设计304.6键盘程序304. 7报警程序设计35第五章结论36致谢37参考文献39附录(一系统电路图4040附录(二程序源代码第一章绪论1.1课题背景自古以来,温度都与人们的生活息息相关。在生产实践如冶金、钢铁、石化、水 泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。由于温度对于工业如此重要,对温度测量的元件温度传感器应运而牛,并且 随着科学技术的进步,传感器的数字化,微型化,集成化程度越来越高,同时由于工 业生产环境的复杂,使得抗干扰性也越来

9、越突出。传感器的发展主要经历了三个阶段:模拟集成温度传感器,模拟集成温度控制器, 智能温度传感器。进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安 全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用 传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量 范围大,而得到了普遍的应用。此种产品测温范围大都在-200°c800°c之间,分辨率 12位,最小分辨温度在0. ooro.ol之间。自带led显示模块,显示4位到16位不 等。有的仪表

10、述具有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单 个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距, 虽然实现了多路温度的测控,但价格昂贵。针对目前市场的现状,本课题提出了一种可满足要求、可扩展的并且性价比高的 单片机多路测温系统。12课题研究意义在传统的温度测量系统设计中,往往采用模拟技术进行设计,这样就不可避免地 遇到诸如引线误差补偿、多点测量屮的切换误差和信号调理电路的误差等问题;而其 中某一环节处理不当,就可能造成整个系统性能的下降。随着现代科学技术的飞速发 展,特别是大规模集成电路设计技术的发展,微型化、集成化、数字化正成为传感器 发展的一个重要

11、方向。美国dallas半导体公司推出的数字温度传感器ds18b20,具有独 特的单总线接口,仅需要占用一个通用t/0端口即可完成与微处理器的通信;在-10 +85°c温度范围内具有±0. 5°c精度;用户可编程设定912位的分辨率。以上特性 使得ds18b20非常适用于构建高精度、多点温度测量系统。1.3本课题的任务本课题主要是实现对温度进行多点同时测量并准确显示。整个系统由单片机控 制,要能够接收传感器的数据并显示出来,可以从键盘输入命令,来设定温度的最高 和最低值,当温度不在此范围内时,声光报警模块启动1.4系统整体目标利用单片机设计一个能够进行多点温度进行同

12、时测量的系统。该系统能够同时对 多个点的温度进行测量和进行显示,并且能够对异常情况进行报警。第二章系统总体设计系统以at89c52单片机为核心,以四个ds18b20测得四个点的温度送入单片机处 理后,通过led数码管动态显示,通过改变定时器时间,可以调节轮流显示的频率,通 过矩阵键盘,可以设定参考温度,ds18b20测得的温度和参考值比较,如果大于最高温 度值或者低于最低温度值,系统的声光报警模块启动。21系统结构框图at89c52 atmel公司生产的低电压,高性能cmos 8位单片机.片内含8k bytes的 可反复擦写的只读程序存储器(perom)和256 bytes。的随机存取数据存储

13、器,器件 采用atmel公司的高密度、非易失性存储技术生产,与标准mcs-51指令系统及8052 产品引脚兼容,片内置通用8位中央处理器(cpu )和flash由存储单元,功能强大 at89c52单片适用于许多较为复杂控制应用场合。1)at89c52引脚图如下如示:t2zp1. 0 匚 t2ex/p1.1 匚p1. 2 匚p1. 3 匚p1.4 匚p1. 5 匚p1.6 匚p1. 7 匚rst匚 rxd/p3. 0 匚 txd/p3, 1 匚 iht0/p3, 2 匚 int1/p3.3 匸 t0/p3.4 匚 i1/p3. 5 匚 wp3.6 匚 rd/p3. 7 匚 xtal2 匚 xta

14、l1 匚gnb匚1523933843753663573483393210311130122913281427152616251724182319222021 vcc p0. 0/ad0 p0. 1zad1 p0. 2zad2 p0. 3/ad3 p0.4/ad4 p0. 5/ad5 p0.6/ad6 p0. 7/ad7 ea/vpp1 ale/prog pesn p2. 7/a15 p2.6/a14 p2. 5/a13 p2.4/a12 p2. 3/a11 p2. 2za10 p2. 1/a3 p2. 0/a82. 2 at89c52 管脚2)主要性能参数:与mcs-51产品指令和引脚完全兼容

15、。8字节可重擦写flash闪速存储器1000次擦写周期全静态操作:0hz-24mhz三级加密程序存储器256x8字节内部ram32个可编程i/o 口线3个16位定时/计数器8个中断源可编程串行uart通道 低功耗空闲和掉电模式3)功能特性:at89c52提供以下标准功能:8字节flash闪速存储器,256字竹内部ram , 32个i/o 口线,3个16位定吋/计数器,一个6向量两级中断结构,一个全双工串行通信口, 片内振荡器及时钟电路。同时,at89c52可降至0hz的静态逻辑操作,并支持两种软件 可选的节电上作模式。空闲方式停止cpu的工作,但允许ram,定时/计数器.串行 通信口及中断系统

16、继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止 其它所有部件工作直到下一个硬件复位。4)功能引脚说明:vcc:电源电压gnd:地p0: p0 口是一组8位漏极开路型双向i/o 口,也即地址/数据总线复用口。作为输 出口用时.每位能吸收屯流的方式驱动8个ttl逻辑门电路,对端口 p0写“1”时, 可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数 据总线复用,在访问期间激活内部上拉电阻。在flash由编程时,p0 口接收指令字节,而在程序校验时,输出指令字节,校 验时,要求外接上拉电阻。p1 口: pi是一个带内部上拉电阻的8位双向i/o

17、口,p1的输出缓冲级可驱动(吸 收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉 到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外 部信号拉低时会输出一个电流iilo与at89c51不同之处是,p1.0和p1还可分别作为定时/计数器2的外部计数输 入(p1.0/t2 )和输入(p1.1/t2ex) oflash编程和程序校验期间,p1接收低8位地址。p2是一个带有内部上拉电阻的8位双向i/o 口,p2的输出缓冲级可驱动(吸收或 输出电流)4个ttl逻辑电路。对端口 p2写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入

18、口使用时,因为内部存在上拉电阻,某个引脚被 外部信号拉低时会输出一个电流(lit)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行movxdptr 指令)时,p2送出高8位地址数据。在访问8位地址的外部数据存储器、如执行 movxr1指令)时,p2 口输出p2锁存器的内容。flash编程或校验时,p2亦接收高位地址和一些控制信号。p3 口: p3 口是一组带有内部上拉电阻的8位双向i/o 口。p3 口输出缓冲级可驱动 (吸收或输出电流)4个ttl逻辑门电路。对p3 口写入“1”时,它们被内部上拉电阻 拉高并可作为输入端口。此时,被外部拉低的p3 口将用上拉电阻输出电流(iil).p

19、3 口除了作为一般的i/o 口线外,更重要的用途是它的第二功能,如下表所示:端口引脚第二功能p3.0 rxd (串行输入口p3.1 txd (串行输出口)p3.2 into (外中断 0)p3.3 into (外中断 1)p3.4 to (定时/计数器0)p3.5 t1 (定时/计数器1)p3.6 wr (外部数据存储器写选通)p3.7 rd (外部数据存储器读选通)此外,p3 口还接收一些用于flash闪速存储器编程和程序校验的控制信号。rst:复位输入。当振荡器工作吋,rst引脚出现两个机器周期以上高电平将使 单片机复位。ale/prog:当访问外部程序存储器或数据存储器时,ale(地址锁

20、存允许)输岀脉 冲用于锁存地址的低8位字节.一般情况下,ale仍以吋钟振荡频率的1/6输岀固定 的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数 据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(prog)o如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位.可禁 止ale操作。该位置位后,只有一条movx和movc指令才能将ale激活,此外, 该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。psen:程序储存允许psen输出是外部程序存储器的读选通信号,当at89c52由 外部程序存储器取指令

21、(或数据)时,每个机器周期两次psen有效,即输出两个脉 冲。在此期间,当访问外部数据存储器,将跳过两次psen信号。ea/vpp:外部访问允许。欲使cpu仅访问外部程序存储器(地址为0000h- ffffh ), ea端必须保持低电平(接地).需注怠的是:如果加密位lbi被编程,复位 时内部会锁存ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这必须是该器 件是使用12v编程电压vpp。xtal1:振荡器反相放大器的及内部时钟发生器的输入端.xtal1:振荡器反相放大器的输出端。特殊功能寄存器

22、:在at89c52片内存储器屮,80h-ffh共128个单元为特殊功能寄存器(sfe), sfr的地址空间映象如表2所示。并非所有的地址都被定义,从80h-ffh共128个字 节只有一部分被定义,述有相当一部分没有定义。对没有定义的单元读写将是无效 的,读出的数位将不确定,而写入的数据也将丢失。不应将数据t”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功 能,在这种情况下,复位后这些单元数值总是“0”。at89c52除了与at89c51所有的定时/计数器0和定时/计数器1夕卜,还增加了一 个定吋/计数器2 o第三章硬件设计3. 1 温度传感器3.1.1温度传感器选用细则现代传感器在

23、原理与结构上千差万别,如何根据具体的测量口的、测量对彖以及 测量环境合理地选用传感器,是在进行某个量的测量吋首先要解决的题。当传感器确 定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很 大程度上取决于传感器的选用是否合理。 根测量对象与测量环境确定传感器的类型要进行一个具体的测量工作,首先要考虑采用何种原理的传感器,这需要分析多 方面的因素之后才能确定。因为,即使是测量同一物理量,也有多种原理的传感器可 供选用,哪一种原理的传感器更为合适,则需要根据被测量的特点和传感器的使用条 件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为 接触式述是非接

24、触式;信号的引出方法,有线或是非接触测量;传感器的来源,国产 还是进口,价格能否承受,还是自行研制。 灵敏度的选择通常,在传感器的线性范围内,希望传感器的灵敏度越高越好。因为只有灵敏度 高时,与被测量变化对应的输出信号的值才比较大,有利于信号处理。但要注意的 是,传感器的灵敏度高,与被测量无关的外界噪声也容易混入,也会被放大系统放 大,影响测量精度。因此,要求传感器本身应具有较高的信噪比,尽员减少从外界引 入的串扰信号 频率响应特性传感器的频率响应特性决定了被测量的频率范围,必须在允许频率范围内保持不 失真的测量条件,实际上传感器的响应总有一定延迟,希望延迟时间越短越好。传感器的频率响应高,可

25、测的信号频率范围就宽,而由于受到结构特性的影响,机械 系统的惯性较大,因有频率低的传感器可测信号的频率较低。 线性范围传感器的线形范围是指输出与输入成正比的范围。以理论上讲,在此范围内,灵 敏度保持定值。传感器的线性范围越宽,则其量程越大,并且能保证一定的测量精 度。在选择传感器时,当传感器的种类确定以后首先要看其量程是否满足要求。但实 际上,任何传感器都不能保证绝对的线性,其线性度也是相对的。当所要求测量精度 比较低时,在一定的范围内,可将非线性课差较小的传感器近似看作线性的,这会给 测量带来极大的方便。 稳定性传感器使用一段时间后,其性能保持不变化的能力称为稳定性。影响传感器长期 稳定性的

26、因素除传感器木身结构外,主要是传感器的使用环境。因此,要使传感器具 有良好的稳定性,传感器必须要有较强的环境适应能力。在选择传感器之前,应对其 使用环境进行调查,并根据具体的使用环境选择合适的传感器,或采取适当的措施, 减小环境的影响。 精度精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个 重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测 量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传 感器中选择比较便宜和简单的传感器。如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值 精度高的;如果是为了定量分析

27、,必须获得精确的测量值,就需选用精度等级能满足 要求的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传 感器。h制传感器的性能应满足使用要求。3. 1.2温度传感器ds18b20ds18b20型单线智能温度传感器,屈于新一代适配微处理器的智能温度传感器。全 部传感元件及转换电路集成在形如一只三极管的集成电路内。与传统的热敏电阻相比,它能够直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数 字值读数方式。其可以分别93. 75nis和750ms内完成9位和12位的数字量,最大分辨率 为0. 0625°c ,而且从ds18b20读出或写入ds18b20

28、的信息仅需要一根口线(单线接口) 读写。3. 1.2. 1 ds18b20的性能特性单线数字化狛能集成温度的传感器,其特点是: dsi8b20t1j将被测温度直接转换成计算机能识别的数字信号输出,温度值不需 要经电桥电路先获取电压模拟量,再经信号放大和a/d转换成数字信号,解决了传统 温度传感器存在的因参数不一致性,在更换传感器时会因放大器零漂而必须对屯路进 行重新调试的问题,使用方便。 ds18b20能提供9到12位温度读数,精度高,且其信息传输只需1根信号线,与 计算机接口十分简便,读写及温度变换的功率来白于数据线而不需额外的屯源。 每一个ds18b20都有一个惟一的序列号,这就允许多个d

29、s18b20连接到同一总线 上.尤其适合于多点温度检测系统。 负压特性:当电源极性接反时,ds18b20虽然不能正常工作,但不会因发热而 烧毁正是由于具有以上特点,ds18b20在解决各种误差、可靠性和实现系统优化等方 面与传统各种温度传感器相比,有无可比拟的优越性,因而广泛应用于过程控制、环 境控制、建筑物、机器设备中的温度检测。其外形和管脚如下图:ds18b20外部形状及管脚usimb2o封装底視體nci1n""1 ncncl2736fcdoi "45“ ognddsi8b2oz k脚soic均技3. 1.2.2 ds18b20与单片机的典型接口设计ds18b

30、20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。 dsl8b20与单片机的硬件连接有两种方法:一是vcc接外部电源,gnd接地,i/o与单片 机的i/o线相连;二是用寄生电源供电,此时,udd和gnd接地,i/o接单片机i/o。 无论是哪种供电方式,i/o口线都要接4. 7k q左右的上拉电阻。图4给出了ds18b20与 微处理器的典型连接。 ds18b20寄生屯源供电方式:如下面图3.2(a)所示,在寄生电源供电方式下,ds18b20从单线信号线上汲取能 量:在信号线dq处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间 消耗电容上的电能工作,直到高电平到来再

31、给寄生电源(电容)充电。独特的寄牛电源方式有三个好处:进行远距离测温时,无需本地电源可以在没有常规电源的条件下读取rom电路更加简洁,仅用一根i/o口实现测温要想使ds18b20进行精确的温度转换,1/0线必须保证在温度转换期间提供足够的 能量,由于每个ds18b20在温度转换期间工作电流达到lnia,当几个温度传感器挂在同 一根i/o线上进行多点测温吋,只靠4.7k上拉电阻就无法提供足够的能量,会造成无法 转换温度或温度误差极大。因此,该电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系 统中。并口工作电源vcc必须保证在5v,当屯源电压下降吋,寄生屯源能够汲取的能量 也降低,会

32、使温度误差变大。 ds18b20寄生电源强上拉供电方式:改进的寄生电源供电方式如下面图3.2(b)所示,为了使ds18b20在动态转换 周期中获得足够的电流供应,当进行温度转换或拷贝到e2存储器操作时,用mosfet 把1/0线直接拉到vcc就可提供足够的电流,在发岀任何涉及到拷贝到e2存储器或启 动温度转换的指令后,必须在最多10us内把t/0线转换到强上拉状态。在强上拉方 式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用 一根1/0 口线进行强上拉切换。 ds18b20的外部电源供电方式:如下面图3.2(c)所示,在外部电源供电方式下,ds18b20工作电源由vd

33、d引脚接 入,其vdd端用35. 5v电源供电,此时i/o线不需要强上拉,不存在电源电流不足的 问题,可以保证转换精度,同时在总线上理论可以挂接任意多个ds18b20传感器,组成 多点测温系统。注意:在外部供电的方式下,ds18b20的gnd引脚不能悬空,否则不能 转换温度,读取的温度总是85°covcc(c) ds18b20外部电源供电方式(a) ds18b20寄生电源供电方式vcc(b) ds18b20温度转换期间的强上拉供电(寄生电源方式图3. 2ds18b20与微处理器的典型连接3. 1.2. 3 ds18b20的内部结构:图3.3为ds18b20的内部框图,它主要包括寄生电

34、源、温度传感器、64位激光 rom单线接口、存放中间数据的高速暂存器(内含便笺式ram),用于存储用户设定的温 度上下限值的th和tl触发器存储与控制逻辑、8位循环冗余校验码(crc)发生器等七 部分。64位光刻rom的排列是:开始8位是产品类型标号,接着的48位是该ds18b20自 身的序列号,最后8位是前面56位的循环冗余校验码。光刻rom的作用是使每一个 ds18b20都各不相同,这可实现一根总线上挂接多个ds18b20的目的。暂存存储器包含 了8个连续字节,前2个字节是测得的温度信息,第1个字节的内容是温度的低8位,第2 个字节是温度的高8位。第3个和第4个字节是th、tl的易失性拷贝

35、,第5个字节是结构 寄存器的易失性拷贝,这3个字节的内容在每一次上电复位时被刷新。第6、7、8个字 节用于内部计算。第9个字节是冗余检验字节。磁灵鬭牛64位和接口电源检测低潮蝮器tl配置寄存器高泓蝮器ih存储蘇控第幡图3.3 ds18b20的内部结构3. 1.2.4 ds18b20 测温原理:ds1820测温原理如下图所示。图中低温度系数品振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。图3.4 ds18b20测温原理高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为计数器2的脉 冲输入。计数器1和温度寄存器被预置在-55°c所对应的一个基数值。计数器1

36、对低温度 系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0吋,温度寄存器的 值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉 冲信号进行计数,如此循环直到计数器2计数到0时,ds1 8b20测量温度原理停止温度 寄存器值的累加,此时温度寄存器屮的数值即为所测温度。在正常测温情况下,ds18b20的测温分辨力为0.5°c,可采用下述方法获得高分 辨率的温度测量结果:首先用ds18b20提供的读暂存器指令(beh)读出以0. 5°c为分辨 率的温度测量结果,然后切去测量结果屮的最低有效位(lsb),得到所测实际温度的整 数部分tz,然后

37、再用beh指令取计数器1的计数剩余值cs和每度计数值cd。考虑到 ds18b20测量温度的整数部分以0.25°c、0. 75°c为进位界限的关系,实际温度ts可用 下式计算:ts=(tz-0. 25°c) +(cd-cs)/cd3. 1.2. 5 ds18b20 告警信号ds18b20完成温度转换后,就把测得的温度值与th、tl作比较。若tth或 t<tl,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因 此,可用多只ds18b20同时测量温度并进行告警搜索。一旦某测温点越限,主机利用 告警搜索命令即可识别正在告警的器件,并读出其序号,而不

38、必考虑非告警器件。3. 1.2. 6 crc的产生在64位rom的最高有效字节中存有循环冗余校验码(crc) o主机根据rom的前56 位来计算crc值,并和存入ds18b20中的crc值作比较,以判断主机收到的rom数据 是否正确。crc的函数表达式为:crc=x8+x5+x4+1o此外,ds18b20尚需依上式 为暂存器中的数据来产生一个8位crc送给主机,以确保暂存器数据传送无误。在本课题屮采用四个数字式温度传感器ds18b20与单片机89c52连接如下图u5-20.0vcc dq gndds18b20u?18.0vccdqgndds18b20cm o3.5ds18b20多点温度测量连接

39、电路3. 1.2.7 ds1820使用中注意事项ds18b20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下儿方面的问题: 较小的硕件开销需要相对复杂的软件进行补偿,由于ds18b20与微处理器间采 用串行数据传送,因此,在对ds18b20进行读写编程时,必须严格的保证读写时序, 否则将无法读取测温结果。 在ds18b20的有关资料中均未提及单总线上所挂ds18b20数量问题,容易使人 误认为可以挂任意多个ds18b20,在实际应用中并非如此。当单总线上所挂ds18b20超 过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时 要

40、加以注意。 连接ds18b20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输 长度超过50m吋,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆 时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常 通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。 因此,在用ds18b20进行长距离测温系统设计吋要充分考虑总线分布电容和阻抗匹配 问题。 在ds18b20测温程序设计中,向ds18b20发岀温度转换命令后,程序总要等 待ds18b20的返回信号,一旦某个ds18b20接触不好或断线,当程序读该ds18b20 吋,将没有返回信

41、号,程序进入死循环。这一点在进行ds18b20硬件连接和软件设计 时也要给予一定的重视。3. 2单片机系统设计在当今新科学技术飞速发展的年代里,单片机的应用已越来越受到人们的重 视,它被广泛的应用于家屯、医疗、智能仪表、工业自动化等各个领域。单片机全称 单片微型计算机,是将计算机的基本部分微型化,使之集成在一块芯片上的微机。目 前市场上较为流行的单片机有intel公司和philip公司的8051系列单片 机.motorola公司的m 6800系列单片机。intel公司的mcs96系列单片机以及 microchip公司的pic系列单片机。片内含有cpu、rom、ram、并行1/0 口、串行1/0

42、 口、定时/计数器、a/d、d/a、中断控制、系统时钟及系统总线等。本课题是利用intel的89c51控制整个系统。89c51单片机包含下列几个部件:1个8位cpu、1个片 内震荡器及时钟电路、4kb rom程序存储器、128b ram数据存储器、可寻址64kb外部 数据存储器和64kb外部程序存储器的控制电路、32条可编程的i/o线、2个16位的 定时/计数器、1个可编程全双工串行接口、5个中断源、2个优先级嵌套中断结构。 本课题运用at公司的8052进行系统控制,运用到了复位电路,吋钟电路,串口,1/0 口。3.2.1复位电路无论哪种单片机,都会涉及到复位电路。如果复位电路不可靠,在工作中

43、就有可 能出现“死机”,“程序走飞”等现象。所以,一个单片机复位屯路的好坏,直接影 响到整个系统工作的可靠性。复位操作完成单片机片内电路的初始化,使单片机从一 种确定的状态开始运行。当89c52单片机的复位引脚rst出现5ms以上的高电平时,单片 机就完成了复位操作,如果rst持续为高电平,单片机就处于循环复位状态,而无法执 行程序,因此要求单片机复位后能脱离复位状态。复位操作通常有上电和开关复位。 上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下, 在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。常用的上电复位 且开关复位电路如图3. 6所示,上电后,由于

44、电容充电,使rst持续一段高电平时间。 当单片机已在运行之中时,按下复位键也能使rst持续一段时间的高电平,从而实现上 电且开关复位的操作。单片机的复位操作使单片机进入初始化过程,其中包括是程序 计数器pc二000011, p0-p3二ffii, sp二0711,其他寄存器处于零,程序从000011地址单元开 始执行,单片机复位后不改变片内ram区中的内容。hi22 u29303?r14k00000000丄2345678rstp0.7/ad7p2.0/a8p2.1/a9p2.2/a10psenp2.3/a11alep2.4/a12eap2.5/a13p2.6/a14p2.7/a15p1.0p3

45、.0/rxdp1.1p3.1/txdp1.2p3.2/int0p1.3p3.3/int1p1.4p3.4/t0p1.5p3.5/t1p1.6p3.6/wrp1.7p3.7/rd242223242526272340x伍43441617at89c51 复位电路3. 2. 2时钟电路89c52单片机的时钟信号通常用内部振荡和外部振荡方式。在引脚xtal1和xtax2外 接晶体振荡器,就够成了内部振荡方式。由于单片机内部有一个高增益反相放大器, 当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振通常选用6mhz. 12mhz 或24mhz。内部振荡器方式如下。如图3.7,电容器cl、c2起稳定振

46、荡频率、快速起振 的作用,电容值一般为5-30pf。内部振荡方式所得的时钟信号比较稳定。外部振荡方 式是把已有的时钟信号引入单片机内,这种方式适于用于用来使单片机的时钟与外部 信号保持一致。c1hi?7pu1>xtal1x1 c2 - 一 _1(-:?7p :crystalxtau2rstp0.0/ad0p0.1/ad1p0.2/ad2p0.3zad3p0.4/ad4p0.5/ad5p0.6/ad6p0.7zad7p2.0/a8p2.1/aq393837363534333.2.3 i/o口计算机对外设进行数据操作时,外设的数据是不能直接连到cpu的数据线上的,必 须经过接口。这是由于cp

47、u的数据线是外设或存储器和cpu进行数据传输的唯一公共通 道,为了使数据线的使用对象不产生使用总线的冲突,以及协调快速的cpu和慢速的外 设,cpu和外设z间必须有接口电路,接口起着缓冲、锁存数据、地址译码、信息格式 转换、传递状态、发布命令等功能,i/o接口有并行接口、串行接口、定时/计数器、 a/d、d/a等,根据外设的不同情况的应用要求,选择不同的接口。单片机的1/0 口一 般是双向的.既可以做输入.也可以做输出。以5 1系列为例,其p0、p 1、p2、p3 均为双向口,11可位操作。89c52单片机内部有p0、pl、p2、p3四个8位双向i/o口,外设可直接连接于这儿个 接口上,而无须

48、另加接口芯片。p0-p3的每个端口可以按字节输入或输出,也可以按位 进行输入或输出,共32根口线,用作控制十分方便。p0口为三态双向口,能带8个ttl 电路。pl、p2、p3口为准双向口,负载能力为4个ttl电路,如果外设需要的驱动电流 大,可加接驱动器。p0口具有双重功能:可以作为输入/输出用,外接输入/输出设备;在有外接存储 器和i/o接口时常作为低8位地址/数据总线,即低8位地址与数据线分时使用p0口。此 时低8位地址由ale信号的下跳沿使它锁存到外部地址锁存器中,尔后,p0口出现数据 信息。p1 口具有单一接口功能,p1 口每一位都能作为可编程的输入或输出口线。p2口具有双重功能:作为

49、输入口或输出口使用,外接输入/输出设备;在有外接存 储器i/o接口时,作为系统的地址总线。输出高位地址,与p0口低8位地址一起组成16 位地址总线。p3 口为双重功能口:可以作为输入/输出口,外接输入/输出设备;作为第二功能 使用3. 3显示电路设计1oonf3. 8显示电路设计k0-k7分别与单片机p0. 0-p0. 7相连,p32-p35分别与单片机的p3. 2-p3. 5相连 图 中所用led是共阳极数码管,所以在显示中要给p32-p35高电平,相应的段选信号低 电平有效。表3.1共阳极数码管编码表字符编码字符编码0oxco80x8010xf990x9020xa4a0x883oxbob0

50、x8340x99c0xc650x92doxal60x82e0x8670xf8f0x8e3. 4矩阵键盘电路设计3.4.1键盘的分类键盘分编码键盘和非编码键盘。键盘上合键的识别由专用的三名件编码器实现, 并产生编码号或键值的称为编码键盘,如计算机键盘而靠软件编程来识别的称为非编码键盘 在单征机组成的各种系弘中,用的最多的 是非编码键盘。也有用到编码键盘的行列式键盘识别按按键的常用方法有两种行扫描法和线反转法3. 4. 1. 1行扫描法行扫描法的基本思想是用软件程序把一个步进的0送至行线(让pl. 3-p1.0依次 输出1110b. 1101b. 1011b.0111b)扫描键盘各行,每一次步进都

51、检测一下列线上的状态 p1.7-p1.4)如果列线上有0则停止步进然后把步进的0和列输入结合起来形成一个能 反晨风按键所在行,列的键特征什查rom键特片值表确定按键键代号3. 4. 2. 2线反转法所谓线反转法就是把原来作为输出的线变为输入,作为输入的线反过来变为输 出。这样,键识别程序被简化了,不再需要逐行扫描时间了。利用51系列单片机p1 口的“准双向特性”可方便地实现线反转。3. 5报警电路设计为了实现多点温度检测报警系统,本课题采用at89c51单片机作为主控制器,采用 扫描的方式对多点ds18b20温度传感器获取对应该位置的温度值,经处理后通过串口可 以立即发送到上位机,如温度不在设

52、定的范围内,给出报警信号。系统总体硬件电路 如图3. 9所示。第四章软件开发4. 1软件开发工具简介keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系 统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而 易学易用。用过汇编语言后再使用c来开发,体会更加深刻。keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界 面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成 的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型 软件时更能体现高级语言的优势

53、4.2软件实现系统软件设计主要包括系统程序和流程图,根据整个系统的要求,完成温度的测 量与控制必须经过以下几个步骤:单片机接受传感器的温度信号,并通过max7219驱 动显示出来,单片机扫描键盘,接受控制信号,并将温度显示出来,若温度不在范围 内则发出报警。4. 3软件流程图软件流程图4.14.4 ds18b20操作流程每一片单总线芯片内部都有一个全球惟一的64位编码,在多路测温吋就是通过匹 配每个芯片的rom编码(id),来搜寻该路的温度。ds18b20有9个可擦写的内部寄存器, 称为便笺式ram。所有的串行通讯,读写每一个bit位数据都必须严格遵守器件的时序 逻辑来编程,同时述必须遵守总线

54、命令序列,对单总线的ds18b20芯片来说,访问每个 器件都要遵守下列命令序列:首先是初始化;其次执行rom命令;最后就是执行功能命令(rom命令和功能命令 后面以表格形式给出)。如果出现序列混乱,则单总线器件不会响应主机。当然,搜索rom命令和报警搜 索命令,在执行两者中任何一条命令之后,要返冋初始化。基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复 位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机设备,且准 备就绪。每次访问任何单总线器件,必须严格遵守这个命令序列;如果出现序列混乱,则单 总线器件不会响应主机。但是这个准则对丁搜索rom命令和报警搜索命

55、令例外,在执行 两者中任何一条命令之后,主机不能执行其后的功能命令,必须返冋至第一步。在主 机发出rom命令,以访问某个指定的ds18b20,接着就可以发出ds18 b20支持的某个功 能命令。这些命令允许主机写人或读出ds18 b20暂存器,启动温度转换以及判断从机 的供屯方式。4. 4.1软件实现前面提及单总线器件的rom命令,在主机检测到应答脉冲后,就可以发出rom命 令。这些命令与各个从机设备的唯-64位rom代码相关。允许主机在单总线上连接多个 从机设备时,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少 个从机设备,以及其设备类型或者有没有设备处于报警状态。从机设备可能支持5种 rom命令(实际情况与具体型号有关),每种命令长度为8位。主机在发出功能命令z 前,必须发送合适的rom命令。 搜索romeoh当系统初始上电时,主机必须找出总线上所有从机设备的rom代码,这样主机就能 够判断出从机的数目和类型。主机通过重复执行搜索rom循环(搜索rom命令跟随着位数 据交换)以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读rom命令来替代搜索rom命令。在毎次执行完搜索rom循环后,主机必须返回至命令序列 的第一步(初始化)。 读r0m33h(仅适合于单节点)该命令仅适用于总线上只有一个从机设备。它允许

温馨提示

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

评论

0/150

提交评论