毕业设计(论文)基于DS18B20 AT89S51的数字温控器设计_第1页
毕业设计(论文)基于DS18B20 AT89S51的数字温控器设计_第2页
毕业设计(论文)基于DS18B20 AT89S51的数字温控器设计_第3页
毕业设计(论文)基于DS18B20 AT89S51的数字温控器设计_第4页
毕业设计(论文)基于DS18B20 AT89S51的数字温控器设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、分类号分类号 密级密级 udc 毕毕 业业 设设 计计 基于 ds18b20at89s51 的 数字温控器设计 学生姓名学生姓名 学号学号 指导教师指导教师 系(中心)系(中心) 信息工程系 专专 业业 电子信息工程 年级年级 论文答辩日期论文答辩日期 年 月 日 中中 国国 海海 洋洋 大大 学学 青青 岛岛 学学 院院 基于 ds18b20at89s51 的数字温控器设计 完成日期: 指导教师签字: 答辩小组成员签字: 摘 要 在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要 被控参数。其中,温度控制也越来越重要。在工业生产的很多领域中,人们都需要对 各类加热炉、热处

2、理炉、反应炉和锅炉中的温度进行检测和控制。采用单片机对温度 进行控制不仅具有控制方便、简单和灵活性大等优点,而且可以大幅度提高被控温度 的技术指标,从而能够大大的提高产品的质量和数量。因此,单片机对温度的控制问 题是一个工业生产中经常会遇到的控制问题。 单片机是一种集 cpu、ram、rom、i/o 接口和中断系统等部分于一体的器件,只需 要外加电源和晶振就可实现对数字信息的处理和控制。因此,单片机广泛用于现代工 业控制中。 本论文侧重介绍“单片机温度控制系统”的软件设计及相关内容。论文的主要内 容包括:采样、滤波、键盘、led 显示和报警系统,加热控制系统等。作为控制系统中 的一个典型实验设

3、计,单片机温度控制系统综合运用了微机原理、自动控制原理、模 拟电子技术、数字控制技术、键盘显示技术等诸多方面的知识,是对所学知识的一次 综合测试。 关键词:单片机;数字控制;温度计;ds18b20;at89s51 design of digital temperature controller based on ds18b20 digital control; thermometers; ds18b20; at89s51 目 录 1 绪论 .1 1.1 课题的背景及意义 .1 1.2 相关技术的发展概况 .1 2 总体设计方案 .3 2.2 设计思路 .3 2.2 数字温控器设计方案论证 .3

4、 2.3 方案选择 .4 2.4 总体设计框图 .4 3 主要芯片概述 .5 3.1 单片机 at89s51.5 3.2 数字温度传感器 ds18b20.6 3.3 二四译码器 .8 4 硬件电路设计 .9 4.1 主模块.9 4.2 温度采集模块.10 4.3 温度传感与单片机的连接.10 4.4 显示模块 .11 4.5 报警电路.11 4.6 复位电路及电源电路.12 5 软件程序分析.13 5.1 系统软件算法分析 .13 5.2 主程序 .13 5.3 读出温度子程序 .13 5.4 温度转换命令子程序 .15 5.5 计算温度子程序 .15 5.6 显示数据刷新子程序 .16 结束

5、语.17 参考文献.18 致 谢.19 附 录.20 1 绪论 1.1 课题的背景及意义 温度控制系统在国内各行各业的应用虽然己经十分广泛,但从国内生产的温度控 制器来讲,总体发展水平仍然不高,同日本、美国、德国等先进国家相比,仍然有着 较大的差距。成熟的温控产品主要以“点位”控制及常规的 pid 控制器为主,它们只 能适应一般温度系统控制,而用于较高控制场合的智能化、自适应控制仪表,国内技 术还不十分成熟,形成商品化并广泛应用的控制仪表较少.随着我国经济的发展及加入 wto,我国政府及企业对此都非常重视,对相关企业资源进行了重组,相继建立了一些 国家,企业的研发中心,开展创新性研究,使我国仪

6、表工业得到了迅速的发展。 目前,温度控制器产品从模拟、集成温度控制器发展到智能数码温度控制器。智 能温控器(数字温控器)是微电子技术、计算机技术和自动测试技术的结合,特点是 能输出温度数据及相关的温度控制量,适配各种控制器,并且它是在硬件的基础上通 过软件来实现控制功能的,其智能化程度也取决于软件的开发水平,现阶段正朝着高 精度高质量的方向发展,相信以我国的实力,温控技术在不久的将来一定会为于世界前 列! 本文重点对该系统的硬件、软件进行分析设计。在硬件上对各部分电路一一进行 了理论分析与方案论证进行了设计,介绍了 ds18b20 数字温度传感器在单片机下的硬 件连接及软件编程,并给出了软件流

7、程图,最终设计完成了该系统的硬件电路。在软 件设计上根据硬件电路和该温度采集系统所需要实现的功能,经过反复的模拟运行、 调试、修改,最终完成了该系统的软件设计。通过硬件与软件的密切配合,最终设计 完成达到了题目所要求的功能。本设计采用的是 at89s51 单片机,对多点温度进行采 集。通过集成温度传感器 ds18b20 将温度值转换为电量输出。通过键盘实现增加或减 少温度上下限模式的切换,可以利用小键盘设定温度的最大值和最小值,当温度高于 设定的上限值时,单片机停止加热器加热,同时点亮红色发光二极管,当温度低于设 定的下限时,单片机启动加热器加热,同时点亮绿色发光二极管。在软件上进行主程 序和

8、子程序的编程,使该温度控制系统实现智能化发展,精度更高。 1.2 相关技术的发展概况 单片机诞生于 20 世纪 70 年代,象 fairchid 公司研制的 f8 单片微型计算机。所 谓单片机是利用大规模集成电路技术把中央处理单元(center processing unit,也即 常称的 cpu)和数据存储器(ram)、程序存储器(rom)及其他 i/o 通信口集成在一块芯片 上,构成一个最小的计算机系统,而现代的单片机则加上了中断单元,定时单元及 a/d 转换等更复杂、更完善的电路,使得单片机的功能越来越强大,应用更广泛。 20 世纪 70 年代,微电子技术正处于发展阶段,集成电路属于中规

9、模发展时期,各 种新材料新工艺尚未成熟,单片机仍处在初级的发展阶段,元件集成规模还比较小, 功能比较简单,一般均把 cpu、ram 有的还包括了一些简单的 i/o 口集成到芯片上,象 farichild 公司就属于这一类型,它还需配上外围的其他处理电路方才构成完整的计算 系统。类似的单片机还有 zilog 公司的 z80 微处理器。 1976 年 intel 公司推出了 mcs-48 单片机,这个时期的单片机才是真正的 8 位单片 微型计算机,并推向市场。它以体积小,功能全,价格低赢得了广泛的应用,为单片 机的发展奠定了基础,成为单片机发展史上重要的里程碑。 在 mcs-48 的带领下,其后,

10、各大半导体公司相继研制和发展了自己的单片机,象 zilog 公司的 z8 系列。到了 80 年代初,单片机已发展到了高性能阶段,象 intel 公司 的 mcs-51 系列,motorola 公司的 6801 和 6802 系列,rokwell 公司的 6501 及 6502 系 列等等,此外,日本的著名电气公司 nec 和 hitachi 都相继开发了具有自己特色的专用 单片机。 80 年代,世界各大公司均竞相研制出品种多功能强的单片机,约有几十个系列, 300 多个品种,此时的单片机均属于真正的单片化,大多集成了 cpu、ram、rom、数目 繁多的 i/o 接口、多种中断系统,甚至还有一

11、些带 a/d 转换器的单片机,功能越来越 强大,ram 和 rom 的容量也越来越大,寻址空间甚至可达 64kb,可以说,单片机发展 到了一个全新阶段,应用领域更广泛,许多家用电器均走向利用单片机控制的智能化 发展道路。 单片机发展趋势 现在可以说单片机是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出 了自己的单片机,从 8 位、16 位到 32 位,数不胜数,应有尽有,有与主流 c51 系列兼 容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供广阔的天地。 纵观单片机的发展过程,可以预示单片机的发展趋势,大致有: 1.低功耗 cmos 化 mcs-51 系列的 8031

12、 推出时的功耗达 630mw,而现在的单片机普遍都在 100mw 左右, 随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了 cmos(互补金 属氧化物半导体工艺)。象 80c51 就采用了 hmos(即高密度金属氧化物半导体工艺)和 chmos(互补高密度金属氧化物半导体工艺)。cmos 虽然功耗较低,但由于其物理特征决 定其工作速度不够高,而 chmos 则具备了高速和低功耗的特点,这些特征,更适合于 在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的 主要途径。 2.微型单片化 现在常规的单片机普遍都是将中央处理器(cpu)、随机存取数据存储(ram

13、)、只读程 序存储器(rom)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单 一的芯片上,增强型的单片机集成了如 a/d 转换器、pmw(脉宽调制电路)、wdt(看门狗)、 有些单片机将 lcd(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路 就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具 有自己特色的单片机芯片。 此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗 低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中 smd(表面封 装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。 3.主流

14、与多品种共存 现在虽然单片机的品种繁多,各具特色,但仍以 80c51 为核心的单片机占主流,兼 容其结构和指令系统的有 philips 公司的产品,atmel 公司的产品和中国台湾的 winbond 系列单片机。所以 c8051 为核心的单片机占据了半壁江山。而 microchip 公司 的 pic 精简指令集(risc)也有着强劲的发展势头,中国台湾的 holtek 公司近年的单片 机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有 motorola 公 司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将 不存在某个单片机一统天下的垄断局面,走的是依存互

15、补,相辅相成、共同发展的道 路。 2 总体设计方案 2.2 设计思路: at89s51 为核心、ds18b20 为温度传感元件。只要在所设定的上下温度界限内,就 会在显示设备中精确的显示出来,如果温度超过了所设定的温度上下限,就会自动发 出报警信号。另外此温度控制器操作简单,灵敏度高,测温范围宽,一般能满足日常 测温的需求,用四位 7 段数码管显示故具有直观的特点。 2.2 数字温控器设计方案论证 1.2.1 方案一 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这 是非常容易想到的,所以可以采用一只温度传感器 ds18b20,此传感器,可以很容易直 接读取被测温度值,进

16、行转换,就可以满足设计要求。 1.2.2 方案二 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随 被测温度变化的电压或电流采集过来,进行 a/d 转换后,就可以用单片机进行数据的 处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 a/d 转换电路, 感温电路比较麻烦 2.3 方案选择 从以上两种方案,很容易看出,采用方案一,电路比较简单,软件设计也比较简 单,故采用了方案一。 2.4 总体设计框图 温度计电路设计总体设计方框图如图 2-1 所示,控制器采用单片机 at89s51,温度 传感器采用 ds18b20,用四位 7 段数码管实现温度显示。 图 2-

17、1总体设计方框图 显示电路 报警电路 测温电路 复位电路 at89s51 单片机 3 主要芯片概述 3.1 单片机 at89s51 1at89s51 是一个低功耗,高性能 cmos 8 位单片机,片内含 4k bytes isp(in- system programmable)的可反复擦写 1000 次的 flash 只读程序存储器,器件采用 atmel 公司的高密度、非易失性存储技术制造,兼容标准 mcs-51 指令系统及 80c51 引 脚结构,芯片内集成了通用 8 位中央处理器和 isp flash 存储单元,功能强大的微型 计算机的 at89s51 可为许多嵌入式控制应用系统提供高性价

18、比的解决方案。 at89s51 具有如下特点:40 个引脚,4k bytes flash 片内程序存储器,128 bytes 的随机存取数据存储器(ram) ,32 个外部双向输入/输出(i/o)口,5 个中断优先级 2 层中断嵌套中断,2 个 16 位可编程定时计数器,2 个全双工串行通信口,看门狗 (wdt)电路,片内时钟振荡器。 2功能特性:兼容 mcs-51 指令系统 32 个双向 i/o 口,2 个 16 位可编程定时/计 数器,全双工 uart 串行中断口线,2 个外部中断源,中断唤醒省电模式,看门狗 (wdt)电路,灵活的 isp 字节和分页编程,4k 可反复擦写(1000 次)

19、isp flash rom,4.5-5.5v 工作电压,时钟频率 0-33mhz128x8bit 内部 ram,低功耗空闲和省电模 式,3 级加密位软件设置空闲和省电功能。 3.系统中所用一些引脚的简介 p0 口:p0 口为一个 8 位漏级开路双向 i/o 口,每脚可吸收 8ttl 门电流。当 p1 口 的管脚第一次写 1 时,被定义为高阻输入。p0 能够用于外部程序数据存储器,它可以 被定义为数据/地址的第八位。在 fiash 编程时,p0 口作为原码输入口,当 fiash 进 行校验时,p0 输出原码,此时 p0 外部必须被拉高。 p1 口:p1 口是一个内部提供上拉电阻的 8 位双向 i

20、/o 口,p1 口缓冲器能接收输出 4ttl 门电流。p1 口管脚写入 1 后,被内部上拉为高,可用作输入,p1 口被外部下拉为 低电平时,将输出电流,这是由于内部上拉的缘故。在 flash 编程和校验时,p1 口作 为第八位地址接收。 p3.6 /wr(外部数据存储器写选通) p3.7 /rd(外部数据存储器读选通) rst:复位输入。当振荡器复位器件时,要保持 rst 脚两个机器周期的高电平时间。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。 3.2 数字温度传感器 ds18b20 1、适应电压范围更宽,电压范围:3.05.5v,在寄生电源

21、方式下可由数据线供 电. 2、独特的单线接口方式,ds18b20 在与微处理器连接时仅需要一条口线即可实现 微处理器与 ds18b20 的双向通讯 3、ds18b20 支持多点组网功能,多个 ds18b20 可以并联在唯一的三线上,实现组 网多点测温 4、ds18b20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如 一只三极管的集成电路内 5、温范围55125,在-10+85时精度为0.5 6、可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、 0.125和 0.0625,可实现高精度测温 7、在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,

22、12 位分辨率时最多在 750ms 内把温度值转换为数字,速度更快 8、测量结果直接输出数字温度信号,以一线总线串行传送给 cpu,同时可传送 crc 校验码,具有极强的抗干扰纠错能力 9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 2、ds18b20 的外形和内部结构 ds18b20 内部结构主要由四部分组成:64 位光刻 rom、温度传感器、非挥发的温度 报警触发器 th 和 tl、配置寄存器。ds18b20 的外形及管脚排列如下图: 图 3-1 ds18b20 引脚图 ds18b20 的管脚排列如下: dq为数字信号输入/输出端; gnd为电源地; vdd为外接供电

23、电源输入端。 图 3-2 ds18b20 内部结构图 3、ds18b20 工作原理 ds18b20 的读写时序和测温原理与 ds1820 相同,只是得到的温度值的位数因分辨 率不同而不同,且温度转换时的延时时间由 2s 减为 750ms。 ds18b20 测温原理如图 3 所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信 号送给计数器 1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计 数器 2 的脉冲输入。计数器 1 和温度寄存器被预置在55所对应的一个基数值。计 数器 1 对低温度系数晶振产生的脉冲信号进行减法计数,当计数器 1 的预置值减到 0 时

24、,温度寄存器的值将加 1,计数器 1 的预置将重新被装入,计数器 1 重新开始对低温 度系数晶振产生的脉冲信号进行计数,如此循环直到计数器 2 计数到 0 时,停止温度 寄存器值的累加,此时温度寄存器中的数值即为所测温度。图 3-3 中的斜率累加器用 于补偿和修正测温过程中的非线性,其输出用于修正计数器 1 的预置值。 斜率累加器 计数器1 比较 =0 = 预置 低温度系数晶振 计数器 2 =0 高温度系数晶振 预置 温度寄存器 停止 加 1 lsb 置位 清楚 置 图 3-3 ds18b20 测温原理框 3.3 二四译码器 译码的的含义就是把输入的二进制代码的特定含义翻译成被编码的信息。译码

25、器 是以一种常见的组合逻辑电路,它的输入代码组合会在某一个输出端产生特定的信号。 译码器按照用途可分为 3 类:变量译码器、码制编码器和显示译码器。本系统用到了 变量译码器,所以在这里我们只介绍变量译码器。 变量译码器有 n 个输入端,m 个输出端,它们的关系应满足:m0;i-) / 8次一个字节 dq = 0; /脉冲信号 date=1; /右移一位 dq = 1; /脉冲信号 if(dq) date|=0 x80; delay(4); / 延时 return(date); / 返回读取温度数据其程序流程图 y 启动 ds18b20 初始化 发读温度命令 读取操作,crc 校验 9 字节完?

26、 crc 校验正? 确? 移入温度暂存器 结束 n n y 发 ds18b20 复位命 令 发跳过 rom 命令 发温度转换开始命令 结束 5.4 温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换时间 约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转换命令 子程序流程图如上图,图 5-3 所示 图 5-3 温度转换流程 5.5 计算温度子程序 计算温度子程序将 ram 中读取值进行 bcd 码的转换运算,并进行温度值正负的判 定,其程序流程图如图 5-4 所示。 图 5-4计算温度流程图 开始 温度零下? 温度值取补码

27、置“”标志 计算小数位温度 bcd 值 计算整数位温度 bcd 值 结束 置“+”标 志 n y 5.6 显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高显 示位为 0 时将符号显示位移入下一位。程序流程图如图 5-5。 图 5-5显示数据刷新流程图 温度数据移入显示寄存 器 十位数 0? 百位数 0? 十位数显示符号 百位数不显示 百位数显示数 据(不显示符 号) 结束 n n y y 结束语 短短两周的毕业设计已经结束了,通过这次的毕业设计锻炼了我们的实践能力, 也是对我们以后的实际工作能力的具体训练和考察过程。现在是一个高科技的时代, 单片机已经成

28、为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在的。 因此对于我们这一专业的同学来说,学好单片机,并正确应用单片机是非常重要的。 此次单片机课程设计,从选题到定稿,从理论到实践,在整整两个星期里,学到 了很多的东西。同时不仅巩固了以前所学过的知识,而且还学到了很多在书本上所没 有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有 理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结 论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。这次的 课程设计还让我学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。 更重要

29、的是,我在这一设计过程中,学会了坚持不懈,不轻言放弃。 设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做, 难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过 的知识理解得不够深刻,掌握得不够牢固。我们通过查阅大量有关资料,并在小组中 互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己 学到了不少知识,也经历了不少艰辛,但收获同样巨大。 在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工 作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动 手的能力,使我充分体会到了在创造过程中探索

30、的艰难和成功时的喜悦。虽然这个设 计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富。 单片机课程设计虽然结束了,但通过设计所学到的东西将长久存在。相信这次设 计带给我们的严谨的学习态度和一丝不苟的科学作风将会给我们未来的工作和学习打 下一个更坚实的基础。 参考文献 1王志刚.现代电子线路m.第四版.北京:清华大学出版社,2008:150-176 2高西全,丁玉玉.数字信号处理m.第三版.西安电子科技大学出版社,2008:146-180 3王伟.veri log hdl 程序设计与应用m.北京:人民邮电出版社,2005:80-98 4陈松,金鸿.电子设计自动化技术m.南

31、京:东南大学出版社,2003:58-64 5章锡鹤,盛鸿宇.印制电路板电路设计实训教材m.北京:科学出版社,2005:120-154 6徐欣,于红旗,易凡,卢启中.基于 fpga 的嵌入式系统设计m.北京:机械工业出版社, 2005:82-98 7陈曾平,刘平,马云.电子设计基础与专用系统构成m.北京:科学出版社,2006,55-70 8余发山.单片机原理及应用技术m.徐州:中国矿业大学出版社,2003:56-70 9陈龙三.8051 单片机 c 语言控制与应用m.北京:清华大学出版社,2001:88-100 10李银,汪泳.电子线路设计指导m.北京:北京航空航天大学出版社,2005:105-

32、125 11李广弟.单片机基础m.北京:北京航空航天大学出版社.2006:178-235 12吴颖.数字式温度传感器与分布式温度测量系统j.传感技术学报,2001,(1):26-31 13张萌,和湘,姜斌.单片机应用系统开发m.北京:清华大学出版社,2007:98-106 14王俊峰,斐炳南,李传光.电子产品的设计与制作工艺m.北京:北京理工大学出版社, 1995:128-150 15 maxim new releases data book.volum 1998:50-64 16 onas c.bartee.computere architecture abd logic designj.m

33、cgraw-hill inc. 1991:10-18 17g jiang m zhang, x xie, s li.application on tenperaature control of ds18b20j.control engineering of china,2003:8-20 致 谢 大学生活一晃而过,回首走过的岁月,心中倍感充实,当我写完这篇毕业论文的 时候,有一种如释重负的感觉,感慨良多。 首先要感谢我的导师王老师。本文是在导师的精心指导下完成的,从论文的选题、 设计方案直至完成论文的整个过程中,都得到了王老师耐心细致的指导。王老师严谨 的治学态度、渊博的学识、独特的学术思维、

34、一丝不苟的工作作风、热情待人的品质, 使我满怀敬意。还有教过我的所有老师们,你们严谨细致、一丝不苟的作风一直是我 工作、学习中的榜样,你们循循善诱的教导和不拘一格的思路给予我无尽的启迪。 感谢我的团队,有大家齐心协力,共同努力,互相帮助我才能顺利的完成本系统 的设计和本论文的编写。 感谢四年中陪伴在我身边的同学、朋友,感谢他们为我提出的有益的建议和意见, 有了他们的支持、鼓励和帮助,我才能充实的度过了四年的学习生活。 附 录 用两位共阳数码管显示温度值,读取ds18b20及用两位共阳数码管显示温度的汇编 语言程序如下: org 0000h 单片机内存分配申明 temper_l equ 29h;

35、 用于保存读出温度的低8位 temper_h equ 28h; 用于保存读出温度的高8位 flag1 equ 38h; 是否检测到ds18b20标志位 a_bit equ 20h; 数码管个位数存放内存位置 b_bit equ 21h ; 数码管十位数存放内存位置 main: lcall get_temper; 调用读温度子程序 mov a, 29h mov c,40h; 将28h中的最低位移入c rrc a mov c, 41h rrc a mov c, 42h rrc a mov c, 43h rrc a mov 29h, a lcall display; 调用数码管显示子程序 ajmp

36、main ; 循环显示 init_18b20: ; 这是ds18b20复位初始化子程序 setb p3.2 nop clr p3.2 mov r1,#3; 主机发出延时537微秒的复位脉 冲 tsr1: mov r0,#107 djnz r0, $ djnz r1, tsr1 setb p3.2; 然后拉高数据线 nop nop nop mov r0, #25h tsr2: jnb p3.2,tsr3; 等待ds18b20回应 djnz r0, tsr2 ljmp tsr4 ; 延时 tsr3: setb flag1 ; 置标志位,表示ds18b20存在 ljmp tsr5 tsr4: clr

37、 flag1 ; 清标志位,表示ds18b20不存在 ljmp tsr7 tsr5: mov r0, #117 tsr6: djnz r0,tsr6 ; 时序要求延时一段时间 tsr7: setb p3.2 ret get_temper: ; 读出转换后的温度值 setb p3.2 lcall init_18b20; 先复位ds18b20 jb flag1 ,tss2 ret ; 判断ds18b20是否存在? 若ds18b20不存在则返回 tss2: ; ds18b20已经被检测到! mov a,#0cch ; 跳过rom匹配 lcallwrite_18b20; mov a,#44h ; 发出温度转换命令 lcallwrite_18b20; 等待ad转换结束,12位的话750 微秒 lcall display lcall

温馨提示

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

评论

0/150

提交评论