《多地温度采集器毕业论文》_第1页
《多地温度采集器毕业论文》_第2页
《多地温度采集器毕业论文》_第3页
《多地温度采集器毕业论文》_第4页
《多地温度采集器毕业论文》_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、扬 州 市 职 业 大 学毕 业 设 计(论 文)设计(论文)题目: 多地温度采集器 系 别:电子工程学院专 业:应用电子技术班 级:电子121姓 名:范甜甜学 号:120601105指导教师:刘丹完成时间:2015/4/19 毕业设计(论文)摘要多地温度采集器摘要:本次设计是将AT89C52单片机为基础,连接4路DS18B20温度传感器作为温度检测的自控采集测量系统。52单片机在本系统中作为温度输入、温度控制及数据处理的输入器件,DS18B20的作用是温度数据的采集,用LED数码管来作温度显示输出器件。通过DS18B20直接来读取地点温度值,然后利用C52进行数据转换,系统可设置最高、最低温

2、度。如果一旦选定的环境温度超过报警温度后,系统将通过蜂鸣器自动发出报警。关键词: 单片机 传感器 温度 报警目录 TOC o 1-3 h z u HYPERLINK l _Toc419490135 1 绪论 PAGEREF _Toc419490135 h 1 HYPERLINK l _Toc419490136 1.1选题背景 PAGEREF _Toc419490136 h 1 HYPERLINK l _Toc419490137 1.2 本设计的任务及主要内容 PAGEREF _Toc419490137 h 1 HYPERLINK l _Toc419490138 2 系统总体设计 PAGEREF

3、 _Toc419490138 h 2 HYPERLINK l _Toc419490139 2.1 系统概述 PAGEREF _Toc419490139 h 2 HYPERLINK l _Toc419490140 2.2系统工作原理分析 PAGEREF _Toc419490140 h 2 HYPERLINK l _Toc419490141 3 系统的硬件设计 PAGEREF _Toc419490141 h 3 HYPERLINK l _Toc419490142 3.1 温度采集器的开发过程 PAGEREF _Toc419490142 h 3 HYPERLINK l _Toc419490143 3

4、.2 单片机的最小系统设计 PAGEREF _Toc419490143 h 3 HYPERLINK l _Toc419490144 3.3 温度采集接口电路设计 PAGEREF _Toc419490144 h 7 HYPERLINK l _Toc419490145 3.4 显示器与键盘电路的设计 PAGEREF _Toc419490145 h 11 HYPERLINK l _Toc419490146 显示电路设计 PAGEREF _Toc419490146 h 11 HYPERLINK l _Toc419490147 3.5 报警电路设计 PAGEREF _Toc419490147 h 13

5、HYPERLINK l _Toc419490148 4 多路温度采集系统的软件设计 PAGEREF _Toc419490148 h 15 HYPERLINK l _Toc419490149 4.1 主程序流程设计 PAGEREF _Toc419490149 h 15 HYPERLINK l _Toc419490150 4.2程序设计及巡检子程序设计 PAGEREF _Toc419490150 h 16 HYPERLINK l _Toc419490151 4.3 巡检键盘及数码管多通道显示 PAGEREF _Toc419490151 h 19 HYPERLINK l _Toc419490152

6、4.4 温度报警程序设计 PAGEREF _Toc419490152 h 21 HYPERLINK l _Toc419490153 结论 PAGEREF _Toc419490153 h 22 HYPERLINK l _Toc419490154 致 谢 PAGEREF _Toc419490154 h 23 HYPERLINK l _Toc419490155 参考文献 PAGEREF _Toc419490155 h 24 HYPERLINK l _Toc419490156 附录元件清单图及程序 PAGEREF _Toc419490156 h 241 绪论众所周知,温度与我们的生产工作密切相关,人体

7、的舒适度或生病需用温度来感知,工厂生产机械组件一旦过热将会被烧毁,日常的电子设备发生不平常温高,冬夏日空调的室内适宜温度等,这些温度如若不通过测量与检测来预知,其故障的后果性则将劳命伤财。所以我们离不开温度,更离不开温度的测量与控制。21世纪是科学技术与电子科研发展的时代,计算机的使用领域已经深入到各行各业,在这种形势下,要想适应当今社会的需求,那么就必须设计出一种基于PC微机技术的新式电子仪器。1.1选题背景一般的温度采集方式弊端比较大,因为本身是人工的操作所以无法避免的就是会或多或少的产生误差,如此一来那么测量的精度自然也比较低,针对这一现象远远不能满足各行各业对温度数据高精度、高可靠性要

8、求。所以以单片机为基础,连接高精度的温度传感器可以使环境温度的采集高效且理想零误差,并且单片机快速方便,成本低廉,抗干扰性好,即使在恶劣的环境下也不妨碍它数据采集的高精度。伴随着集成电路技术的快速成长和越来越大的规模化的发展,基于单片机设计的多路温度采集器,将可以进行温度检测、采集、显示及报警功能,其对于提高生产效率、节约资源、能源等都有非常重要的作用。1.2 本设计的任务及主要内容多地温度采集器的设计有以下三点要求:(1)如何以模拟电信号的方式来表达测量的温度信号;(2)单片机的电路板设计;(3)编写单片机的运行程序。我们一般用的温度采集器大多是集成型的温度传感器,集成型传感器实质是一种半导

9、体集成电路,它的精度相比于其他的同类器件高的多,但是由于集成型传感器的传输方式是:单总线传输。那么如果对于距离相对比较远的多路温度的检测,这样的检测方式导致了一个问题就是在程序的控制方面难度将上升许多,就就是集成型传感器的一个弊端。此次课题中用到的是新型温度传感器。它相比于传统的温度采集器优点就很突出了,不仅测量时的精度提升许多而且在体积上也有所减小,使用更加方便。新型温度传感器使用一线总线的方式实现电压宽。2 系统总体设计2.1 系统概述根据性能指标的设计要求,本系统不仅要满足于高精度的温度采集的基本功能,而且因为测量的路数为4路甚至多路,还存在不必要的多路信号的循环显示问题,还要考虑到温度

10、超出已设定温值则报警输出的功能,同时本次设计还具有显示当前各地点的测量温度数的功能以及键盘上选择显示路数的功能。2.2系统工作原理分析本次系统的总体设计框图如下图2.1所示。AT89S52报警时钟电路键盘电路4位LED显示DS18B20 1DS18B20 2DS18B20 3DS18B20 4 图2.1 总体设计框图3 系统的硬件设计一个多路温度采集器的工作大致要能完成4个功能。一:采集温度信息;二:信号的转换;三:把信息清晰的显示;四:出现意外可以报警。硬件部分需要完成5个步骤,一:根据实际需求选择合适的单片机型号;二:合理的选择显示电路;三:充分利用存储器;四:报警电路的实现。 3.1 温

11、度采集器的开发过程本次设计选用4只DS18B20测量不同地点温度,温度测试系统的组成是由单片机来实现(AT89C52),本个课题因为要实现同时检测4路的温度变化,所以用了4个DS18B20来确保可以完美的控制。由于现代化的工艺制作,每片DS18B20的硅串行数都是独一无二,这样的先天条件可以实现一条总线上能够并接多个DS18B20芯片而且可以完成正常工作。另外DS18B20在信息的读写方面也是非常方便只要有一根单线接口配合即可。当然读写时候的数据来源都是从总线上获取。总线是不需要外接电源的它的能量来源是从自身并接的DS18B20上获取能够维持正常工作的工作电压。DS18B20可以构成多点温度检

12、测的原因是它自身可以提供9位温度的度数。并且它有一个特点就是它不需要依赖任何的外围硬件就可以实现自身的功能 。多点的温度检测功能实现只要DS18B20的信号线跟52单片机的一位口线相互连接就可以了。通过查阅资料知道DS18B20的引脚分别是接红色线(VCC),另一根接地(GND),还剩下的一个管脚的作用相当于总线,这根线比较特可以跟未处理器的接口直接相连,这样工作效率大大提升。3.2 单片机的最小系统设计近几年来,单片机技术发展飞快,高档的16位、32位单片机相继推向市场。MCS-51系列单片机,由于功能强、系统结构合理、理论与技术完整、应用灵活等诸多特点,深受广大用户欢迎。AT89系列单片机

13、的主要特点:它里面有Flash存储器,内部结构与 8051相近,工作原理和指令系统完全相同。Atmel公司在 AT89C系列的基础上,增加了在线编程和看门狗功能,出现了AT89S系列单片机。典型产品有AT89S51、 AT89S52,本次设计的CPU使用了最新研发的8位单片机AT89S52。功能与特性描述:运用可编程的存储器Flash,该存储器的内存是8K。使用的技术采用了高密度非易失性的存储器技术,在此技术上生产的产品80S52,该产品的性价比很高,各个引脚的操作跟单片机下达的指令可以很好的配合。AT89C52可以在众多嵌入式系统中可以有很高的灵活性主要是依赖了在内部芯片上有8位CPU以及在

14、线系统Flash。其引脚如下图3.1所示。AT89S52具有以下几点标准功能:闪存存储器有8k字节,内部数据存储器RAM共256字节,人为的指令可以对它进行读写,外部可扩展64KB;有4个8位的并行I/O口线,独特的看门狗电路,即当单片机发生死机时,能使计算机复位,重新从程序存储器0000H开始执行。有2个数据指针;它有2个16位就是32口线的定时器/计数器,工作状态有定时和计数两种。它能实现两级中断嵌套,因为有5个中断源;它可同时发送和接收数据是因为内部有一个全双工异步串行口;另外有片内晶振及时钟电路。下图3.1为AT89S52引脚图,有接5V正电源和地线两根,XTAL1、XTAL2石英晶体

15、振荡器反向输入输出端。使用内部振荡外接石英晶体;外部振荡脉冲输入XTAL2接外部时钟脉冲,XTAL1悬空不用。控制线4根,其中3根复用线。其相对应的引脚功能:Pin38-Pin32:(P0.0-P0.7)Pin1-Pin8:(P1.0-P1.7)Pin21-Pin28:(P2.0-P2.7)Pin10-Pin17:(P3.0-P3.7)。Pin9:RESET/高电平有效的同时作为复位信号输入端。Pin29:PSEN外部程序存储器ROM的读选通信号。Pin31:EA/VP内外ROM的选择端/编程电源。Pin39:芯片正电源脚,接+5V的电源。Pin19:时钟XTAL1脚,片内振荡电路反向输入端。

16、Pin18:时钟XTAL2脚,片内振荡电路反向输出端。图3.1 AT89S52引脚P1口:数码管的选通端口和数字键盘接口。因为在单片机工作时,需要时钟信号,而产生这种信号要靠时钟电路来完成。一般时钟电路分有内、外部时钟两种形式。本次设计采用的是内部时钟方式。时钟电路通常由石英晶体振荡器、电容和晶振控制芯片三部分组成。AT89C52单片机内部有一个高增益深度负反馈放大器,它有XTAL1 、XTAL2两个引脚,它们可以来构成自激振荡电路,其振荡频率取决于石英晶体的振荡频率。如下图3-2时钟电路所示,晶体振荡器的频率范围一般可取1.233MHz,晶振的起振频率一般有11.0592MHZ和12MHZ两

17、个,本次设计的AT89S52单片机采用的是12MHz。电容主要起频率微调和稳定作用,电容值可取530Pf。在我本次设计中对电容的值没有很大的要求,特别是电路中的外接电容。不过电容多多少少都会受到一些影响,因为它是和晶体振荡器频率息息相关的,还有就是振荡器的稳定性和起振的快速性都会受其影响。所以安装距离是非常主要的,因为我们要确保振荡器更加稳定且可靠地运行,所以,在晶振和电容应该尽可能的和安装单片机芯片靠近。时钟电路如下图3.2所示:图3.2 时钟电路此次设计要使系统正常工作的前提是必须让单片机复位,恢复初态才可以。系统中的微分电路是由2个元件组成,这两个元件分别是一个电容跟一个电阻构成从原理图

18、可以发现其实就是R3与C3。复位电路要正常复位之前要给电路先上电,并且复位电路中由于存在电容RST,通过这个电容的充放电特性可以为电路提供一段高电平。因为电容的充电是一个持续的时间,产生的是持续的高电平,如此一来只要有持续的高电平那么系统将拥有充足的时间来完成复位的操作,这样的复位实现方式的可靠性非常高。但是电容的充放电特性充电过程产生的是持续高电平,一旦电充满了到了放电状态,那么此刻电容产生的不再是持续高电平而是持续的低电平。如下图所示(3.3)采用的是手动按钮复位的方法,手动的给电容附加一个持续高电平,这种方法的操作,由于手动按钮附加持续高电平的过程需要一个过程,充分的利用一个特性来达到设

19、计要求图3.3 上电复位电路3.3 温度采集接口电路设计DS18B20是美国专门研究半导体的一家公司生产的智能化温度传感器。在本设计中我采用这种传感器的原因是因为它使用起来比较方便而且它可以实现多点采集温度,它的优点不仅如此,而且它功耗小,对于外界环境对它对的干扰它能有效抵抗。测温的范围-5575;其精度为0.5;A/D转换器变换时间为200ms。(1)DS18B20的引脚介绍TO92封装的DS18B20的引脚排列见下图3.4,其引脚功能描述可见表3.1。表3.1 DS18B20引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。漏极开路输出,常态高电平。3VDD外部+5v

20、。此引脚必须接地前提是工作于寄生电源时。图3.4 DS18B20的管脚排列(2)DS18B20的产品特点。图3.5 DS18B20内部结构图 图3.5所示为DS18B20内部框图。 DS18B20工作流程大致是首先对系统进行初始化,然后下达ROM的操作指令,接着执行存储器的操作指令,最后一步便是完成数据的传输。DS18B20的工作时序有3个,分别为一:复位时许;二:写时序;三:读时序,如下图3.6,3.7,3.8所示。DS18B20的数据传输方式是双向传输,而且是在一根总线上完成,但是从单片机的角度上,硬件方面并不支持单总线协议,那么最终的解决方法还是必须要依靠软件的模拟来完成DS18B20的

21、芯片内部的数据访问。 由于DS18B20的数据读写操作是在一根I/O线上完成,那么读时序只能有主机来完成 主。主机要完成读时序的操作,必须让数据从逻辑的高电平下拉到逻辑的低电平,而且在此期间逻辑低电平的持续时间要大于等于1s。如果DS18B20 的输出数据有效,那么此输出数据一定是在读时序的下降沿后,这段有效的时间为下降沿的后15s。在操作总为了完整的读出从读时序开始算起15s的状态,这时候主机不再给输入/输出端口给予低电平。待得数据读完,输入/输出端的复位:从低电平恢复到高电平,这一电平转化的实现需要依靠电路中上拉电阻。在时序的时间限制上,所有的读时序它的持续的最短时间为60s,并且在每个子

22、的读时序之间的恢复时间至少11s。DS18B20的复位时序:数据和命令的传输都是低位在先。图3.6 DS18B20的复位时序DS18B20读时序,对DS18B20的读时序可分读0时序和读1时序两个过程。图3.7 DS18B20的读时序DS18B20写时序,对于DS18B20写时序仍分写0时序和写1时序两个过程。图3.8 DS18B20的写时序对DS18B20写0时序和写1时序要求不同。当要写0时序时,数据线必须被拉至逻辑低电平且至少60s,保证DS18B20能在15s到45s之间能正确采样I/O总线上的“0”电平,当写1时序时,数据线必须被拉至逻辑低电平后,然后就被释放,使数据线在写时序开始之

23、后的15s之内拉至高电平。图3.9 DS18B20测温原理框图其测量电路框图如图3.9所示。DS18B20的测温原理:图中低温振荡频率受温度的影响比较小,它用于产生固定频率的脉冲信号送给计数器1。但是高温度系数振荡器它是随温度变化,然后它的振荡率也随着明显改变,它产生的脉冲输入信号发送给计数器2。但是当温度达到某一已设置好的高温时,高温振荡器的脉冲信号就无法通过门电路了。计数器1和温度寄存器被预置在-55度时值。计数器1对温度系数晶振产生的脉冲信号进行减法计数,当计数器到达0之前,门电路还没关闭,温度寄存器的值将随之增加,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信

24、号进行计数,依次循环到计数器之计数直到回零。此时温度寄存器的数值就是所测量的地点温度值。图中的斜率累加器用于补偿和修正测温过程中的非线性,它的输出用于修正计数器1的预置值。系统对DS18B20各种操作都必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。DS18B20与单片机的接口设计在我的这次设计中采用的是数码管来显示温度值的而且这个数码管是四位共阳极类型的。4路温度的检测可以由4个DS18B20来完成。单片机的总线的连接是使用了52单片机的接口P3.6。52单片机跟电脑更加顺畅的进行串口的通讯的原因是52单片机存在全双工串行通信口。系统中

25、我设置了监测温度范围,当周围环境温度比所设置的温度高或者低时,报警器就会工作。该控制的系统功能如下: (1)温度的监控范围必须要小于100摄氏度而且不得小于0摄氏度,最小分辨率最好是0.5摄氏度;(2)精确显示我们所测到温度值,可以就显示一次也可以循环多次显示温度值;(3)命令按键5个:通道0通道3按键,XUNJIAN巡检键。3.4 显示器与键盘电路的设计在我的这次设计我使用的是8段发光二极管因为还要实际监控温度并在温度显示器上显示出温度。而在驱动方面的选择,我使用的是三极管驱动,因为它相对于其它驱动还是比较简单而且实用的,而这种驱动是共阴极驱动的。我的设计中使用的显示器是数码管显示器,这种显

26、示器的显示方式分为两种分别是静态和动态的。下面我就简单的介绍一下这两个显示方式,静态显示就是当显示一个温度值的时候,和它相对的二极管保持导通或者截止,一直保持这个状态到显示器上显示的温度值变成下一个温度值,这就是静态温度显示。静态显示器相对于动态显示器优点还是比较多的,其中就包括编程比较简单,而且管理起来也是比较容易的。不过有优点就有缺点,不仅成本有点高,需要的输入输出接口线比较多,线路也会比较复杂。另一种简单的来说就是使数码管受控显示,至于如何使用数码管受控显示,那就要通过一定方式来控制各个LED数码管的COM端,从而显示温度值,这就是动态驱动。在轮流显示过程中,我设定的数码管点亮时间要尽可

27、能短些,在本设计中我设置的范围是12ms,因为这是利用的人类的视觉效果来设定的,也就是我们所说的余辉效应,尽管实际上数码管没有同时亮起,不过它的扫描速度很快,然后我们眼中就会显示一个固定的温度值,这就是静态实际显示效果,不过动态与静态几乎是不一样的。不过动态显示能够大批量的节约输入输出端口,相对于静态显示有一个非常大的优点那就是功耗比较小。所以综上所述,结合动态与静态显示的有缺点,我选择了动态显示方式。如下图3.10为显示电路。这个电路由三部分组成,其中包括晶体管,电阻,显示器。这三个部分相辅相成,使显示电路稳定运作起来。图3.10 显示电路基于DS18B20的多点温度采集器,共模拟了4路的温

28、度,其具有各点温度采集功能,能通过系统设置监控某一通道的温度,而且设置了报警温度,具有越限报警功能。键盘电路如下图3.11所示。SW1SW4通道0通道3报警, XUNJIAN为巡检键,关闭进入巡检模式。图3.11 键盘电路3.5 报警电路设计当采集温度发生超出我们上下限所设定温度范围时,单片机系统可以相应发出报警提醒。此次设计采用了蜂鸣器作为报警器。要让报警器工作的话就要想办法让输入输出端口不具有高电平型号,不过想要达到这样的效果的话,就要通过单片机输入输出接口来设置一下三级管的饱和与截止。报警电路如下图3.12所示。图3.12 报警电路图3.13 综合功能设计图4 多路温度采集系统的软件设计

29、4.1 主程序流程设计图4.1 主程序框图在系统开始初始化后,检查键盘是否有键按下,后开始采集温度;当单片机将模拟信号转变为数字值送至显示器显示,检查是否一地或多地,单地直接过温度报警;多地则循环显示并过温报警。4.2程序设计及巡检子程序设计2PROM中建立了测量位置点与传感器64位ROM代码之间的关系表,所以作出对多个温度的巡回测量流程图。如下图4.2所示。DS18B20挂并且读出它的所在序列号。它工作步骤为:当主机发出一个脉冲后,等到0电平大于104s后, 将DS18B20复位, DS18B20的响应脉冲让主机接收后,主机再次读出ROM的命令代码33H,之后发出一个脉冲104s,并接着读取

30、DS18B20的一位序列号。在用同样方法来读取序列号的第56位。由于我的设计中使用的这种类型的温度传感器通信是分时段完成的,而且严格遵守时间概念的。所以,本设计中的所有系统对于温度传感器的操作都一定要严格按照协议来进行的。即初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。正常测温情况下,DS18B20测温分辨力是0.5。用下面的方法可获得高分辨率温度测量结果。先用DS18B20提供的读暂存器指令(BEH)读出用0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),在得到所测实际温度的整数部分后再去用BEH指令取计数器1的计数剩余值与每度计数值。因考

31、虑到DS18B20测量温度的整数部分以0.25和0.75为进位界限的关系。测量流程图说明:开始复位DS18B20发出搜索ROM的命令返回读在线DS18B20序列号所有在线DS18B20是否访问完?是否存在一个DS18B20?初始化DS18B20启动所有在线的DS18B20作温度A/D转换跳过ROM命令;转换命令延时104s初始化DS18B20执行期间匹配命令发一个DS18B20序列号发读暂存RAM命令读匹配的DS18B20温度YNYN图4.2巡检显示子程序流程图4.3 巡检键盘及数码管多通道显示选用四段高亮度发光LED器件。温度数据按照动态方式显示,将采集的数值通过标度转换由四位数码管显示。其

32、段选段接P1,存放位置为:各显示按键功能如下表4.1所示。系统经过了初始化,进入多条通道来显示数值,然后使用特定的程序来扫描键盘,最后判断按键有没有按下,再通过按键来知道温度的采集。将我们在显示器上读取的温度值和我们一开始设计的温度值相互比较一下,如果超过我们所设定的温度值或者低于我们所设置的温度值报警器就会自动报警。多通道显示流程图如下表4.3所示。开始单通道显示方式 扫描键盘 是SW1吗? 是否有键按下? 是SW2吗? 是SW3吗?显示0通道数据过温度报警及温度显示显示1通道数据 过温度报警及温度显示显示2通道数据 过温度报警及温度显示显示3通道数据 过温度报警及温度显示是XUNJIAN模

33、式吗?返回 YNY 是SW4吗?YYYNNNNNY图4.3 多通道数据显示4.4 温度报警程序设计因为DS18B20需要用初始化程序才可能使用;所以,首先要对DS18B20进行初始化并且要关闭正在执行的所有中断进行转换,DS18B20把转换到的温度读出后,放至累加器A中,在把之前设置好的温度报警的上限值转换成为DS18B20为输出值,然后再和报警上限的温度值进行比较,如果检测的温度没有超过限定的温度值,则单片机会继续进行下面检测。温度报警的程序流程如下图4.4所示。图4.4 温度报警的程序流程结论本次的温度采集器使用了4个DS18B20数字温度传感器,它与传统传感器不同。它采用一线总线方式传输

34、,所有元器件都可以挂接在总线上提供通讯连接,所以它可实现多地测温;器件从数据上受电,提供工作电源,因此可以省去一根电源线,简化了硬件功能;并且它与单片机相连,程序也比模拟传感器或集成型传感器方便的多。 通过测试地点温度,把DS18B20采集温度的模拟电信号通过单片机处理转换成数字信号发送至LED显示出来。期间,我们通过按键设置温度高低值,看其是否实时报警。在设计过程中,对于如何来实现软件与硬件的相结合有着很大考验,也要考虑到各种因素影响。比如端口信号干扰、测温准确性、按键抖动的变化等。在此次毕业设计中,为了能少走弯路与节省时间,我们应该充分考虑和满足抗干扰要求,避免在设计完成之后再去进行抗干扰

35、补救措施。综上而言,就是用简单的硬件和编程方法去自动建立关系表,如在单总线多点温度测量系统中实现了数字温度传感器的自动识别功能,这样大大有利于系统的调试与维护,减少了维护的工作量,而且解决了过去维护工作须由专业人员来完成的问题。本次设计创新点在于将单片机技术和一线总线技术相结合,改进现有的用放大和集成电路采集系统,同时能够充分的利用有限端口,在保证温度采集可靠性的基础上简化了电路并且降低了成本。致 谢通过两个多月的老师指导与同学合作,完成了此次的毕业设计,巧妙将单片机书中理论知识通过应用转换成数字信号并显示出来。深知单片机编程是一门博大精深的学科,要想学会它,可真得要付出不小的努力。此次我懂得

36、无论遇到什么事,合理有序制定目标,与同学相互协作,在指导老师点明下,最后勤到图书馆翻阅查找相关资料并做好笔录,才能完成一样好作品。毕业设计是对自己这三年来成绩的一次展示,这次的设计我们将书面上知识应用上了,而且调试与测试也涉及了许多用过的相关软件,不仅深化了自己的专业水平,也强化锻炼了自己操作动手能力。同时也感谢指导老师的点明与纠错。本人水平有限,经验不足,论文中难免错误与纰漏,恳请各位老师的指正,谢谢!参考文献1 蔡可健,多路无线测温系统设计.传感器技术,2005年。2 贾振国,DS18B20及高精度温度测量的实现.电子技术应用,2000年。3 周月霞,DS18B20硬件连接及软件编程.传感

37、器世界,2001年。4 张毅坤,单片微型计算机原理及应用.西安电子科技大学出版社,1998年。5 杨恢先,单片机原理及应用.上海:复旦大学出版社,2002年。6 杨丽君,AT89C51单片机控制的多路温度检测系统.自动化与仪表,2000年。7 何立明,单片机应用系统抗干扰技术.北京:北京航空航天大学出版社,2000年。8 涂时亮,单片微机软件设计技术.重庆:科学技术文献出版社重庆分社,2003年。9 王化祥,张淑英, 传感器原理及应用.天津大学出版社.2007:1310赵凯岐,吴红星,传感器技术及工程应用.中国电力出版社.2011:14附录元件清单图及程序 器件名称数量(只)器件名称数量(只)

38、AT89C5214.7k电阻412MHz晶体174LS164430pF瓷片电容2共阳极数码管410uF瓷片电容4按键开关610k电阻1DS18B2041N400711K电阻1蜂鸣器1三极管4源程序代码: DATA_BUS BIT P3.3 FLAG BIT00H TEMP_L EQU 30H TEMP_H EQU 31H TEMP_DP EQU 32H TEMP_INT EQU 33H TEMP_BAI EQU 34H TEMP_SHI EQU 35H TEMP_GE EQU 36H DIS_BAI EQU 37H DIS_SHI EQU 38H DIS_GE EQU 39H DIS_BAI

39、EQU 3AH DIS_ADD EQU 3BHORG 0000H AJMP STARTORG 0050HSTART:MOV SP,#40HMAIN:LCALL READ_TEMP LCALL PROCESS AJMP MAIN读温度程序:READ_TEMP: LCALL RESET_PULSE MOV A,#0CCH LCALL WRITE MOV A,#44H LCALL WRITE LCALL DISPLAY LCALL RESET_PULSE MOV A,#0CCH LCALL WRITEMOV A,#0BEHLCALL WRITELCALL READRET复位脉冲程序: RESET_P

40、ULSE: RESET:SETB DATA_BUS NOP NOP CLR DATA_BUS MOV R7,#255 DJNZ R7,$SETB DATA_BUSMOV R7,#30DJNZ R7,$JNB DATA_BUS, SETB_FLAGCLR FLAGAJMP NEXTSETB_FLAG: SETB FLAGNEXT:MOV R7,#120 DJNZ R7,$ SETB DATA_BUS JNB FLAG,RESET RET写命令 WRITE:SETB DATA_BUS MOV R6,#8 CLR C WRITING: CLR DATA_BUS MOV R7,#5 DJNZ R7,$

41、 RRC A MOV DATA_BUS, C MOV R7,#30H DJNZ R7,$ SETB DATA_BUS NOP DJNZ R6,WRITING RET循环显示段位 DISPLAY: MOV R4,#200 DIS_LOOP: MOV A,DIS_DP MOV P2,#0FFH SETB P2.7 MOV P0,A CLR P2.7 LCALL DELAY2MS MOV A,DIS_GE MOV P2,#0FFH SETB P2.6 MOV P0,A SETB P0.7 CLR P2.6 LCALL DELAY2MS MOV A,DIS_SHI MOV P2,#0FFH SETB

42、P2.6 MOV P0,A SETB P0.7 CLR P2.6 LCALL DELAY2MS MOV A,DIS_SHI MOV P2,#0FFH SETB P2.5 MOV P0,A CLR P2.5 LCALL DELAY2MS MOV A,DIS_BAI MOV P2,#0FFH CJNE A,DIS_BAI MOV A,TEMP_BAI CLR P2.4 AJMP NEXTT SKIP:SETB P2.4 MOV P0,A LCALL DELAY2MS CLR P2.4 LCALL DELAY2MS NEXTT:NOP DJNZ R4,DIS_LOOP RET读命令 READ:SETB DAT_BUS MOV R0,#TEMP_L MOV R6,#8 MOV R5,#2 CLR C READ:SETB DATA_BUS MOV R0,#TEMP_L MOV R6,#8 MOV R5,#2 CLR C READING: CLR DATA_BUS NOP NOP SETB DATA_BUS NOP NOPNOP NOPMOV C, DATA_BUSRRC,AMOV R7,#30HDJNZ R7,$SETB DATA_BUSDJNZ R6,READINGMOV R0,AINC R0MOV R6,#8SETB DATA_BUSDJNZ R5

温馨提示

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

评论

0/150

提交评论