毕业设计(论文)基于DS18B20的多点温度检测系统的设计.doc

上传人:laozhun 文档编号:3979084 上传时间:2023-03-30 格式:DOC 页数:50 大小:1.18MB
返回 下载 相关 举报
毕业设计(论文)基于DS18B20的多点温度检测系统的设计.doc_第1页
第1页 / 共50页
毕业设计(论文)基于DS18B20的多点温度检测系统的设计.doc_第2页
第2页 / 共50页
毕业设计(论文)基于DS18B20的多点温度检测系统的设计.doc_第3页
第3页 / 共50页
毕业设计(论文)基于DS18B20的多点温度检测系统的设计.doc_第4页
第4页 / 共50页
毕业设计(论文)基于DS18B20的多点温度检测系统的设计.doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《毕业设计(论文)基于DS18B20的多点温度检测系统的设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于DS18B20的多点温度检测系统的设计.doc(50页珍藏版)》请在三一办公上搜索。

1、前 言31 系统方案设计41.1 方案设计41.2 方案论证52 系统设计62.1工作原理62.2 单元电路设计72.1.1 DS18B20与单片机接口电路设计72.1.2 键盘电路设计132.1.3显示电路设计142.1.4 报警电路设计193 程序设计213.1 程序流程设计213.2 程序设计264 系统仿真274.1 原理图绘制274.2 程序加载274.3系统仿真275 产品制作285.1 PCB板设计285.1.1 PCB板面规划285.1.2 PCB网络表导入285.1.3 PCB元件布局285.1.4 布线295.2 PCB板制作305.2.1 PCB打印305.2.2 PCB

2、转印305.2.3 PCB蚀刻315.2.4 PCB钻孔315.2.5 PCB板表面处理325.3 元器件安装与产品调试325.3.1 元器件安装325.3.2 产品调试34总 结35参考资料36前 言21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。温度是一个和人们生活环境有着密切关系的物理量,也是一种在生产、科研、生活中需要测量和控制的重要物理量,是国际单位制七个基本量之一。温度的变化会给我们的生活、工作、生产等带来重大影响

3、,因此对温度的测量至关重要。其测量控制一般使用各式各样形态的温度传感器。随着现代计算机和自动化技术的发展,作为各种信息的感知、采集、转换、传输相处理的功能器件,温度传感器的作用日显突出,已成为自动检测、自动控制系统和计量测试中不可缺少的重要技术工具,其应用已遍及工农业生产和日常生活的各个领域。分布式温度传感器在电力工业、煤矿、森林、火灾、高层建筑、航空、航天飞行器等有着重要的应用前景,引起研究人员的广泛关注。近年来,已经有不少分布式温度传感器的报道,包括基于光纤非线性效应的拉曼温度传感器等,但由于其昂贵的成本而无法得到广泛的应用。本设计使用了美国 Dallas 半导体公司的新一代数字式温度传感

4、器DS18B20,它具有独特的单总线接口方式 ,即允许在一条信号线上挂接数十甚至上百个数字式传感器 ,从而使测温装置与各传感器的接口变得十分简单 ,克服了模拟式传感器与微机接口时需要的A/D转换器及其它复杂外围电路的缺点。本设计是心AT89C51为单片机作为控制核心,提出了一种基于DS18B20的分布式温度传感系统,多个温度传感节点通过单总线通过单总线与单片机相联形成分布式系统。单片机通过实时监控温度的变化,通过12864图形液晶显示各节点温度的数值,当温度值超出允许范围时,报警器开始报警,从而远程实现对整个温度系统的管理和控制。这种分布式温度测量系统具有成本低廉、传感精度高、系统稳定、易于管

5、理等优点。1 系统方案设计1.1 方案设计方案一:该方案由单片机、模拟温度传感器AD590、运算放大器、AD转换器、44键盘、LCD显示电路、集成功率放大器、报警器组成。本方案采用模拟温度传感器AD590作为测温元件,传感器将测量的温度变换转换成电流的变化,再通过电路转换成电压的变化,使用运算放大器交将信号进行适当的放大,最后通过模数转换器将模拟信号转换成数字信号,传给给单片机,单片机将温度值进行处理之后用LCD显示 ,当温度值超过设置值时,系统开始报警。图1.1 方案一温度测量系统方案框图方案二:该方案使用了AT89C51单片机作为控制核心,以智能温度传感器DS18B20为温度测量元件,采用

6、多个温度传感器对各点温度进行检测,通过44键盘模块对正常温度进行设置显示电路采用12864 LCD模块,使用LM386作为报警电路中的功率放大器。 图1.2 方案二温度测量系统方案框1.2 方案论证方案一采用模拟温度传感器,转换结果需要经过运算放大器和AD转换器传送给处理器。它控制虽然简单,但电路复杂,不容易实现对多点温度进行测量和监控。由于采用了多个分立元件和模数转换器,容易出现误差,测量结果不是很准确,因此本方案并不可取。方案二采用智能温度传感器DS18B20,它直接输出数字量,精度高,电路简单,只需要模拟DS18B20的读写时序,根据DS18B20的协议读取转换的温度。此方案硬件电路简单

7、,程序设计复杂一些,但是电子竞赛培训期间我编写过DS18B20、图形液晶、键盘的程序,而且设计过电路并成功地通过调试,并且我已经使用开发工具KEIL用C语言对系统进行了程序设计,用仿真软件PROTEUS对系统进行了仿真,达到了预期的结果。由此可见,该方案完成具有可行性,体现了技术的先进性,经济上也没有问题。综上所述,本课题采用方案二对系统进行设计。 2 系统设计2.1工作原理 基于DS18B20多点温度测量系统以AT89C51为中心器件,以KEIL为系统开发平台,用C语言进行程序设计,以PROTEUS作为仿真软件设计而成的。系统主要由传感器电路、液晶显示电路、键盘电路、报警电路组成,电路原理图

8、2.1所示。DS18B20是智能温度传感器,它的输入/输出采用数字量,以单总线技术,接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。主机按照通信协议用一个IO口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数值处理,用图形液晶模块显示各点的温度。在系统启动之时,可以通过44键盘设置各点温度的上限值,当某点温度超过设置值时,报警器开始报警,从而实现了对各点温度的实时监控。每个DS18B20有自己的序列号,因此本系统可以在一根总线上挂接了4个DS18B20,通过CRC校验,对各个D

9、S18B20的ROM进行寻址,地址符合的DS18B20才作出响应,接收主机的命令,向主机发送转换的温度。采用这种DS18B20寻址技术,使系统硬件电路更加简单。 图2.1 系统硬件电路原理图2.2 单元电路设计2.1.1 DS18B20与单片机接口电路设计(1) DS18B20与单片机的接口技术如图2.2所示:DS18B20与单片机的接口电路非常简单。DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚接单片机的IO口,电源与数字输入输出脚间需要接一个4.7K的电阻。 图2.2 DS18B20与单片机接口电路(2) 中央处理器AT89C51简介 AT89C51的特点AT89C

10、51具有以下几个特点:l AT89C51与MCS-51系列的单片机在指令系统和引脚上完全兼容;l 片内有4k字节在线可重复编程快擦写程序存储器;l 全静态工作,工作范围:0Hz24MHz;l 三级程序存储器加密;l 1288位内部RAM;l 32位双向输入输出线;l 两个十六位定时器/计数器l 五个中断源,两级中断优先级;l 一个全双工的异步串行口;l 间歇和掉电两种工作方式。AT89C51的功能描述AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCS-51系列单片机在

11、指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统具有许多MCS-51系列产品没有的功能。图2.3 AT89C51芯片引脚分布AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7V6V),全静态工作,工作频率宽在0Hz24MHz之间,比8751/87

12、C51等51系列的6MHz12MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。 AT89C51引脚功能AT89C51单片机40引脚分布如右图3.3.4。AT89C51是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。它与MCA-51系列单片机在指令系统和引脚上完全兼容,不仅可完全代替MCS-51系列单片机,而且能使系统

13、具有许多MCS-51系列产品没有的功能。AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于4K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,适合许多嵌入式控制领域。工作电压范围宽(2.7V6V),全静态工作,工作频率宽在0Hz24MHz之间,比8751/87C51等51系列的6MHz12MHz更具有灵活性,系统能快能慢。AT89C51芯片提供三级程序存储器加密,提供了

14、方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。表2 P3口的第二功能(3) DS18B20的工作原理 DS18B20数字温度传感器概述DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20产品的特点l 只要求一个端口即可实现通信。l 在DS18B20中的每个器件上都有独一无二的序列号。l 实际应用中不需要外部任何元器件即可实现测温。l 测量温度范

15、围在55.C到125.C之间。l 数字温度计的分辨率用户可以从9位到12位选择。l 内部有温度上、下限告警设置。TO92封装的DS18B20的引脚排列见图4-2,其引脚功能描述见表4-1。表4-1DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数字输入输出引脚,开漏单总线接口引脚,当使用寄生电源时,可向电源提供电源3VDD可选择的VDD引脚,当工作于寄生电源时,该引脚必须接地 DS18B20的内部结构DS18B20的内部框图如图4-3所示。64位ROM存储器件独一无二的序列号。暂存器包含两字节(0和1字节)的温度寄存器,用于存储温度传感器的数字输出。暂存器还提供一字节的上

16、线警报触发(TH)和下线警报触发(TL)寄存器(2和3字节),和一字节的配置寄存器(4字节),使用者可以通过配置寄存器来设置温度转换的精度。暂存器的5、6和7字节器件内部保留使用。第八字节含有循环冗余码(CRC )。使用寄生电源时,DS18B20不需额外的供电电源;当总线为高电平时,功率由单总线上的上拉电阻通过DQ引脚提供;高电平总线信号同时也向内部电容CPP充电,CPP在总线低电平时为器件供电。图4-3 DS18B20的内部框图DS18B20加电后,处在空闲状态。要启动温度测量和模拟到数字的转换,处理器须向其发出Convert T 44h 命令;转换完后,DS18B20回到空闲状态。温度数据

17、是以带符号位的16-bit补码存储在温度寄存器中的,如图4-4所示:图4-4 温度寄存器格式符号位说明温度是正值还是负值,正值时S=0,负值时S=1。表4-2给出了一些数字输出数据与对应的温度值的例子。温度输出(2进制)输出(16进制)+1250000 0111 1101 0000 07D0H+850000 0101 0101 00000550H+20.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1

18、111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH25.06251110 1110 0110 1111EE6FH-551111 1110 1001 0000FE90H表4-5 温度/数据的关系 DS18B20的命令序列l 初始化l ROM命令跟随着需要交换的数据;l 功能命令跟随着需要交换的数据。访问DS18B20必须严格遵守这一命令序列,如果丢失任何一步或序列混乱,DS18B20都不会响应主机(除了Search ROM 和Alarm Search这两个命令,在这两个命令后,主机都必须返回到第一步)。a初始化:DS18B20所有的数据交换都由一个

19、初始化序列开始。由主机发出的复位脉冲和跟在其后的由DS18B20发出的应答脉冲构成。当DS18B20发出响应主机的应答脉冲时,即向主机表明它已处在总线上并且准备工作。b. ROM命令:ROM命令通过每个器件64-bit的ROM码,使主机指定某一特定器件(如果有多个器件挂在总线上)与之进行通信。DS18B20的ROM如表4-3所示,每个ROM命令都是8 bit长。指令协议功能读ROM33H读DS18B20中的编码(即64位地址)符合ROM55H发出此命令后,接着发出64位ROM编码,访问单总线上与该编码相对应的DS18B20,使之作出响应,为下一步对该DS18B20的读写作准备搜索ROM0F0H

20、用于确定挂接在同一总线上DS18B20的个数和识别64位ROM地址,为操作各器件作好准备跳过ROM0CCH忽略64位ROM地址,直接向DS18B20V 温度转换命令,适用于单个DS18B20工作告警搜索命令0ECH执行后,只有温度超过庙宇值上限或下限的片子才做出响应温度转换44H启动DS18B20进行温度转换,转换时间最长为500ms(典型为200ms),结果丰入内部9字节RAM中读暂存器BEH读内部RAM中9字节的内容写暂存器4EH发出向内部RAM的第3、4字节写上、下温度数据命令,紧该温度命令之后,传达两字节的数据复制暂存器48H将RAM中第3、4字内容复制到E2PROM中重调E2PROM

21、0B8H将E2PROM中内容恢复到RAM中的第3、4字节读供电方式0B4H读DS18B20的供电模式,寄生供电时DS18B20发送“0”,外部供电时DS18B20发送“1”c. 功能命令:主机通过功能命令对DS18B20进行读/写Scratchpad存储器,或者启动温度转换。DS18B20的功能命令如表4-4所示。2.1.2 键盘电路设计(1)行列式键盘与单片机接口技术(2)行列式键盘结构(3)行列式键盘工作原理尽管构成行列式键盘结构形式不一样,但它们的工作原理是相同的,现以图3.47为例来说明:行线P14-P17为输出,列线P10-P13为输入。CPU先使第一行( P14)为“0”,其余行为

22、“1”。然后读输入口P10-P13的状态,若输入缓冲器的状态全部为“1”,则表示所在行无键按下,接下来CPU使一下行线为“0”,其余行线为“1”,扫描下一行,这样在P14-P17循环进行。若输入缓冲器不全为“1”,说明所在行有键按下,CPU停止当前行线扫描,转入到列线扫描,列线P10-P13为“0”状态的列表示对应列有键按下。这样,行线与列数交叉键就是扫描到的按键。键扫描方式有三种。A. 开关状态的可靠输入键开关状态的可靠输入有两种解决方法。一种是软件去抖动:它是在检测到有键按下时,执行一个10ms的延时程序后,再确认该键电平是否仍保持闭合状态电平,如保持闭合状态电平则确认为真正键按下状态,从

23、而消除了抖动影响。另一种为硬件去抖动:即为按键添加一个锁存器。两种方法都简单易行,本设计采用的是硬件去抖。B. 对按键进行编码给定键值或给出键号对于按键无论有无编码,以及采用什么编码,最后都要转换成为与累加器中数值相对应的键值,以实现按键功能程序的散转转移。为使编码间隔小,散转入口地址安排方便,常采用依次序排列的键号。拨码开关值含义0000实时显示通道一的温度值0001实时显示通道二的温度值0010实时显示通道三的温度值0011实时显示通道四的温度值0100实时显示通道五的温度值0101实时显示通道六的温度值0110实时显示通道七的温度值0111实时显示通道八的温度值1*自动循环显示所有通道的

24、温度C. 选择键盘监测方法对是否有键按下的信息输入方式有中断方式与查询方式两种。本设计采用的查询法,即在在CPU空闲时调用键盘扫描子程序。2.1.3显示电路设计(1)LCD与单片机的接口电路如图所示: 图 LCD与单片机的接口电路(2) 引脚分布及功能12864液晶显示屏共有20个引脚,其引脚名称及引脚编号的对应关系如图所示:图 12864液晶显示模块引脚分布图引脚功能如表1所示:表1 12864液晶显示模块引脚功能引脚符 号引 脚 功 能引脚符 号引 脚 功 能1VSS电源地15CS1CS1=1:芯片选择左边64*64点2VDD电源+5V16CS2CS2=1:芯片选择右边64*64点3VO液

25、晶显示驱动电源0-5V17/RST复位(低电平有效)4RSH:数据输入;L:指令码输入18VEELCD驱动负电源5R/WH:数据读取;L:数据写入19A背光电源(+)6E使能信号。由H到L完成使能20K背光电源(-)7-14DB0-DB7数据线有些型号的模块19、20脚为空脚(3)温度显示电路设计采用的是共阴极七段数码管。显示方式有动态扫描和静态显示,两种方法在本设计中皆可。由于静态扫描要用到多片串入并出芯片,考虑到电路板成本计算。本人采用是节约硬件资源的动态扫描方式。即用两块芯片就可以完成显示功能。显示数据由4511译码器输出,ULN2003为位驱动扫描信号。具体电路图如下:(2)温度测试电

26、路这里我们用到温度芯片DS18B20。DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式。测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。其工作电源既可在远端引入,也可采用寄生电源方式产生。CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。DS18B20支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、

27、测温类消费电子产品等。(3) 图形液晶显示原理12864液晶屏横向一共有128个点,纵向有64个点,全屏分为左半屏和右半屏,DDRAM表与12864点的一一对应关系如表2所示:表2 12864液晶模块内部结构左 半 屏 右 半 屏CS1=1CS2=1Y=001626301。6263行号X=0X=7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB707DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB7855DB0DB7DB0DB7DB0DB7DB0DB7DB

28、0DB7DB0DB7DB0DB7DB0DB7DB0DB7DB0DB75663在液晶屏上显示16*16点阵汉字首先将汉字转换成相应的代码,在送入的液晶屏的相应的位置, (4) 图形液晶控制方法 读状态字(Staus Read)RsR/WDB7DB6DB5DB4DB3DB2DB1DB001BUSY0ON/OFFRESET0000状态字是计算机了解12864-1当前状态的唯一的信息渠道。状态字为一个字节,其中仅3位有效位,它们是:BUSY 表示当前12864-1接口控制电路运行状态。BUSY=1表示12864正在处理计算机发来的指令或数据。此时接口电路被封锁,不能接受除状态字以外的任何操作。BUSY

29、=0表示12864接口控制电路,已处于“准备好”状态,等待计算机的访问。ON/OFF 表示当前的显示状态。ON/OFF=1表示关闭显示状态,ON/OFF表示开显示状态。RESET 表示当前12864-1的工作状态,即反映RST端的电平状态。当RST为低电平状态时,12864-1处于复位工作状态,RESET=1。当前RST为高电平状态时, 12864-1为正常工作状态,RESET=0。在指令设置和数据读写时要注意状态字中的BUSY标志。只有在BUSY=0时,计算机对12864的操作才能有效。因此计算机在每次对12864操作之前,都要读出状态字判断BUSY是否为“0”,则计算机需要等待,直至BUS

30、Y=0为止。 显示开关设置(Display on/off)RS R/WDB7DB6DB5DB4DB3DB2DB1DB0000011111D该指令设置显示开/关触发器的状态,由此控制显示数据的存储器的工作方式,从而控制显示屏上的显示状态。当D=1为开显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中ON/OFF=0。当D=0为关显示设置,显示数据锁存器被置零,显示屏呈不显示状态,但显示存储器并没有被破坏,在状态字中ON/OFF=1。 显示起始行设置(Display Start Line)RS R/WDB7DB6DB5DB4DB3DB2DB1DB00011显示起始行(06

31、3)该指令设置了显示起始行寄存器的内容。KS0108有64行显示的管理能力,该指令中L5L0为显示起始行的地址,取值在03FH(164行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的地址。如果定时间隔地,等间距地修改(如加一或减一)显示起始行寄器的内容,则显示屏将呈现内容向上或向下平滑滚动的显示效果。 页面地址设置Set Page ( X address)RS R/WDB7DB6DB5DB4DB3DB2DB1DB00010111Page(07)该指令设置了页面地址X地址寄存器的内容。12864将显示存储器分成8页,指令代码中B2B0就是要确定当前所要选择的页面地址,取值范围为07H,代

32、表第18页。该指令规定了以后的读/写操作将在哪一个页面上进行。 列地址设置(Set Y address)RS R/WDB7DB6DB5DB4DB3DB2DB1DB00001Y address(063)该指令设置了Y地址计数器的内容,DB5DB0=03FH(164)代表某一个单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加一功能,在每一次读/写数据后它将自动加一,所以在连续进行读/写数据时,Y地址计数器不必每次都设置一次。页面地址的设置和列地址的设置将显示存储单元唯一地确定下来,为后来的显示数据的读/写作了地址的选通。 写指令数据RSR/WDB7DB7DB5DB4DB3D

33、B2DB1DB000指令此命令在在E的下降沿有效。写显示数据(Write Display Data)RS R/WDB7DB6DB5DB4DB3DB2DB1DB010显示数据该操作将8位数据写入先前已确定的显示存储器的单元内,操作完成后列地址计数器自动加一。 读显示数据(Read Display Date)RS R/WDB7DB6DB5DB4DB3DB2DB1DB011显示数据该操作将12864.-1接口部的输出寄存器的内容读出,然后列地址计数器自动加一。2.1.4 报警电路设计如图所示:报警电路为语音功放LM386组成,内部结构3 程序设计3.1 程序流程设计(1)主程序流程设计(2)子程序流

34、程设计 DS18B20的信号方式DS18B20采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1。除了应答脉冲所有这些信号都由主机发出同步信号。总线上传输的所有数据和命令都是以字节的低位在前。a.初始化序列:复位脉冲和应答脉冲在初始化过程中,主机通过拉低单总线至少480s,以产生复位脉冲(TX)。然后主机释放总线并进入接收(RX)模式。当总线被释放后,5k的上拉电阻将单总线拉高。DS18B20检测到这个上升沿后,延时15s60s,通过拉低总线60s240s产生应答脉冲。初始化波形如图4-5所示。 图 4-5 初始化脉冲b.读和写时

35、序在写时序期间,主机向DS18B20写入数据;而在读时序期间,主机读入来自DS18B20的数据。在每一个时序,总线只能传输一位数据。读/写时序如图3-6所示。l 写时序存在两种写时序:“写1”和“写0”。主机在写1时序向DS18B20写入逻辑1,而在写0时序向DS18B20写入逻辑0。所有写时序至少需要60s,且在两次写时序之间至少需要1s的恢复时间。两种写时序均以主机拉低总线开始。产生写1时序:主机拉低总线后,必须在15s内释放总线,然后由上拉电阻将总线拉至高电平。产生写0时序:主机拉低总线后,必须在整个时序期间保持低电平(至少60s)。在写时序开始后的15s60s期间,DS18B20采样总

36、线的状态。如果总线为高电平,则逻辑1被写入DS18B20;如果总线为低电平,则逻辑0被写入DS18B20。l 读时序图4-6 DS18B20读/写时序图DS18B20只能在主机发出读时序时才能向主机传送数据。所以主机在发出读数据命令后,必须马上产生读时序,以便DS18B20能够传送数据。所有读时序至少60s,且在两次独立的读时序之间至少需要1s的恢复时间。每次读时序由主机发起,拉低总线至少1s。在主机发起读时序之后,DS18B20开始在总线上传送1或0。若DS18B20发送1,则保持总线为高电平;若发送0,则拉低总线。当传送0时,DS18B20在该时序结束时释放总线,再由上拉电阻将总线拉回空闲

37、高电平状态。DS18B20发出的数据在读时序下降沿起始后的15s内有效,因此主机必须在读时序开始后的15s内释放总线,并且采样总线状态。DS18B20 在使用时,一般都采用单片机来实现数据采集。只需将DS18B20 信号线与单片机1 位I/O线相连,且单片机的1 位I/O 线可挂接多个DS18B20 ,就可实现单点或多点温度检测。3.2 程序设计 见附录4 系统仿真4.1 原理图绘制 加一些三级目录4.2 程序加载 加一些三级目录4.3系统仿真 加一些三级目录(1)设计任务(2)解题思路(3)电路设计(4)程序设计(5)程序编译与加载(6)仿真结果5 产品制作5.1 PCB板设计5.1.1 P

38、CB板面规划在绘制电路板之前,首先要定义板框,定义板框主要包括:定义定义电路板的层数、电路板的外形尺寸和形状等。首先新建一个PCB文档,打开后点击编辑区下方的Keep Out层标签,切换当前层为禁止布线层。然后在上面绘制一个矩形板框。执行DesignRules命令,选择Routing标签页的Rules Classes区中的Routing Layers规则,将Toplayer设置成Not used,Bottomlayer设置成Vertical,即把布线层设置在底层的单层板。但同时自己也可以利用板框向导创建自定义模板。5.1.2 PCB网络表导入载入网络表和元件封装:执行DesignNetlist

39、命令打开载入网络表对话框,在Netlist File选项中,输入所要载入的网络表文件名及路径,网络表没有错误后,按Aduanced载入网络表。载入网络表后,电路板中会出现由元件封装和连接关系组成的一些凌乱的图形。接下来就把这些凌乱的图形放置到适当的位置,即元件布局。5.1.3 PCB元件布局设计PCB板时布局是十分重要的,合理的布局,能给布线工作带来方便。对PCB板布局,首先要考虑PCB尺寸大小,当PCB尺寸过大时,布线则相对容易,散热也好,但材料增加,成本也增加,且影响工艺要求;过小,布线则较难,散热也不好,可靠性降低。因此本设计PCB尺寸大小为150mm100mm。在确定PCB尺寸后,再确

40、定特殊元件的位置。最后,根据电路的功能单元,对电路的全部元器件进行布局。在确定特殊元件的位置时应遵守以下原则:(1) 尽可能缩短高频元器件之间的连线,设法减少它们的分布参数和相互间的电磁干扰。易受干扰的元件不能相互挨得太近,输入和输出元件应尽量远离。时钟晶振特别容易受到外界干扰,所以应该将时钟晶振靠近IC时钟输入端。(2) 某些元器件或导线之间可能有较高的电位差,应加大它们之间的距离,以免放电引出意外的短路。带高电压的元器件应尽量布置在调试时手不易触及的地方。(3) 重量超过15g的元器件,应当用支架加以固定,然后焊接。那些又大有重,发热量多的元器件,不宜装在印制板上,而应装在整机底板上,且考

41、虑散热问题。热敏元件应远离发热元件。电源电路的三端稳压器7805是一个发热元件,因为它所带电路电流较大,所以要加散热片。(4) 对于电位器,可调电感线圈,可变电容器,微动开关等可调元件的布局应考虑整机的结构要求。若是机内调节,应放在印制板上方便于调节的地方;若是机外调节,其位置要与调节旋钮在机箱板上的位置相适应。(5) 应留出印制板定位孔及固定支架所占用的位置。根据电路的功能单元,对电路的全部元器件进行布局时,要符合以下原则:(1) 按照电路的流程安排各个功能电路单元的位置,使布局便于信号流通,并使信号尽可能保持一致的方向。(2) 以每个功能电路的核心元件为中心,围绕它来进行布局。元器件应均匀

42、,整齐,紧凑地排列在PCB板上,尽量减少和缩短各元器件之间的引线和连接。(3) 在高频下工作的电路,要考虑元器件之间的分布参数。一般电路应尽可能使元器件平行排列。这样,不但美观,而且装焊容易,易于批量生产。5.1.4 布线布线是的一个重要的组成部分,是完成电子产品设计的重要步骤。基于EDA开发板电路复杂,焊盘较多。若制作单面板布线可能飞线过多,影响PCB板工艺,可靠性也会降低,因此,该设计采用双面板制作EDA开发板的PCB板,而用单面板制作下载部分的PCB板。为了使布线的可靠性高,干扰小,工艺好,具体在布线上应该遵循以下原则:(1) 当输入输出端的信号频率较高时,导线应尽量避免相邻平行。最好加线间地线,以免发生反馈藕合。(2) 印制摄导线的最小宽度主要由导线与绝缘基扳间的粘附强度和流过它们的电流值决定。当铜箔厚度为0.05mm、宽度为115mm时,通过2A的电流,温度不会高于3。因此,导线宽度为1.5mm可满足要求。对于集成电路,尤其是数字电路,通常选0.20.3mm导线宽度。当然,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号