为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

水箱温度控制

2017-11-15 30页 doc 231KB 118阅读

用户头像

is_196623

暂无简介

举报
水箱温度控制水箱温度控制 课程设计说明书 水箱水温控制系统 班级: 姓名: 学号: 1 摘 要 温度是表征物体冷却程度的物理量,也是一种最基本的环境参数。在农工业生产及日常生活中,对温度的测量及控制始终占据着极其重要的地位。目前,典型的温度测控系统由模拟式温度传感器、A/D 转换电路和单片机组成。由于模拟式温度传感器输出的模拟信号必须经过A/D 转换环节获得数字信号后才能与单片机等微处理器接口,因而使得硬件电路结构复杂,成本较高。而以DS18B20 为代表的新型单总线数字式温度传感器集温度测量和A/D转换于一体,直接输出...
水箱温度控制
水箱温度控制 课程设计说明 水箱水温控制系统 班级: 姓名: 学号: 1 摘 要 温度是征物体冷却程度的物理量,也是一种最基本的环境参数。在农工业生产及日常生活中,对温度的测量及控制始终占据着极其重要的地位。目前,典型的温度测控系统由模拟式温度传感器、A/D 转换电路和单片机组成。由于模拟式温度传感器输出的模拟信号必须经过A/D 转换环节获得数字信号后才能与单片机等微处理器接口,因而使得硬件电路结构复杂,成本较高。而以DS18B20 为代表的新型单总线数字式温度传感器集温度测量和A/D转换于一体,直接输出数字量,与单片机接口电路结构简单,广泛使用于距离远、节点分布多的场合,具有较强的推广应用价值。 水箱温度控制,也就是要符合人们需求的生活用水,先要把水烧开,然后使水温保持一定的温度,方便人们饮用。本文介绍了DS18B20型数组温度传感器内部结构以及工作时序,并提出了以DS18B20和AT89S52为主要器件设计的数字温度计审计,时间证明该数字温度计的测温范围为,50到,110?精度误差在0.1以内,具有测温精度高,控制性能良好等特点。水箱温控系统是以单片机(AT89s52)为核心,使用DS18B20对温度采进行采集、并且控制模拟灯两灭模拟对加热管进行加热,从而达到对温度的控制,然后使用液晶屏共阴数码管显示。 本文介绍了单片机监控温度,DS18B20用来采集实时温度 关键词:单片机AT89S52;共阴数码管;温度采集芯片DS18B20; 2 前言 温度是表征物体冷却程度的物理量,也是一种最基本的环境参数。在农工业生产及日常生活中,对温度的测量及控制始终占据着极其重要的地位。目前,典型的温度测控系统由模拟式温度传感器、A/D 转换电路和单片机组成。由于模拟式温度传感器输出的模拟信号必须经过A/D 转换环节获得数字信号后才能与单片机等微处理器接口,因而使得硬件电路结构复杂,成本较高。而以DS18B20 为代表的新型单总线数字式温度传感器集温度测量和A/D转换于一体,直接输出数字量,与单片机接口电路结构简单,广泛使用于距离远、节点分布多的场合,具有较强的推广应用价值。 本文所设计的就是水箱温度控制系统,通过单片机与温度采集芯片进行控制温度,用数码管模块来实现温度的显示,主要是能显示当前的温度,能对温度进行设置,实际的温度与设定的温度基本相 1 水箱设计方案 1.1设计方案论证 而电子制冷水箱:优越性能就不用说了,其价格相对来说更贵,而且涉及到很多方面的工业知识,在我现有的知识面内无法承受和消化,所以电子制冷也不属于设计的考虑范畴。 本次以单片机AT89S52为主要器件,对温度采集考虑到用传感器,在单片机电路设计中,大多都是使用传感器来进行温度采集,所以可以采用一只温度传感器DS18B20,AD590等传感器,DS18B20芯片内部已经做了AD转换,读出的数据可以直接给单片机显示。而用AD590则需要另外的AD转换器件,电路相对复杂,不如DS18B20电路简便,加上DS18B20的精度比AD590的要相对的高一些,所以使用DS18B20可以很容易直接读取被测温度值,根据这些知识就可以满足设计要求,所以最终采用了以上罗列的设计方案。 1.2设计流程图 数主主 码 管单片机复位 显 示 控控 报警点控制 制制温度传感 器 温度按键修 改 器器 图1,1设计流程 1.3采用的芯片 (1)中央处理器电路:采用单片机AT89S52芯片机外围电路构成最小系统。 (2)温度采集芯片DS18B20。 (3)共阴数码管。 (4)人机接口电路:包括按键电路。 (5)执行部件电路:包括蜂鸣器、状态指示灯。 本文采用单片机(AT89S52)为核心,结合相关的元器件(共阴数码管、温度采集芯片DS18B20、蜂鸣器来组成电路。首先用单片机来控制及处理数据,DS18B20采集好温度数据就传给单片机,经过单片机处理,用数码管显示温度,并且通过按键来控制,行进复位功能,温度过高用蜂鸣器报警,温度显示修改等。 1.4电路模块 (1)复位电路 复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过复位电路相连,,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路,如图所示。当时钟频率选用12MHz时,C取10μF, Rk约为10K。 (2)独立键盘按键的识别 独立键盘是通过按键的一端跟单片机的I/O口相连,一端跟GND相连,这样的电路设置简单,而且稳定性高~程序也简单化~ (4)显示电路设计 共阴数码管显示电路,液晶屏显示模块与数码管相比,它显得更为专业、漂亮。数码管显示屏以其微功耗、体积小、显示内容丰富、超薄轻巧、使用方便等诸多优点。因为本系统显示的内容多,数码管更显得有有特色. 2 2 温控水箱的硬件设计 2.1水箱主要原理 图2,1饮水机的原理 通过控制使水温稳定在在某一个值上。并且具有键盘输入温度给定值,LED数码管显示温度值和温度达到极限时报警功能。能在0摄氏度至100摄氏度范围内控制水温,通过键盘设计需要保持的水温,实时显示水的温度,静态控制精度为0.1摄氏度。在达到一定温度后自动断电保持水的温度,在水温低到一定程度后自动通电烧水,DS1820 数字温度计以9 位数字量的形式反映器件的温度值。DS1820 通过一个单线接口发送或接收信息,因此在中央微处理器和DS1820 之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部电源。 我们选用的是AT89S52单片机,温度采集芯片是DS18C20:一共三个管脚,一个VCC,一个GND,还有一个是数据线.采用的是单总线,一个数据线,即传输命令,有传输数据,所以,对时许要求很严格。当时序不对时,读不出正确的温度数据。 我们才用的显示器是共阴数码管,左边两个数字表示温度值,右边两个数码 3 管显示的是设定报警的温度值。 工作过程: 单片机AT89S52,对温度采集芯片DS18B20进行读写操作,启动温度转换,然后18B20采集到温度数据送回给单片机AT89S52.单片机送给数码管显示。 在加热部分,采用led模拟(亮代表加热,灭代表停止加热)。 图2,2温控水箱的PCB图 2.2 MCS-51系列单片机的连接 2.2.1 MCS-51芯片选择 AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 51系列单片机研制于1980年,由Intel公司所开发,其结构是8048MCS- 的延伸,改进了8048的缺点,其ROM、RAM都可扩充至64KB,也增添了如乘(MUL)、除(DIV)、减(SUBB)、比较(CJNE)、栈入(PUSH)、栈出(POP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。8052有6个中断源,MCS-51系列单片机存储器容量如表(二,,)所示。MCS-51系列单片机特点如下: 1、专为控制应用所设计的八位CPU 2、具有布尔代数的运算能力 3、32条双项且可被独立寻址的,,,口 4、芯片内有128字节可供存储数据的RAM(8052:256字节) 5、内部有两组16位定时器(8052有3个) 6、具有全多工传输信号,,,, 7、5个中断源,且具有两级(高,低)优先权顺序的中断结构 8、芯片内有4KB(8KB,8052)的程序存储器(ROM) 9、芯片内有时钟(CLOCK)振荡器电路 10、程序存储器可扩展至64KB(ROM) 4 11、数据存储器可扩展至64KB(RAM) 表2,1存储器的类型 12、8051,52:工厂烧写型,内含ROM 13、P8751:一次烧写型,内含,ROM 14、8751,8751:可重复烧写型,内含,PROM 15、87C51,87C52:省电型(低消耗功率) 单片机采用MCS-51系列单片机。由ATMEL公司生产的AT89S51是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的8 位CPU 和在线系统可编程Flash,使得AT89S51为众多嵌入式控制应用系统提供高灵活、有效的解决方案。AT89S51具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。而且,它还具有一个看门狗(WDT)定时/计数器,如果程序没有正常工作,就会强制整个系统复位,还可以在程序陷入死循环的时候,让单片机复位而不用整个系统断电,从而保护你的硬件电路。 AT89S52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,片上Flash允许程序存储器在系统可编程,亦适于常规编程器。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储 5 器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89S52的一些特殊功能口,如下 表2,2管脚功能 管脚 备选功能 (串行输入口) P3.0 RXD (串行输出口) P3.1 TXD P3.2 (外部中断0) /INT0 P3.3 (外部中断1) /INT1 (记时器0外部输入) P3.4 T0 (记时器1外部输入) P3.5 T1 (外部数据存储器写选通) P3.6 /WR 6 (外部数据存储器读选通) P3.7 /RD P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 2.2.2单片机复位 (1)复位操作 复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或者操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键以重新启动。 ,复位操作还对单片机的个别引脚信号有影响,例如把ALE和PSEN非信号变为无效状态,即ALE=0,PSEN=1。 ,复位信号及其产生 RST引脚是复位信号的输入端,复位信号是高电平有效,其有效时间持续24个振荡脉冲周期(即2个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。 整个复位电路包括芯片内外两部分。外部电路产生的复位信号(RST)送施 7 密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样。然后才得到内部复位操作所需要的信号。 ;复位方式 复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外部复位电路的电容充电来实现的,在单片机控制的数字显示温度计电路设计中的单片机复位就是这种方式,其中电容C为22uF,电阻R为1k欧姆,其电路图如图(三—5a)所示。 这样,只要电源Vcc(+5V)的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的复位初始化。 按键手动复位有电平方式和脉冲方式两种。其中按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路图如图(三— 5b)所示。而按键复位脉冲复位则是利用RC微分电路产生的正脉冲来实现的。 上述电路图中的电阻电容参数适宜于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。 图2,4上电及按键复位 8 2.3 DS1820测温模块 图2,5DS18B20的管脚图 DSl820数字温度计提供9位温度读数,指示器件的温度。信息经过单线接口送入DSl820或从DSl820送出,因此从中央处理器到DSl820仅需连接一条线(和地)。读、写和完成温度变换所需的电源可以由数据线本身提供,而不需要外部电源。因为每一个DSl820有唯一的系列号(silicon serial number),因此多个DSl820可以存在于同一条单线总线上。这允许在许多不同的地方放置温度灵敏器件。此特性的应用范围包括HVAC环境控制,建筑物、设备或机械内的温度检测,以及过程监视和控制中的温度检测。 DS1820特性: ?独特的单线接口,只需1个接口引脚即可通信 ?多点(multidrop)能力使分布式温度检测应用得以简化 ?不需要外部元件 ?可用数据线供电 ?不需备份电源 ?测量范围从-55?至+125?,增量值为0.5?。等效的华氏温度范围是-67?至257?,增量值为0.9? ?以9位数字值方式读出温度 ?在1秒(典型值)内把温度变换为数字 ?用户可定义的,非易失性的温度告警设置 ?告警搜索命令识别和寻址温度在编定的极限之外的器件(温度告警情况) ?应用范围包括恒温控制,工业系统,消费类产品,温度计或任何热敏系统 2.3.1DSl820与单片机的连接 9 图2,6 DSl820与单片机的连接 它既可寄生供电也可由外部,,电源供电。在寄生供电情况下,当总线为高电平时,DS1820从总线上获得能量并储存在内部电容上 当总线为低电平时, 由电容向DS1820供电。 DS1820的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。计数器设置为-55?时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55?。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度表示值为9bit,高位为符号位, 10 2.3.2 DSl820结构 图2,7DS18B20的结构 与DSl820的通信经过一个单线接口。在单线接口情况下,在ROM操作未定建立之前不能使用存贮器和控制操作。主机必须首先提供五种ROM操作命令之一:1)Read ROM(读ROM);2)Match ROM(符合ROM);3)Search ROM(搜索ROM);4)Skip ROM(跳过ROM);5)Alarm Search(告警搜索)。这些命令对每一器件的64位激光ROM部分进行操作。如果在单线上有许多器件,那么可以挑选出一个特定的器件,并给总线上的主机指示存在多少器件及其类型。在成功地执行了ROM操作序列之后,可使用存贮器和控制操作,然后主机可以提供六种存贮器和控制操作命令之一。一个控制操作命令指示DSl820完成温度测量。该测量的结果将放入DSl820的高速暂存(便笺式)存贮器(Scratchpad memory),通过发出读暂存存储器内容的存储器操作命令可以读出此结果。每一温度告警触发器TH和孔构成一个字节的EEPROM。如果不对DSl820施加告警搜索命令,这些寄存器可用作通用用户存储器。使用存储器操作命令可以写TH和TL。对这些寄存器的读访问通过便笺存储器。所有数据均以最低有效位在前的方式被读写。 (1)寄生电源 方框图示出寄生电源电路。当I,0或VDD引脚为高电平时,这个电路便“取”得电源。只要符合指定的定时和电压要求,I,O将提供足够的功率(标题为“单总线系统”一节)。寄生电源的优点是双重的:1)利用此引脚,远程温度检测无需本地电源,2)缺少正常电源条件下也可以读ROM。为了使DSl820能完成准确的温度变换,当温度变换发生时,I,0线上必须提供足够的功率。因为DSl820的工作电流高达1mA,5kΩ的上拉电阻将使I,0线没有足够的驱动能力。如果几个DSl820在同一条I,0线上而且企图同时变换,那么这一问题将变得特别尖锐。 有两种方法确保DSl820在其有效变换期内得到足够的电源电流。第一种方法是发生温度变换时,在I,0线上提供一强的上拉。如图2所示,通过使用一 11 个MOSFET把I,0线直接拉到电源可达到这一点。当使用寄生电源方式时VDD引脚必须连接到地。 向DSl820供电的另外一种方法是通过使用连接到VDD引脚的外部电源,如图3所示。这种方法的优点是在I,0线上不要求强的上拉。总线上主机不需向上连接便在温度变换期间使线保持高电平。这就允许在变换时间内其它数据在单线上传送。此外,在单线总线上可以放置任何数目的DSl820,而且如果它们都使用外部电源,那么通过发出跳过(Skip)ROM命令和接着发出变换(Convert)T命令,可以同时完成温度变换。注意只要外部电源处于工作状态,GND(地)引脚不可悬空。 图2,8强上拉在温度变换期内向DSl820供电 在总线上主机不知道总线上DSl820是寄生电源供电还是外部VDD供电的情况下,在DSl820内采取了措施来通知采用的供电方案。总线上主机通过发出跳过(Skip)ROM的操作约定,然后发出读电源命令,可以决定是否有需要强上拉的DSl820在总线上。在此命令发出后,主机接着发出读时间片。如果是寄生供电,DSl820将在单线总线上送回“0”;如果由VDD脚供电,它将送回“1”。如果主机接收到一个“0”,它知道它必须在温度变换期间在I,0线上供一个强的上拉。有关此命令约定的详细说明,见“存贮器命令功能”一节。 (2)运用 — 测量温度 DSl820通过使用在板温度测量专利技术来测量温度。温度测量电路的方框图见图2,9所示。 12 图2,9用VDD供电 通过一种片上温度测量技术来测量温度。图2,9示出了温度测量电路的方框图。 图2,10温度测量电路 DSl820通过门开通期间内低温度系数振荡器经历的时钟周期个数计数来测量温度,而门开通期由高温度系数振荡器决定。计数器予置对应于-55?的基数,如果在门开通期结束前计数器达到零,那么温度寄存器也被予置到-55?的数值增量,指示温度高于-55?。 同时,计数器用斜率累加器电路所决定的值进行予置。为了对遵循抛物线规律的振荡器温度特性进行补偿,这种电路是必需的。时钟再次使计数器计值至它达到零。如果门开通时间仍未结束,那么此过程再次重复。 斜率累加器用于补偿振荡器温度特性的非线性,以产生高分辩率的温度测量。通过改变温度每升高一度,计数器必须经历的计数个数来实行补偿。因此,为了获得所需的分辩率,计数器的数值以及在给定温度处每一摄氏度的计数个数(斜率累加器的值)二者都必须知道。 此计算在DSl820内部完成以提供0.5?的分辩率。温度读数以16位、符号 13 扩展的二进制补码读数形式提供。表l说明输出数据对测量温度的关系。数据在单线接口上串行发送。DSl820可以以0.5?的增量值,在0.5?至+125?的范围内测量温度。对于应用华氏温度的场合,必须使用查找表或变换系数。 注意,在DSl820中,温度是以1,2? LSB(最低有效位)形式表示时,产生以下9位格式: 图2,11MSB及LSB的高低位 最高有效(符号)位被复制到存储器内两字节的温度寄存器中较高MSB的所有位,这种“符号扩展”产生了如表1所示的16位温度读数。 以下的过程可以获得较高的分辩率。首先,读温度,并从读得的值截去0.5?位(最低有效位)。这个值便是TEMP_READ。然后可以读留在计数器内的值。此值是门开通期停止之后计数剩余。 在DSl820完成温度变换之后,温度值与贮存在TH和TL内的触发值相比较。因为这些寄存器仅仅是8位,所以0.5?位在比较时被忽略。TH或TL的最高有较位直接对应于16位温度寄存器的符号位。如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位。每次温度测量更新此标志。只要告警标志置位,DSl820将对告警搜索命令作出响应。这允许并联连接许多DSl820,同时进行温度测量。如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。 每一DSl820包括一个唯一的64位长的ROM编码。开绐的8位是单线产品系列编码(DSl820编码是10h)。接着的48位是唯一的系列号。最后的8位是开始56位CRC(见图5)。64位ROM和ROM操作控制部分允许DSl820作为一个单线器件工作并遵循“单线总线系统”一节中所详述的单线协议。直到ROM操作协议被满足,DSl820控制部分的功能是不可访问的。单线总线主机必须首先操作五种ROM操作命令之一:1)Read ROM(读ROM),2)Match ROM(匹配ROM),3)Search ROM(搜索ROM),4)Skip ROM(跳过ROM),或5)Alarm Search(告警搜索)。在成功地执行了ROM操作序列之后,,DSl820特定的功能便可访问,然后总线上主机可提供六个存贮器和控制功能命令之一。 图2,12 MSB及LSB的高低位编码 14 DSl820有一存贮在64位ROM的最高有效字节内的8位CRC。总线上的主机可以根据64位ROM的前56位计算机CRC的值并把它与存贮在DSl820内的值进行比较以决定ROM的数据是否已被主机正确地接收。CRC的等效多项式函数为: DSl820也利用与上述相同的多项式函数产生一个8位CRC值并把此值提供给总线的主机以确认数据字节的传送。在使用CRC来确认数据传送的每一种情况中,总线主机必须使用上面给出的多项式函数计算CRC的值并把计算所得的值或者与存贮在DSl820的64位ROM部分中的8位CRC值(ROM读数),或者与DSl820中计算得到的8位CRC值(在读暂存存贮器中时,它作为第九个字节被读出),进行比较。CRC值的比较和是否继续操作都由总线主机来决定。当存贮在DSl820内或由DSl820计算得到的CRC值与总线主机产生的值不相符合时,在DSl820内没有电路来阻止命令序列的继续执行。 总线CRC可以使用如图7所示由一个移位寄存器和“异或”(XOR)门组成的多项式产生器来产生。其它有关Dallas公司单线循环冗余校验的信息可参见标题为“理解和使用Dallas半导体公司接触式存贮器产品”的应用注释。移位寄存器的所有位被初始化为零。然后从产品系列编码的最低有效位开始,每次移入一位。当产品系列编码的8位移入以后,接着移入序列号。在序列号的第48位进入之后,移位寄存器便包含了CRC值。移入CRC的8位应该使移位寄存器返回至全零。 图2,13流程图 DSl820的存贮器如图所示那样被组织。存贮器由一个高速暂存(便笺式)RAM和一个非易失性,电可擦除(E)RAM组成,后者存贮高温度和低温度和触发器TH和TL。暂存存贮器有助于在单线通信时确保数据的完整性。数据首先写入暂存存贮器,在那里它可以被读回。当数据被校验之后,复制暂存存贮器的命令把数据传送到非易失性(E)RAM。这一过程确保了更改存贮器时数据的完整性。 15 图2,14暂存器的位数 暂存存贮器是按8位字节存储器来组织的。头两个字节包含测得温度信息。第三和第四个字节是TH和TL的易失性拷贝,在每一次上电复位时被刷新。接着的两个字节没有使用,但是在读回时,它们呈现为逻辑全1。第七和第八个字节是计数寄存器,它们可用于获得较高的温度分辨率(见“运用一测量温度”一节)。 还有第九个字节,它可用Read Scratchpad(读暂存存贮器)命令读出。该字节包含一个循环冗余校验(CRC)字节,它是前面所有8个字节的CRC值。此CRC值以“CRC产生”一节中所述的方式产生。 2.5 共阴数码管 数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 2.5.1驱动方式 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 ? 静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8,40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 ? 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方 16 式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1,2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 2.5.2主要参数 8字高度:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。 长*宽*高:长——数码管正放时,水平方向的长度;宽——数码管正放时,垂直方向上的长度;高——数码管的厚度。 时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。 数码管应用 数码管是一类显示屏 通过对其不同的管脚输入相对的电流 会使其发亮 从而显示出 数字 能够显示 时间 日期 温度 等所有可用数字表示的参数 由于它的价格便宜 使用简单 在电器 特别是家电领域应用极为广泛 空调 热水器 冰箱 等等 绝大多数 热水器用的都是数码管 其他家电 也用液晶屏与 荧光屏 数码管使用的电流与电压 电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。 电压:查引脚排布图,看一下每段的芯片数量是多少,当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。 2.5.3常见问题 恒流驱动与非恒流驱动对数码管的影响 1、显示效果: 由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大, 并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动芯片还要能够自动调节输出电流 的大小以实现色差平衡温度补偿。 2、安全性: 即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路 17 后可防止 由于电流故障所引起的数码管的大面积损坏。 另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。 超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障显示。 为什么数码管亮度不均匀, 关于亮度一致性的问题是一个行业内的常见问题。 有二个大的因素影响到亮度一致性。 一是使用原材料芯片的选取,一是使用数码管时采取的控制方式。 1、原材料--芯片的VF和亮度和波长是一个正态分布, 即使筛选过芯片,VF和亮度和波长已在一个很小的范围了,生产出来的产品还是在一个范围内,结果就是亮度不一致。 2、要保证数码管亮度一样,在控制方式选取上也有差别 最好的办法是恒流控制,流过每一个发光二极管的电流都是相同的,这样发光二极管看起来亮度就是一样的了。如恒压控制,则导致VF不相同的发光二极管分到的电流不相同,所以亮度也不同。 当然以上二个条件是相辅相成的。 怎样测量数码管引脚,分共阴和共阳? 找公共共阴和公共共阳:首先,我们找个电源(3到5伏)和1个1K(几百欧的也行)的电阻,VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的,找到一个就够了,然后GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。 18 2.6其它芯片 (1)晶振 Crystal中文名就是石英晶体振荡器或者简称晶振。常见的声卡都支持44.1kHz和48kHz的信号输入,而这2种采样率不是整数倍关系,如果同时支持这2种采样率输出的话,声卡上需要2颗晶振。分别为12.288MHz和24.576MHz(或者为他们整数倍的频率)。而通过SRC后,输出的采样率(一般)固定在48kHz,这样声卡可以节省一颗晶振,降低了成本,虽然AC'97 2.1开始支持多种采样率输出,但厂家都倾向使用硬件或者软件SRC输出以节省成本。晶振也有品质好坏的分别,但好的和坏的之间差异并不是非常明显,因此,晶振的品质问题还够不成声卡音质的瓶颈。晶振很好识别,一般那个金属壳的元件就是晶振。 晶振是控制CPU的时钟频率的,也就是产生高低电平的周期(产生一个高电平,和一个低电平为一个周期,)一般说来次频率越高,电脑在单位时间里处理的速度越快。 (2)蜂鸣器 一种是直流的,所谓傻瓜型的,加电就响;另外一种就是交流的,通常要2~20KHZ的交流信号通过蜂鸣器,靠调整占空比、周期来调整声音的大小、长短等。至于用途是提醒并起警告的作用。 (3)电阻、电容 电阻一般选择1,,电容一般选择30pf。 3 软件设计过程 3.1软件设计流程图 19 开始 初始化 温度采集子程调处理程序 序 判断有无按键 Y 开 始 加 热 N 是否加热到了设定温度 Y 恒温加热 结束 图3,1软件设计流程图 3.2 DS1820测温编程 主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,再读出温度转换值。假设一线仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,可写出完成一次转换并读取温度值子程序GETWD。 DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625?/LSB形式表达,其中S为符号位。例如,125?的数字输出为07D0H,,25.0625?的数字输出为0191H,,25.0625?的数字输出为FF6FH,,55?的数字输出为FC90H。 20 高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。 DS18B20的一线工作协议流程是:初始化?ROM操作指令?存储器操作指令?数据传输。其工作时序包括初始化时序、写时序和读时序,如图3(a)(b)(c)所示。 图3,2DS18B20的时序 假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写了3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。 由于DS18B20采用的是1,Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。 由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据 21 接收。数据和命令的传输都是低位在先。 3.2.1 DSl820时序读写 对于DS18B20的读时序分为读0时序和读1时序两个过程。 对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。 对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。 对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。 DSl820工作过程中的协议如下 初始化 RoM操作命令存储器操作命令处理数据 1 初始化 单总线上的所有处理均从初始化开始。 2 ROM操作品令 总线主机检测到DSl820的存在,便可以发出ROM操作命令之一,这些命令如 指令 代码 Read ROM(读ROM) [33H] Match ROM(匹配ROM) [55H] Skip ROM(跳过ROM] [CCH] Search ROM(搜索ROM) [F0H] Alarm search(告警搜索) [ECH] 3 存储器操作命令 指令 代码 Write Scratchpad(写暂存存储器) [4EH] Read Scratchpad(读暂存存储器) [BEH] Copy Scratchpad(复制暂存存储器) [48H] Convert Temperature(温度变换) [44H] Recall EPROM(重新调出) [B8H] Read Power supply(读电源) [B4H] DSl820工作过程中的协议如下 初始化 RoM操作命令存储器操作命令处理数据 1 初始化 单总线上的所有处理均从初始化开始 22
/
本文档为【水箱温度控制】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索