基于单片机的数字温度计设计06630_第1页
基于单片机的数字温度计设计06630_第2页
基于单片机的数字温度计设计06630_第3页
基于单片机的数字温度计设计06630_第4页
基于单片机的数字温度计设计06630_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、 编号 淮安信息职业技术学院淮安信息职业技术学院毕毕业业论论文文题 目基于单片机的数字温度计设计基于单片机的数字温度计设计学生姓名学 号系 部专 业班 级指导教师 顾问教师二一二年六月摘要摘要本文主要介绍了一个基于AT89S51单片机利用温度传感器DS18B20开发测温系统,该系统可以方便的实现温度显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。它的主要元件是:控制器AT89C2051、温度传感器DS18B20、数码管LED,主要原理是利用DS18B20可以很好的转换温度值,并且直接显示温度值,它的性能优于传统的感温元件并且省去

2、了AD、和模拟开关的设计。此外AT89S51体积小并且可以直接驱动LED,这样大大化简了设计的难度并且降低了成本。该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词关键词:AT89S51 单片机; DS18B20 传感器;数码管显示。目目 录录摘要摘要.I第一章绪论第一章绪论.11.1 课题背景及研究意义.11.2 单片机的运用.11.3 温度计的设计思路.1第二章第二章 系统方案论证系统方案论证.32.1 方案一.32.2 方案二.32.3 方案三.42.4 方案的总体设计.42.5 温度计设计的要求.5第三章第三章 数字温度计的设计数字温度计的设计.7

3、3.1 主控制器.73.1.1 AT89S51 单片机的内部资源: .73.1.2 引脚功能.73.1.3 单片机的最小系统.93.2 温度传感器.103.2.1 DS18B20 的特点 .103.2.2 DS18B20 的内部结构 .113.2.3 DS18B20 温度传感器与单片机的接口电路 .123.3 电源电路.133.4 时钟电路.143.5 复位电路.143.6 显示电路.15第四章第四章 软件设计软件设计.174.1 主程序.174.1.1 读出温度计程序.174.1.2 温度转换命令字程序.184.1.3 计算机子程序.194.1.4 显示数据刷新子程序.19第五章第五章 总结

4、与展望总结与展望.21致致 谢谢.23参考文献参考文献.24附录附录 1 汇编源程序代码汇编源程序代码.25附录附录 2 数字温度计设计总图数字温度计设计总图.31第一章绪论第一章绪论1.11.1 课题背景及研究意义课题背景及研究意义随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。温度是工业对象中的一个重要的被控参数。然而所采用的测温元件和测量方法也不相同;产品的工

5、艺不同,控制温度的精度也不相同。因此对数据采集的精度和采用的控制方法也不相同。传统的控制方式以不能满足高精度,高速度的控制要求,如温度控制表温度接触器,其主要缺点是温度波动范围大,由于他主要通过控制接触器的通断时间比例来达到改变加热功率的目的,受仪表本身误差和交流接触器的寿命限制,通断频率很低。使用单片机作为核心控制。单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字、智能化方面有广泛的用途。1.21.2 单片机的运用单片机的运用 单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了 CPU,存储器,RAM,ROM,及输入

6、与输出接口电路,这种芯片称为:单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。1.31.3 温度计的设计思路温度计的设计思路 本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。所

7、以采用DS18B20温度传感器来实现基于AT89S51单片机的数字温度计的设计。温度计采用美国DALLAS半导体公司继DS1820之后推出的一种改进型智能温度传感器DS18B20作为检测元件,与传统的热敏电阻不同,DS18B20可直接将被测温度转换为串行数字信号,测温范围为一55125,最高分辨可达00625 ,温度传感器DS18B20采用三线制与单片机相连,减少了外部的硬件电路,具有低成本、易使用和精度等特点。按照系统设计功能的要求,确定本数字温度计由三个模块组成:主控制器、测温电路和显示电路。第二章第二章 系统方案论证系统方案论证该系统主要由温度测量和数据采集两部分电路组成,实现的方法有很

8、多种,下面将列出在日常生活中和工农业生产中经常用到的实现方案。2.12.1 方案一方案一采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。2.22.2 方案二方案二采用热电偶温差电路测温,温度检测部

9、分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成(热电偶的构成如图 2.1),热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D 通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D 转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D 转换电路,感温电路比较麻烦。图 2.1 热电偶电路图2

10、.32.3 方案方案三三采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和单片机AT89S51构成的温度测量装置,它直接输出温度的数字信号,。这样,测温系统的结构就比较简单,体积也不大。采用AT89S51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS

11、18B20控制工作,还可以与PC 机通信上传数据,另外AT89S51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。该系统利用AT89S51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度。从以上三种方案,看出方案一的设计方案不够经济,精确度不高。方案二的测温装置可测温度范围宽、体积小,但是线性误差较大。方案三的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案三。2.42.4 方案的总体设计方案的总体设计温在单片机电路设计中,使用传感器,是非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感

12、器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。度计电路设计总体设计方框图如 2-2 所示,控制器采用单片机 AT89S51,温度传感器采用 DS18B20,用 4 位 LED 数码管以串口传送数据实现温度显示。系统框图如图 2-2所示图 2-2总体设计方框图2.52.5 温度计设计的要求温度计设计的要求利用 AT89C51 单片机设计智能数字温度计,通过温度传感器自动采集温度,经单片机内部处理为十进制温度值后,直接送人显示电路显示温度值,测温范围 0100; 最大线性偏差为01。采用 4 位 LED 数码管显示温度,一位小数、三位整数。正温度时,最高位显示百位温度或不显示,负

13、温度时最高位显示符号“一”。主 控 制 器LED 显 示温 度 传 感 器单片机复位时钟振荡电源电路第三章第三章 数字温度计的设计数字温度计的设计3.13.1 主控制器主控制器数字温度计电路设计控制器采用用单片机 AT89S51,具有低电压供电和小体积等特点,成本较低,两个端口刚好满足电路系统的设计需要,很适合便携手持式产品的设计使用。该单片机功能与 C51 系列的单片机有了很大的提升,但成本基本没有什么变化与传统的 AT89C51 单片机相比,AT89S51 主要具有以下优点:(1)功能增多,性能加强,价格基本不变;(2)ISP 在线编程功能,改写单片机存储器内的程式不必把芯片从工作环境中剥

14、离;(3)工作频率提高,计算速度更快;(4)AT89S51电源范围宽达455V,而AT89C51系列在低于48V和高于53V的时候则无法正常工作;(5)兼容性强。3.1.13.1.1 AT89S51AT89S51 单片机的内部资源单片机的内部资源: :(1)为一般控制应用的 8 位单芯片;(2)晶片内部具时钟振荡器(传统最高工作频率可至 12MHz) ;(3) 内部程式存储器(ROM)为 4KB;(4) 内部数据存储器(RAM)为 128B;(5) 外部程序存储器可扩充至 64KB;(6) 外部数据存储器可扩充至 64KB;(7) 26 个特殊功能寄存器(双数据指针) ;(8)4 个 8 位的

15、并行口;(9)1 个全双工的串行口;(10) 5 个中断源,2 个外部中断,3 个内部中断。3.1.23.1.2 引脚功能引脚功能AT89S51 单片机有 40 个引脚如图 3.1;采用引脚双列直插式封装,现将各引脚的功过能说明如下。(1)VCC:电源电压端; (2)GND:地端; (3)RST:复位输入端。当 RST 引脚出现两个机器周期的高电平时,单片机图 3.1 AT89S51 单片机引脚图复位;在正常运行程序时该引脚为低电平; (4)XTAL1、 XTAL2:晶体振荡器反相放大器的输入端和输出端。使用内部振荡电路时,该引脚外接石英晶体和补偿电容。使用外部震荡输入时从 XTAL1输入,此

16、时 XTAL2 悬空;(5)EA/VPP:内外 ROM 选择/EPROM 编程电源。低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部 EPROM 中)来执行程序;(6)P1 口:P1 口是一个 8 位双向 I/O 口。P1 口内部接有上拉电阻。P1 口输出缓冲器可吸收 20mA 电流并能直接驱动 LED 显示。当 P1 口的锁存器写入“1”时,P1 口可作为输入 端。作为输出口使用时不需要外接上拉电阻。(7)P3 口:P3 口的 P3.0-P3.5 和 P3.7 是带有内部上拉电阻的七个双向I/O 引脚。P3.6 用于固定输入片内比较器的输入信号并且它作为一通用 I/

17、O 引脚而不能访问。P3 口缓冲器 可吸收 20mA 电流。当 P3 口锁存器写入“1”时,它们被上拉电阻拉高并可作为输出端。P3 口还接收一些用于闪速存储器编程和程序校验的控制信号。 P3 口还用于实现 AT89C2051 的一些特殊功能,这些特殊功能定义如下: P3.0 RXD(串行口输入端) P3.1 TXD(串行口输出端) P3.2 /INT0(外部中断) P3.3 /INT1(外部中断 1) P3.4 T0(定时器 0 外部输入) P3.5 T1(定时器 1 外部输入)P3.6 /WR(外 RAM 写选通信号输出端)P3.7 /RD(外 RAM 读选通信号输出端)3.1.33.1.3

18、 单片机的最小系统单片机的最小系统目前的单片机开发系统只能够仿真单片机,却没有给用户提供一个通用的最小系统。由设计的要求,只要做很小集成度的最小系统应用在一些小的控制单元。其应用特点是:(1)全部 I/O 口线均可供用户使用; (2)内部存储器容量有限(只有 4KB 地址空间) ; (3)应用系统开发具有特殊性。单片机最小系统如图 3.2 所示,其中有 4 个双向的 8 位并行 I/O 端口,分别记作 P0、P1、P2、P3,都可以用于数据的输出和输入,P3 口具有第二功能为系统提供一些控制信号。时钟电路用于产生 AT89S51 单片机工作所必须的时钟控制信号,内部电路在时钟信号的控制下,严格

19、地按时序指令工作。AT89S51 内部有一个用于构成振荡器的高增益反向放大器,该高增益反向放大器的输入端为芯片的引脚 XTAL1,输出端为 XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的微调电容通常选择为 22pF 左右,该电容的大小会影响到振荡器频率的高低、振荡器的稳定性和起振的快速性。晶体的振荡频率为 12MHz。把 EA 脚接高电平,单片机访问片内程序存储器,CPU 从芯片内部的 ROM 中取指令运行,但超过 4KB 范围的程序,从外部扩展的 ROM 中取得。把 EA 脚接低电平时,只从芯片外部扩展的 ROM 中取得指令运行。AT89S51 的

20、复位是由外部的复位电路来实现,由 10uF 电容、10K 电阻构成复位电路。RC 组成微分电路,在通电的瞬间产生微分脉冲,只要脉冲的宽度大于两个机器周期,就能完成单片机复位。(2)多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能;(3)无须外部器件;图 3. 2 单片机最小系统图一线测温一线与 AT89S51 连接,它能直接读出被测温度,并且测出的数据放在寄存器中,将数据经过 BCD 码转换后送到 LED 显示。DS18B20 的性能特点如下:(1)独特的单线接口仅需要一个端口引脚进行通信;3.23.2 温度传感器温度传感器传感器是将感受到的外界信息,按照一定的规律转换成所需的有

21、用信息的装置,它获取的信息可以是各种物理量、化学量和生物量,而转换后的信息也有各种形式。例如:光、温度、声、委位移、压力等物理量,可以通过传感器相互转化。但是通常是将非电量或电量转换成易于处理和传输的电量,有些传感器的这种转换是可逆的,即输入量为电量而输出量为机械量或热工艺量等。3.2.13.2.1 DS18B20DS18B20 的特点的特点测温系统采用芯片 DS18B20,DS18B20 是 DALLAS 公司的最新单线数字温度传感器,它的体积更小,适用电压更宽,更经济。DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相

22、比,DS18B20 采用外接电源方式工作,(4)可通过数据线供电,电压范围为 3.05.5;(5)零待机功耗;(6)温度以 9 或 12 位数字显示;(7)用户可定义报警设置;(8)报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;(9)负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 DS18B20 的管脚排列如图 3.3 所示。 图 3.3 DS18B20 的引脚分布图表 3.1 DS18B20 的引脚功能GND:电源地。DQ:数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。VDD:可选择的VDD引脚。当工作于寄生电源时,

23、此引脚必须接地。3.2.23.2.2 DS18B20DS18B20 的内部结构的内部结构DS18B20 内部结构主要由四部分组成:64 位光刻 ROM,温度传感器,非挥发的温度报警触发器 TH 和 TL,高速暂存器。内部结构如图 3.4 所示,它是 64 位ROM 的结构,开始 8 位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后 8 位是前面 56 位的 CRC 检验码,这也是多个 DS18B20 可以采用一线进行通信的原因。I/O图 3.4 DS18B20 的内部结构DS18B20 温度传感器的内部存储器,包括一个高速暂存 RAM 和一个非易失性的可电擦除的 EERAM。

24、高速暂存 RAM 的结构为 8 字节的存储器。头 2 个字节包含测得的温度信息,第 3 和第 4 字节 TH 和 TL 的拷贝,是易失的,每次上电复位C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器 TH低温触发器 TL配置寄存器8 位 CRC 发生器Vdd时被刷新。第 5 个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20 工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如下图 3.5 所示。低 5 位一直为 1,TM 是工作模式位,用于设置DS18B20 在工作模式还是在测试模式,DS18B20 出厂时该位被设置为 0,用户要

25、去改动,R1 和0 决定温度转换的精度位数,来设置分辨率。TM R11R01111.图 3.5 DS18B20 的字节定义3.2.33.2.3 DS18B20DS18B20 温度传感器与单片机的接口电路温度传感器与单片机的接口电路DS18B20 方式供电,是电源供电方式如图 3.6 所示,此时 DS18B20 的 1 脚接地,2 脚座位信号线,3 脚接电源。图 3.6 DS18B20 与单片机的接口电路3.33.3 电源电路电源电路图 3.7 所示为集成直流稳压电源电路的原理图,本电源电路是由集成稳压器构成的。电路可分成三部分:电源变压器部分、整流滤波部分和稳压部分。变压器原边为工频交流 22

26、0V 电压,经过变压后,变压器副边的电压变为交流 11V,11V 交流电压经过桥式整流电路整流后变为直流 10V 电压,直流 10V电压作为 CW7805 的输入电压,CW7805 输出+5V 电压。图中 D2 为整流桥,它由四个整流二极管接成电桥形式。C3 为滤波电容,C1 用于抵消输入端较长接线的电感效应,以防止自激振荡,还可抑制电源的高频脉冲干扰。一般取 0.11F。CW7805 为三端固定输出集成稳压器,其输入和输出电压都为固定值,它的输入电压为+10V,输出电压为+5V。C2 和 C4 用以改善负载的瞬态响应,消除电路的高频噪声,同时也具有消振作用。图 3.7 电源电路图3.43.4

27、 时钟电路时钟电路图 3.8 所示为时钟电路原理图,在 AT89S51 芯片内部有一个高增益反相放大器,其输入端为芯片引脚 XTAL1,输出端为引脚 XTAL2。而在芯片内部,XTAL1 和 XTAL2 之间跨接晶体振荡器和微调电容,构成一个稳定的自激振荡器。时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。 图 3.8 时钟电路图3.53.5 复位电路复位电路图 3.9 所示为复位电路原理图,复位是单片机的初始化操作,其主要功能是把单片机初始化为 0000H,使单片机从 0000H 单元开始执行程序,并使其它功能单元处于一个确定的初始状态。本复位电路采用的是按键复位

28、,它是通过复位端经电阻与 VCC 电源接通而实现的,它兼具上电复位功能。因本系统的晶振的频率为 12MHz,所以,复位信号持续时间应当超过 2S 才能完成复位操作。图 3.9 复位电路图3.63.6 显示电路显示电路在最小系统基础上,用 P0 口作为数码管的段控制口,P2.0P2.3 分别作为4 个数码管的位控制口,输出 0,PNP 晶体管导通,开通数码管得位,输出 1,晶体管截止,关闭位。电路图 3.10 所示为显示电路图,采用 4 位共阳 LED 数码管显示。图 3.10 显示电路图发 DS18B20 复位命令发跳过 ROM 命令发温度转换开始命令 结束第四章第四章 软件设计软件设计4.1

29、4.1 主程序主程序主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前温度值,温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图 4.1 所示。图 4.1 主程序流程图 4.1.14.1.1 读出温度计程序读出温度计程序读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行 CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图 4.2 示图 4.2 读温度流程图4.1.24.1.2 温度转换命令字程序温度转换命令字程序温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间约为 750ms,在本

30、程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令子程序流程图如上图,图 4.3 所示图 4.3 温度转换流程4.1.34.1.3 计算机子程序计算机子程序计算温度子程序将RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图 4.4 所示。图 4.4计算温度流程图 4.1.44.1.4 显示数据刷新子程序显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显示位为 0 时将符号显示位移入下一位。程序流程图如图 4.5。Y发 DS18B20 复位命令发跳过 ROM 命令发读取温度命令读取操作,CRC 校验9 字节完?

31、CRC 校验正?确?移入温度暂存器结束NNY初始化调用显示子程序1S 到?初次上电读出温度值温度计算处理显示数据刷新发温度转换开始命令NYNY开始温度零下?温度值取补码置“”标志计算小数位温度 BCD 值计算整数位温度 BCD 值结束置“+”标志NY温度数据移入显示寄存器十位数 0?百位数 0?十位数显示符号百位数不显示百位数显示数据(不显示符号)结束NNYY图 4.5显示数据刷新流程图第五章第五章 总结与展望总结与展望 经过这段时间的努力,终于完成了我的 DS18B20 数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是非常开心的。在本次设计的过程中,在硬件电路制作阶段,我到图书

32、馆、网上查阅各种资料,在电脑上使用 PROTEL99SE 进行以及相关的绘图软件,使自己在理论分析设计和动手操作能力等各方面得到了极大提高。我发现很多问题,虽然以前也做过这样类似的设计但这次设计真的让我长进了很多,单片机课程设计重点就在于软件算法的设计,需要有很巧妙地程序算法,我觉得写好一个程序并不是一件简单的事。这次设计整体来说是成功的,但我也发现了自己许多错漏和不足之处。譬如,应该尝试加一个报警电路和用液晶显示器,使电路变得跟完美。 我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更应该这样,程序只有在经常地写与读的过程中才能提高,这就是我在

33、这次设计中的最大收获。致致 谢谢在论文完成之际,我首先向关心帮助和指导我的指导老师夏玉红,表示衷心的感谢并致以崇高的敬意!在论文工作中,遇到了遇到了一些问题,一直得到夏老师的亲切关怀和细心指导,使我顺利的完成了这篇论文。夏老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘细心的指导和亲切的关怀再一次向他表示衷心的感谢,感谢他为学生营造的浓郁学术氛围,以及学习、生活上的无私帮助! 值此论文完成之际,谨向夏老师致以最崇高的谢意!在学校的学习生活即将结束,回顾两年多来的学习经历,面对现在的收获,我感到无限欣慰。为此,我向热心帮助过我的所有老师和同学表示

34、由衷的感谢!特别感谢我的师兄们以及师姐们,我的学习和生活所提供的大力支持和关心!还要感谢一直关心帮助我成长的室友们!在我即将完成学业之际,我深深地感谢我的家人给予我的全力支持!最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授!参考文献参考文献1. 刘国荣 主编,单片机型计算机技术M,北京机械工业出版社,2000祁伟 杨亭 编著,单片机 51 程序设计教程与实验J,北京航海天大学出版社,20062. 何立民 编著单片机高级教程应用与设计(第 2 版)M,北京航海天大学出版社。3. 张五一,张道光.微机原理与接口技术M.郑州:河南科学技术出版社,20064. 张洪润,兰清华,单片机应用

35、技术教程M,北京:清华大学出版社,1997.115. 李华,MCS-51 系列单片机实用接口技术M,北京:北京航空航天大学出版社,1993.86. 李朝青单片机原理及接口技术(简明修订版)M杭州:北京航空航天大学出版社,19987. 李广弟.单片机基础C. 北京:北京航空航天大学出版社,19948. 倪晓军.单片机原理与接口技术教程M.北京:清华大学出版社,20099. 姚年春 向华 Protel99SE 基础教程M. 北京.人民名邮电出版社 ,200910. 楼然苗,李光飞单片机课程设计指导J北京:北京航空航天大学出版社,2007附录附录 1 1 汇编源程序代码汇编源程序代码ORG 00H

36、TMPL EQU 29H ;用于保存读出温度的低 8 位 TMPH EQU 28H ;用于保存读出温度的高 8 位 FLAG1 EQU 38H ;是否检测到 DS18B20 标志位 27H.0 DATAIN BIT P3.7MAIN: LCALL GET_TEMPER ;调用读温度子程序 LCALL CVTTMP LCALL DISP1 AJMP MAIN ;DS18B20 复位初始化子程序INIT_1820: SETB DATAIN NOP CLR DATAIN ;主机发出延时 537ms 的复位低脉冲 MOV R1,#3TSR1: MOV R0,#107 DJNZ R0,$ DJNZ R1

37、,TSR1 SETB DATAIN ;然后拉高数据线 NOP NOP NOP MOV R0,#25HTSR2: JNB DATAIN,TSR3 ;等待 DS18B20 回应 DJNZ R0,TSR2 CLR FLAG1 ;清标志位,表示 DS18B20 不存在 SJMP TSR7TSR3: SETB FLAG1 ;置标志位,表示 DS18B20 存在 CLR P1.7 ;检测到 DS18B20 就点亮 P1.7LED MOV R0,#117TSR6: DJNZ R0,$ ;时序要求延时一段时间TSR7: SETB DATAIN RET ;读出转换后的温度值GET_TEMPER:SETB DAT

38、AIN LCALL INIT_1820 ;先复位 DS18B20 JB FLAG1,TSS2 NOP RET ;判断 DS18B20 是否存在?若 DS18B20不存在,则返回TSS2: MOV A,#0CCH ;跳过 ROM 匹配 LCALL WRITE_1820 MOV A,#44H ;发出温度转换命令 LCALL WRITE_1820 ACALL DISP1 LCALL INIT_1820 ;准备读温度前先复位 MOV A,#0CCH ;跳过 ROM 匹配 LCALL WRITE_1820 MOV A,#0BEH ;发出温度转换命令 LCALL WRITE_1820 LCALL READ

39、_18200 ;将读出的温度数据保存到 35H/36H RET ;写 DS18B20 的子程序(有具体的时序要求)WRITE_1820:MOV R2,#8 ;一共 8 位数据 CLR CWR1: CLR DATAIN MOV R3,#6 DJNZ R3,$ RRC A MOV DATAIN,C MOV R3,#23 DJNZ R3,$ SETB DATAIN NOP DJNZ R2,WR1 SETB DATAIN RET ;读 DS18B20 的程序,从 DS18B20 中读出两个字节的温度数据READ_18200:MOV R4,#2 ;将温度高位和低位从 DS18B20 中读出 MOV R1,#29H ;低位存入 29H(TEMP_L)中,高位存入28H(TEMPH)中RE00: MOV R2,#8 ;数据一共有 8 位RE01: CLR C SETB DATAIN NOP NOP CLR DATAIN NOP NOP NOP SETB DATA

温馨提示

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

评论

0/150

提交评论