本科毕业设计室内温湿度语音播报系统的设计.doc
吉 林 农 业 大 学本 科 毕 业 设 计论文题目: 室内温湿度语音播报系统的设计 学生姓名: 专业年级:电子信息科学与技术 指导教师: 职称: 讲 师 2008 年 6 月 3 日目 录题目I摘要及关键字I1 前言11.1 题目的来源与开发意义11.2系统功能概述12 方案的提出及论证12.1 温湿度传感器的选择12.2 语音录放电路的选择23 系统硬件设计33.1 系统硬件总体设计概述33.2 系统框图33.3 系统各模块的设计43.3.1 温湿度测量模块43.3.2 语音录放模块43.3.3 显示模块53.3.4 时钟模块63.3.5 键盘控制模块73.4 硬件电路主要器件73.4.1 AT89C51单片机73.4.2 温湿度传感器SHT1173.4.3 ISD4003系列语音芯片113.4.4 DS1302的结构及工作原理144 系统软件设计164.1 系统软件总体设计思想164.2 各功能模块的软件设计164.2.1 温湿度测量的程序设计164.2.2 语音播报的程序设计174.2.3 温湿度显示的程序设计185 系统调试195.1 硬件电路调试195.2 各功能模块软件调试196 结论19参考文献20致 谢20附录一:系统总体电路原理图21附录二:程序流程图22室内温湿度语音播报系统的设计学 生: 专 业:电子信息科学与技术 指导教师:摘 要:本设计主要是研究室内温湿度的测量并实现语音播报的功能,在该系统中采用AT89C52单片机作主控制器,采用瑞士Scnsirion 公司推出的高度集成的温湿度传感器芯片SHT-11,实现室内温湿度的测量并通过单片机的串行口进行静态显示,再通过采用语音芯片ISD4003所组成的语音电路实现温湿度的语音播报,另外本系统还兼有多功能时钟功能。本设计采用静态显示大大节省了单片机的I/O资源,软件部分用C语言编写,易读、可移植性好。本系统主要包括温湿度测量模块、语音录放模块、温湿度显示模块、时钟模块和键盘控制模块五个部分。关键词:单片机;SHT-11;ISD4003;温湿度测量;语音播报The Design of Indoor Temperature and HumidityVoice Broadcast SystemName:He Haitao Major:Electronics information science and technologyTutor:Gong HeAbstract: This design mainly researches for the measurement of indoor temperature and humidity and achieves the function of the voice broadcast, in which, AT89C2 SCM is used as master controller and a highly integrated temperature and humidity sensor chip SHT-11 developed by Switzerland Scnsirion Company is adopted to achieve the measurement of indoor temperature and humidity and make a static display through the serial interface of SCM, then voice broadcast of temperature and humidity is achieved through the use of voice circuit composed of voice chip ISD4003.In addition, the system also features the function of muti-functional clock. This design adopts a static display to save the I/O resources of SCM significantly. Software is compiled with C-language partially, easy to be read and has a good portability. This system mainly includes five parts of temperature and humidity measurement module, voice recording module, temperature and humidity display module, clock module and keyboard control module.Keywords: SCM;SHT-11;ISD4003;measurement of temperature and humidity;voice broadcast1 前言1.1 题目的来源与开发意义作为获取信息的手段传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。为了提高对传感器的认识和了解,尤其是对温湿度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统,在生产和生活中应用性都比较强。本文利用单片机结合传感器技术和语音技术而开发设计了这一室内温湿度语音播报系统。本设计不仅可以显示室内的温湿度,而且能够实现温湿度的语音播报,使其更人性化,操作方便,控制灵活。1.2系统功能概述本设计系统主要包括温湿度测量模块、语音录放模块、温湿度显示模块、时钟模块和键盘控制模块五个部分。采用高度集成的温湿度传感器芯片SHT-11测量室内温湿度,经由显示模块进行显示,并通过语音录放模块实现温湿度的语音播报,采用AT89C51单片机作为主控制器,最后通过程序对其外围电路进行控制。实现温湿度的语音播报是本设计的创新之处,使其实用性更强。 2 方案的提出及论证2.1 温湿度传感器的选择在本设计中,传感器是实现测量的首要环节,是测量系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量都将无法实现。方案一:采用热电阻温度传感器。热电阻是利用导体的电阻随温度变化的特性制成的测温元件。现应用较多的有铂、铜、镍等热电阻。其主要的特点为精度高、测量范围大、便于远距离测量。铂的物理、化学性能极稳定,耐氧化能力强,易提纯,复制性好,工业性好,电阻率较高,因此,铂电阻用于工业检测中高精密测温和温度标准。缺点是价格贵,温度系数小,受到磁场影响大,在还原介质中易被玷污变脆。按IEC标准测温范围-200650,百度电阻比W(100)=1.3850时,R0为100和10,其允许的测量误差A级为±(0.15+0.002 |t|),B级为±(0.3+0.005 |t|)。铜电阻的温度系数比铂电阻大,价格低,也易于提纯和加工;但其电阻率小,在腐蚀性介质中使用稳定性差。在工业中用于-50180测温。这种温度传感器采集的是模拟信号,需要A/D转换器,因此外围电路比较复杂,性能也不稳定。采用HOS-201湿敏传感器。HOS-201湿敏传感器为高湿度开关传感器,它的工作电压为交流1V以下,频率为50HZ1KHZ,测量湿度范围为0100%RH,工作温度范围为050,阻抗在75%RH(25)时为1M。这种传感器原是用于开关的传感器,不能在宽频带范围内检测湿度,因此,主要用于判断规定值以上或以下的湿度电平。然而,这种传感器只限于一定范围内使用时具有良好的线性,而且该传感器也是采集的模拟信号。方案二:温度测量传感器采用DALLAS公司DS18B20的单总线数字化温度传感器1,2,测温范围为-5525,可编程为9位12位A/D转换精度,测温分辨率达到0.0625,采用寄生电源工作方式, 单片机只需一根口线便能与DS18B20通信,占用单片机口线少,可节省大量引线和逻辑电路。 采用HS1100/HS1101湿度传感器3。HS1100/HS1101电容传感器,在电路构成中等效于一个电容器件,其电容量随着所测空气湿度的增大而增大。不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,由顶端接触(HS1100)和侧面接触(HS1101)两种封装产品,适用于线性电压输出和频率输出两种电路,适宜于制造流水线上的自动插件和自动装配过程等。相对湿度在1%100%RH范围内;电容量由16pF变到200pF,其误差不大于±2%RH;响应时间小于5S;温度系数为0.04 pF/,因此该湿度传感器的精度是较高的。但要将测量的模拟信号转换为数字信号,需加A/D转换器。方案三:采用瑞士Scnsirion 公司推出的基于CMOSensTM 技术的新型智能温湿度传感器SHT114,5,集温、湿度传感器、信号放大和调理、A/D 转换、I2C 总线接口于一个芯片上,带有工业标准I2C 总线数字输出接口。SHT11 智能温湿度传感器具有数字式输出,并具有免调试、免标定、免外围电路及可全互换等特点。从而克服了传统模拟式湿度传感器需要设计信号调理电路,以及所需要的复杂校准和标定过程,同时也大大提高了湿度传感器的测量精度。该芯片只需两根口线与单片机相连,节省了单片机的I/O资源,而且不需要A/D转换电路,电路简单。从硬件电路的难易程度、性能和控制灵活性上考虑,我选择了方案二。2.2 语音录放电路的选择方案一:采用中青世纪公司2003年最新开发的智能语音产品PM50系列语音芯片,它既是语音播放电路,也是智能单片机,其开发设计简单、智能控制简单,音质效果好。该芯片由专用的语音单片机和FLASHRAM存储器集合构成,它既有几秒到100秒的多段语音播放功能,也有单片机可编程的智能特性,大规模复杂电路已经缩微到只有COB28封装(18*36mm)的印板上,可以方便地作为DIP28封装的标准集成电路来使用。方案二:采用ISD公司生产的ISD4000系列中的ISD4003-04语音芯片6,它既可以放音也可以录音。该芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。芯片设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI或Microwire)送入。芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。虽然PM50系列语音芯片的性价比要优于ISD4000系列,但考虑到PM50系列无录音功能,无法录制自己想要的语音,因此我选择了方案二。3 系统硬件设计3.1 系统硬件总体设计概述本设计系统的硬件部分主要包括温湿度测量模块、语音录放模块、温湿度显示模块、时钟模块和键盘控制模块五个部分。硬件部分是以AT89C51单片机作为主控制器,通过温湿度传感器SHT11对室内温湿度进行测量,可以提供全标定的温湿度数字输出,通过串行口用6个数码管组成的静态显示电路分别显示温度和湿度,并且该系统还兼具多功能时钟的功能。为了使该系统实用性更强,更人性化,采用ISD4003组成的语音模块对温湿度进行语音播报,并用按键加以控制,按一下键就能将当前室内的温度和湿度播报出来。3.2 系统框图AT89C52单片机温湿度测量电路静态显示电路语音播报电路键盘控制电路时钟电路本系统的总体框图如图3-1所示:图3-1系统总体框图Fig. 3-1 Overall System Block Diagram3.3 系统各模块的设计3.3.1 温湿度测量模块温湿度测量模块采用温湿度传感器SHT11,通过引脚DATA和SCK与单片机进行数据通信。SCK用于单片机与SHT11之间的通讯同步;DATA三态门用于数据的读取。DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟高电平时,DATA必须保持稳定。为避免信号冲突,单片机应驱动DATA在低电平,需要一个外部的上拉电阻。图中在DATA 端接入了一只4.7 k 的上拉电阻,同时还在VDD 及GND 端接入了一只0.1 F的去耦电容。硬件电路图如图3-2所示5:图3-2 温湿度测量模块电路图Fig .3-2 Temperature and Humidity Measurements Circuit3.3.2 语音录放模块语音录放模块采用ISD4003芯片,整个语音录放电路由录音电路和放音电路组成。从图中可以看到ISD4003与单片机的连线较少,P2.2接ISD4003的片选引脚,控制ISD4003是否选通;P2.0接ISD4003的串行输出引脚MISO;P2.1接ISD4003的串行输入引脚MOSI,从该引脚读入放音的地址;P2.3和P3.2分别接ISD4003的串行时钟引脚SCLK和中断引脚。ISD4003的输出端接一个LM386的功率放大器,以提高输出语音的功率。LM386是美国国家半导体公司生产的音频功率放大器,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。硬件电路图如图3-3所示6: 图3-3 语音录放电路图Fig. 3-3 Voice Recording and Playback Circuit3.3.3 显示模块显示模块采用串行静态显示,通过引脚RXD(P3.0,串行数据接收引脚)和引脚TXD(P3.1,串行数据发送引脚)进行数据传输,经过串并转换器74LS164并行输出数据。采用串行输出可以大大节省单片机的内部资源,串并转换器采用74LS164,驱动七段数码管8,低电平时允许通过8mA的电流,无需添加其他的驱动电路,采用较小的驱动电流就可以得到较高的显示亮度,其电路图如图3-4所示7,8: 图3-4显示电路图Fig. 3-4 Show Circuit3.3.4 时钟模块 时钟电路由时钟芯片DS1302及其外围电路组成,由于DS1302是串行时钟芯片,与单片机的连线少,只需要三根口线分别与DS1302串行总线的I/O,SCLK,相连。其电路图如图3-5所示:图3-5 时钟电路图Fig. 3-5 Clock Circuit3.3.5 键盘控制模块整个系统的工作通过按键进行控制,按下AN1键显示当前室内温湿度值并语音播报;按下AN2键显示当前时间并语音播;按下AN4键显示当前室内温度值并语音播报;按下AN5键显示当前室内湿度值并语音播报;按下AN3键进入时间调整状态,此时按下AN4键调整小时位,按下AN5键调整分位;AN6键为时间调整确认/音乐键。图3-6 按键控制电路图Fig. 3-6 Keyboard Control Circuit3.4 硬件电路主要器件3.4.1 AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。主要特性:与MCS-51兼容;4K字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年;全静态工作:0Hz-24Hz;三级程序存储器锁定;128*8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。3.4.2 温湿度传感器SHT11SHT11温湿度传感器的主要特性如下:将温湿度传感器、信号放大调理、A/D转换、I2C总线接口全部集成于一芯(CMOSensTM技术);可给出全校准相对湿度及温度值输出;带有工业标准的I2C总线数字输出接口;具有露点值计算输出功能;具有卓越的长期稳定性;湿度值输出分辨率为14位,温度值输出分辨率为12位,并可编程为12位和8位;小体积(7.65×5.08×23.5mm),可表面贴装;具有可靠的CRC数据传输校验功能;片内装载的校准系数可保证100%互换性;电源电压范围为2.4-5.5V;电流消耗,测量时为550uA,平均为28uA,休眠时为3uA。SHT11温湿度传感器采用SMD(LCC)表面贴片封装形式,管脚排列及典型应用电路如图3-7所示。引脚说明如下:GND:接地端;DATA:双向串行数据线;DATA三态门用于数据的读取。DATA在SCK时钟下降沿之后改变状态,并仅在SCK时钟上升沿有效。数据传输期间,在SCK时钟高电平时,DATA必须保持稳定。为避免信号冲突,微处理器应驱动DATA在低电平。需要一个外部的上拉电阻(例如:10k)将信号提拉至高电平。SCK:串行时钟输入;VDD电源端:0.45.5V电源端;电源引脚(VDD,GND)之间可增加一个100nF的电容,用以去耦滤波。NC:空管脚。 图3-7 SHT11引脚图及典型应用电路 Fig.3-7 SHT11 foot Map and Typical Application Circuit工作原理SHT11的湿度检测运用电容式结构,并采用具有不同保护的“微型结构”检测电极系统与聚合物覆盖层来组成传感器芯片的电容,除保持电容式湿敏器件的原有特性外,还可抵御来自外界的影响。由于它将温度传感器与湿度传感器结合在一起而构成了一个单一的个体,因而测量精度较高且可精确得出露点,同时不会产生由于温度与湿度传感器之间随温度梯度变化引起的误差。CMOSensTM技术不仅将温湿度传感器结合在一起,而且还将信号放大器、模数转换器、校准数据存储器、标准I2C总线等电路全部集成在一个芯片内。SHT11传感器的内部结构框图如图3-8所示:图3-8 SHT11内部结构框图 Fig.3-8 SHT11 Internal Structure DiagramSHT11的每一个传感器都是在极为精确的湿度室中校准的。SHT11传感器的校准系数预先存在OTP内存中。经校准的相对湿度和温度传感器与一个14位的A/D转换器相连,可将转换后的数字温湿度值送给二线I2C总线器件,从而将数字信号转换为符合I2C总线协议的串行数字信号。湿度值输出SHT11可通过I2C总线直接输出数字量湿度值,其相对湿度数字输出特性曲线图3-8所示。由图3-9可看出,SHT11的输出特性呈一定的非线性,为了补偿湿度传感器的非线性,可按如下公式修正湿度值:RHlinear =c1 +c2*SORH +c3*SORH 式中SORH为传感器相对湿度测量值,系数取值如下:12 位:SORH:c1=,c2=0.040,c3=8 位:SORH:c1=,c2=0.648,c3= 图3-9 从SORH转换到相对湿度Fig.3-9 Conversion from SORH to Relative Humidity温度值输出5由于SHT11温度传感器的线性非常好, 故可用下列公式将温度数字输出转换成实际温度值: T=d1+d2*SOT当电源电压为5V,且温度传感器的分辨率为14位时: d1 =, d2 =0. 01当温度传感器的分辨率为12位时: d1=, d2 =0. 04SHT11传感器共有5条用户命令,具体命令格式见表3-1所列。表3-1 SHT11命令集Tab. 3-1 SHT11 List of Commands命令编码说明测量温度00011温度测量测量湿度00101湿度测量读寄存器状态00111“读”状态寄存器写寄存器状态00110“写”状态寄存器软启动11110重启芯片,清楚状态记录器的错误记录11毫秒后进入下一个命令当发出了温湿度测量命令后,控制器就要等到测量完成。使用8/12/14位的分辨率测量分别需要大约11/55/210ms的时间。为表明测量完成,SHT11会使数据线为低,此时控制器必须重新启动SCK,然后传送两字节的测量数据与1字节CRC校验和。控制器必须通过使DATA为低来确认每一个字节,所有的量均从右算,MSB列于第一位。通讯在确认CRC数据位后停止。如果没有用CRC-8校验和,则控制器就会在测量数据LSB后保持ack为高以停止通讯,SHT11在测量和通讯完成后会自动返回睡眠模式。需要注意的是:为使SHT11的温升低于0.1,此时的工作频率不能大于标定值的15%(如:12位精确度时,每秒最多进行3次测量)。测量温度和湿度命令所对应的时序如图3-10所示。图3-10 测量时序概览 (TS = 启动传输) Fig3-10 Overview of Measurement Sequence (TS = Transmission Start)寄存器配置SHT11传感器中的一些高级功能是通过状态寄存器来实现的,寄存器各位的类型及说明见表3-4所列。表3-2 SHT11状态寄存器位Tab. 3-2 SHT11 Status Register Bits位类型说明缺省备注7预留06读电量不足 (低电压检测)0对应Vdd > 2.471对应 Vdd < 2.47X无默认值,此位仅在测量结束后更新5预留04预留03仅供测试, 不使用02读/写加热0关1读/写不从OTP加载0加载0读/写1= 8位相对湿度/12位温度分辨率0=12相对湿度/14位温度分辨率012位相对湿度14位温度3.4.3 ISD4003系列语音芯片引脚图及引脚描述 图3-11 ISD4003 引脚图Fig.3-11 ISD4003 foot Map电源:(VCCA,VCCD) 为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应尽量造近器件。 地线:(VSSA,VSSD) 芯片内部的模拟和数字电路也使用不同的地线。几个VSSA尽量在引脚焊盘上相连,并用低阻通路连至电源上,VSSD也用低阻通路连至电源上。这些接地通路要足以使VSSA与VSSD之间的阻值小于3。芯片的背面是通过衬底电阻连接到VSS的,在做COB时托盘须接VSS或悬空。 同相模拟输入:(ANA IN+) 这是录音信号的同相输入端。输入放大器可用单端或差分驱动。单端驱动时,信号由耦合电容输入,最大幅度为峰峰值32mV,耦合电容和本端的3K电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大幅度为峰峰值16mV。反相模拟输入:(ANA IN-)差分驱动时, 这是录音信号的反相输入端。信号通过耦合电容输入,最大幅度为峰峰值16mV。音频输入:(AUD OUT)提供音频输出,可驱动5K的负载。片选:( SS)此端为低,即向该ISD4003芯片发送指令,两条指令之间为高电平。串行输入:(MOSI)此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。串行输出:(MISO) ISD的串行输出端。ISD未选中时,本端呈高阻态。串行时钟:(SCLK) ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。数据在SCLK上升沿锁存到ISD,在下降沿移出ISD。中断:(/INT) 本端为漏极开路输出。ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。中断状态在下一个SPI周期开始时清除。中断状态也可用RINT指令读取。 OVF标志-指示ISD的录、放操作已到达存储器的未尾。 EOM标志-只在放音中检测到内部的EOM标志时,此状态位才置1。行地址时钟:(RAC) 漏极开路输出。每个RAC周期表示ISD存储器的操作进行了一行(ISD4003系列中的存贮器其1200行)。该信号175ms保持高电平,低电平为25ms。快进模式下,RAC的218.75s是高电平,31.25s为低电平。该端可用于存储管理技术。 外部时钟(XCLK):本端内部有下拉元件。芯片内部的采样时 钟在出厂前已调校,误差在+1%内。 商业级芯片在整个温度和电压范围内, 频率变化在+2.25%内。工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若要求更高精度,可从本端输入外部时钟(如前表所列)。由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首先进行了分频。在不外接地时钟时,此端必须接地。 自动静噪(AMCAP):当录音信号电平下降到内部设定的某一阈值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接1F的电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值作比较,决定自动静噪功能的翻转点。大信号时,自动静噪电路不衰减,静音时衰减6dB。1F的电容也影响自动静噪电路对信号幅度的响应速度。本端接VCCA则禁止自动静噪。ISD4003工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4003而言,在时钟止升沿锁存MOSI引脚的数据,在下降沿将数据送至MISO引脚。信息快进:用户不必知道信息的确切地址,就能快进跳过一条信息。信息快进只用于放音模式。放音速度是正常的1600倍,遇到EOM后停止,然后内部地址计数器加1,指向下条信息的开始处。上电顺序:器件延时TPUD(8kHz采样时,约为25毫秒)后才能开始操作。因此,用户发完上电指令后,必须等待TPUD,才能发出一条操作指令。例如:从00从处发音,应遵循如下时序:发POWER Up命令;等待TPUD(上电延时);发地址值为00的SETPLAY命令;发PLAY命令。器件会从此00地址开始放音,当出现EOM时,立即中断,停止放音。如果从00处发音,则按以下时序:发POWER UP命令;等待TPUD(上电延时);发POWER UP命令;等待2倍TPUD;发地址值为00的SETREC命令;发REC命令。器件便从00地址开始录音,一直到出现OVF(存贮器末尾)时,录音停止。表3-3 指令表 Tab. 3-3 Opcode Summary指令5位控制码<11位地址>操作摘要POWERUP00100<XXXXXXXXXXX>上电:等待TPUD后器件可以工作SET PLAY11100< A10-A0>从指定地址开始放音。必须后跟PLAY指令使放音继续PLAY11110<XXXXXXXXXXX>从当前地址开始放音(直至EOM或OVF)SET REC10100<A10 -A0>从指定地址开始录音。必须后跟REC指令录音继续REC10110<XXXXXXXXXXX>从当前地址开始录音(直至OVF或停止)SET MC11101<A10 -A0>从指定地址开始快进。必须后跟MC指令快进继续MC11111<XXXXXXXXXXX>执行快进,直到EOM.若再无信息,则进入OVF状态STOP0X110<XXXXXXXXXXX>停止当前操作STOP WRDN0X01X<XXXXXXXXXXX>停止当前操作并掉电RINT0X110<XXXXXXXXXXX>读状态:OVF和EOM注:快进只能在放音操作开始时选择。 SPI控制寄存器控制器件的每个功能,如录放、录音、信息检索(快进)、上电/掉电、开始和停止操作、忽略地址指针等。详见下表: 表3-4 SPI控制寄存器Tab. 3-4 SPI Control Register位值功 能位值功 能RUN=10允许/禁止操作开始停止PU =10电源控制上电掉电P/R=10录/放模式放取录IAB=10操作是否使用指令地址忽略输入地址寄存的内容使用输入地址寄存的内容MC=10快进模式允许快进禁止P10-P0A10-A0行指针寄存器输出输入地址寄存器注:IAB置0时,录、放操作从A9-A0地址开始。为了能连贯地录、放到后续的存储空间,在操作到达该行末之前,应发出第二个SPI指令将IAB置1,否则器件在同一地址上反复循环。这个特点对语音提示功能很有用。RAC脚和IAB位可用于信息管理。3.4.4 DS1302的结构及工作原理DS1302是美国Dallas公司推出的一种高性能、低功耗、带RAM 的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达2.55.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM 数据。DS1302内部有一个318的用于临时性存放数据的RAM 寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。引脚功能及结构图DS1302的引脚如图3-12所示:图3-12 DS1302引脚图 Fig.3-12 DS1302-Pin MapVCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC1+0.2V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。X1、X2为振荡源,外接32.768Hz晶振。RST是复位,片选线,通过把RST输入驱动置高电平来启动所有的数据传送。输入有两种功能:(1) 接通控制逻辑,允许地址/命令序列送入移位寄存器;(2) RST提供了终止单字节或多字节数据的传送手段。当为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中置RST为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC2.5V之前,必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为串行数据输入输出端(双向),下文有详细说明。SCLK为时钟输入端。DSl302的控制字节说明DS1302的控制字节如表3-5所示,最高有效位(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中;位6如果为0,则表示存取日历时钟数据,为1表示存取RAM 数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。表3-5 DS1302控制字节 Tab. 3-5 DS1302 Control Bytes765432101RAM /CKA4A3A2A1A0RD/WR数据输入输出IO在控制指令字输入后的下一个SCLK时钟的上升沿时数据被写入DS1302,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7。DSl302的寄存器DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间寄存器及其控制字如表3-6所列。表3-6 DS1302寄存器分配表 Tab. 3-6 DS1302 Register Allocation 寄存器名命令字取值范围各位内容写操作