应用电子技术毕业设计(论文)基于单片机的数字式热敏电阻温度计设计_第1页
应用电子技术毕业设计(论文)基于单片机的数字式热敏电阻温度计设计_第2页
应用电子技术毕业设计(论文)基于单片机的数字式热敏电阻温度计设计_第3页
应用电子技术毕业设计(论文)基于单片机的数字式热敏电阻温度计设计_第4页
应用电子技术毕业设计(论文)基于单片机的数字式热敏电阻温度计设计_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

1、 电子工程学院电子工程学院 毕业论文(设计) 课 题 数字式热敏电阻温度计 教 研 室 电子教研室电子教研室 专 业 应用电子技术应用电子技术 班 级 0808 级应用电子班级应用电子班 学生姓名 学号 导师姓名 职称 助助 教教 2011 年年 1 月月 9 日日 摘摘 要要 温度作为一个重要的物理量,是工业生产过程中最普遍、最重要的工艺参 数之一,所以温度测量技术和测量仪器的研究是一个重要的课题。随着时代的 进步和发展,单片机技术已经伸入到各个领域,基于单片机数字温度计与传统 的温度计相比,具有读数方便,测温范围广,其输出温度采用数字显示。 该论文仔细研究了美国 dallas 公司开发的一

2、线总线技术及其通信协议。论 文首先详细介绍了一线总线智能温度传感器 ds18b20 及单片机工作原理,在此 基础上,设计了相应的硬件原理图及软件程序,实现了温度检测与显示环节。 关键词关键词:单片机,数字温度传感器,ds18b20 ii abstractabstract temperature as an important physics, industrial production process in the most general, one of the most important parameters, so the temperature measurement technol

3、ogy and measurement instrument research is an important topic. with the progress of the times and development, microcontroller technology has dipped into various areas, based on single- chip digital thermometer and traditional thermometer readings, compared with convenient, temperature measurement r

4、ange, its output temperature using digital display. this paper studied the american dallas company development 1-wire bus technology and communication protocols. it firstly introduces in detail 1-wire bus intelligent temperature sensor ds18b20 and single-chip microcomputer principle, on this basis,

5、the corresponding hardware design principle diagram and software program, realized the temperature detection and display link. keywords:keywords: microcontroller, digital temperature, sensor iii ds18b20 目目 录录 第一章第一章 绪绪 论论.1 1.1 课题背景.1 1.2 国内外测温状况.1 1.3 温度检测技术介绍.3 第二章第二章 数字式热敏电阻温度计的设计方案数字式热敏电阻温度计的设计方

6、案.5 2.1 方案一.5 2.2 方案二.6 2.3 方案比较与选择.7 第三章第三章 设计原理与结构设计原理与结构.7 3.1 ds18b20 结构及工作原理.7 3.2 单片机介绍.13 3.3 led 显示器简介.15 3.4 led 显示器工作原理.16 第四章第四章 系统结构及工作原理系统结构及工作原理.18 4.1 系统硬件原理图及相关说明.18 4.2 系统软件算法说明.19 第五章第五章 系统程序的设计系统程序的设计.21 5.1 程序模块设计.21 5.2 温度数据的计算处理方法.26 总总 结结.28 参参 考考 文文 献献.30 致致 谢谢.31 附附 录录.32 1

7、第一章第一章 绪绪 论论 1.11.1 课题背景课题背景 “工欲善其事,必先利其器” ,这是中国的一句古话,人们早就知道工具的重要性。 随着以知识经济为特征的信息时代的到来,人们对仪器仪表作用的认识愈加深入。作为 工业自动化技术工具的自动化仪表与控制装置,在高新技术的推动下,正跨入真正的数 字化、智能化、网络化的时代。而温度作为一个重要的物理量,是工业生产过程中最普 遍、最重要的工艺参数之一。随着工业的不断发展,对温度测量的要求越来越高,而且 测量的范围也越来越广,对温度的检测技术的要求也越来越高。因此,温度测量和温度 测量技术的研究也是一个重要的研究课题。 温度传感器是当前温度检测的主要器件

8、,本课题的主要出发点是设计出测量温度检 测的温度连续检测的仪器。 该论文主要讲述了用温度传感测温的主要原理、实际硬件电路的设计、软件设计和 调试分析。第一章介绍了温度检测现状和仪器仪表的发展现状。第二章提出了几种单片 机数字温度计的设计方案并作出比较。第三章讲述了单片机系统硬件电路的设计过程, 包括对智能温度传感器 ds18b20 详细的介绍以及单片机系统的设计,并讲述了仪器的软 件设计,给出了软件流程图,整套仪器是由单片机系统控制的,包括 led 显示器、通讯 接口等。第四章进行系统调试分析,这将有助于今后对系统的改进,以进一步提高系统 的测量精度,并讲述了通过本设计所得的结论和心得体会。

9、1.21.2 国内外测温状况国内外测温状况 随着国内外工业的日益发展,温度检测技术也不断地进步,目前的温度检测使用的 温度计种类繁多、应用范围也较广泛,大致包括以下几种方法: (1)利用物体热胀冷缩原理制成的温度计 利用此原理制成的温度计大致分成三大类: a 玻璃温度计,它是利用玻璃感温包内的测温物质(水银、酒精、甲苯、煤油等) 受热膨胀、遇冷收缩的原理进行温度测量的; b 双金属温度计,它是采用膨胀系数不同的两种金属牢固粘合在一起制成的双金属 片作为感温元件,当温度变化时,一端固定的双金属片,由于两种金属膨胀系数不同而 产生弯曲,自由端的位移通过传动机构带动指针指示出相应温度; 2 c 压力

10、式温度计,它是由感温物质(氮气、水银、二甲苯、甲苯、甘油和低沸点液 体如氯甲烷、氯乙烷等)随温度变化,压力发生相应变化,用弹簧管压力表测出它的压 力值,经换算得出被测物质的温度值。 (2)利用热电效应技术制成的温度检测元件 利用此技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至今 仍为应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度高、 热惯性小等特点。常用的热电偶有以下几种: a 镍铬-镍硅,型号为 wrn,分度号为 k,测温范围 0-900,短期可测 1200。 b 镍铬-康铜,型号为 wrk,分度号为 f,测温范围 0-600,短期可测 800。 c

11、铂铑-铂,型号为 wrp,分度号为 s,在 1300以下的温度可长期使用,短期可测 1600。 d 铂锗 30-铂锗 6,型号为 wrr,分度号为 b,测温范围 300-1600,短期可测 1800。 (3)利用热阻效应技术制成的温度计 用此技术制成的温度计大致可分成以下几种: a 电阻测温元件,它是利用感温元件(导体)的电阻随温度变化的性质,将电阻的 变化值用显示仪表反映出来,从而达到测温的目的。目前常用的有铂热电阻(分度号为 pt100,pt10 两种)和铜热电阻(分度号有 cu5o,cu100 两种) 。 b 导体测温元件,它与热电阻的温阻特性刚好相反,即有很大副温度系数,也就是 说温度

12、升高时,其阻值降低。他们的关系为: 0 0 11 ()b tt tt rr e 式中 rt在温度 t(k)时的电阻值; rt0在温度 t0(k)时的电阻值; e自然对数的底; b常数,其值与半导体材料的成分和制作方法有关。 c 陶瓷热敏元件 它的实质是利用半导体电阻的正温特性,用半导体陶瓷材料制作而成的热敏元件, 常称为 pci,或 nci 热敏元件。pct 热敏元件分为突变型和缓变型两类。突变型 pct 元件 的温阻特性是当温度达到顶点时,它的阻值突然变大,有限流功能,多数用于保护电器。 缓变型 pci 元件的温阻特性基本上随温度升高阻值慢慢增大,起温度补偿作用。nci 元件 3 特性与 p

13、gt 元件的突变特性刚好相反,即随温度升高,它的阻值减小1。 (4)利用热辐射原理制成的高温计 辐射测温在近年相对其他的测温领域显得活跃些,热辐射高温计通常分为两种:一 种是单色辐射高温计,一般称光学高温计;另一种是全辐射高温计,它的原理是物体受 热辐射后,视物体本身的性质,能将其吸收、透过或反射。而受热物体放出的辐射能的 多少,与它的温度有一定的关系。热辐射式高温计就是根据这种热辐射原理制成的。 (5)利用声学原理进行温度测量 声学法温度检测技术是近年来发展起来的一项新技术,利用该技术,可以对炉内的 烟气温度测量值和火焰分布在线检测,判断炉的燃烧状况,进行实时调节和控制。声学 温度检测技术的

14、基本原理是通过测量声波传感器间的声波传播时间以最小二乘原理重建 温度的测量方法。 1.31.3 温度检测技术介绍温度检测技术介绍 近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,已取得了重 大进展。新一代温度检测元件正在不断出现和完善化。 (1)晶体管温度检测元件 半导体温度检测元件是具有代表性的温度检测元件。半导体的电阻温度系数比金属 大 12 个数量级,二级管和三极管的 pn 结电压、电容对温度灵敏度很高。基于上述测 温原理己研制了各种温度检测元件2。 (2)集成电路温度检测元件 利用硅晶体管基极发射极间电压与温度关系(即半导体 pn 结的温度特性)进行温 度检测,并把测温、

15、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即 构成了集成电路温度检测元件。目前,国内外也进行了生产。 (3)核磁共振温度检测器 所谓核磁共振现象是指具有核自旋的物质置于静磁场中时,当与静磁场垂直方向加 以电磁波,会发生对某频率电磁的吸收现象。利用共振吸收频率随温度上升而减少的原 理研制成的温度检测器,称为核磁共振温度检测器。这种检测器精度极高,可以测量出 千分之一开尔文,而且输出的频率信号适于数字化运算处理,故是一种性能十分良好的 温度检测器。在常温下,可作理想的标准温度计之用。 (4)热噪声温度检测器 它的原理是利用热电阻元件产生的噪声电压与温度的相关性。其特点是: 4 a 输

16、出噪声电压大小与温度是比例关系; b 不受压力影响; c 感温元件的阻值几乎不影响测量精确度; 所以它是可以直接读出绝对温度值而不受材料和环境条件限制的温度检测器。 (5)石英晶体温度检测器 它采用 lc 或 y 型切割的石英晶片的共振频率随温度变化的特性来制作的。它利用 p 技术,自动补偿石英晶片的非线性,测量精度较高,一般可检测到 0.001,所以可作标 准检测之用。 (6)激光温度检测器 激光测温特别适于远程测量和特殊环境下的温度测量。用氦氖激光源的激光作反射 计可测得很高的温度,精度达 1%;用激光干涉和散射原理制作的温度检测器可测量更高 的温度,上限可达 3000,专门用于核聚变研究

17、,但在工业上应用还需进一步开发和实 验。 (7)微波温度检测器 采用微波测温可以达到快速测量高温的目的。它是利用在不同温度下,温度与控制 电压成线性关系的原理制成的。这种检测器的灵敏度为 250khz/,精度为1%左右,检 测范围为 201400。 (8)纯贵金属热电偶的研究 由两种纯金属组成的热电偶,因其材料均匀性远优于合金材料,因而稳定性好得多。 在铂铑合金热电偶(s,r 型)的不确定度已很难提高之后,人们开始寻找由纯贵金属组 成的热电偶,以代替 s 和 r 型热电偶,作为传递的标准3。 (9)信息技术时代自动化系统中的温度检测仪表 现代的工业过程自动化系统是现场总线控制系统,它是信息技术

18、进入工业自动化后 出现的新一代的自动控制系统。现场总线是安装在制造或过程区域的现场装置与控制室 内的自控装置之间的数字式、串行、多点通信的数据总线。所有的现场仪表(温度检测 仪表是其中一种)均接到现场总线上。在这样的系统中,通常不应使用各有不同输出的 温度计,必须将输出转变成统一的电信号,这样“温度计”就变成了“温度变送器” 。在 现场总线控制系统中的温度变送器主要是热电偶变送器和热电阻变送器,也有辐射温度 变送器。 5 第二章第二章 数字式热敏电阻温度计的设计方案数字式热敏电阻温度计的设计方案 2.12.1 方案一方案一 系统的硬件电路包括微控制器部分(主机),温度检测,人机对话(键盘/显示

19、)三个 主要部分。系统结构框图和硬件原理图分别如图 2-1 和图 2-2 所示。 图 2-1 方案(一)系统结构框图 温度检测部分采用传统的热敏电阻,热敏电阻的阻值随环境温度变化而变化,变送 器将电阻信号转换成与温度成正比的电压信号,经 a/d 转换器将其转换为单片机可识别 得二进制数字量,单片机主要控制 led 显示器显示正确的温度值,led 显示器实现显示功 能。 6 图 2-2 方案(一)系统硬件原理图 7 2.22.2 方案方案二二 本方案与方案一的区别主要是在温度检测部分利用了一款新型的温度检测 芯片 ds18b20,这个芯片大大简化了温度检测模块的设计,它无需 a/d 转换, 可直

20、接将测得的温度值以二进制形式输出。该方案的原理框图和硬件原理图如 图 2-3 和图 2-4 所示: led 显示器 80c51 单片机 温度传感器 ds18b20 图 2-3 方案(二)系统结构框图 ds18b20是美国达拉斯半导体公司生产的新型温度检测器件,它是单片结 构,无需外加a/d即可输出数字量,通讯采用单线制,同时该通讯线还可兼作 电源线,即具有寄生电源模式。它具有体积小、精度易保证、无需标定等特点, 特别适合与单片机合用构成智能温度检测及控制系统。 图 2-4 方案(二)系统硬件原理图 8 2.32.3 方案比较与选择方案比较与选择 方案(一)与方案(二)的主要区别在温度检测部分,

21、方案(一)是采用热 敏电阻检测温度,然后利用 a/d 转换器将温度模拟量转换为二进制数供单片机 处理。方案(二)主要利用 ds18b20 这块芯片进行温度检测,并将采集到的模 拟量转换为单片机识别的二进制数。 方案(一)与方案(二)相比,它最大的特点就是它能检测的温度范围很大, 热敏电阻的性能决定了整个设计的所能检测的温度范围。方案(二)的温度检 测范围已经由系统中的 ds18b20 的特性所决定,它能检测的温度范围为-55 到 120,虽然其温度检测范围很窄,但已足够满足一般测量需要,从整体上 来看方案(二)比方案(一)更简单,因为我们方案(二)是利用现有的智能 温度传感芯片 ds18b20

22、,他无需 a/d 转换,直接输出数字量。所以本设计中所 使用的温度测量电路是方案(二)的电路。 第三章第三章 设计原理与结构设计原理与结构 3.13.1 ds18b20ds18b20 结构及工作原理结构及工作原理 温度传感器之所以考虑选择单线数字器件 ds18b20,是在经过多方面比较 和考虑后决定的,主要有以下几方面的原因: 系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功 能越来越强大,体积越来越小,而价格也越来越低。一支 ds18b20 的体积与普 通三极管相差无几,价格只有十元人民币左右。 系统复杂度:由于 ds18b20 是单总线器件,一条总线上可以挂接多个 ds18

23、b20,因此,与模拟传感器相比,可以大大减少接线的数量,而且不需要 a/d 转换器,降低系统的复杂度。 系统的调试和维护,由于引线的减少,使得系统接口大为简化,给系统的 调试带来方便;同时,由于 ds18b20 是全数字元器件,故障率很低,抗干扰性 强。 图 3-1 介绍了 ds18b20 的引脚和外观,表 3-1 则对 ds18b20 各引脚进行了 单独介绍。 9 图 3-1 ds18b20 引脚图 表 3-1 ds18b20 引脚说明 引脚符号说明 1gnd 接地 2dq 单线运用的数据输入/输出引脚漏极开路 3vdd 可选 vdd 引脚的两种供电方式 ds18b20 有两种供电方式可供选

24、择,即数据总线供电方式和外部供电方式。 采取数据总线供电方式可以节省一根导线,但是完成温度测量的时间较长;采 取外部供电方式会多用一根于供电导线,好处是可以更快的得到温度测量的结 果6。 ds18b20 内部结构框图如图 3-2 所示: 图 3-2 ds18b20 内部结构框图 10 1)特点描述 采用单总线技术,与单片机通讯只要一根 i/o 线。通过比较系列号可以在 一根线上挂接多个 ds18b20;低压供电,电源范围从 3v5.5v,也可以直接从 数据线上窃取电源;测温范围-55125摄氏度;数据位可编程 9-12 位,转 换 12 位温度时间为 750ms(最大) ;用户可自设定预警上下

25、限温度;报警搜索 命令可识别和寻址那个器件的温度至超出预定值。 ds18b20 的另一特点是无外线电源工作能力。当总线为高时,稳定电源的 提供是通过单线上的上拉电阻实现的,总线信号“高”也控制内部电容(cpp) , 当总线为低时由电容为器件供电。从单线总线上获得电源的方法被称之为“寄 生电源” 。ds18b20 也可以通过外部供电从 vdd 获得电源。 ds18b20 工作过程中的协议如下 (1)初始化; (2)rom 操作命令; (3)存储器操作命令; (4)处理数据; 2)64 位激光 rom 码 每一个 ds18b20 都有一个 64 位码(见表 3-2)存在 rom 中。rom 码的低

26、 8 位含有 ds18b20 的单线产品系列编码:28h。接下来的 48 位包含了唯一的系列 号。 高 8 位包含有一个循环冗余校验字节,它是根据 rom 码的前 56 位计算得到 的。 表 3-2 64 位激光 rom 码 8 位 crc 48 位序列号 8 位系列编码 (10h) msb lsb msb lsb msb lsb 3)温度测量 ds18b20 的存储器如表 3-3 所示,存储器由一个高速暂存便笺式 ram 和一 11 个非易失性 e2pram 组成,后者存储上限温度和下限温度的值,还有触发器 th 和 tl。暂存存储器有助于在进行一线通信时,确保数据的完整性。数据首先写 入暂

27、存存储器,并在那里被读回。当数据校验之后。执行复制暂存存储器的命 令,将数据传送到非易失性存储器 e2pram 中,这一过程确保了更改存储器时数 据的完整性。 表 3-3 ds18b20 存储器映像表 存储器位 温度 lsb 1 温度 msb 2 th 用户字节 1 3 tl 用户字节 2 4 配置寄存器 5 保留 6 保留 7 保留 8 crc9 暂存存贮器是按 8 位字节存储器来组织的,前两个字节包含温度信息;第 3 和第 4 个字节分别是 th 和 tl 的易失性拷贝,且在每一次上电复位时被刷新; 第 5 个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率; 6,7,8 的三个字

28、节没有使用,但是在读回时它们呈现为逻辑全 1;第 9 个字节 读出前面 8 个字节的 crc 码,用来校验数据,从而保证通信数据的正确性7。 ds18b20 通过使用在板 on-board 温度测量专利技术来测量温度,温度测量 电路的方框图见下图 3-3 所示: 非易失性存储器 th 用户字节 1 tl 用户字节 2 12 图 3-3 温度测量电路 ds18b20通过门开通期间内,低温度系数振荡器经历的时钟周期个数计数来 测量温度。同时门开通期由高温度系数振荡器决定,计数器预置对应于-55的 基数。如果在门开通期结束前计数器达到零,那么温度寄存器仍被预置到-55 的数值。 同时计数器用斜率累加

29、器电路所决定的值进行预置。为了对遵循抛物线规 律的振荡器温度特性进行补偿,这种电路是必需的。时钟再次使计数器计值, 至它达到零。如果门开通时仍未结束,那么此过程再次重复。 斜率累加器用于补偿振荡器温度特性的非线性,以产生高分辨率的温度测 量。通过改变温度每升高一度计数器必须经历的计数个数,来实行补偿。因此 为了获得所需的分辨率,计数器的数值以及在给定温度处每一摄氏度的计数个 数(斜率累加器的值)都必须事先知道。 当 ds18b20 接收到温度转换命令之后,开始启动转换。转化完成后的温度 值以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的第 1、2 字节。 单片机可以通过单线接口读出

30、该数据,读数据时低位在前,高位在后,数据格 式以 0.625/lsb 形式表示。温度值格式如表 3-4 所示: 当符号位s=0时,表示测得的温度值为正值,可以直接将二进制数转化为十 进制数; 当符号为s=1时,表示测得的温度值为负值,要先将补码变成原码,再计算 其对应的十进制数。表3-5说明了输出数据与测量温度的关系8: 13 表 3-4 温度值格式表 bit7bit6bit5bit4bit3bit2bit1bit0 23 22 21 20 2-1 2-2 2-3 2-4 bit15bit14bit13bit12bit11bit10bit9bit8 sssss26 2524 表3-5 模数转换

31、对应值 温度数字输出(二进制)十六进制表示 12500000011 1101000007d0h 8500000101 0101 00000550 25.062500000001 100100010191h 10.12500000000 1010001000a2h 0.500000000 000010000008h 000000000 000000000000h -0.511111111 11111000fff8h -10.12511111111 0101 1110ff5eh -25.062511111110 01101111fe5fh -5511111111 10010010fc90h ds1

32、8b20 完成温度转换后,把测得的温度值与 ram 中的 th 和 tl 内容作比 较,若 tth 或 ttl,则将该器件内的报警标志位置位,并对主机发的报警 搜索命令作出响应,因此,可用多只 ds18b20 同时测量温度并进行报警搜索。 4)crc 的产生 总线上的主机可以根据rom的前56位计算出crc的值,并把它与存贮在 ds18b20内的crc值进行比较,以判断rom的数据是否已被主机正确地接收。 crc的等效多项式函数为: crc=x8+x5+x4+1 ds18b20也利用与上述相同的多项式函数,产生一个8位crc值并把此值提供 14 给总线的主机,以确认数据字节的传送。在使用crc

33、来确认数据传送的每一种情 况中,总线主机必须使用上面给出的多项式函数计算crc的值,并把计算所得的 值或者与ds18b20中的8位crc值比较,或者与ds18b20中计算得到的8位crc值比 较。crc值的比较和是否继续操作都由总线主机来决定。当存储在ds18b20内或 由ds18b20计算得到的crc值与总线主机产生的值不相符合时,在ds18b20内没有 电路来阻止命令序列的继续执行。 总线crc可以使用如图3-4所示的一个移位寄存器和异或(xor)门组成的多 项式产生器来产生。 图 3-4 单线 crc 编码 3.23.2 单片机介绍单片机介绍 目前,单片机的种类很多,mcs-51 8 位

34、单片机系列、mcs-96 16 位单片机 系列,还出现了 32 位单片机。位数越高,运算速度越快。由于 intel 公司的这 种 mcs 系列的经典体系结构、极好的兼容性和其最彻底的技术开放政策,许多 电器商、半导体商(如:atmel, phlips, ananog devices, dallas 等)以 mcs 系列单片机的基本内核为内核开发了众多芯片。其中,以 mcs-51 系列系统结构 为核心的单片机更是品种繁多,统称为 8051 和 80c51(chmos 工艺) 。 本系统在数据处理上速度要求不是很高,8 位单片机即可。因此,选用 mcs-51 系列单片机。考虑到功耗问题(如:805

35、1 功耗为 630mw,而 80c51 为 120mw) ,本系统选用 chmos 工艺的芯片。又因本系统需要处理数量较大的数据, 程序占用空间也较大,而对定时器计数器和中断源的数量要求不多。结合现有 的单片机开发系统(伟福仿真器 e6000) ,本系统选用 80c51 系列单片机。 下面对 i/o 并行口进行说明: 15 p0 口:p0 口是一个漏极开路的 8 位双向 i/o 端口,每位能驱动 8 个 ls 型 ttl 负载。共有 8 条引脚,有两种不同功能。第一种是 8031 不带片外存储器, p0 口可以作为通用 i/o 口使用,用于传送 cpu 的输入输出数据。这时,输出数 据可以得到

36、锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数 据输入的可靠性:第二种是 8031 带片外存储器,p0 口在 cpu 访问片外存储器 时先用于传送片外存储器的低 8 位地址,然后传送 cpu 对片外存储器的读写数 据9。 p1 口:p1 口是一个带内部上拉电阻的 8 位准双向 1/o 端口,在 p1 口作为 输入口使用时,应先向 p1 口锁存器(地址 90h)写入全 1,此时 p1 口引脚由内 部上拉为高电平。当 p1 口作为通用 i/o 口使用时,p1.7p1.0 的功能和 p0 口 的第一功能相同,也用于传输用户的输入或输出数据。 p2 口:p2 口也是一个带内部上拉电阻的 8

37、 位准双向 i/o 端口。p2 口的每 一位能驱动(吸收或输出电流)4 个 ls 型 ttl 负载。它也有两种功能。第一功 能是可以作为通用 i/o 口使用;第二功能是和 p0 口第二功能相配合,用于输出 片外存储器的高 8 位地址,共同选中片外存储器单元,但不能像 p0 口那样传送 存储器的读写数据。 p3 口:是一个带内部上拉电阻的 8 位准双向 i/o 端口,第一功能和 p0,p1,p2 的第一功能相同,第二功能作为控制用,每个引脚功能并不完全相 同10,如表 3-6 所示: 表 3-6 p3 口各位功能表 p3 口的位第二功能注释 p3.0rxd 串行数据接收口 p3.1txd 串行数

38、据发送口 p3.2int0 外部中断 0 输入 p3.3int1 外部中断 1 输入 p3.4t0 计数器 0 的外部输入 p3.5t1 计数器 1 的外部输入 p3.6wr 外部 ram 的写选通信号 16 p3.7rd 外部 ram 的读选通信号 3.33.3 ledled 显示器简介显示器简介 通过发光二极管芯片的适当连接(包括串联和并联)和适当的光学结构。 可构成发光显示器的发光段或发光点。由这些发光段或发光点可以组成数码管、 符号管、米字管、矩阵管、电平显示器管等等。通常把数码管、符号管、米字 管共称笔画显示器,而把笔画显示器和矩阵管统称为字符显示器。 (一)led 显示器结构 基本

39、的半导体数码管是由七个条状发光二极管芯片按图 12 排列而成的。可 实现 09 的显示。其具体结构有“反射罩式” 、 “条形七段式”及“单片集成式 多位数字式”等 (1)反射罩式数码管一般用白色塑料做成带反射腔的七段式外壳,将单个 led 贴在与反射罩的七个反射腔互相对位的印刷电路板上,每个反射腔底部的 中心位置就是 led 芯片。在装反射罩前,用压焊方法在芯片和印刷电路上相应 金属条之间连好 30m 的硅铝丝或金属引线,在反射罩内滴入环氧树脂,再 把带有芯片的印刷电路板与反射罩对位粘合,然后固化。反射罩式数码管的封 装方式有空封和实封两种。实封方式采用散射剂和染料的环氧树脂,较多地用 于一位

40、或双位器件。空封方式是在上方盖上滤波片和匀光膜,为提高器件的可 靠性,必须在芯片和底板上涂以透明绝缘胶,这还可以提高光效率。这种方式 一般用于四位以上的数字显示(或符号显示) 。 (2)条形七段式数码管属于混合封装形式。它是把做好管芯的磷化镓或磷 化镓圆片,划成内含一只或数只 led 发光条,然后把同样的七条粘在日字形 “可伐”框上,用压焊工艺连好内引线,再用环氧树脂包封起来。 (3)单片集成式多位数字显示器是在发光材料基片上(大圆片) ,利用集 成电路工艺制作出大量七段数字显示图形,通过划片把合格芯片选出,对位贴 在印刷电路板上,用压焊工艺引出引线,再在上面盖上“鱼眼透镜”外壳。它 们适用于

41、小型数字仪表中。 (4)符号管、米字管的制作方式与数码管类似。 (5)矩阵管(发光二极管点阵)也可采用类似于单片集成式多位数字显示 17 器工艺方法制作。 (二)led 显示器分类 (1)按字高分:笔画显示器字高最小有 1mm(单片集成式多位数码管字高 一般在 23mm) 。其他类型笔画显示器最高可达 12.7mm(0.5 英寸)甚至达数 百 mm。 (2)按颜色分有红、橙、黄、绿等数种。 (3)按结构分,有反射罩式、 单条七段式及单片集成式。 (4)从各发光段电极连接方式分有共阳极和共阴 极两种。 (三)led 显示器的参数 由于 led 显示器是以 led 为基础的,所以它的光、电特性及极

42、限参数意义 大部分与发光二极管的相同。但由于 led 显示器内含多个发光二极管,所以需 有两个特殊参数,第一、发光强度比(由于数码管各段在同样的驱动电压时, 各段正向电流不相同,所以各段发光强度不同。所有段的发光强度值中最大值 与最小值之比为发光强度比。比值可以在 1.52.3 间,最大不能超过 2.5)第 二、脉冲正向电流(若笔画显示器每段典型正向直流工作电流为 if,则在脉冲 下,正向电流可以远大于 if。脉冲占空比越小,脉冲正向电流可以越大) 3.43.4 ledled 显示器工作原理显示器工作原理 发光二极管一般为砷化镓半导体二极管,在发光二极管两端加上正电压, 发光二极管发光。而数码

43、管 led 是由若干个二极管组合而成的,一般的“8”字 型 led 由“a,b,c,d,e,f,g,dp”8 个发光二极管组成,如图 3-5 所示, 每个发光二极管称为一个字段。 图 3-5 七段 led 结构及外形图 18 七段 led 有共阴极和共阳极两种结构形式。 显示电路一般分为静态显示和动态显示两类。 (1)共阳极接法 把发光二极管的阳极连接在一起构成公共阳极。使用时公共阳极接 vcc, 当某阴极端为低电平时,该发光二极管就导通发光。 (2)共阴极接法 把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接 gnd,当 某阳极端为高电平时,该段发光二极管就导通发光。 七段 led

44、包含七段发光二极管和小数位发光二极管,共需 8 位 i/o 口线控 制,其代码为一个字节。七段 led 字型码见表 3-7 所示。 表 3-7 七段 led 字形码 显示字 符 共阴极 字形码 共阳极 字形码 显示字符共阴极 字形码 共阳极 字形码 03fhc0hc39hc6h 106hf9hd5eha1h 25bha4he79h86h 34fhb0hf71h8eh 466h99hp73h8ch 56dh92hu3ehc1h 67dh82hr31hceh 707hf8hy6eh91h 87fh80hh76h89h 96fh90hl38hc7h a77h88h “灭” 00hffh b7ch83

45、h 19 第四章第四章 系统结构及工作原理系统结构及工作原理 4.14.1 系统硬件原理图及相关说明系统硬件原理图及相关说明 本设计硬件原理图如图 4-7 所示: 图 4-7 单片机温度计硬件设计原理图 下面对该电路图进行简要的说明: (1)基于 80c51 单片机及其外围电路的主机控制单元: 80c51 单片机功能强、i/o 口多,它们分别是 p0 口、p1 口、p2 口和 p3 口。 本设计中利用了其中的 2 个 i/o 口,与本系统其它部分连接,分别实现了不同 的功能: p1 口输出段码,通过 74ls244 连接 4 个 led 显示器。列扫描用 p3.0p3.3 口来实现,列驱动使用

46、 9012 三极管。 p3.7 口连接 ds18b20 的输出。 (2)ds18b20 串行组成的一线总线型网络 由 ds18b20 组成的一线总线网络,由三条线连接。它们分别是电源线、数 据传输线和地线。电源线根据 ds18b20 的要求,使用 5v 的直流供电。在具体设 20 计上可以和 80c51 使用同一个电压源。数据传输线直接连接在 p3 口的 p3.7 引 脚上,对应着 p3 寄存器的 p3.7 数据位,因此主机对总线上的 ds18b20 的操作 实际上就是对 p3.7 数据位的操作12。 (3)led 数字显示及其驱动电路 ds18b20 测温范围上限是 125,加上一个小数位,

47、因此温度的十进制显 示需要用 4 位 led 显示。这里的 led 驱动器选择了 74ls244,74ls244 是一个两 4 位三态缓冲器,其引脚如图 3-8 所示,当它的控制端和为低电平时,输出 y 的状态与输入端 a 相同:当和为高电平时,输出成高阻状态。输入设备的数据 可在 74ls244 中得到缓冲。 图 4-8 74ls244 外部引脚图 4.24.2 系统软件算法说明系统软件算法说明 (1)程序开始后,80c51 向 ds18b20 发送 read rom 命令; (2)ds18b20 向 80c51 发送 64 位 rom 码,80c51 将收到的 rom 码存入数 据暂存存储

48、器; (3)80c51 向总线发送复位脉冲后释放总线; (4)80c51 向总线发送 convert t 命令并延时 1-2 秒钟,ds18b20 开始进 行温度转换,并将结果存入存储器; (5)80c51 向总线发送复位脉冲,收到响应存在脉冲后,向总线发送 match rom 命令; (6)80c51 向总线发送 rom 编码,该 rom 码的 ds18b20 开始响应; (7)80c51 向总线发送 read scratchpad 命令并释放总线; (8)ds18b20 向总线发送存储器里存放的温度转换结果; 21 (9)80c51 将接收到的结果转换成十进制,并通过 led 数码管显示出

49、来; 80c51向p3.7发送复位脉冲释放总线 80c51向总线发出convert t命令 ds18b20向80c51发送rom码并存储 80c51向ds18b20发送read rom命令 ds18b20开始温度转换并储存结果 80c51向总线发送复位脉冲 80c51向总线发送match rom命令 80c51接收数据并控制led显示 ds18b20向总线发送温度转换结果 80c51向总线发出read scratchpad命令 结束开始 总线上的ds18b20开始响应 图 4-9 系统工作流程图 当系统进入温度监测运行之后,是无法再进入读 rom 操作的。系统每次重 启进入温度监测运行模式之后

50、,都要重新搜索总线上 ds18b20 的 rom 码。所以, 如果在系统重启之前改变总线上的 ds18b20,那么系统就会重新为 ds18b20 排 序和编号。用户在每次重启的时候都需要注意这个问题。要看看总线上的 ds18b20 是否有变动。如果有变动,就必须重新为这些 ds18b20 的编号做记录。 反过来说,如果系统总线上的 ds18b20 发生变动,就必须重启系统。重新搜索 ds18b20 的 rom 码。 22 第五章第五章 系统程序的设计系统程序的设计 5.15.1 程序模块设计程序模块设计 系统程序主要包括 c 程序主函数、ds18b20 复位函数、ds18b20 写字节函数、

51、ds18b20 读字节函数、温度计算转换函数和显示函数。 1:主函数 主函数的主要功能是初始化并负责温度的读出、处理计算及显示。温度测量 每 2s 进行一次,其程序流程如图 5-1 所示: 初始化 开机显示“8888” 显示2s 读出温度值,主机发出温度转 换命令,温度计算处理 显示温度值2s 图 5-1 ds18b20 数字温度计主函数流程图 2:ds18b20 复位函数 复位函数时序如图 5-1 所示,总线 t0 时刻发送一复位脉冲,接着在 t1 时刻 释放总线并进入接收状态,ds18b20 在总线的上升沿之后等待 1560s,然后在 t2 时刻发出存在脉冲,如图虚线所示,单片机接收到低电

52、平脉冲说明复位成功, 否则需要重新进行复位操作。 23 图 5-1 ds18b20 复位时序 3:ds18b20 写字节函数 当主机总线 t0 时刻从高拉至低电平时就产生写时间隙,写位时序见图 3- 12。从 t0 时刻开始 15s 之内主机应将所需写的位送到总线上,ds18b20 在 t0 后 1560s 内对总线电平采样。连续写两位的间隙应大于 1s。 图 5-2 ds18b20 写 0 和写 1 时序 4:读字节函数 如图 5-3 所示为读位时序函数,主机总线 t0 时刻从高拉至低电平时,总 线需要保持低电平 14s,之后在 t1 时刻将总线拉高产生读时间隙,读时间隙 在 t1 时刻后

53、t2 时刻前有效,t2 距 t015s,也就是说 t2 时刻前主机必须完成 读位并在 t0 后的 60120s 内释放总线。连续读 2 位的间隙应大于 1s。 图 5-3 读位函数时序 24 5:温度计算转换函数 温度数据处理程序将 12 位温度值进行 bcd 码转换运算,并进行温度值正 负的判断,其程序流程如图 3-14 所示: 温度值取补码 置“-”标志 开始 温度零下? 计算小数位的bcd码 计算整数位的bcd码 返回 y n 图 5-4 温度计算转换函数流程图 6:ds18b20 的主要 rom 命令和存储器命令 一旦总线主机检测到从属器件的存在,它便可以发出某个 rom 操作命令。

54、所有 rom 操作命令均为 8 位长,这些命令列表如下表 5-5 所示: 表 5-5 rom 操作指令 指令说明代码总线操作 read rom 读 rom 33h ds18b20 发送 rom 码 match rom 匹配 rom cch 主机发送 rom 码 skip rom 跳过 rom 55h 主机发出存储器命令 search rom 搜索 rom f0h ds18b20 发送第一位“与” alarm search 告警搜索 ech ds18b20 发送“0”或“1” 25 (1)read rom(读 rom)33h 此命令允许总线主机读 ds18b20 的 8 位产品系列编码、唯一的

55、48 位序列 号,以及 8 位的 crc。此命令只能在总线上仅有一个 ds18b20 的情况下使用。 如果总线上存在多于一个的从属器件,那么当所有从片企图同时发送时,总线 上将发生数据冲突的现象,漏极开路会产生线与的结果。 (2)match rom(匹配 rom)55h 符合 rom 命令,后继以 64 位的 rom 数据序列,使总线主机能对总线上特 定的 ds18b20 寻址。只有与 64 位 rom 序列严格相符的 ds18b20 才能对后继的存 贮器操作命令做出响应。所有与 64 位 rom 序列不符的从机将停止响应,等待复 位脉冲。此命令在总线上有单个或多个器件的情况下均可使用。 (3

56、)skip rom(跳过 rom)cch 在单点总线系统中,此命令允许总线主机不提供 64 位 rom 编码而访问存 储器。由于该命令可以命令总线上所有从机同时进行相同的操作,因此能够缩 短系统运行的周期。如果在总线上存在多于一个的从属器件,而且在 skip rom 命令之后,又指令所有从机向总线发送数据,那么会在总线上发生数据冲突, 并产生“线与”的效果16。 (4)search rom(搜索 rom)f0h 当系统开始工作时,总线主机可能不知道总线上器件的个数,或者是不知 道它们的 64 位 rom 编码,搜索 rom 命令允许总线主机使用一种消去处理,来识 别总线上所有从片的 64 位

57、rom 编码以及得知总线上 ds18b20 的数量。 (5)alarm search(告警搜索)ech 此命令的流程与搜索 rom 命令相同。但是,仅在最近一次温度测量出现告 警的情况下,ds18b20 才对此命令作出响应。告警的条件定义为温度高于 th 或 低于 tl。只要 ds18b20 一上电,告警条件就保持在设置状态,直到另一次温度 测量显示出非告警值,或者改变 th 或 tl 的设置使得测量值再一次位于允许的 范围内。贮存在 e2prom 的触发器值用于告警。 ds18b20 的 rom 操作命令设置,不但能够帮助实现“一主多从”的温度检 测网络,同时由于 skip rom 命令的设

58、置,在加快系统运行周期方面也具有独特 的优势。主机在进入操作程序前必须接入 ds18b20,用 rom 命令建立与目标 26 ds18b20 的通信。 程序中如果先有 skip rom 命令,然后执行 convert t 命令,即是启动所 有 ds18b20 进行温度变换。之后通过 match rom 再逐一地读回每个 ds18b20 的 温度数据。在 ds18b20 组成的测温系统中,主机在发出 skip rom 命令之后再发 出统一的温度转换启动码 44h,就可以实现所有温度转换。再经过 12s 后,就 能用很少的时间去读取,这种方式使得系统的运行周期小于传统方式。传统方 式中由于采取公用

59、的放大电路和 a/d 转换器,只能让传感器的测量结果逐一转 换。 (6)read scratchpad(读暂存存储器)beh 此命令读暂存存储器的内容,读操作开始于字节“0”并继续经过暂存存 储器直至第九个字节,直到 crc 被读出为止。如果不是所有位置均可读,那么 主机可以在任何时候发出复位脉冲以中止读操作。 (7)copy scratchpad(复制暂存存储器)48h 此命令把暂存存储器复制入 ds18b20 的 e2 存储器,把温度触发器字节存 入非易失性存储器。如果总线主机在此命令之后发出读时间片,那么当 ds18b20 正忙于把暂存存储器复制入 e2 时,它就会在总线上输出 0,当复

60、制过 程完成之后它将返回 1。如果由寄生电源供电,总线主机在发出此命令之后必 须能立即强制上拉至少 l0ms。 (8)write scratchpad(写暂存存储器)4eh 此命令将两个温度阈值写入 ds18b20 的存储器。当测量温度超过阈值范围 时,传感器将发出报警信号。 (9)convert t(温度变换)44h 此命令开始温度变换。不需要另外的数据,温度变换将被执行。接着 ds18b20 便保持在空闲状态。如果总线主机在此命令之后发出读时间片,此时 如果 ds18b20 正忙于进行温度变换,它将在总线上输出 0。当温度变换完成时 它便返回 1。如果由寄生电源供电,那么总线主机在发出此命

温馨提示

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

评论

0/150

提交评论