基于ds18b20数字温度计设计论文.doc

上传人:精*** 文档编号:833652 上传时间:2023-09-07 格式:DOC 页数:35 大小:395.32KB
下载 相关 举报
基于ds18b20数字温度计设计论文.doc_第1页
第1页 / 共35页
基于ds18b20数字温度计设计论文.doc_第2页
第2页 / 共35页
基于ds18b20数字温度计设计论文.doc_第3页
第3页 / 共35页
基于ds18b20数字温度计设计论文.doc_第4页
第4页 / 共35页
基于ds18b20数字温度计设计论文.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于89S51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。DS18B20

2、与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。目 录引言7第一章 绪 论81.1 数字温度计的介绍81.2单片机的选择91.3温度传感器的选择91.4显示器的选择101.5设计方案10第二章 AT89S51单片机的结构及工作特性112.1 AT89S51单片机的主要特性112.2 AT89S51单片机的存储器122.3 AT89S51单片机的I/O接口122.4 AT89S51单片机的特殊功能部件122.5 AT89S51单片机的引脚及功能132.6 AT89S51单片机的三总线结构15第三章 DS18B20温度传感

3、器153.1 DS18B20的主要特性153.2 DS18B20的外形及引脚功能163.3 DS18B20的工作原理20第四章 数字温度计的设计214.1 硬件电路设计及其分析224.2系统总电路图254.3 DS18B20测温流程及软件设计264.4 LED动态显示软件设计324.5系统总程序设计32总结38致谢38参考文献39引言随着科技的不断发展,现代社会对各种信息参数的准确度和精确度的要求都有了几何级的增长,而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平。在三大信息信息采集(即传感器技术)、信息传输(通信技术)和信息处理(计算机技术)中,传感器属于信息技术的前沿尖端

4、产品,尤其是温度传感器技术,在我国各领域已经引用的非常广泛,可以说是渗透到社会的每一个领域,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器。目前的智能温度传感器(亦称数字温度传感器)是在20世纪90年代中期问世的,它是微电子技术、计算机技术和自动测试技术(ATE)的结晶,特点是能输出温度数据及相关的温度控制量,适配各种微控制器(MCU)。社会的发展使人们对传感器的要求也越来越高,

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

6、8B20,用数码管实现温度显示。第一章 绪 论1.1 数字温度计的介绍数字温度计采用DALLAS公司的数字温度传感器DS18B20作为测温元件,通过AT89S51单片机处理,最终通过数码管显示。是一种精度高、稳定性好、适用性极强的新型现场温度显示仪。其精度可到达0.1, 测量的温度的范围在20到100之间。最终由4位数码管显示。1.2单片机的选择采用AT89S51单片机。中央微处理器 AT89S51: AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用A

7、TMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80S51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率,并可通过软件设置省电模式。

8、空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式。AT89S51单片机综合了微型处理器的基本功能。按照实际需要,同时也考虑到设计成本与整个系统的精巧性,所以在本系统中就选用价格较低、工作稳定的AT89S51单片机作为整个系统的控制器。1.3温度传感器的选择采用数字单片智能温度传感器DS18B20。 DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位

9、12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20支持“一线总线”接口,测量温度范围为 -55+125,在-10+85范围内,精度为0.5。DS18B20的精度较差为0.2 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量。如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同

10、,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的“DS1820”体积更小、更经济、更灵活。使您可以充分发挥“一线总线”的长处。 DS18B20、 DS1822 “一线总线”数字化温度传感器 。由于DS18B20将温度传感器、信号放大调理、A/D转换、接口全部集成于一芯片,与单片机连接简单、方便,与AD590相比是更新一代的温度传感器,所以温度传

11、感器采用DS18B20。1.4显示器的选择采用传统的七段数码LED显示器。LED数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动

12、态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。1.5设计方案采用数字温度芯片DS18B20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。DS18B20 的最大特点之一采用了单总线的数据传输,由数字温度计DS1

13、8B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51 单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC 机通信上传数据,另外AT89S51 在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟,设计框图如图1-1所示。主控制器复位电路显示电路时钟电路温度检测图1-1系统设计总框图第二章 AT89S51单片机的结构及工作特性2.1 AT89S51单片机的主要特性 AT8

14、9S51是一种低功耗、高性能、CMOS、8位微控制器,具有4K在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。 AT89S51具有以下标准功能: 4k字节Flash,128字节RAM,32 位I/O口线,看门狗定时器,2个数据指针,2个16位定时器/计数器,一个5向量的2级中断结构,一个全双工串行口,片内晶振及时钟电路。2.2 AT89S51单片机的存储器51系列单片机在物理上分为4个存储空间:片内程序存储器和片外程序存储器,片内数据存储器和片外数据存储器。在逻辑上可分为3个存储空间:片内数据存储器和片外数据存储器,片内

15、外统一的64K程序存储器。51单片机片内有4K的程序存储器和128B数据存储器。还可在片外扩展64K的程序存储器和64K的数据存储器。(1)程序存储器程序存储器用于存放编好的程序、表格和常数。51单片机内部有4K ROM,片最多可扩展64K ROM,两者统一编址。 (2)数据存储器数据存储器分为内外两部分,51单片机内部有128B RAM,地址为00H7FH;片外最多可扩展64 K RAM,地址外0000HFFFFH。2.3 AT89S51单片机的I/O接口I/O接口有并行和串行两种。单片机为了为了突出控制的功能,提供了数量多、功能强、使用灵活的并行I/O口,可以作为数据总线、地址总线以及控制

16、总线的使用。串行接口用于串行通信,可把单片机内部的并行数据转化串行数据向外传送,也可以串行接收外部数据并把它们转换成并行数据送给CPU处理。 (1)并行接口 51单片机有4个8位并行输入/输出(I/O)端口,分别称P0口、P1口、P2口和P3口,I/O口线共32根,单片机输出的控制信号和采集外部的输入信号,都是通过这32根I/O口线进行传输的。(2)串行接口 51系列单片机内还具有一个全双工串行通信口,用于跟外部设备进行串行通信。该串口利用2根I/O口线(P3.0串行接口输入端和P3.1串行接口输出端)构成,具有4种不同的工作方式。既可以作为异步通信收发器,也可以作为同步移位寄存器使用,应用于

17、需要扩展的I/O接口的系统。2.4 AT89S51单片机的特殊功能部件(1)定时/计数器 AT89S51有两个16位可编程定时/计数器T0和T1,它们分别有两个独立的8位寄存器THx和TLx构成,通过编程设置可以实现4种工作方式。(2)中断系统 51单片机具备较完善的中断功能,有2个外部中断、2个内部定时器中断和1个串行口中断,可以实现不同的控制要求,并具有两级的优先级。 (3)时钟振荡电路 51内置一个振荡器和时钟电路,用于产生整个单片机运行的脉冲时序,常用频率为6MHZ、11.0592MHZ、12MHZ。振荡器实际上是一个高增益反相器,使用时需外接一个晶振和两个相匹配的电容。 2.5 AT

18、89S51单片机的引脚及功能 图2-1单片机的引脚分布图(1)电源及时钟引脚 VCC(40脚):主电源正端,接+。 VSS(20脚):主电源负端,接地。 XTAL1(19脚):片内高增益反响放大器的输入 端。接外部石英晶体和电容的一端。若使用外部输入时钟,该引脚必须接地。 XTAL2(18脚):片内高增益反向放大器的输出端。接外部石英晶体和电容的另一端,若使用外部输入时钟,该引脚作为外部输入时钟的输入端。(2)控制信号引脚 RESET/VPD (9脚):RESET是复位信号输入端、高电平有效,此端保持两个机器周期(24个时钟周期)以上的高电平时,就可以完成复位操作。RESET引脚的第二功能 V

19、PD,即备用电源的输入端。 ALE (30脚):地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。(29脚):程序存储器允许信号输出端。当访问片外程序存储器时,此脚输出负脉冲作为读选通信号,低电平有效。 /VPP(31脚):片内程序存储器选通控制端。低电平有效。当端保持低电平时。将只访问片外程序存储器。当EA端保持高电平时,执行访问片内程序存储器,但在(程序存储器)值超过0FFF(对子系列)或1FFFH(对子系列)时,将自动转向执行片外程序存储器内的程序。VPP加入编程电压端。对EPROM型单片机,在EPROM编程期间,此

20、引脚用于施加的编程电压(VPP)。(3)输入输出引脚P0口、P1口、P2口、P3口P0口(P0.0P0.7,39脚32脚):P0有两种工作方式。一是作为普通I/O口使用时,每一位可驱动8个LSTTL负载。若驱动普通负载,它只有1.6mA的灌电流驱动能力,输出电流仅为几十微安。高电平输出时,要接上拉电阻以增大驱动能力。当P0口作为普通输入接口时,应先向P0口锁存器写“1”。二是在CPU访问片外存储器(扩展外部(ROM或RAM)时,它是一个标准的双向I/O接口,采用分时复用方式提供低8位地址和用作8位双向数据总线。在EPROM编程时,从PO口输入指令字节;在验证程序时,P0口输出指令字节,这时也需

21、要接上拉电阻。P1口(P1.0P1.7,1脚8脚),P1口是唯一的单功能接口,仅能作为通用I/O接口用。它是自带上拉电阻的8位准双向I/O端口,每一位可驱动4个LSTTL负载,当P1口作为输入接口时,应先向口锁存器写“1”。P2口(P2.0P2.7,21脚28脚),P2口也有两种工作方式,一是作为普通的I/O端口使用时,它是自带上拉电阻的8位准双向I/O接口,每一位可驱动4个LSTTL负载。当P2口作为输入接口时,应先向口锁存器写“1”。二是在访问外部存储器时(扩展RAM或ROM)时,P2口作为高8位地址线使用。P3口(P3.0P3.7,10脚17脚),P3口也是自带上拉电阻的8位准双向I/O

22、接口,每一位可驱动4个LSTTL负载。当P3口作为输入接口时,应先向口锁存器写“1”。2.6 AT89S51单片机的三总线结构 51系列单片机是总线结构的单片机,所谓总线就是指一组公共的信号线,51单片机的总线分为数据总线、地址总线和控制总线。(1)数据总线(DB):数据总线宽度为8位,有P0口提供。(2)地址总线(AB):地址总线宽度为16位,因此外部存储器直接寻址范围为64K,16位地址总线由P0口经地址锁存器提供低8位地址(A0A7),P2口直接提供高8位地址(A8A15)。(3)控制总线(CB):由P3口的第二功能状态和4根独立控制线RESET、EA、PSEN、ALE组成。第三章 DS

23、18B20温度传感器3.1 DS18B20的主要特性(1)适应电压范围宽,电压范围:3.0-5.5V,在寄生电源方式下可以由数据线供电;(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测量。(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;(5)温度范围-55+125,在-10+85时精度为0.5;(6)可编程的分辨率为912位,对应的可分辨温度分别为0.5,0.25,0.125,0

24、.0625,可以实现高精度测温;(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可以传送CRC校验码,具有极强的抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因为发热而烧毁,但是不能正常工作。3.2 DS18B20的外形及引脚功能DS18B20引脚:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。图3-1 DS18B20的外形和管脚图3.3 DS18B20的内部结构DS18B20的内部结构

25、主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式RAM),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8位循环冗余校验码(CRC)发生器等七部分。DS18B20采用脚PR35 封装管脚排列如图3-1所示,内部结构如图3-2所示。图3.2DS18B20内部结构图(1)64位闪速ROM的结构如下:表3-1ROM结构8bit检验CRC48bit序列号8bit工厂代码(10H) MSB LSB MSB LSB MSB LSB开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后位是前面56 位的CRC 检验码,这也是多个D

26、S18B20 可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。(3) DS18B20温度传感器的内部存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易丢失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH,TL和结构寄存器。表3-2配置寄存器结构TMR1R011111低五位一直都是“1”,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,拥护不要去改动。R1和R0用来设置分辨率,如下表所示:表3-3DS18B20温度转换时间表R1R0分辨率(位)温度最大转换时间(ms)00993.

27、750110187.510113751112750(4)高速暂存存储器高速暂存存储器由9个字节组成,其分配如表3-6所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表3-7所示。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S =1时,先将补码变为原码,再计算十进制值。表3-8是对应的一部分温度值。第九个字节是冗余检验字节。表3-4DS18B20字节定义寄存器内容字节地址温度值低位(LS Byte)0温度值高位(MS Byte)1高温限值(TH)2低温限值

28、(TL)3配置寄存器4保留5保留6保留7CRC校验值8表3-5DS18B20温度值格式表低字节232221202-12-22-32-4高字节SSSSS262524表3-6DS18B20温度数据表温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111

29、 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H上表是DS18B20温度采集转化后得到的12位数据,存储在DS18B20的两个8位的RAM中,二进制中的前面5位是符号位,如果测得的温度大于或等于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。温度转换计算方法举例:例如当DS18B20采集到+125的实际温度后,输出为07D0H,则:实际温度=

30、07D0H0.0625=20000.0625=125例如当DS18B20采集到-55的实际温度后,输出为FC90H,则应先将11位数据位取反加1得370H(符号位不变,也不作为计算),则:实际温度=370H0.0625=8800.0625=55(2)主机操作ROM的命令有五种,如表所列表3-7ROM指令表指 令功能读ROM(33H)读DS1820温度传感器ROM中的编码(既64位地址)匹配ROM(55H)发出指令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20使之作出响应,为下一步对该DS18B20读写做准备。跳过ROM(CCH)忽略64位ROM地址,直接想DS18B2

31、0发温度变换指令。适用于单片工作。搜ROM(0F0H)用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件做好准备。报警搜索(0ECH)执行后只有温度超过设定值上线或下线的片子才做出响应主机操作RAM的命令如表表3-8RAM指令表指令约定代码功能温度变换44H启动DS18B20温度转换,12位转换时最长为750ms(9位为93.75ms)接过存入内部9字节RAM中读暂存器0BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的3、4字节写上、下线温度数据命令,紧跟该命令之后,是传送两字节的数据复制暂存器48H将RAM中第3、4字节的内容复制到EEPROM中

32、重调暂存器0B8H将EEPROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”外接电源供电时DS18B20发送“1”3.3 DS18B20的工作原理DS18B20的测温原理如图3-3所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先

33、将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器 1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值。另外,由于DS18B20单线通信功能

34、是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20 (发复位脉冲)发ROM功能命令发存储器操作命令处理数据。 图3-3DS18B20的测温原理第四章 数字温度计的设计4.1 硬件电路设计及其分析硬件电路由总控制器电路、DS18B20测温电路、LED动态显示电路组成。(1)总控制器总控制器有电源电路、时钟电路、复位电路三部分构成。时钟电路对单片机系统而言是必需的。由于单片机内部是由各种各样的数字逻辑器件(如触发器寄存器存储器等)构成,这些数字器件的工作必须按时间顺序完成,这种时间顺序就称为时序。时钟电路就是提供单片

35、机内部各种操作的时间基准的电路,没有时钟电路单片机就无法工作。此次设计中,我们采用由由内部方式产生时钟的方法形成时钟电路。内部方式:在XTAL1和XTAL2端外接石英晶体作定时元件,内部反相放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频,即若石英频率fosc6MHz,则时钟频率3MHZ,因此,时钟是一个双相信号,由P1相和P2相构成。fosc可在2MHZ12MHZ选择。小电容可以取30PF左右。XTAL1和XTAL2为片内振荡电路输入线,这两个端子用来外接石英晶体和微调电容。在石英晶体的两个管脚加交变电场时,它将会产生一定频率的机械变形,而这种械振动又会产生交变电场,上述物理现象称为压电

36、效应。一般情况下,无论是机械振动的振幅,还是交变电场的振幅都非常小。但是,当交变电场的频率为某一特定值时,振幅骤然增大,产生共振,称之为压电振荡。这一特定频率就是石英晶体的固有频率(谐振频率)。即用来连接单片机内OSC的定时反馈回路。石英晶振起振后要能在XTAL2线上输出一个3V左右的正弦波,以便使单片机片内的OSC电路按石英晶振相同频率自激振荡。通常OSC输出时钟频率f为0.5MHz16MHz,典型值为12MHz或者11.0592MHz。电容C3和C4可以帮助起振,典型值为30pF,调节它们可以达到微调f的目的。时钟电路和单片机的连接如图4-1所示。图4-1时钟电路与单片机的连接图复位电路的

37、设计,单片机在开机时都需要复位,以便中央处理CPU以及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位后是靠外部电路实现的, 在时钟电路工作后,只要在单片机的RST引脚上出现24个时钟振荡脉冲(2个机器周期)以上的高电平,单片机便可实现初始化状态复位。单片机的RST引脚是复位信号的输入端。单片机时钟频率为12MHz,则复位脉冲宽度至少应该为2s,复位电路如图4-2所示图4-2单片机复位电路(2)DS18B20测温电路DS18B20 最大的特点是单总线数据传输方式,DS18B20 的数据I/O 均由同一条线来完成。DS18B20 的电源供电方式有2 种: 外部供电方式和寄

38、生电源方式。工作于寄生电源方式时, VDD 和GND 均接地, 他在需要远程温度探测和空间受限的场合特别有用, 原理是当1 W ire 总线的信号线DQ 为高电平时, 窃取信号能量给DS18B20 供电, 同时一部分能量给内部电容充电, 当DQ为低电平时释放能量为DS18B20 供电。但寄生电源方式需要强上拉电路, 软件控制变得复杂(特别是在完成温度转换和拷贝数据到E2PROM 时) , 同时芯片的性能也有所降低。因此, 在条件允许的场合, 尽量采用外供电方式。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电。在这里采用前者方式供电。DS18B20与芯片连接电路如图4-2所示。图

39、4-3DS18B20与单片机接口电路 外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VCC引线。在外接电源方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC 降到3V 时,依然能够保证温度量精度。(3)LED动态显示电路数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0 9、字符A F、H、L、P、R、U、Y、符号“-”及小数点“.”。数码管的外形结构如图4-3所示。图4-4数码管引脚采用4

40、位共阳极数码管。共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。将数码管公共极COM接到+5V,段选段接单片机P0口(当单片机P0口高电平输出时,要接上拉电阻以增大驱动能力),位选端加三极管驱动接单片机P2口。数码管与单片机的接口电路如图4-4中所示。4.2系统总电路图图4-5系统总电路4.3 DS18B20测温

41、流程及软件设计初始化DS18B20 (发复位脉冲)发ROM功能命令发存储器操作命令处理数据复位时序:复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660 微秒左右,后发出60240 微秒的存在低脉冲,主CPU 收到此信号表示复位成功,DS18B20复位时序如图4-6所示。图4-6DS18B20复位时序DS18B20复位程序void ds1820rst() DQ = 1; /DQ复位 delay_18B20(4); /延时 DQ = 0; /DQ拉低 delay_18B20(100); /精确延时大于480us DQ = 1; /拉高 delay_18B20(4

42、0); 主机发送(Tx)-复位脉冲(最短为480s 的低电平信号)。接着主机便释放此线并进入接收方式(Rx)。总线经过4.7K的上拉电阻被拉至高电平状态。在检测到I/O 引脚上的上升沿之后,DS18B20 等待1560s,并且接着发送脉冲(60240s 的低电平信号)。然后以存在复位脉冲表示DS18B20 已经准备好发送或接收,然后给出正确的ROM 命令和存储操作命令的数据。DS18B20 通过使用时间片来读出和写入数据,时间片用于处理数据位和进行何种指定操作的命令。它有写时间片和读时间片两种:写时间片:当主机把数据线从逻辑高电平拉至逻辑低电平时,产生写时间片。有两种类型的写时间片:写1 时间

43、片和写0 时间片。所有时间片必须有60 微秒的持续期,在各写周期之间必须有最短为1微秒的恢复时间.读时间片:从DS18B20 读数据时,使用读时间片。当主机把数据线从逻辑高电平拉至逻辑低电平时产生读时间片。数据线在逻辑低电平必须保持至少1 微秒;来自DS18B20 的输出数据在时间下降沿之后的15 微秒内有效。为了读出从读时间片开始算起15微秒的状态,主机必须停止把引脚驱动拉至低电平。在时间片结束时,I/O 引脚经过外部的上拉电阻拉回高电平,所有读时间片的最短持续期为60 微秒,包括两个读周期间至少1s 的恢复时间。一旦主机检测到DS18B20 的存在,它便可以发送一个器件ROM 操作命令。所

44、有ROM 操作命令均为8位长。所有的串行通讯,读写每一个bit 位数据都必须严格遵守器件的时序逻辑来编程,同时还必须遵守总线命令序列,对单总线的DS18B20 芯片来说,访问每个器件都要遵守下列命令序列:首先是初始化;其次执行ROM 命令;最后就是执行功能命令(ROM 命令和功能命令后面以表格形式给出)。如果出现序列混乱,则单总线器件不会响应主机。当然,搜索ROM命令和报警搜索命令,在执行两者中任何一条命令之后,要返回初始化。基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道,总线上有从机,且准备就绪。在主机检测到应答脉冲后

45、,就可以发出ROM 命令。这些命令与各个从机设备的唯一64 位ROM 代码相关。在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20支持的某个功能命令。这些命令允许主机写入或读出DS18B20便笺式RAM、启动温度转换。软件实现DS18B20的工作严格遵守单总线协议:主机首先发出一个复位脉冲,信号线上的DS18B20 器件被复位。接着主机发送ROM命令,程序开始读取单个在线的芯片ROM编码并保存在单片机数据存储器中,把用到的DS18B20 的ROM 编码离线读出,最后用一个二维数组保存ROM 编码。系统工作时,把读取了编码的DS18B20 挂在总线上。发温度转换命

46、令,再总线复位。然后就可以从刚才的二维数组匹配在线的温度传感器,随后发温度读取命令就可以获得对应的度值了。在主机初始化过程,主机通过拉低单总线至少480us,来产生复位脉冲。接着,主机释放总线,并进入接收模式。当总线被释放后,上拉电阻将单总线拉高。在单总线器件检测到上升沿后,延时1560us,接着通过拉低总线60240us,以产生应答脉冲。写时序均起始于主机拉低总线,产生写1 时序的方式:主机在拉低总线后,接着必须在15us之内释放总线。产生写0 时序的方式:在主机拉低总线后,只需在整个时序期间保持低电平即可(至少60us)。在写字节程序中的写一个bit 位的时候,没有按照通常的分别写0时序和写1 时序,而是把两者结合起来,当主机拉低总线后在15us 之内将要写的位c

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 大学论文

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922