电气工程及其自动化毕业设计(论文)_DS18B20数字温度计的设计_第1页
电气工程及其自动化毕业设计(论文)_DS18B20数字温度计的设计_第2页
电气工程及其自动化毕业设计(论文)_DS18B20数字温度计的设计_第3页
电气工程及其自动化毕业设计(论文)_DS18B20数字温度计的设计_第4页
电气工程及其自动化毕业设计(论文)_DS18B20数字温度计的设计_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

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

文档简介

1、太原理工大学阳泉学院毕业设计说明书毕业生姓名:专业:电气工程及其自动化学号:指导教师:所属系部:信息系二一年六月太原理工大学阳泉学院毕业设计评阅书题目: DS18B20数字温度计的设计 信息系电气工程及其自动化 专业 姓名 设计时间:2010年4月5日2010年6月11日 评阅意见:成绩: 指导教师:签字 职务:201 年月日太原理工大学阳泉学院毕业设计辩论记录卡 信息 系 电气工程及其自动化 专业 姓名温丽华答 辩 内 容问 题 摘 要评 议 情 况 记录员: 签名成 绩 评 定指导教师评定成绩辩论组评定成绩综合成绩注:评定成绩为100分制,指导教师为30%,辩论组为70%。 专业辩论组组长

2、:签名 201 年月日摘 要本文是一个基于AT89C2051与DS18B20的数字温度计的设计。该温度计的测温范围在-55+125,误差在以内,最高分辨率可达0.0625。本系统利用智能型温度传感器DS18B20和LED数码管方便准确的判断、测量和显示当前的温度值。与传统的温度计相比,它具有使用方便,精度高、量程宽、灵敏度高、体积小、功耗低、价格低廉等优点,适合于我们日常生活和工、农业生产中的温度测量。本设计中各种功能的具体实现主要是从硬件和软件两局部入手。硬件局部:按照系统设计功能的要求对硬件电路进行模块化设计。其中主控制器AT89C2051作为系统的核心处理局部;晶振电路为单片机及整个硬件

3、电路的工作提供统一的工作频率;复位电路保证了系统可以有固定的初始状态;温度传感器DS18B20可将温度信号直接转换成串行数字信号送给单片机;LED显示电路在视觉上直观地显示软硬件电路所到达的效果。软件局部:根据系统设计功能的要求,该系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等。本设计采用AT89C2051 与DS18B20结合实现简单的温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。关键词:AT89C2051,DS18B20,LED数码管AbstractThis article is a bas

4、ed on AT89C2051 Digital thermometer and DS18B20 design .The thermometers temperature range -55+125,within error of . The system uses intelligent temperature sensor and LED digital tube DS18B20 convenient and accurate judgments, measurement and display the current temperature. Compared with the tradi

5、tional thermometer, it has easy to use, high accuracy, wider range, high sensitivity, small volume, low power consumption, low cost and suitable for in our daily lives and industrial and agricultural production in the temperature measurement.The design of the concrete realization of various function

6、s are mainly of two parts from the hardware and software to start. Hardware components: system design features in accordance with the requirements of the modular design of hardware circuits.The master controller AT89C2051 treatment as part of the core of the system. Crystal oscillator circuit for a

7、microcontroller and the hardware circuit display working to provide a unified the operating frequency; reset circuitry ensures system has a fixed initial state; temperature sensor temperature signal can be directly DS18B20 converted into serial digital signals to the MCU; LED display circuit to visu

8、ally display the results achieved by hardware circuits. Software components: system design functions according to the requirements of fhe system program includes the main program, subroutine read temperature,the temperatureconversion command subroutine,calculation and display of temperature data ref

9、resh subroutine subprogram. This design uses a combination of simple DS18B20 AT89C2051 and the temperature detection system, the system is simple, anti-jamming capability, suitable for harsh environment with field temperature measurements, have wide application.Keywords:AT89C2051,DS18B20 ,LED digita

10、l tube目 录 TOC o 1-3 h z HYPERLINK l _Toc264753228 摘 要 PAGEREF _Toc264753228 h i HYPERLINK l _Toc264753229 Abstract PAGEREF _Toc264753229 h ii HYPERLINK l _Toc264753230 第一章 绪 论 PAGEREF _Toc264753230 h 1 HYPERLINK l _Toc264753231 第一节 选题的目的和意义 PAGEREF _Toc264753231 h 1 HYPERLINK l _Toc264753232 第二节 国内外

11、开展情况 PAGEREF _Toc264753232 h 1 HYPERLINK l _Toc264753233 第三节 本设计所研究的内容 PAGEREF _Toc264753233 h 2 HYPERLINK l _Toc264753234 第二章 设计方案论证 PAGEREF _Toc264753234 h 3 HYPERLINK l _Toc264753235 第三章 系统硬件电路的设计 PAGEREF _Toc264753235 h 4 HYPERLINK l _Toc264753236 第一节 测温模块的设计 PAGEREF _Toc264753236 h 4 HYPERLINK

12、l _Toc264753237 一、温度传感器的选择 PAGEREF _Toc264753237 h 4 HYPERLINK l _Toc264753238 二、DS18B20的工作原理 PAGEREF _Toc264753238 h 4 HYPERLINK l _Toc264753239 三、DS18B20与单片机的接口电路 PAGEREF _Toc264753239 h 8 HYPERLINK l _Toc264753240 第二节 控制模块的设计 PAGEREF _Toc264753240 h 9 HYPERLINK l _Toc264753241 一、控制器的选择 PAGEREF _T

13、oc264753241 h 9 HYPERLINK l _Toc264753242 二、AT89C2051的主要功能特性 PAGEREF _Toc264753242 h 9 HYPERLINK l _Toc264753243 三、AT89C2051的引脚及其功能 PAGEREF _Toc264753243 h 10 HYPERLINK l _Toc264753244 四、时钟电路的设计 PAGEREF _Toc264753244 h 11 HYPERLINK l _Toc264753245 五、复位电路的设计 PAGEREF _Toc264753245 h 12 HYPERLINK l _To

14、c264753246 第三节 显示模块的设计 PAGEREF _Toc264753246 h 15 HYPERLINK l _Toc264753247 一、显示器的选择 PAGEREF _Toc264753247 h 15 HYPERLINK l _Toc264753248 二、LED显示器结构与原理 PAGEREF _Toc264753248 h 15 HYPERLINK l _Toc264753249 三、显示电路的设计 PAGEREF _Toc264753249 h 17 HYPERLINK l _Toc264753250 第四章 系统软件电路的设计 PAGEREF _Toc264753

15、250 h 20 HYPERLINK l _Toc264753251 第一节 主程序的设计 PAGEREF _Toc264753251 h 20 HYPERLINK l _Toc264753252 第二节 读出温度子程序的设计 PAGEREF _Toc264753252 h 20 HYPERLINK l _Toc264753253 第三节 温度转换命令子程序的设计 PAGEREF _Toc264753253 h 21 HYPERLINK l _Toc264753254 第四节 计算温度子程序的设计 PAGEREF _Toc264753254 h 21 HYPERLINK l _Toc26475

16、3255 第五节 显示数据刷新子程序设计 PAGEREF _Toc264753255 h 22 HYPERLINK l _Toc264753256 第六节 DS18B20的各条ROM命令 PAGEREF _Toc264753256 h 22 HYPERLINK l _Toc264753257 第七节 温度数据的计算处理方法 PAGEREF _Toc264753257 h 24 HYPERLINK l _Toc264753258 第五章 调试及性能分析 PAGEREF _Toc264753258 h 25 HYPERLINK l _Toc264753259 总结与展望 PAGEREF _Toc2

17、64753259 h 26 HYPERLINK l _Toc264753260 参考文献 PAGEREF _Toc264753260 h 27 HYPERLINK l _Toc264753261 附 录 数字温度计设计原理图 PAGEREF _Toc264753261 h 28 HYPERLINK l _Toc264753262 附 录 单片机汇编源程序清单 PAGEREF _Toc264753262 h 29 HYPERLINK l _Toc264753263 外文资料 PAGEREF _Toc264753263 h 41 HYPERLINK l _Toc264753264 中文译文 PAG

18、EREF _Toc264753264 h 49 HYPERLINK l _Toc264753265 致 谢 PAGEREF _Toc264753265 h 56绪 论选题的目的和意义随着科技的不断开展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息根底的开展水平。在三大信息的信息采集即传感器技术、信息传输通信技术和信息处理计算机技术中,传感器属于信息技术的前沿尖端产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业

19、生产中也离不开温度的测量,因此研究数字温度的测量方法和装置具有重要的意义。第二节 国内外开展情况随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否认的。其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向开展。目前的智能温度传感器亦称数字温度传感器是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动检测技术ATE的结晶。特点是能输出温度数据及相关的温度控制量,适配各种微控制器MCU。社会的开展使人们对传感器的要求也越来越高,

20、现在的温度传感器正在基于单片机的根底上从模拟式向数字式,从集成化向智能化、网络化的方向飞速开展,并朝着高精度、多功能、总线标准化、高可靠性及平安性、开发虚拟传感器和网络传感器、研制单片机测温系统等高科技的方向迅速开展,本文将介绍智能集成温度传感器DS18B20的结构特征及测温原理,并对以此为传感器、AT89C2051单片机为控制器构成的数字温度测量装置的工作原理及程序设计做了详细的介绍。与传统的温度计相比,其读数方便,测温范围广,测温准确,输出温度采用数字显示,主要用于对测温要求比拟准确的场所,或科研实验室使用。该设计控制器使用ATMEL公司的AT89C2051单片机,测温传感器使用DALLA

21、S公司DS18B20,用LED显示器来实现温度显示。 数字温度计的关键是温度传感器,温度传感器的开展经历了三个开展阶段: 1传统的分立式温度传感器 2模拟集成温度传感器3智能集成温度传感器第三节 本设计所研究的内容本设计主要研究一个基于AT89C2051的数字温度计的测温系统。其中提出并确定了设计的总体方案,另外对系统硬件电路中主控制器、测温电路和显示电路的设计进行详细的分析和设计,重点对温度传感器的工作原理,温度传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各局部的电路也一一进行了介绍。第二章 设计方案论证在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的

22、测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比拟多的外部硬件支持。其缺点如下: 硬件电路复杂; 硬件调试复杂; 制作本钱高。 本数字温度计的设计采用美国DALLAS半导体公司继DS18B20之后推出的一种改良型智能温度传感器DS18B20作为检测元件,测温范围为-55125,最高分辨率可达0.0625。 DS18B20可以直接读出被测温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低本钱和易使用的特点。按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示器。数字温度计总体结构框图如图2-1所示。图2-1 数字温度计总体结

23、构框图第三章 系统硬件电路的设计第一节 测温模块的设计一、温度传感器的选择在日常生活及工农业生产中,经常要用到温度的检测及控制,传统的测温元件有热电偶和热电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比拟多的外部硬件支持。其缺点如下: 硬件电路复杂; 硬件调试复杂; 制作本钱高。 本数字温度计设计采用美国DALLAS半导体公司继DS18B20之后推出的一种改良型智能温度传感器DS18B20作为检测元件,测温范围为-55125,最高分辨率可达0.0625。DS18B20可以直接读出被测温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低本钱和易使用的特点。二、DS1

24、8B20的工作原理1DS18B20的性能特点DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改良型智能温度传感器。与传统的热敏电阻等测温元件相比,他能直接读出被测温度,并且可根据实际要求通过简单的编程实现912位的数字读数方式。DS18B20的性能特点如下: 独特的单线接口仅需要一个端口引脚进行通信; 多个DS18B20可以并联在唯一的三线上,实现多点组网功能; 不需要外部器件;可通过数据线供电,电压范围为; 零待机功耗; 温度以912位数字量读出; 用户可定义的非易失性温度报警设置; 报警搜索命令识别并标志超过程序限定温度温度报警条件的器件;负电压特性,电源极性接反时,温度

25、计不会因发热而烧毁,只是不能正常工作。2DS18B20的内部结构DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图3-1所示。图3-1 DS18B20内部结构框图64位ROM的位结构如图3-2所示。开始8位是产品类型的编号;接着是每个器件的唯一的序号,共有48位;最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用单线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限数据。图3-2 64位ROM结构框图 DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的E2PROM。高速暂存RAM的结构为9

26、字节的存储器,结构如图3-3所示。前2字节包含测得的温度信息。第3和第4字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5字节为配置存放器,其内容用于确定温度值的数字转换分辨率,DS18B20工作时按此存放器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如图3-4所示,其中,低5位一直为1,TM是测试模式位,用于设置DS18B20在工作模式还是测试模式,在DS18B20出厂时,该位被设置为0,用户不要去改动;R1和R0决定温度转换的精度位数,即用来设置分辨率,其定义方法见表3-1。图3-3 高速暂存RAM结构图图3-4 配置存放器位定义表3-1 DS18B20分辨率的定义和规

27、定R1R2分辨率/位温度最大转换时间/ms009011010113751112750 由表3-1可见,DS18B20温度转换的时间比拟长,而且设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保存未用,表现为全逻辑1。第9字节是前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存RAM的第1、2字节中。单片机可以通过单线接口读出该数据。读数据时,低位在先,高位在后,数据格式以/LS

28、B形式表示。温度值格式如图3-5所示。图3-5 温度数据值格式 图中,S表示符号位。当S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制值。表3-2是局部温度值对应的二进制温度表示数据。表3-2 DS18B20温度与表示值对应表温度/二进制表示十六进制表示温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H00000 0000 0000 00000000H+850000 0101 0101 00000550H1111 1111 1111 1000FFF8H0000 0001 10

29、01 00010191H1111 1111 0101 1110FF5EH0000 0000 1010 001000A2H1111 1110 0110 1111FE6FH0000 0000 0000 10000008H-551111 1100 1001 0000FC90H DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字样的内容作比拟,假设TTH或TTL,那么将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余校验码CRC。主机根据ROM的前56位来计算CRC值,

30、并与存入DS18B20的CRC值作比拟,以判断主机收到的ROM数据是否正确。3DS18B20的测温原理如图3-6所示,图中低温度系统振荡器的振荡频率受温度的影响很小,用于生产固定频率的脉冲信号送给减法计数器1;高温系数振荡器随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。图3-6 DS18B20测温原理图 图中还隐含着计数门,当计数门翻开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55所对应的一个基数分别置入减法计数器1和温度存放器中,减法计数器1和温度存放器被预置在-55所

31、对应的一个基数值。 减法计数器1对低温度系数振荡器产生的脉冲信号进行减法计算,当减法计数器1的预置值减到0时,温度存放器的值将加1,减法计数器1的预置值将重新被装入,并重新开始对低温度系数振荡器产生的脉冲信号进行计数。如此循环,直到减法计数器2计数到0时,停止温度存放器值的累加,此时温度存放器中的数值就是所测温度值。图3-6中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度存放器值到达被测温度值。另外,由于DS18B20单线通信功能是分时完成的,有严格的时隙概念,因此读/写时序很重要。系统对DS18B20的各种操作必须

32、按协议进行。操作协议为:初始化DS18B20发复位脉冲发ROM功能命令发存储器操作命令处理数据。 三、DS18B20与单片机的接口电路DS18B20可以采用两种方式供电:一种是采用电源供电方式,此时DS18B20的第1脚接地,第2脚作为信号线,第3脚接电源;另一种是寄生电源供电方式,如图3-7所示。单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。图3-7 DS18B20采用寄生电源的电路图当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最长为500ms。采用寄生电源供电方式时,VDD

33、和GND端均接地。由于单线制只有一根线,因此发送接口必须是三态的。第二节 控制模块的设计一、控制器的选择根据单片机的系统适用性、可开发性和制造商历史及可购置性的三大选型原那么,本设计采用AT89C2051单片机以保证系统具有高可靠性、高使用寿命及可升级换代性。二、AT89C2051的主要功能特性AT89C2051是Atmel公司生产的带2K字节闪速可编程、可擦除只读存储器EEPROM的8位单片机,它具有如下主要特性: 和Inter MCS-51系列单片机兼容 ; 耐久性高,1000次写/擦除; 6V的操作范围;全静态操作,024MHz; 两级加密程序存储器;1288位内部RAM; 15根可编程

34、I/O引线; 两个16位定时器/计数器; 5个中断源; 可编程串行通用异步接受发送器UART; 直接LED驱动输出;片内模拟比拟器;低功耗空载和掉电方式。三、AT89C2051的引脚及其功能AT89C2051作为AT89C51的简化版虽然去掉了P0,P2等端口,使I/O口减少了,但是却增加了一个电压比拟器,因此其功能在某些方面反而有所增强。引脚图如图3-8所示。图3-8 AT89C2051的引脚结构 引脚功能说明: Vcc:电源电压 GND:接地 P1口:P1口是一个8位准双向I/O端口。引脚提供内部上拉电阻。和要求外部提供上拉电阻。和还可分别作为片内精密模拟比拟器的同相输入AIN0端和反相输

35、入AIN1端。P1口输出缓冲器可吸收20mA电流,并能直接驱动LED显示。当P1口引脚写入“1”时,其可用作输入端。当引脚用作输入端并被外部拉低时,它们将因内部的上拉电阻而流出电流。P1口还在闪速和程序校验期间接受代码数据。P3口:P3口的、是带有内部上拉电阻的7个双向I/0引脚。用于固定输入片内比拟器的输出信号并且它作为一通用I/O引脚而不可访问。P3口缓冲器可吸收20mA电流。当P3口引脚写入“1”时,它们被内部上拉电阻拉高并可用作输入端。在用作输入端时,被外部拉低的P3口引脚将会在上拉电阻的作用下输出电流。P3口还用于实现AT89C2051的各种功能,如下表3-3所示。P3口还接收一些用

36、于闪速存储器编程和程序校验的控制信号。RST:复位输入。RST一旦变成高电平,所有的I/O端口就复位到“1”。当振荡器正在运行时,持续给RST引脚两个机器周期的高电平便可完成复位。每机器周期需12个振荡周期或时钟周期。XTAL1:作为振荡器反相放大器的输入和内部时钟发生器的输入。XTAL2:作为振荡器反相放大器的输出。表3-3 P3口的功能P3口引脚功能RXD串行输入端口TXD 串行输出端口外部中断0外部中断1T0定时器0外部中断T1定时器1外部中断从上述引脚说明可看出,AT89C2051没有提供外部扩展存储器与I/O设备所需的地址、数据、控制信号,因此利用AT89C2051构成的单片机应用系

37、统不能在其之外扩展存储器或I/O设备,也即AT89C2051本身即构成了最小单片机系统。四、时钟电路的设计时钟电路对单片机而言是必需的。由于单片机内部是有各种各样的数字电路逻辑器件如触发器、继电器、存储器等构成,这些数字器件的工作必须按时间顺序完成,这种时间顺序就成为时序。时钟电路就是提供单片机内部各种操作的时间基准的电路,时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本文采用的是内部时钟方式。由12MH

38、z晶振与两个30pF的电容构成的时钟电路作为整个时钟计时器的时间基准,在此值得一提的是所选晶振的频率必须与程序中所引用的时间基准频率相致,这样才能保证时钟计时器的准确。时钟电路设计如图3-9所示: 图3-9 时钟电路 工作原理:单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器,这就是时钟振荡器。 这个放大器与作为反应元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体或陶瓷谐振器及电容C1、C2接在放大器的反应回路中构成并联振荡电路。对外接电容C

39、1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的上下、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如果使用陶瓷谐振器建议选择40pF10pF。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2那么悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。本设计使用的是12MHz的晶振。之所以要用晶振,是为了让它给电路中各信号元件提供一个基准频率。就像一

40、群人跳舞,需要有节拍一样,要想跳得成功,就需要集体配合,这就是节拍的功用。电路也一样,否那么电路各局部工作频率不一致,必然导致电路功能的无法实现。五、复位电路的设计AT89C2051单片机的复位是由外部的复位电路来实现的。本设计采用的是RC上电复位的方式。无论使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机、“程序走飞等现象,这主要是单片机的复位电路设计不可靠引起的。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列

41、单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期24个振荡周期以上,那么CPU就可以响应并将系统复位。在上电或复位过程中,控制CPU的复位状态:这段时间内让CPU保持复位状态,而不是一上电或刚复位完毕就工作,防止CPU发出错误的指令、执行错误操作,也可以提高电磁兼容性能。1单片机系统的复位方式单片机系统的复位方式有:手动按钮复位和上电复位 (1) 手动按钮复位手动按钮复位需要人为在复位输入端RST上参加高电平,一般采用的方法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,那么Vcc

42、的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。(2) 上电复位上电复位电路是一种简单的复位电路,只要在RST复位引脚接一个电容到Vcc,再接一个电阻到地就可以了。工作原理:上电瞬间RST端电位与Vcc相同,随着电容上储能增加,电容电压也增大,充电电流减少,RST端电位逐渐下降,这样在RST端就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲持续的时间进行调节。为了保证系统平安可靠的复位,RST引脚的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起

43、振时间为1ms;晶振频率为1MHz,起振时间那么为10ms。在图3-10的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“1态。如果系统在上电时得不到有效的复位,那么程序计数器PC将得不到一个适宜的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。图3-10 上电复位2复位电路的实现方式复位电路的实现通常有两种方式:即专用&p监控电路和RC复位电路。前者电路实现简单,本钱低,但复位可靠性相对较低;后者本钱较高,但复位可靠性高,尤其是高可靠重

44、复复位。对于复位要求高、并对电源电压进行监视场合,大多采用这种方式。(1) 专用&P监控电路专用监控电路又称为电源监视电路,具有上电时可靠产生复位信号和电源电压跌落到“门槛值时可靠产生复位信号等功能。按有效电平划分,有高电平输出、低电平输出两种;按功能划分,有简单的电源监视复位电路、带“看门狗定时器的监控电路和WDT+E2PROM的监控电路等多种类型。比拟常见的生产厂家有MAXIM、PHILIPS、IMP及DALLS等,51系列的微处理器中常用的型号有MAX813L 、MAX809、X25043/5等。 (2) RC复位电路RC复位电路的实质是一阶充放电电路,此复位电路只要RST引脚处至少保持

45、2个机器周期24个振荡器周期的高电平就可实现复位,在RST段出现高电平后的第二个周期,执行内部复位,以后每个周期重复一次,直至RST端变低。本设计采用的是RC上电复位方式。复位电路如图3-11所示。图3-11 复位电路图第三节 显示模块的设计一、显示器的选择 单片机应用系统中使用的显示器主要有发光二极管显示器,简称LEDLight Emitting Diode;液晶显示器LCDLiquidCrystal Display;近几年也有配置CRT显示器的。而目前在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。 方案一

46、:LCD液晶显示器。LCD液晶显示器是利用光的偏振现象来显示的。既能显示简单的字符,也能显示各种复杂的图形和自定义的字符,因此应用比拟广泛。LCD液晶显示器具有本身不发光,靠反射或者透射其他光源的优点,同时具有功耗小,可靠性高,寿命长,体积小,电源简单等特点。 方案二:LED显示器。LED显示器是由LED发光二极管开展过来的一种显示器件,是发光二极管的改型。LED是发光二极管的简称,是一种将电能转换成光能的设备。本身也是一种光源。LED显示器是由发光二极管排列组成的一个显示器件,采用低电压扫描驱动,具有耗电少、使用寿命长、本钱低、亮度高、故障少、视角大、可视距离远等特点。 综合考虑,两种显示器

47、相比,LED在亮度、功耗、可视角度和刷新速率等方面都具有优势。故本设计选用LED显示器。二、LED显示器结构与原理单片机中通常用七段LED构成字型“8,另外,还有一个小数点发光二极管以显示小数位。这种显示器有共阴和共阳两种;发光二极管的阳极连在一起的公共端称为共阳极显示器,阴极连在一起的称为共阴极显示器。一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8的各个笔画段ag,另一个小数点为dp发光二极管。当在某段发光二极管上施加一定的正向电压时,该段笔画即亮;不加电压那么暗。为了保护各段LED不被损坏,需外加限流电阻。由于共阴极连接需加驱动,故在这里我采用的是共阳极连接。以共阳极LE

48、D为例,各LED公共阳极K0接高电平,假设向各控制端a,b,g,dp依次送入11111000信号,那么该显示器显示“7字型。共阳极7段LED显示数字0F、文字、符号及小数点的编码a段为最低位,dp点为最高位。如表3-4所示。表3-4 共阳极7段LED显示字型编码表显示字符共阳极段选码显示字符共阳极段选码0C0H592H1F9H682H2A4H7F8H3B0H880H499H990H灭 FFHBFH3数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。(1) 静态显示驱动:静态驱动也称直流驱动

49、。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码的二十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示那么需要5840根I/O端口来驱动,要知道一个AT89C2051单片机可用的I/O端口才15个。实际应用时,必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。(2) 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a、b、c、d、e、f、g及dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独

50、立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是哪个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管的选通控制翻开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是支柱驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。结合以上两种驱动

51、方式,考虑到静态显示中硬件电路的复杂性,本设计中采用动态显示的驱动方式。三、显示电路的设计显示电路设计如图3-12所示:图3-12 显示电路设计图为了提高数码管的亮度,可在位选线上参加一个9012三极管驱动电路。三极管可以控制电路的通断,即充当开关的作用。三极管的类型有NPN和PNP两种,其中NPN是正极性的,PNP是负极性的。在本电路中,如果用PNP做反极性输出控制,能得到非常大的控制电流。实际中也常用这样的方法控制LED数码管的共阳极,效果非常好。所以本设计采用PNP型三极管。第四章 系统软件电路的设计系统程序主要包括主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新

52、子程序等。第一节 主程序的设计主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值。温度测量每1S进行一次。主程序流程图如图4-1所示。 图4-1 主程序流程图 图4-2 读出温度子程序流图第二节 读出温度子程序的设计读出温度子程序的主要功能是读出RAM中的9字节。在读出时必须进行CRC校验,校验有错时不进行温度数据的改写。读出温度子程序流程图如图4-2所示。第三节 温度转换命令子程序的设计温度转换命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转换时间约为750ms。在本程序设计中,采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如图4-3所示。

53、图4-3 温度转换命令子程序流程图第四节 计算温度子程序的设计计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定。计算温度子程序流程图如图4-4所示。图4-4 计算温度子程序流程图第五节 显示数据刷新子程序的设计显示数据刷新子程序主要是对显示缓冲器中的显示数据进行刷新操作,当最高数据显示位为0时,将符号显示位移入下一位。显示数据刷新子程序流程图如图4-5所示图4-5 显示数据刷新子程序流程图第六节 DS18B20的各条ROM命令1Read ROM33H。这条命令允许总线控制器读到DS18B20的八位系列编码、唯一的序列号和8位CRC码。只有在总线上存在单只DS18B2

54、0时,才能使用该命令。如果总线上有不止一个从机,那么当所有从机试图同时传送信号时就会发生数据冲突漏极电路连在一起形成相“与的效果。2Match ROM55H。这是一条匹配ROM命令,后跟64位ROM序列,让总线控制器在多点总线上定位一只特定的DS18B20。只有与64位ROM序列完全匹配的DS18B20才能响应随后的存储器操作。所有与64位ROM序列不匹配的从机都将等待复位脉冲。这条命令在总线上有单个或多个器件时都可以使用。3Skip ROM0CCH。这条命令允许总线控制不用提供64位ROM编码就使用存储器操作命令,在单点总线情况下,可以节省时间。如果总线上不止一个从机,那么在Skip ROM

55、命令之后跟着发一条读命令。由于多个从机同时传送信号,所以总线上就会发生数据冲突漏极开路下拉效果相当于相“与。4Search ROM0F0H。当一个系统初次启动时,总线控制器可能并不知道单线总线上有多少器件或它们的64位ROM编码。搜索ROM命令允许总线控制器用排除法识别总线上的所有从机的64位编码。5Alarm Search0ECH。这条命令的流程与Search ROM相同。然而,只有在最近一次测温后遇到符合报警条件的情况下,DS18B20才会响应这条命令。报警条件定义为温度高于TH或低于TL。只要DS18B20不掉电,报警状态将一直保持,直到再一次测得的温度值达不到报警条件。6Write S

56、cratchpad4EH。这条命令向DS18B20的暂存器TH和TL中写入数据。可以在任何时候发出复位命令来中止读取。 7Read Scratchpad0BEH。这条命令读取暂存器的内容。读取将从第一字节开始,一直进行下去,直到第九字节CRC读完。如果不想读完所有字节,那么控制器可以在任何时候发出复位命令来中止读取。8Copy Scratchpad48H。这条命令把暂存器的内容拷贝到DS18B20的E2PROM存储器里,即把温度报警触发字节存入非易失性存储器里。如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20又忙于把暂存器拷贝到EEPROM存储器,那么DS18B20就会输出一个0

57、;如果拷贝结束,那么DS18B20输出1。如果使用寄生电源,那么总线控制器必须在这条命令发出后立即启动强上拉,并最少保持10ms。 9Convert T44H。这条命令启动一次温度转换而无需其他数据。温度转换命令被执行后DS18B20保持等待状态。如果总线控制器在这条命令之后跟着发出读时间隙,而DS18B20又忙于做时间转换,那么DS18B20将在总线上输出0;如果温度转换完成,那么输出1。如果使用寄生电源,那么总线控制器必须在发出这条命令后立即启动强上拉,并保持500ms以上时间。10Recall E20B8H。这条命令把报警触发器里的值拷贝回暂存器。这种拷贝操作在DS18B20上电时自动执

58、行,这样器件一上电暂存器里马上就存在有效的数据了。假设在这条命令发出之后发出读数据隙,器件会输出温度转换忙的标识:0表示忙;1表示完成。11Read Power Supply0B4H。假设把这条命令发给DS18B20后发出读时间隙,器件会返回它的电源模式:0表示寄生电源;1表示外部电源。第七节 温度数据的计算处理方法从DS18B20读取出的二进制值必须先转换成十进制值,才能用于字符的显示。DS18B20的转换精度为912位可选,为了提高精度采用12位。在采用12位转换精度时,温度存放器里的值是以为步进的,即温度值为温度存放器里的二进制值乘以,就是实际的十进制温度值。通过观察表4.1可以发现,一

59、个十进制值与二进制值间有很明显的关系,就是把二进制的高字节的低半字节和低字节的高半字节组成一个字节,这个字节的二进制值化为十进制值后,就是温度值的百、十、个位值,而剩下的低字节的低半字节化成十进制后,就是温度值的小数局部。因为小数局部是半字节,所以二进制值范围是0F,转换成十进制小数值就是的倍数015倍。这样需要4位的数码管来显示小数局部。实际应用不必有这么高的精度,采用1位数码管来显示小数,可以精确到。表4-1就是二进制与十进制的近似对应关系表。表4-1 小数局部二进制和十进制的近似对应关系表小数局部二进制值0123456789ABCDEF 十进制值0011233455667889第五章 调

60、试及性能分析系统的调试以程序调试为主。硬件调试比拟简单,首先检查电路的焊接是否正确,然后可用万用表测试或通电检测。 软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等的编程及调试。由于DS18B20与单片机采用串行数据传送,因此,对DS18B20进行读/写编程时必须严格的保证读/写时序;否那么将无法读取测量结果。本程序采用单片机汇编或C语言编写。软件调试到能显示温度值,而且在有变化时例如用手去接触显示温度能改变,就根本完成。性能测试可用制作的温度计和已有的成品温度计同时进行测量比拟。由于DS18B20的

温馨提示

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

评论

0/150

提交评论