于DS18B20多点测温与语音播报系统的设计_第1页
于DS18B20多点测温与语音播报系统的设计_第2页
于DS18B20多点测温与语音播报系统的设计_第3页
于DS18B20多点测温与语音播报系统的设计_第4页
于DS18B20多点测温与语音播报系统的设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、基于DS18B20多点测温与语音播报系统的设计摘要: 随着社会的进步和工业技术的发展,人们越来越重视温度因素,许多产品对温度范围要求严格,而目前市场上普遍存在的温度检测仪器大都是单点测量,同时有温度传递不及时、精度不够的缺点,不利于工业控制者根据温度变化及时作出决定。在这样的形式下,开发一种能够同时测量多点,并且实时性高、精度高,能够综合处理多点温度信息的测量系统就很有必要。本文设计了一个基于51单片机的温度测量和语音播报系统。该系统利用数字式温度传感器DS18B20测量环境温度,将测量到的温度值显示,并通过NY3P035BP8语音芯片将温度值播报。该系统温度测量准确,系统结构简单、且抗干扰能

2、力强。关键词:STC89C51RC;语音播报;数字式温度计 Design of Multi-Point Temperature Measurementand Voice Broadcast System Based on DS18B20Abstract: With the social progress and the development of industrial technology, people pay more and more attention to the temperature factor, many products are strict requirements o

3、n the temperature range, the temperature detection equipment currently on the market is the single point measurement, while the temperature transfer is not timely, the precision is not enough, is not conducive to industrial control according to the change of temperature to make timely decisions. In

4、this situation, in addition to the development of a multi-point measurement, and real-time, high accuracy, the measurement system can control the temperature it is necessary. This paper introduces the design of a temperature measurement and voice broadcast system based on 51 single chip microcompute

5、r. Digital temperature sensor DS18B20 temperature measurement by using this system, the measured temperature values are displayed, and the temperature value through the NY3P035BP8 voice chip. The system of temperature measurement accuracy, the system has the advantages of simple structure, and stron

6、g anti-interference ability.Key words:STC89C51RC;Voice broadcast;Digital thermometer 第1章 绪论11.1 选题目的和意义:11.2 温度测量技术的现状及发展趋势11.3 本课题主要讨论问题2第2章 系统方案选择与论证32.1 多个DS18B20的设计方案32.1.1方案一32.1.2方案二32.1.3方案三32.2 主控部分42.2.1 方案一:采用PC机42.2.2 方案二:采用DSP或ARM芯片42.2.3 方案三:采用STC89C51RC单片机52.3 语音芯片部分72.3.1 方案一:采用OTP语音芯

7、片72.3.2 方案二:采用WT588语音芯片72.3.3 方案三:采用NY3P035BP8语音芯片72.4 确定系统总体提方案72.5 本章小结8第3章 硬件电路设计93.1 单片机的时钟电路和复位电路设计93.1.1 时钟电路93.1.2 复位电路93.2 DS18B20设计103.2.1 DS18B20的单总线命令103.2.2 DS18B20的概述113.2.3 DS18B20的测温原理123.2.4 DS18B20与单片机的接口设计163.3 NY3P035BP8语音录放电路设计163.3.1 NY3P035BP8语音芯片的介绍163.3.2 由单片机控制的录放电路173.4 LED

8、数码显示电路183.5 小结19第4章 软件设计204.1 主程序流程图204.2 DS18B20温度测量程序204.2.1 DS18B20的时序204.2.2 DS18B20的复位程序214.2.3 DS18B20启动温度转换程序214.2.4 DS18B20读温度程序224.3 数码管显示程序224.4 语音播报程序234.5 小结23第5章 系统PCB板设计与仿真图制作255.1 PCB设计的一般原则255.2 PCB板布线原则265.3 PCB板绘制265.4系统仿真的制作265.5本章小结28设计总结29参考文献30致谢30附录一:程序31附录二:硬件电路40第1章 绪论1.1 选题

9、目的和意义:自然界中几乎所有的物理化学过程都与温度紧密相关,因此温度是工农业生产,科学试验以及日常生活中需要普遍进行测量和控制的一个重要物理量。温度测量是现代检测技术的重要组成部分,在保证产品质量、节约能源和安全生产等方面起着关键的作用。因此,能够确保快速、准确地测量温度的技术及其装置普遍受到各国的重视。近年来,利用数字式温度传感器以实现温度信息的在线检测已成为温度检测技术的一种发展趋势。随着电子技术的发展,将组成CPU的部件集成在一块半导体芯片上,这个具有 CPU 功能的大规模集成电路芯片就称之为微处理器。把微处理器部件像其他集成电路一样嵌入到电子系统中,使电子系统具有可编程序的智能化特点,

10、开辟了计算机技术在电子技术领域应用的广阔大地。将微处 理器、存储器、I/O 电路集成到一块半导体芯片的技术再次推动了这种嵌入式技术的发展,单片机 是这种设计技术中的一个典型代表。单片机适用于测量和控制领域,它以芯片形式嵌入到电子产品或系统中。本设计主要采用单片机STC89C51RC为控制核心,通过 DS18B20 数字式温度传感器实现温度测量,温度显示在数码管上,并控制语音芯片实现温度的播报。1.2 温度测量技术的现状及发展趋势温度测量技术现状:随着国内外工业的日益发展,温度检测技术也有了不断的进步,目前的温度检测使用的温度计种类繁多,应用范围也较广泛。按照所用方法之不同,温度测量分为接触式和

11、非接触式两大类。 一:接触式温度测量技术 接触式测温法的特点是测温元件直接与被测对象相接触,两者之间进行充分的热交换,最后达 到热平衡,这时感温元件的某一物理参数的量值就代表了被测对象的温度值。(1)利用物体热胀冷缩原理制成的温度计(2)利用热电效应技术制成的热电式温度计 (3) 利用热阻效应技术制成的热电阻温度计(4) 利用石英晶体测温(5) 集成芯片式测温。二:非接触式温度测量技术 非接触式测温方法不需要与被测对象接触,因而不会干扰被测温度场的状态,测量仪器本身也不会受温度场的损伤,动态响应特性一般也很好,但是会受到测量介质物性参数的影响。非接触式温度计又可分为全辐射高温计、亮度式高温计和

12、比色式高温计,由于它们都是以光辐射为基础,故也称为辐射温度计。温度测量技术的发展趋势:随着工业生产效率的不断提高,自动化水平与范围也不断扩大,因而对温度测量技术的要求也越来越高,对于温度测量技术的发展趋势可以归纳以下几方面。 (1) 数字化:传感器与电子技术相结合,可以实现模拟量转换为数字量输出,其最大优点是直观、分辨率高、测量误差小。 (2) 智能化:以温度传感器为基础的测量系统,在集成化的基础上,具有信号测量、处理、存储、误差与自诊断能力,扩大了应 用范围,增强抗干扰能力,便于与计算机通讯。 (3) 高精度化:由于自动化程度的不断提高,对测量灵敏度高、精度高、响应速度快的温度传感器需求较多

13、。 (4) 扩大测量范围:现在工业上通用的温度检测范围为-20030000,而今后温度计要求能测 量超高温与超低温,尤其是极低温度的检测。 (5) 扩大测温对象:应用范 围己经从工业领域延伸到环境保护、家用电器、汽车工业及航天工业等领域。1.3 本课题主要讨论问题 此次设计是基于单片机控制的LED数码智能语音温度计。 主要研究的问题有:1、 温度的测量,包括温度传感器的选取;2、 播报语音的实现,包括选择语音芯片和编写对应程序;3、 数显功能的实现,要求测量结果的数据转换,能够显示零下的负号。第2章 方案选择与论证2.1 多个DS18B20的设计方案2.1.1方案一方案一DS18B20一对一连

14、接方案,就是一个I/O口连接一个DS18B20,这种方案虽然占用单片机的三个I/O口,但采用这种方案大大的简化了编程难度,缩短了设计周期,同时也能保证系统的稳定,方案一的框图如图2.1所示。 图2.1 DS18B20多I/O口连接方案2.1.2方案二 方案二 DS18B20单线连接方案,就是三个DS18B20连接到单片机的一个I/0口上,这种方案只用到单片机的一个I/O口,大大的节约了单片机I/O口资源。缺点是在时序上比较复杂,DS18B20的编程增加了读ROM程序,搜索ROM和匹配ROM程序。方案二的框图如图2.2所示。图2.2 DS18B20单线连接方案2.1.3方案三方案一是把DS18B

15、20的三个DQ端分别接到单片机的三个不同的I/O口,这种接法占用的I/O口比较多,但是它的时序比较简单,不需要读取ROM序列号程序,搜索ROM序列号程序,匹配ROM序列号程序,软件上简化了很多。方案二是四DS18B20D的三个DQ端接到单片机的一个I/O口。这种接法在硬件上节省了三个I/O口,在硬件上简化了不少。但是在软件上时序就增加了难度,需要添加读ROM序列号程序,搜索ROM序列号程序,匹配ROM序列号程序。所以结合两者优点设计了方案三,三个DS18B20连接在一个I/O口,并在每个DS18B20前面加一个开关,这样不但它的时序比较简单而且在硬件上简化了不少。方案三的框图如图2.3所示。图

16、2.3 DS18B20单线连接优化方案2.2 主控部分2.2.1 方案一:采用PC机PC机可在线编程、可在线仿真,这让调试变得方便。CUP的计算速度比单片机快,而且有良好的人机交互界面,但是PC机输出信号不能直接与DS18B20通信,需要通过RS232电平转换兼容,需要的硬件多,较为繁琐,很不简便。而且在一些环境比较恶劣的场合,PC机的体积大、价格贵、携带安装不方便、性能不稳定,给工程带来很多麻烦。2.2.2 方案二:采用DSP或ARM芯片单片机叫MCU,微控制器,ARM叫嵌入式微处理器,DSP叫数字信号处理器,是专为高速度的海量离散数字信号处理而发展的芯片。他们的发展需求不同导致了他们的内部

17、系统资源和结构的不同。比如,51单片机是8位的,晶振最多24M,ROM有4K,可用RAM少于128字节,软件主要通过自己来编写;对于信号的处理,如对信号做FFT,则选择DSP;ARM是32位的,主频一般在几百M,内存一般是以G为单位,现在的趋势是用于商业上的开发ARM+LINUX。其中要考虑项目的规模,效率的要求,当然最主要的还是设计成本,DSP和ARM价格相对比较高。本设计中,主控芯片只需控制温度传感器和语音芯片,电路规模比较小,不需要大量的信号进行处理,程序也较为简单,如使用DSP或ARM做主控芯片会大大增加成本和电路的复杂度。2.2.3 方案三:采用STC89C51RC单片机 STC89

18、C51RC是一个低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,内置功能强大的微型计算机的STC89C51RC提供了高性价比的解决方案。 如图所示,图2.4为STC89C51RC单片机基本构造,其基本性能介绍如下: 图2.4 STC89C51RC单片机STC89C51RC本身内含40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中端口,3个16位可编程定时计数器,2个全双工串行通信口,STC89C

19、51RC可以按照常规方法进行编程,但不可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 管脚说明 STC89C51RC为40脚双列直插封装的8位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9脚

20、)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P0端口(3239脚)被定义为N1功能控制端口,分别与N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12脚、27脚及28脚定义为握手信号功能端口,连接主板CPU的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。 P0口:P0口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口。作为输出口用时

21、,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是

22、,P1.0和P1.1还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。Flash编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8 位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX R

23、I指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。 P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能P3口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。 ALE/PROG:当访问外部程序存储器或数据存储

24、器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个AL脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条 MOVX 和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C51RC

25、由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。 EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相放大器的输出端。

26、2.3 语音芯片部分2.3.1 方案一:采用OTP语音芯片OTP是指一次性可编程语音芯片,语音只能烧写一次,不能擦除,适合应用在不需要修改语音、语音长度短的场合。OTP语音芯片的特点是单芯片方案、价格便宜,适合中小型批量生产。主要应用在中低端玩具、电子琴、电动车等产品上。2.3.2 方案二:采用WT588语音芯片WT588系类语音芯片是广州创维科技有限公司和台湾华邦共同研发出来的集单片机与语音电路与一体的可编程语音芯片,它有多种控制模式,包括按键控制模式,并口控制模式和串口控制模式。WT588缺点是不能现场录音,只能通过与电脑连接擦除和改写语音内容,本设计中需要通过外部现场采集语音信息,所以不

27、予采用。2.3.3 方案三:采用NY3P035BP8语音芯片此语音芯片是一款具有PWM 输出的OTP 语音标准芯片。共有3 个I/O 口,此语音芯片内置电阻,没有外围元件,外围电路只需要一个104 电容就可以稳定的工作。性能优点:工作电压2.2-5.5V,适用范围很宽。输出方式:PWM有8PIN,DIP8 或者SOP8 封装片,或者裸片可以选择。可以烧录裸片出货的OTP 语音芯片。喇叭是8 欧-16 欧范围内的任何喇叭(建议0.25-1W 内)此芯片是特定的固定标准模块,可以通过单片机最少2 个I/O口控制多达32 段声音任意调用和组合的语音标准芯片,通常最常用的控制方式是3 个I/O,所以采

28、用NY3P035BP8作为语音播报的芯片。2.4 确定系统总体提方案通过以上方法比较,在温度测量中选用DS18B20温度传感器,主控部分采用STC89C51RC单片机,语音部分采用NY3P035BP8语音芯片。总体方案框图如图2.5所示。图2.5 总体方案框图2.5 本章小结本章中确定了系统的设计总方案,包括温度传感器,主控部分和语音部分的方案论证。传感器部分采用数字式温度传感器DS18B20,它是以单总线方式来传送数据的,控制方便且电路简单。主控部分采用STC89C51RC单片机,不需要处理大量的数据,从成本上考虑采用单片机控制。语音部分采用NY3P035BP8语音芯片,它的特点芯片内置电阻

29、,没有外围元件,外围电路只需要一个104 电容就可以稳定的工作。第3章 硬件电路设计3.1 单片机的时钟电路和复位电路设计3.1.1 时钟电路STC89C51RC是内部具有振荡电路的单片机,如图3.1所示,只需在18脚和19脚之间接上石英晶体,只要给单片机接通+5V直流电源,振荡器就开始振荡起来。振荡电路就为单片机工作提供了所需要的时钟脉冲信号,单片机开始工作。振荡电路不工作,整个单片机电路都不能正常工作。18脚和19脚分别对地接了一个30pF的电容,目的是防止单片机自激。若从18脚 输入外部时钟脉冲,则19脚接地。图3.1 时钟电路3.1.2 复位电路复位电路就是在RST端(9脚)外接的一个

30、电路,如图3.2所示,目的是使单片机上电时,内部电路从初始状态开始工作,或者在工作中人为让单片机重新从初始状态开始工作。在时钟工作的情况下,只要复位引脚高电平保持在两个机器周期以上的时间,STC89C51RC便能完成系统的复位,使得内部特殊功能寄存器的内容均被设置成已知状态,并且从地址0000H处读入程序代码而执行程序。 图3.2 复位电路3.2 DS18B20设计3.2.1 DS18B20的单总线命令根据DS18B20的通讯协议,单片机控制DS18B20完成温度转换必须经过三个步骤:第一步:主机先发一个复位脉冲,使总线上的所有DS18B20都被复位。第二步:发送ROM操作指令,使序列号编码匹

31、配的DS18B20被激活,准备接受下面的RAM访问指令。第三步:RAM访问指令控制选中的DS18B20工作状态,完成整个温度转换,读取等工作。在ROM命令发送之前,RAM命令不起作用。一:初始化基于单总线上的所有传输过程是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道总线上有从机设备,且准备就绪。二:ROM命令在主机检测到应答脉冲后,就可以发出ROM命令,这些命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型,或者有没有设备处于报警

32、状态。从机设备可能支持5种ROM命令,每种命令长度为8位。主机在发出功能命令之前,必须送出合适的ROM命令。DS18B20有5条ROM命令:(1)搜索ROMF0h。当系统初始上电时,主机必须找出总线上所有从机设备的ROM代码,这样主机就能够判断出从机的数目和类型。主机通过重复执行搜索ROM循环以找出总线上所有的从机设备。如果总线只有一个从机设备,则可以采用读ROM命令来替代搜索ROM命令。在每次执行完搜索ROM循环后,主机必须返回至命令序列的第一步进行初始化。(2)读ROM33h。该命令仅使适用于总线上只有一个从机设备。它允许主机直接读出从机的64位ROM代码,而无须执行搜索ROM过程。如果该

33、命令用于多个节点系统,则必然发生数据冲突,因为每个从机设备都会响应该命令。(3)匹配ROM55h。匹配ROM命令跟随64位ROM代码,从而允许主机访问多节点系统中某个指定的从机设备。当从机完全匹配64位ROM代码时,才会响应主机随后发出的功能命令。其它设备将处于等待复位脉冲状态。(4)跳跃ROMCCh。主机能够采用该命令同时访问总线上的所有从机设备,而无须发出任何ROM代码信息。例如, 主机通过在发出跳越ROM命令后跟随转换温度命令44h,就可以同时命令总线上所有的DS18B20 开始转换温度,这样大大节省了主机的时间。值得注意,如果跳越ROM命令跟随的是读暂存器BEh的命令(包括其它读操作命

34、令),则该命令只能应用于单节点系统,否则将由于多个节点都响应该命令而引起数据冲突。(5)报警搜索ECh。除那些设置了报警标志的从机响应外,该命令的工作方式完全等同于搜索ROM命令。该命令允许主机设备判断那些从机设备发生了报警,如测量温度过高或过低等。同搜索ROM命令一样,在完成报警搜索循环后,主机必须返回至命令序列的第一步进行初始化。 三:RAM操作命令DS18B20有6条操作指令:(1)写RAM命令(4EH)。写入开始地址位TH,随后是TL和配置字节,所有写入操作必须在DS18B20复位之前完成。(2)读RAM命令(BEH)。该命令从字节0开始,一直读完所有字节。(3)复制暂存器命令(48H

35、)。将暂存器内容复制到片内E2PROM中。(4)启动温度转换命令(44H)。启动总线上的DS18B20进行温度转换。(5)读E2PROM命令(B8H)。将E2PROM内的数据回读RAM。(6)读供电模式命令(B4H)。若是寄生电源,返回0;若是外部电源,返回1。3.2.2 DS18B20的概述DS18B20是美国DSLLAS半导体公司推出的第一篇支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串型数字信号供处理器处理。一:DS18B20温度传感器特性(1)适应电压范围宽,电压范围在3.05.5V,在寄生电源方式下可有数据线供电

36、。(2)独特的单线接口方式,它与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通信。(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。(4)在使用中不需要任何外围元件,全部传感器元件及转换电路集成在形如一只三极管的集成电路内。(5)测温范围-55+125,在-10+85时精度为0.5。(6)可编程分辨率为912位,对应的可分辨率温度分别为0.5,0.25,0.125和0.0625,可实现高精度测温。(7)在9位分辨率时,最多在93.78ms内把温度转换为数字;12位分辨率时,最多在750ms内把温度转换为数字,显示速度快。(8)测量结果直接

37、输出数字温度信号,以“一线总线”串行送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9)负压特性。电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。二:应用范围(1)冷冻库、粮仓、储罐、电信机房、电力机房、电缆线槽等测温和控制领域。(2)轴瓦、缸体、纺织、空调等狭小空间工业设备测温和控制。(3)汽车空调、冰箱、冷柜以及中低纬度干燥箱等。(4)供热、制冷管道热量计量、中央空调分户热能计量等。三:引脚介绍 图3.5 实物图 (b)DS18B20八角SOIC引脚定义GND电源负极DQ信号输入输出VDD电源正极NC空。 图3.3 DS18B20实物及引脚 图3.4 DS18B20引

38、脚封装图3.2.3 DS18B20的测温原理DS18B20内部结构主要由64位ROM、温度灵敏元件、内部存储器和配置寄存器四部分组成,如图3.5所示。 图3.5 DS18B20 内部结构一:64位ROM64位光刻ROM结构如下:8位CRC校验码48位序列号8位产品代码64位ROM的内容是64位序列号,是出厂前被光刻好的,它可以被看做是该DS18B20的地址序列码,其作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。这一点很像每一个网卡芯片都有一个各不相同的MAC地址。这64位ROM的排列是:开始8位是产品类型标号,接着的48位是该DS18B20自身的

39、序列号,最后8位是前面56位的循环冗余校验码。二:温度灵敏元件温度灵敏元件完成对温度的测量,测量后的结果存储在两个字节的温度寄存器中,温度存储器高位的前5位是符号位,当温度大于零时,这5位为0,而当温度小于零时,这5位为1。高位剩下的3位和低位的前4位是温度的整数位,低位的后4位是温度的小数位,当温度大于零时它们以原码的形式存储,而当温度小于零时以二进制的补码形式存储。当转换位数为12位时,温度的精度为0.0625,当转换位数为11位时,温度的精度为0.125,依此类推。DS18B20的装换精度为812位可选,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步

40、进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。例如,当转换的最大值07D0H对应的温度是+125,则+25的数字输出为0190H,-55的数字输出为FC90H。由此不难推出DS18B20的温度转换值和温度的对照表,如表3.1所示。温度/二进制数表示十六进制数表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000

41、0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-551111 1100 1001 0000FC90H表3.1DS18B20的温度转换值和温度的对照表因为小数部分是半字节,所以二进制值范围是0F,转换成小数值就是0.0625的倍数(015倍)。这样需要精确到小数点4位,实际不必有那么高的精确度,一般可以精确到0.1。表3.2就是二进制与十进制的近似对应关系表。小数部分二进制值0123456789ABCDEF十进制值0011233455667889表3.2小数部分二进制和十进制的近似对应关系表三:DS18B20内部存储器DS18B20温度传感器的内部

42、存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPROM,后者存放高温度和低温度触发器TH、TL以及配置寄存器,共9位。DS18B20温度传感器的内部存储器字节顺序如下:温度值低位温度值高位THTL配置寄存器保留保留保留8位CRC字节0字节1字节2字节3字节4字节5字节6字节7字节8第0,1字节保存温度数值,其中第0字节为低位,第1字节为高位。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后。第2,3字节锁存器TH和TL保存非易失性温度报警数据,可以通过软件写入用户报警上下限值。第

43、4字节是配置寄存器,其内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器的分辨率将温度转换为相应精度的数值。该字节各位的定义如下:TMR1R011111该寄存器低5位都是1。TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式,在DS18B20出厂时该位被设置为0(工作模式),不需要改动。R1和R0决定温度转换的精度位数,即是用来设置分辨率的,如表3.3所示,DS18B20出厂时被设置为12位。R1R0分辨率最大温度转换时间/ms009位93.750110位187.501011位375.001112位750.00表3.3 温度分辨率设置表第57字节未用,全为逻辑1。

44、第8字节读出的是前面所有8个字节的循环冗余校验码(CRC),可用来保证通信的正确。CRC存储在64位ROM的最高字节中。单片机根据ROM的前56位来计算CRC值,并和存入DS18B20中的CRC值做比较,以判断收到的ROM数据是否正确。 四:工作时序图(1)初始化时序如图3.6 图3.6初始化时序1) 先将数据线置高电平1。2) 延时(该时间要求不是很严格,但是要尽可能短一点)。3) 数据线拉到低电平0。4) 延时750us(该时间范围可以在480us960us)。5) 数据线拉到高电平1。6) 延时等待。如果初始化成功则在1560us内产生一个有DS18B20返回的低电平0,据该状态可以确定

45、它的存在。但是应注意,不能无限地等待,不然会使程序进入死循环,所以要进行超时判断。7) 若CPU读到数据线上的低电平0后,还要进行延时,其延时的时间从发出高电平算起(第5)步的时间算起)最少要480us。8) 将数据线再次拉到高电平1后结束。(2)DS18B20写数据时序图如图3.7 图3.7 写数据时序图1) 数据线先置低电平0。2) 延时确定的时间为15us。3) 按从低位到高位的顺序发送数据(一次只发送一位)。4) 延时时间为45us。5) 将数据线拉高到高电平1。6) 重复1)5)步骤,直到发送完整个字节。7) 最后将数据线拉高到1。(3)DS18B20读数据时序图如图3.8 图3.8

46、 读数据时序图1) 将数据线拉高到1。2) 延时2us。3) 将数据线拉低到0。4) 延时6us。5) 将数据线拉高到1。6) 延时4us。7) 读数据线的状态位,并进行数据处理。8) 延时30us。 重复1)7)步骤,直到读取完一个字节3.2.4 DS18B20与单片机的接口设计在外部电源供电方式下,DS18B20工作电源由VDD引脚接入,由外部电源供电,可以保证转换精度,同时在总线上理论上可以挂接任意多个DS18B20,组成多点测温系统。在外部电源供电方式下,可以充分发挥DS18B20宽电源电压范围的优点,即使电源电压VCC降到3V时,依然能够保证测温精度。本设计就是采用外部供电方式,VD

47、D接+5V,GND接地,单片机的P2.7口与DS18B20的DQ端相连。在此方式下,DS18B20工作稳定可靠,抗干扰能力强,而且电路也比较简单。电路如图3.9所示。 图3.9外部电源供电方式电路图3.3 NY3P035BP8语音录放电路设计3.3.1 NY3P035BP8语音芯片的介绍语音模块设计采用NY3P035芯片,该芯片内部含有一个ROM表。单片机通过对该芯片发送序列的脉冲信号来查找该ROM的地址,以此来发出声音。电路如图3.10所示。 图3.10语音芯片引脚图单片机控制原理是:先发送一个复位脉冲到 RST(Rest)脚,接着发送 10 个脉冲到 DATA 脚。芯片即刻工作,播放第十段

48、的声音;如果需要播放第五段的声音,则是:先发送一个复位脉冲到 REST 脚,接着发送 5 个脉冲到 DATA 脚。芯片即刻工作,播放第 5 段的声音;3.3.2 由单片机控制的录放电路控制原理说明:此控制方式是采用了模拟串行的控制方式。如需要播放第几个地址的内容就发送几个脉冲(大于0.2ms 即可,建议采用1ms 左右,下同)的原理,可以快速的控制多达32 段地址的任意组合。模拟串行工作时各IO 的作用:BUSY:芯片工作时(播放声音),输出低电平,停止工作或者待机时,保持高电平;DATA:接受控制脉冲的脚位。收到几个脉冲,就播放第几个地址的内容;REST:任何时候,收到一个脉冲的时候,可以使

49、芯片的播放指针归零(就是是DATA 的脚位恢复到初始状态),同时即刻是芯片停止,进入待机状态;工作示例:例如现在需要播放第十段声音。单片机控制原理是:先发送一个复位脉冲到RST(Rest)脚,接着发送10 个脉冲到DATA 脚。芯片即刻工作,播放第十段的声音;如果需要播放第五段的声音,则是:先发送一个复位脉冲到REST 脚,接着发送5 个脉冲到DATA 脚。芯片即刻工作,播放第5 段的声音;例如需要连续播放第十段和第五段声音:先发送一个复位脉冲到REST 脚,接着发送10 个脉冲到DATA 脚。芯片即刻工作,播放第十段的声音,同时单片机判断语音芯片的BUSY 是否是高电平,如果不是则一直等待,

50、如果是高电平,则发送一个复位脉冲到RST 脚,接着发送5 个脉冲到DATA 脚。芯片即刻工作,播放第5 段的声音.依此类推。电路如图3.11所示。 图3.11 播放电路3.4 LED数码显示电路LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特点是每个数码管的段选必须接一个8位数据线来保持显示的字形码。当送入一次字形码后,显示字形可一直保持,直到送入新字形码为止。这种方法的优点是占用CPU时间少,显示便于监测和控制。缺点是硬件电路比较复杂,成本较高。动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。选亮数码管采用动态扫描显示。所谓动态扫描显示即

51、轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。 本设计采用8段4位共阴极数码管,如图3-9所示是一个共阴极接法的4位LED显示器。其中管脚a、b、c、d、e、f、g为4位LED各段的公共引出端;D1、D2、D3、D4分别是每一位的共阴极输出端;dp是小数点引出端。由于4位LED阴极的各段已经在内部接在一起,所以必须使用动态扫描方式。单片机的P0.0P0.7控制数码管的段选,P2.2P2.5分别控制数码管的位选。电路如图3.12所示。图3.12 LED显示器电路3.5 小结本章主要是硬件电路的设计。硬件设计主要包括主控模块,温度测量模块,

温馨提示

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

评论

0/150

提交评论