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

下载本文档

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

文档简介

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

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

3、ement 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 range, its outpu

4、t 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, the correspondi

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

6、.3 方案比较与选择.7第三章第三章 设计原理与结构设计原理与结构.73.1 ds18b20 结构及工作原理.73.2 单片机介绍.133.3 led 显示器简介.153.4 led 显示器工作原理.16第四章第四章 系统结构及工作原理系统结构及工作原理.184.1 系统硬件原理图及相关说明.184.2 系统软件算法说明.19第五章第五章 系统程序的设计系统程序的设计.215.1 程序模块设计.215.2 温度数据的计算处理方法.26总总 结结.28参参 考考 文文 献献.30致致 谢谢.31附附 录录.321第一章第一章 绪绪 论论1.11.1 课题背景课题背景 “工欲善其事,必先利其器”

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

8、理、实际硬件电路的设计、软件设计和调试分析。第一章介绍了温度检测现状和仪器仪表的发展现状。第二章提出了几种单片机数字温度计的设计方案并作出比较。第三章讲述了单片机系统硬件电路的设计过程,包括对智能温度传感器 ds18b20 详细的介绍以及单片机系统的设计,并讲述了仪器的软件设计,给出了软件流程图,整套仪器是由单片机系统控制的,包括 led 显示器、通讯接口等。第四章进行系统调试分析,这将有助于今后对系统的改进,以进一步提高系统的测量精度,并讲述了通过本设计所得的结论和心得体会。1.21.2 国内外测温状况国内外测温状况随着国内外工业的日益发展,温度检测技术也不断地进步,目前的温度检测使用的温度

9、计种类繁多、应用范围也较广泛,大致包括以下几种方法:(1)利用物体热胀冷缩原理制成的温度计利用此原理制成的温度计大致分成三大类:a 玻璃温度计,它是利用玻璃感温包内的测温物质(水银、酒精、甲苯、煤油等)受热膨胀、遇冷收缩的原理进行温度测量的;b 双金属温度计,它是采用膨胀系数不同的两种金属牢固粘合在一起制成的双金属片作为感温元件,当温度变化时,一端固定的双金属片,由于两种金属膨胀系数不同而产生弯曲,自由端的位移通过传动机构带动指针指示出相应温度;2c 压力式温度计,它是由感温物质(氮气、水银、二甲苯、甲苯、甘油和低沸点液体如氯甲烷、氯乙烷等)随温度变化,压力发生相应变化,用弹簧管压力表测出它的

10、压力值,经换算得出被测物质的温度值。(2)利用热电效应技术制成的温度检测元件利用此技术制成的温度检测元件主要是热电偶。热电偶发展较早,比较成熟,至今仍为应用最广泛的检测元件。热电偶具有结构简单、制作方便、测量范围宽、精度高、热惯性小等特点。常用的热电偶有以下几种:a 镍铬-镍硅,型号为 wrn,分度号为 k,测温范围 0-900,短期可测 1200。b 镍铬-康铜,型号为 wrk,分度号为 f,测温范围 0-600,短期可测 800。c 铂铑-铂,型号为 wrp,分度号为 s,在 1300以下的温度可长期使用,短期可测1600。d 铂锗 30-铂锗 6,型号为 wrr,分度号为 b,测温范围

11、300-1600,短期可测1800。(3)利用热阻效应技术制成的温度计用此技术制成的温度计大致可分成以下几种:a 电阻测温元件,它是利用感温元件(导体)的电阻随温度变化的性质,将电阻的变化值用显示仪表反映出来,从而达到测温的目的。目前常用的有铂热电阻(分度号为pt100,pt10 两种)和铜热电阻(分度号有 cu5o,cu100 两种) 。b 导体测温元件,它与热电阻的温阻特性刚好相反,即有很大副温度系数,也就是说温度升高时,其阻值降低。他们的关系为:0011()bttttrr e式中 rt在温度 t(k)时的电阻值;rt0在温度 t0(k)时的电阻值;e自然对数的底;b常数,其值与半导体材料

12、的成分和制作方法有关。c 陶瓷热敏元件它的实质是利用半导体电阻的正温特性,用半导体陶瓷材料制作而成的热敏元件,常称为 pci,或 nci 热敏元件。pct 热敏元件分为突变型和缓变型两类。突变型 pct 元件的温阻特性是当温度达到顶点时,它的阻值突然变大,有限流功能,多数用于保护电器。缓变型 pci 元件的温阻特性基本上随温度升高阻值慢慢增大,起温度补偿作用。nci 元件3特性与 pgt 元件的突变特性刚好相反,即随温度升高,它的阻值减小1。(4)利用热辐射原理制成的高温计辐射测温在近年相对其他的测温领域显得活跃些,热辐射高温计通常分为两种:一种是单色辐射高温计,一般称光学高温计;另一种是全辐

13、射高温计,它的原理是物体受热辐射后,视物体本身的性质,能将其吸收、透过或反射。而受热物体放出的辐射能的多少,与它的温度有一定的关系。热辐射式高温计就是根据这种热辐射原理制成的。(5)利用声学原理进行温度测量声学法温度检测技术是近年来发展起来的一项新技术,利用该技术,可以对炉内的烟气温度测量值和火焰分布在线检测,判断炉的燃烧状况,进行实时调节和控制。声学温度检测技术的基本原理是通过测量声波传感器间的声波传播时间以最小二乘原理重建温度的测量方法。1.31.3 温度检测技术介绍温度检测技术介绍近年来,在温度检测技术领域,多种新的检测原理与技术的开发应用,已取得了重大进展。新一代温度检测元件正在不断出

14、现和完善化。(1)晶体管温度检测元件半导体温度检测元件是具有代表性的温度检测元件。半导体的电阻温度系数比金属大 12 个数量级,二级管和三极管的 pn 结电压、电容对温度灵敏度很高。基于上述测温原理己研制了各种温度检测元件2。(2)集成电路温度检测元件利用硅晶体管基极发射极间电压与温度关系(即半导体 pn 结的温度特性)进行温度检测,并把测温、激励、信号处理电路和放大电路集成一体,封装于小型管壳内,即构成了集成电路温度检测元件。目前,国内外也进行了生产。(3)核磁共振温度检测器所谓核磁共振现象是指具有核自旋的物质置于静磁场中时,当与静磁场垂直方向加以电磁波,会发生对某频率电磁的吸收现象。利用共

15、振吸收频率随温度上升而减少的原理研制成的温度检测器,称为核磁共振温度检测器。这种检测器精度极高,可以测量出千分之一开尔文,而且输出的频率信号适于数字化运算处理,故是一种性能十分良好的温度检测器。在常温下,可作理想的标准温度计之用。(4)热噪声温度检测器它的原理是利用热电阻元件产生的噪声电压与温度的相关性。其特点是:4a 输出噪声电压大小与温度是比例关系;b 不受压力影响;c 感温元件的阻值几乎不影响测量精确度;所以它是可以直接读出绝对温度值而不受材料和环境条件限制的温度检测器。(5)石英晶体温度检测器它采用 lc 或 y 型切割的石英晶片的共振频率随温度变化的特性来制作的。它利用 p技术,自动

16、补偿石英晶片的非线性,测量精度较高,一般可检测到 0.001,所以可作标准检测之用。(6)激光温度检测器激光测温特别适于远程测量和特殊环境下的温度测量。用氦氖激光源的激光作反射计可测得很高的温度,精度达 1%;用激光干涉和散射原理制作的温度检测器可测量更高的温度,上限可达 3000,专门用于核聚变研究,但在工业上应用还需进一步开发和实验。(7)微波温度检测器采用微波测温可以达到快速测量高温的目的。它是利用在不同温度下,温度与控制电压成线性关系的原理制成的。这种检测器的灵敏度为 250khz/,精度为1%左右,检测范围为 201400。(8)纯贵金属热电偶的研究由两种纯金属组成的热电偶,因其材料

17、均匀性远优于合金材料,因而稳定性好得多。在铂铑合金热电偶(s,r 型)的不确定度已很难提高之后,人们开始寻找由纯贵金属组成的热电偶,以代替 s 和 r 型热电偶,作为传递的标准3。(9)信息技术时代自动化系统中的温度检测仪表现代的工业过程自动化系统是现场总线控制系统,它是信息技术进入工业自动化后出现的新一代的自动控制系统。现场总线是安装在制造或过程区域的现场装置与控制室内的自控装置之间的数字式、串行、多点通信的数据总线。所有的现场仪表(温度检测仪表是其中一种)均接到现场总线上。在这样的系统中,通常不应使用各有不同输出的温度计,必须将输出转变成统一的电信号,这样“温度计”就变成了“温度变送器”

18、。在现场总线控制系统中的温度变送器主要是热电偶变送器和热电阻变送器,也有辐射温度变送器。5第二章第二章 数字式热敏电阻温度计的设计方案数字式热敏电阻温度计的设计方案2.12.1 方案一方案一系统的硬件电路包括微控制器部分(主机),温度检测,人机对话(键盘/显示)三个主要部分。系统结构框图和硬件原理图分别如图 2-1 和图 2-2 所示。图 2-1 方案(一)系统结构框图温度检测部分采用传统的热敏电阻,热敏电阻的阻值随环境温度变化而变化,变送器将电阻信号转换成与温度成正比的电压信号,经 a/d 转换器将其转换为单片机可识别得二进制数字量,单片机主要控制 led 显示器显示正确的温度值,led 显

19、示器实现显示功能。6图 2-2 方案(一)系统硬件原理图72.22.2 方案方案二二本方案与方案一的区别主要是在温度检测部分利用了一款新型的温度检测芯片 ds18b20,这个芯片大大简化了温度检测模块的设计,它无需 a/d 转换,可直接将测得的温度值以二进制形式输出。该方案的原理框图和硬件原理图如图 2-3 和图 2-4 所示:led显示器80c51单片机温度传感器ds18b20图 2-3 方案(二)系统结构框图ds18b20是美国达拉斯半导体公司生产的新型温度检测器件,它是单片结构,无需外加a/d即可输出数字量,通讯采用单线制,同时该通讯线还可兼作电源线,即具有寄生电源模式。它具有体积小、精

20、度易保证、无需标定等特点,特别适合与单片机合用构成智能温度检测及控制系统。图 2-4 方案(二)系统硬件原理图82.32.3 方案比较与选择方案比较与选择方案(一)与方案(二)的主要区别在温度检测部分,方案(一)是采用热敏电阻检测温度,然后利用 a/d 转换器将温度模拟量转换为二进制数供单片机处理。方案(二)主要利用 ds18b20 这块芯片进行温度检测,并将采集到的模拟量转换为单片机识别的二进制数。方案(一)与方案(二)相比,它最大的特点就是它能检测的温度范围很大,热敏电阻的性能决定了整个设计的所能检测的温度范围。方案(二)的温度检测范围已经由系统中的 ds18b20 的特性所决定,它能检测

21、的温度范围为-55到 120,虽然其温度检测范围很窄,但已足够满足一般测量需要,从整体上来看方案(二)比方案(一)更简单,因为我们方案(二)是利用现有的智能温度传感芯片 ds18b20,他无需 a/d 转换,直接输出数字量。所以本设计中所使用的温度测量电路是方案(二)的电路。第三章第三章 设计原理与结构设计原理与结构3.13.1 ds18b20ds18b20 结构及工作原理结构及工作原理温度传感器之所以考虑选择单线数字器件 ds18b20,是在经过多方面比较和考虑后决定的,主要有以下几方面的原因:系统成本:由于计算机技术和微电子技术的发展,新型大规模集成电路功能越来越强大,体积越来越小,而价格

22、也越来越低。一支 ds18b20 的体积与普通三极管相差无几,价格只有十元人民币左右。系统复杂度:由于 ds18b20 是单总线器件,一条总线上可以挂接多个ds18b20,因此,与模拟传感器相比,可以大大减少接线的数量,而且不需要a/d 转换器,降低系统的复杂度。系统的调试和维护,由于引线的减少,使得系统接口大为简化,给系统的调试带来方便;同时,由于 ds18b20 是全数字元器件,故障率很低,抗干扰性强。图 3-1 介绍了 ds18b20 的引脚和外观,表 3-1 则对 ds18b20 各引脚进行了单独介绍。9图 3-1 ds18b20 引脚图表 3-1 ds18b20 引脚说明引脚符号说明

23、1gnd接地2dq单线运用的数据输入/输出引脚漏极开路3vdd可选 vdd 引脚的两种供电方式ds18b20 有两种供电方式可供选择,即数据总线供电方式和外部供电方式。采取数据总线供电方式可以节省一根导线,但是完成温度测量的时间较长;采取外部供电方式会多用一根于供电导线,好处是可以更快的得到温度测量的结果6。ds18b20 内部结构框图如图 3-2 所示:图 3-2 ds18b20 内部结构框图101)特点描述采用单总线技术,与单片机通讯只要一根 i/o 线。通过比较系列号可以在一根线上挂接多个 ds18b20;低压供电,电源范围从 3v5.5v,也可以直接从数据线上窃取电源;测温范围-551

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

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

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

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

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

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

30、11 1101000007d0h8500000101 0101 0000055025.062500000001 100100010191h10.12500000000 1010001000a2h0.500000000 000010000008h000000000 000000000000h-0.511111111 11111000fff8h-10.12511111111 0101 1110ff5eh-25.062511111110 01101111fe5fh-5511111111 10010010fc90hds18b20 完成温度转换后,把测得的温度值与 ram 中的 th 和 tl 内容作比

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

32、者与ds18b20中的8位crc值比较,或者与ds18b20中计算得到的8位crc值比较。crc值的比较和是否继续操作都由总线主机来决定。当存储在ds18b20内或由ds18b20计算得到的crc值与总线主机产生的值不相符合时,在ds18b20内没有电路来阻止命令序列的继续执行。总线crc可以使用如图3-4所示的一个移位寄存器和异或(xor)门组成的多项式产生器来产生。图 3-4 单线 crc 编码3.23.2 单片机介绍单片机介绍目前,单片机的种类很多,mcs-51 8 位单片机系列、mcs-96 16 位单片机系列,还出现了 32 位单片机。位数越高,运算速度越快。由于 intel 公司的

33、这种 mcs 系列的经典体系结构、极好的兼容性和其最彻底的技术开放政策,许多电器商、半导体商(如:atmel, phlips, ananog devices, dallas 等)以 mcs系列单片机的基本内核为内核开发了众多芯片。其中,以 mcs-51 系列系统结构为核心的单片机更是品种繁多,统称为 8051 和 80c51(chmos 工艺) 。本系统在数据处理上速度要求不是很高,8 位单片机即可。因此,选用mcs-51 系列单片机。考虑到功耗问题(如:8051 功耗为 630mw,而 80c51 为120mw) ,本系统选用 chmos 工艺的芯片。又因本系统需要处理数量较大的数据,程序占

34、用空间也较大,而对定时器计数器和中断源的数量要求不多。结合现有的单片机开发系统(伟福仿真器 e6000) ,本系统选用 80c51 系列单片机。下面对 i/o 并行口进行说明:15p0 口:p0 口是一个漏极开路的 8 位双向 i/o 端口,每位能驱动 8 个 ls 型ttl 负载。共有 8 条引脚,有两种不同功能。第一种是 8031 不带片外存储器,p0 口可以作为通用 i/o 口使用,用于传送 cpu 的输入输出数据。这时,输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性:第二种是 8031 带片外存储器,p0 口在 cpu 访问片外存储器时先用于传

35、送片外存储器的低 8 位地址,然后传送 cpu 对片外存储器的读写数据9。p1 口:p1 口是一个带内部上拉电阻的 8 位准双向 1/o 端口,在 p1 口作为输入口使用时,应先向 p1 口锁存器(地址 90h)写入全 1,此时 p1 口引脚由内部上拉为高电平。当 p1 口作为通用 i/o 口使用时,p1.7p1.0 的功能和 p0 口的第一功能相同,也用于传输用户的输入或输出数据。p2 口:p2 口也是一个带内部上拉电阻的 8 位准双向 i/o 端口。p2 口的每一位能驱动(吸收或输出电流)4 个 ls 型 ttl 负载。它也有两种功能。第一功能是可以作为通用 i/o 口使用;第二功能是和

36、p0 口第二功能相配合,用于输出片外存储器的高 8 位地址,共同选中片外存储器单元,但不能像 p0 口那样传送存储器的读写数据。p3 口:是一个带内部上拉电阻的 8 位准双向 i/o 端口,第一功能和p0,p1,p2 的第一功能相同,第二功能作为控制用,每个引脚功能并不完全相同10,如表 3-6 所示:表 3-6 p3 口各位功能表p3 口的位第二功能注释p3.0rxd串行数据接收口p3.1txd串行数据发送口p3.2int0外部中断 0 输入p3.3int1外部中断 1 输入p3.4t0计数器 0 的外部输入p3.5t1计数器 1 的外部输入p3.6wr外部 ram 的写选通信号16p3.7

37、rd外部 ram 的读选通信号3.33.3 ledled 显示器简介显示器简介通过发光二极管芯片的适当连接(包括串联和并联)和适当的光学结构。可构成发光显示器的发光段或发光点。由这些发光段或发光点可以组成数码管、符号管、米字管、矩阵管、电平显示器管等等。通常把数码管、符号管、米字管共称笔画显示器,而把笔画显示器和矩阵管统称为字符显示器。(一)led 显示器结构基本的半导体数码管是由七个条状发光二极管芯片按图 12 排列而成的。可实现 09 的显示。其具体结构有“反射罩式” 、 “条形七段式”及“单片集成式多位数字式”等 (1)反射罩式数码管一般用白色塑料做成带反射腔的七段式外壳,将单个led

38、贴在与反射罩的七个反射腔互相对位的印刷电路板上,每个反射腔底部的中心位置就是 led 芯片。在装反射罩前,用压焊方法在芯片和印刷电路上相应金属条之间连好 30m 的硅铝丝或金属引线,在反射罩内滴入环氧树脂,再把带有芯片的印刷电路板与反射罩对位粘合,然后固化。反射罩式数码管的封装方式有空封和实封两种。实封方式采用散射剂和染料的环氧树脂,较多地用于一位或双位器件。空封方式是在上方盖上滤波片和匀光膜,为提高器件的可靠性,必须在芯片和底板上涂以透明绝缘胶,这还可以提高光效率。这种方式一般用于四位以上的数字显示(或符号显示) 。(2)条形七段式数码管属于混合封装形式。它是把做好管芯的磷化镓或磷化镓圆片,

39、划成内含一只或数只 led 发光条,然后把同样的七条粘在日字形“可伐”框上,用压焊工艺连好内引线,再用环氧树脂包封起来。 (3)单片集成式多位数字显示器是在发光材料基片上(大圆片) ,利用集成电路工艺制作出大量七段数字显示图形,通过划片把合格芯片选出,对位贴在印刷电路板上,用压焊工艺引出引线,再在上面盖上“鱼眼透镜”外壳。它们适用于小型数字仪表中。 (4)符号管、米字管的制作方式与数码管类似。 (5)矩阵管(发光二极管点阵)也可采用类似于单片集成式多位数字显示17器工艺方法制作。(二)led 显示器分类(1)按字高分:笔画显示器字高最小有 1mm(单片集成式多位数码管字高一般在 23mm) 。

40、其他类型笔画显示器最高可达 12.7mm(0.5 英寸)甚至达数百 mm。 (2)按颜色分有红、橙、黄、绿等数种。 (3)按结构分,有反射罩式、单条七段式及单片集成式。 (4)从各发光段电极连接方式分有共阳极和共阴极两种。(三)led 显示器的参数由于 led 显示器是以 led 为基础的,所以它的光、电特性及极限参数意义大部分与发光二极管的相同。但由于 led 显示器内含多个发光二极管,所以需有两个特殊参数,第一、发光强度比(由于数码管各段在同样的驱动电压时,各段正向电流不相同,所以各段发光强度不同。所有段的发光强度值中最大值与最小值之比为发光强度比。比值可以在 1.52.3 间,最大不能超

41、过 2.5)第二、脉冲正向电流(若笔画显示器每段典型正向直流工作电流为 if,则在脉冲下,正向电流可以远大于 if。脉冲占空比越小,脉冲正向电流可以越大)3.43.4 ledled 显示器工作原理显示器工作原理发光二极管一般为砷化镓半导体二极管,在发光二极管两端加上正电压,发光二极管发光。而数码管 led 是由若干个二极管组合而成的,一般的“8”字型 led 由“a,b,c,d,e,f,g,dp”8 个发光二极管组成,如图 3-5 所示,每个发光二极管称为一个字段。图 3-5 七段 led 结构及外形图18七段 led 有共阴极和共阳极两种结构形式。显示电路一般分为静态显示和动态显示两类。(1

42、)共阳极接法把发光二极管的阳极连接在一起构成公共阳极。使用时公共阳极接 vcc,当某阴极端为低电平时,该发光二极管就导通发光。(2)共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接 gnd,当某阳极端为高电平时,该段发光二极管就导通发光。七段 led 包含七段发光二极管和小数位发光二极管,共需 8 位 i/o 口线控制,其代码为一个字节。七段 led 字型码见表 3-7 所示。表 3-7 七段 led 字形码显示字符共阴极字形码共阳极字形码显示字符共阴极 字形码共阳极字形码03fhc0hc39hc6h106hf9hd5eha1h25bha4he79h86h34fhb0hf71

43、h8eh466h99hp73h8ch56dh92hu3ehc1h67dh82hr31hceh707hf8hy6eh91h87fh80hh76h89h96fh90hl38hc7ha77h88h“灭”00hffhb7ch83h19第四章第四章 系统结构及工作原理系统结构及工作原理4.14.1 系统硬件原理图及相关说明系统硬件原理图及相关说明本设计硬件原理图如图 4-7 所示:图 4-7 单片机温度计硬件设计原理图下面对该电路图进行简要的说明:(1)基于 80c51 单片机及其外围电路的主机控制单元:80c51 单片机功能强、i/o 口多,它们分别是 p0 口、p1 口、p2 口和 p3 口。本设计

44、中利用了其中的 2 个 i/o 口,与本系统其它部分连接,分别实现了不同的功能:p1 口输出段码,通过 74ls244 连接 4 个 led 显示器。列扫描用p3.0p3.3 口来实现,列驱动使用 9012 三极管。p3.7 口连接 ds18b20 的输出。(2)ds18b20 串行组成的一线总线型网络由 ds18b20 组成的一线总线网络,由三条线连接。它们分别是电源线、数据传输线和地线。电源线根据 ds18b20 的要求,使用 5v 的直流供电。在具体设20计上可以和 80c51 使用同一个电压源。数据传输线直接连接在 p3 口的 p3.7 引脚上,对应着 p3 寄存器的 p3.7 数据位

45、,因此主机对总线上的 ds18b20 的操作实际上就是对 p3.7 数据位的操作12。(3)led 数字显示及其驱动电路ds18b20 测温范围上限是 125,加上一个小数位,因此温度的十进制显示需要用 4 位 led 显示。这里的 led 驱动器选择了 74ls244,74ls244 是一个两4 位三态缓冲器,其引脚如图 3-8 所示,当它的控制端和为低电平时,输出 y的状态与输入端 a 相同:当和为高电平时,输出成高阻状态。输入设备的数据可在 74ls244 中得到缓冲。图 4-8 74ls244 外部引脚图4.24.2 系统软件算法说明系统软件算法说明(1)程序开始后,80c51 向 d

46、s18b20 发送 read rom 命令;(2)ds18b20 向 80c51 发送 64 位 rom 码,80c51 将收到的 rom 码存入数据暂存存储器;(3)80c51 向总线发送复位脉冲后释放总线;(4)80c51 向总线发送 convert t 命令并延时 1-2 秒钟,ds18b20 开始进行温度转换,并将结果存入存储器;(5)80c51 向总线发送复位脉冲,收到响应存在脉冲后,向总线发送match rom 命令;(6)80c51 向总线发送 rom 编码,该 rom 码的 ds18b20 开始响应;(7)80c51 向总线发送 read scratchpad 命令并释放总线;

47、(8)ds18b20 向总线发送存储器里存放的温度转换结果;21(9)80c51 将接收到的结果转换成十进制,并通过 led 数码管显示出来;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开始响应图

48、 4-9 系统工作流程图当系统进入温度监测运行之后,是无法再进入读 rom 操作的。系统每次重启进入温度监测运行模式之后,都要重新搜索总线上 ds18b20 的 rom 码。所以,如果在系统重启之前改变总线上的 ds18b20,那么系统就会重新为 ds18b20 排序和编号。用户在每次重启的时候都需要注意这个问题。要看看总线上的ds18b20 是否有变动。如果有变动,就必须重新为这些 ds18b20 的编号做记录。反过来说,如果系统总线上的 ds18b20 发生变动,就必须重启系统。重新搜索ds18b20 的 rom 码。22第五章第五章 系统程序的设计系统程序的设计5.15.1 程序模块设计

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

50、1560s,然后在t2 时刻发出存在脉冲,如图虚线所示,单片机接收到低电平脉冲说明复位成功,否则需要重新进行复位操作。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 时刻

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

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

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

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

55、arch(告警搜索)ech此命令的流程与搜索 rom 命令相同。但是,仅在最近一次温度测量出现告警的情况下,ds18b20 才对此命令作出响应。告警的条件定义为温度高于 th 或低于 tl。只要 ds18b20 一上电,告警条件就保持在设置状态,直到另一次温度测量显示出非告警值,或者改变 th 或 tl 的设置使得测量值再一次位于允许的范围内。贮存在 e2prom 的触发器值用于告警。ds18b20 的 rom 操作命令设置,不但能够帮助实现“一主多从”的温度检测网络,同时由于 skip rom 命令的设置,在加快系统运行周期方面也具有独特的优势。主机在进入操作程序前必须接入 ds18b20,

56、用 rom 命令建立与目标26ds18b20 的通信。程序中如果先有 skip rom 命令,然后执行 convert t 命令,即是启动所有 ds18b20 进行温度变换。之后通过 match rom 再逐一地读回每个 ds18b20 的温度数据。在 ds18b20 组成的测温系统中,主机在发出 skip rom 命令之后再发出统一的温度转换启动码 44h,就可以实现所有温度转换。再经过 12s 后,就能用很少的时间去读取,这种方式使得系统的运行周期小于传统方式。传统方式中由于采取公用的放大电路和 a/d 转换器,只能让传感器的测量结果逐一转换。(6)read scratchpad(读暂存存

57、储器)beh此命令读暂存存储器的内容,读操作开始于字节“0”并继续经过暂存存储器直至第九个字节,直到 crc 被读出为止。如果不是所有位置均可读,那么主机可以在任何时候发出复位脉冲以中止读操作。(7)copy scratchpad(复制暂存存储器)48h此命令把暂存存储器复制入 ds18b20 的 e2 存储器,把温度触发器字节存入非易失性存储器。如果总线主机在此命令之后发出读时间片,那么当ds18b20 正忙于把暂存存储器复制入 e2 时,它就会在总线上输出 0,当复制过程完成之后它将返回 1。如果由寄生电源供电,总线主机在发出此命令之后必须能立即强制上拉至少 l0ms。(8)write s

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

59、重新调出的操作27在 ds18b20 上电时也会自动发生。因此只要器件一接电,暂存存储器内就有有效的数据可供使用。在此命令发出之后,对于所发出的每一个读数据时间片,器件都将输出其忙的标志:“0”代表忙, “1”代表准备就绪。(11)read power supply(读电源)b4h对于在此命令送至 ds18b20 之后所发出的第一读出数据的时间片器件都会给出其电源方式的:“0”代表寄生电源供电;“1”代表外部电源供电。表 5-6 存储器操作命令指令说明代码总线操作convert t启动温度变换44h总线释放等待 12 秒read scratchpad从暂存存储器读字节behds18b20 发出

60、存储器内数据write scratchpad写字节入 th 和 tl4eh主机向存储器发送数据copy scratchpad存储器内容复制 e243hds18b20“复制忙”状态recall e2e2 内容重新调入存储器e3hds18b20“读数据忙”状态read power supply检测 ds18b20 供电方式b4h读电源5.25.2 温度数据的计算处理方法温度数据的计算处理方法从 ds18b20 读取的二进制数值必须先转换为十进制数值,才能用于字符的显示。因为 ds18b20 的转换精度为 912 位可选,为了提高精度采用 12 位。在采用 12 位转换精度时,温度寄存器里的值以 0

温馨提示

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

评论

0/150

提交评论