具有语音播报功能的数字温度计设计Word版.doc

上传人:doc321 文档编号:14393546 上传时间:2022-02-05 格式:DOC 页数:43 大小:1.16MB
返回 下载 相关 举报
具有语音播报功能的数字温度计设计Word版.doc_第1页
第1页 / 共43页
具有语音播报功能的数字温度计设计Word版.doc_第2页
第2页 / 共43页
具有语音播报功能的数字温度计设计Word版.doc_第3页
第3页 / 共43页
具有语音播报功能的数字温度计设计Word版.doc_第4页
第4页 / 共43页
具有语音播报功能的数字温度计设计Word版.doc_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《具有语音播报功能的数字温度计设计Word版.doc》由会员分享,可在线阅读,更多相关《具有语音播报功能的数字温度计设计Word版.doc(43页珍藏版)》请在三一文库上搜索。

1、具有语音播报功能的数字温度计设计摘要:本课题针对普通温度计无法播报、灵敏度低、读数不易识别等特点,提出了具有语音播报功能的数字式温度计的设计方案。选用AT89C51为主控芯片进行温度信号采集、数据处理和语音播放等控制,选用DS18B20对环境温度进行采集,ISD1760进行语音存储与播放,通过ZLG7290实现按键控制,使用128*64液晶来显示温度,时钟芯片PCF8563实现定时功能,以上构建了硬件电路。该语音温度计测量范围为-2560,误差为0.5,该语音温度计测温速度快,读数方便,语音清晰,语音可定时播报,可广泛用于家庭生活,工厂,实验室等场合。关键词:AT89C51;语音播报;数字式温

2、度计The design of digital thermometer with speech functionAbstract:The topic for the ordinary thermometer cant broadcast, low sensitivity, reading is not easy to identify the characteristics, puts forward a design scheme of the digital thermometer with voice broadcast function. Using AT89C51 as the ma

3、in control chip for temperature signal collecting, data processing and voice playback control, use DS18B20 to collect the environmental temperature, ISD1760 for voice storage and display, through the ZLG7290 to realization control of buttons, the use of 128*64 LCD to display the temperature, the clo

4、ck chip PCF8563 to realize the timing function, all those set up the construction of the circuit system. The voice thermometer measuring range is -25 60 , error is 0.5 . This kind of voice thermometer measurement temperature is fast, else broadcast is convenient, clear voice, and the broadcast can b

5、e timing, so this kind of thermometer can be widely used in families, factories, laboratories and other occasions.Key words: AT89C51; voice broadcast; digital thermometer目录第1章 绪论11.1选题目的和意义:11.2本课题在国内外的研究状况及发展趋势:11.3 本课题主要讨论问题1第2章 方案选择与论证32.1系统的总体设计思路32.2核心控制CPU模块32.3温度采集模块42.4显示模块和键盘控制42.5语音播报模块52.

6、6时钟芯片模块6第3章 系统硬件电路设计83.1核心控制CPU的介绍83.1.1 AT89C51的功能描述83.1.2 AT89C51管脚功能83.1.3 AT89C51系统资源的分配103.2温度传感器模块103.2.1 DS18B20的功能描述103.2.2 DS18B20的特点103.2.3 DS18B20的测温原理113.2.4 DS18B20与AT89C51的接口电路设计133.3语音播报模块133.3.1 ISD1760语音模块功能描述133.3.2 ISD1760各引脚功能描述143.3.3 ISD1760语音芯片录放音电路设计163.4显示电路183.4.1 LCD12864液

7、晶模块的功能描述183.4.2 LCD12864液晶显示模块与AT89C51接口电路设计183.5键盘以及定时电路193.5.1 ZLG7290的功能描述193.5.2 ZLG7290的原理及硬件接口电路设计20第4章 系统的软件设计214.1系统的主程序设计214.2测量温度子程序224.3 ISD1760语音播报子程序23结束语24致谢25参考文献26附录1 总电路图27附录2 系统主程序28附录3 测量温度子程序29附录4 ISD1760语音播报子程序30附录5 英文文献原文及翻译31第1章 绪论1.1选题目的和意义:温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产

8、过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究合适的测温方法和测温装置具有重要的意义。传统温度计多采用物理原理,根据水银等随温度升降的热胀冷缩的性质,通过读取刻度值来判断温度值,此类方法准确度比较低,不易实现自动化,温度计容易损坏,并且测量需要的时间长,容易受到外界诸多物理因素的影响。具有语音播报功能的数字温度计可克服传统温度计在生活生产中的诸多不利因素。在对周围环境温度进行测量时,本设计可通过语音播报功能及数字显示功能成功地实现温度测控,其本身还可通过软硬件支持的相关功能及特定算法来调节测量精度,大大提高了设计的灵活性。此类温度计测温性能方面准确快捷;显示方式则为清晰易懂的

9、数字化类型,方便人们日常生活使用;语音播报功能使其更加智能化、人性化。1.2本课题在国内外的研究状况及发展趋势:智能语音播报系统在我国属于新兴技术产业,有着极为光明的前景,此方面国内市场的主要产品趋向于应用国外先进的基础硬件生产成品。随着我国国民经济持续高速的发展,智能化生产规模日趋扩大,语音播报融入日常生活已成为一种趋势。如:对车辆收取管理、通行或进入等费用、提示语等播报的智能语音系统,或是在各公共场合的时间、天气、问候等提示语的播报。在国外,语音播报技术已经非常先进,语音播报系统日趋成熟,许多国家致力于这方面的开发研究,到现在为止很多国家的产品已经达到国际先进水平,并已广泛应用于各个领域。

10、如:美国ISD公司生产的ISD系列智能语音存储芯片音质好,长期断电语音信号不丢失,非常适合于电子产品的开发应用。其各型号产品性能各异,特点鲜明,总体功能齐全,可根据开发项目和要求选择合适的产品进行设计,既实现预期要求又不会资源浪费。总体来讲,我国传感器产业正处于由传统型向新型传感器发展的关键阶段,总趋势为微型化、多功能化、数字化、智能化、系统化和网络化发展。1.3 本课题主要讨论问题此次设计是基于单片机控制的LED数码智能语音温度计。主要研究的问题有:1、 温度的测量,包括温度传感器的选取;2、 播报语音的实现,包括选择语音芯片和编写对应程序;3、 数显功能的实现,要求测量结果的数据转换,能够

11、显示零下的负号。第2章 方案选择与论证2.1系统的总体设计思路根据本设计任务书的内容,实现语音播报和数字显示的温度计,通过单片机完成程序控制与数据转换,硬件设计由如下几个部分组成:核心控制CPU,温度采集,液晶显示,键盘控制,语音播报,硬件电路的系统框图如图2.1所示。图2.1 语音播报的数字温度计系统框图基于图2.1系统框图,我们可以清楚的了解到具有语音播报的数字温度计设计的几个大模块。每个模块都有一个核心器件,对于核心器件的选择在某种程度上也就决定了设计方案的选择,下面分别对各模块的方案进行选择和论证。2.2核心控制CPU模块方案一:以SSI和MSI数字逻辑芯片为核心, 若用此方案来解决对

12、时钟信号产生、温度采集、信号处理、模拟量A/D转换后所得的数值的比较等问题话,将出现所用芯片数多,电路过于复杂而且PCB面积大,接线多,焊点多。本方案可靠性差、灵活性不高,效率低而且成本也高。方案二:采用单片机作为控制核心来构造整个电路,通过单片机对温度传感器控制,读取温度信号并进行计算处理,分析并送入显示模块显示时间和温度,并可以通过键盘来控制语音播报和实时语音播报。该方案最大的优点就是充分发挥了单片机的软件功能,并使系统硬件简洁化,各类功能易于实现,而且容易扩展其他功能,具有高度的智能化、人性化。而且单片机的种类繁多,适合低端应用的芯片也不少,价位也低于MSI的水平。而在单片机家族的众多成

13、员中,AT89C52系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,成为电子系统中最普遍的应用手段,并在工业控制、交通运输、家用电器、仪器仪表等领域取得了大量应用成果。AT89C52系列的开发环境要求较低,软件资源十分丰富,开发工具和语言也大大简化。综上所述,按照实际需要,同时也考虑到设计成本与整个系统的精巧性,系统的核心控制CPU选择方案二。2.3温度采集模块方案一:采用热敏电阻,虽然热敏电阻成本低,但是热敏电阻的阻值与温度非线性严重,大多数热敏电阻仅适合0150范围。对于检测1摄氏度的信号是不适用的,并且不能满足零下的测量范围。方案二: DS18B20是美国达拉斯半导体公司推

14、出的第一片支持一线总线接口的温度传感器。它具有微型化、零待机功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供微机处理。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。其供电方式简单,可用数据线供电,所需的外围器件极少,甚至不需要外围元件。以上,通过比较,温度传感器DS18B20有更强的性价比。DS18B20使电压、特性及封装有更多的选择,可以构建经济的测温系统。因而在本次设计中,选用的是DS1

15、8B20作为温度采集系统的温度检测元器。2.4显示模块和键盘控制显示方案有以下三种:方案一:采用LCD128*64液晶显示模块显示方案一般可采用LCD或数码管显示。LCD液晶显示器是一种低压、微功耗的显示器件,只要23伏就可以工作,工作电流仅为几微安,是任何显示器无法比拟的,同时可以显示大量信息,除数字外,还可以显示文字、曲线。图2.2 128*64电路实验箱图方案二:数码管数码管方案简单易行,寿命长,价格便宜,显示亮度高,但是占用的I/O端口多,体积较大,只适用于数字的显示。本次毕设的显示需要显示文字,故采用方案一。采用ZLG 7290不但可以驱动8位数码管,还可以驱动64个键盘,因此选用Z

16、LG7290作为数码管显示和键盘的驱动芯片。图2.3 键盘扫描2.5语音播报模块方案一:通过A/D转换器、单片机,存储器,DA转换器实现声音信号的采样、处理、存储和实现。首先将声音信号放大,通过AD转换器采样将语音模拟信号转换成数字信号,并由单片机和处理存放到存储器中,实现录音操作。在录、放音过程中由单片机控制D/A转换器,将存储器中的数据转化成声音信号。此方案安装调试复杂,集成度低,成本高。方案二:采用ISD1760语音芯片。ISD1760是华邦公司新推出的单片优质语音录放电路,芯片内部包含有自动控制增益、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等全方位整合系统功能。可录音放音十万次,

17、存储内容掉电可保留一百年,有两种录音方式和两种放音方式,可处理多达255段以上的信息。不同的采样频率对应不同的录音时间,可自由选择。音质好,电压范围宽,应用灵活,物美价廉。图2.4 ISD1760语音模块综上所述,选择方案二,即ISD1760语音芯片。2.6时钟芯片模块时钟芯片模块主要功能是为系统提供基本的时间信息以实现定时播报的功能,本设计选用PCF8563。PCF8563 是PHILIPS 公司推出的一款工业级内含I2C 总线接口功能的具有极低功耗的多功能时钟/日历芯片。PCF8563 的多种报警功能、定时器功能、时钟输出功能以及中断输出功能完成各种复杂的定时服务,甚至可为单片机提供看门狗

18、功能。可以满足系统的需要。图2.5 定时中断第3章 系统硬件电路设计根据图1的系统框图可以知道系统电路的设计分为五大部分,即核心控制CPU、温度采集、语音播报、显示电路、键盘以及定时电路。以下将分别介绍各个模块的工作原理,以及在整个电路中的接口电路。系统电路图详见附录1。3.1核心控制CPU的介绍 3.1.1 AT89C51的功能描述AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,

19、与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且廉价的方案。3.1.2 AT89C51管脚功能图3.1 AT89C51引脚图VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上

20、拉电阻。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

21、”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端

22、以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH)

23、,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。3.1.3 AT89C51系统资源的

24、分配AT89C51的端口外围设备P1.0串行时钟SCLP1.1数据线SDAP1.3DS18b20通道P1.4P1.7语音芯片地址端口P3.2键盘中断P3.3时钟中断当AT89C51芯片接收到来自温度传感器的信号时,单片机根据信号的类型进行处理,根据时钟芯片的信号,将处理的结果送到显示模块、语音播报模块。此单片机在硬件设计方面,其外围电路提供能使之工作的晶振、复位电路,I/O口用于外围设备连接。表3.1 AT89C51的试验箱接线3.2温度传感器模块 3.2.1 DS18B20的功能描述本模块主要作用是进行温度采集,将采集的数据送入AT89C51里进行分析处理。在本次设计中采用了DS18B20作

25、为数据采集器,它的精度最少可以精确到0.0625,完全可以用来进行环境温度的测量。DS18B20是美国DALLAS 公司生产的单总线数字温度传感器,可把温度信号直接转换成串行数字信号供微处理器处理,而且可以在一条总线上挂接任意多个DS18B20芯片,构成多点温度检测系统无需任何外加硬件。DS18B20 数字温度传感器可提供912 位温度读数,读取或写入DS18B20 的信息仅需一根总线,总线本身可以向所有挂接的DS18B20 芯片提供电源,而不需额外的电源。由DS18B20 这一特点,非常适合于多点温度检测系统,硬件结构简单,方便联网,在仓储管理、工农业生产制造、气象观测、科学研究等日常生活中

26、被广泛应用。3.2.2 DS18B20的特点数据传输采用单总线结构,无需外围其他元件,能应用在分布式测量系统中。温度输出为9bit-12bit可编程,测温范围为-55至125,在-10 -85时精度为0.5,输出分辨率为12bit时最大的转换时间为750MS,具有可编程的温度报警功能,电源电压范围为3-5.5V,低功耗,无外部供电电源也能可靠工作。DS18B20的供电方式有两种:一种是寄生电源,另一种是外接电源供电,本设计选用了外接电源供电。3.2.3 DS18B20的测温原理DS18B20内有一个能直接转化为数字量的温度传感器,其分辨率9,10,11,12bit 并且可编程,通过设置内部配置

27、寄存器来选择温度的转换精度,出厂时默认设置12bit。温度的转换精度有0.5、0.25、0.125、0.0625。温度转换后以16bit 格式存入便笺式RAM,可以用读便笺式RAM命令,通过Wire接口读取温度信息,数据传输时低位在前,高位在后。内部温度数据格式如图3.3。温度/数字对应关系如表3.4所示。 图3.2 内部温度数据格式表3.2 温度/数字对应关系温度二进制数据十六进制数据+1250000 0111 1101 000007D0h+850000 0101 0101 00000550h+25.06250000 0001 1001 00010191h+10.1250000 0000 1

28、010 001000A2h+0.50000 0000 0000 10000008h00000 0000 0000 00000000h-0.51111 1111 1111 1000FFF8h-10.1251111 1111 0101 1110FF5Eh-25.06251111 1110 0110 1111FE6Fh-551111 1100 1001 0000FC90h单总线上每一个器件的使用都是从初始化开始的,初始化的时序是计算机先发出400-800us的复位脉冲,在15-60us后,一个或多个单总线期间发出60-240us的应答脉冲,其时序波形如图3.4(a)所示。数据交换命令使用具体的读/写

29、时序脉冲读出单总线上所输出的数据,或者向单总线上期间写入数据具体写“1”、“0”和读写信号时序如图3.4(b)(c)(d)所示。只要将复位、读、写的时序了解清楚,使用DS18B20,就很容易实现温度的采集了。DS18B20无论是初始化还是读写操作都有较为严格的时序要求。初始化主机需要将总线拉低至少480us且等待SD18B20发回的存在脉冲。DS18B20将在受到复位脉冲后15-60us后将总线拉低60-240us作为存在脉冲。,股主机需要等待15-60us读取存在脉冲。读写时序分别包裹“写1”“写0”时序和“读1”“读0”时序。所有读写时序必须经过至少60us且在各个读写时序之间要有1us的

30、恢复时间。图3.3 DS18B20时序波形如果计算机检测到单总线上有器件存在,就可以发出传送ROM命令,具体的传送ROM命令格式如表3.5 表3.3 DS18B20的ROM命令指令说明读ROM命令(33H)读总线上DS18B20的序列号匹配ROM命令(55H)对总线上DS18B20寻址跳过ROM命令(CCH)该命令执行后,将省去每次与ROM有关的操作搜索ROM命令(F0H)控制机识别总线上多个器件的ROM编码报警搜索命令(ECH)控制机搜索有播报器件传送RAM命令是上述命令之一被成功执行后,控制机发出的控制命令,他用来访问被选中的器件的存储和控制部件,例如。启动单总线温度传感器DS18B20,

31、温度转换等命令。具体命令见表3.4表3.4 传送RAM命令指令说明温度变换命令(44H)启动温度变换读存贮器命令(EBH)从DS18B20读出9个字节数据写存储器命令(4EH)写上下线值到DS18B20中复制存储器命令(48H)将DS18B20存储器中的值写入EEPROM读EEPROM命令(B8H)将EEPROM中的值写入存储器中读供电方式命令(B4H)检测DS18B20的供电方式3.2.4 DS18B20与AT89C51的接口电路设计图3.4 DS18B20与主控芯片的接线DS18B20可以从单总线上得到能量并储存在内部电容中,该能量是当信号线处于低电平期间消耗,在信号线为高电平时能量得到补

32、充,这种供电方式称为寄生电源供电。DS18B20也可以由35.5V的外部电源供电。所以在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,DQ与单片机的I/O线相连;另一种是用寄生电源供电,此时VDD、GND接地,DQ接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻.我们采用的是第一种连接方法,把DS18B20的数据线与AT89C51的P1.3,再加10K上拉电阻。3.3语音播报模块3.3.1 ISD1760语音模块功能描述采用ISD1760语音芯片。ISD1760是华邦公司新推出的单片优质语音录放电路,芯片内部包含有自动控制增

33、益、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等全方位整合系统功能。可录音放音十万次,存储内容掉电可保留一百年,有两种录音方式和两种放音方式,可处理多达255段以上的信息。不同的采样频率对应不同的录音时间,可自由选择。音质好,电压范围宽,应用灵活,物美价廉。3.3.2 ISD1760各引脚功能描述图3.5 ISD1760语音芯片引脚图表3.5 ISD1760语音芯片引脚定义管脚名称功能VCC数字电路电源/LEDLED指示信号输出/RESET芯片复位MISOSPI接口的串行输出。ISD1700在 SCLK下降沿之前的半个周期将数据 放置在MISO端。数据在SCLK的下 降沿时移出MOSISP

34、I接口的数据输入端口。主控制芯片在SCLK上升沿之前的半个周期 将数据放置在MOSI端。数据在SCLK 上升沿被锁存在芯片内。此管脚在空闲时,应该被拉高 SCLKSPI接口的时钟。由主控制芯片产 生,并且被用来同步芯片MOSI和 MISO端各自的数据输入和输出。此管 脚空闲时,必须拉高/SS为低时,选择该芯片成为当前被 控制设备并且开启SPI接口。空闲时, 需要拉高 VSSA模拟地Analn 芯片录音或直通时,辅助的模拟输入。需要一个交流耦合电容(典型值为0.1uF),并且输入信号的幅值不能超出1.0Vpp。APC寄存器的D3可以决 定Analn信号被立刻录制到存储器中, 与Mic信号混合被录

35、制到存储器中,或者被缓存到喇叭端并经由直通线路从AUD/AUX输出MIC+麦克风输入MIC-麦克风输出VSSP2负极PWM喇叭驱动器地 SP-喇叭输出VCCPPWM喇叭驱动器电源SP+喇叭输入VSSP1正极PWM喇叭驱动器电源AUD/AUX辅助输出,决定于APC寄存器的D7,用来输出一个AUD或AUX输出。 AUD是一个单端电流输出,而AuxOut 是一个单端电压输出。他们能够被用 来驱动一个外部扬声器。出厂默认设置为AUD。APC寄存器的D9可以使其掉电。AGC自动增益控制/VOL音量控制ROSC振荡电阻ROSC用一个电阻连接 到地,决定芯片的采样频率 VCCA模拟电路电源/FT在独立芯片模

36、式下,当FT一直为低,Analn直通线路被激活。Analn信号被立刻从Analn经由音量控制线路发射到喇叭以及AUD/AUX输出。D0 所控制。该管脚有一个内部上拉设备 和一个内部防抖动设计,当在SPI模式下,SPI无视这个输入,而且直通线路被APC寄存器的,允许使用按键开关来控制开始和结束。/PLAY播放控制端/REC录音控制端/ERASE擦除控制端/FWD快进控制端RDY/INT一个开路输出。 Ready(独立模式) 该管脚在录音,放音,擦除和快进操作时保持为低,保持为高时进入 空闲状态 Interrupt(SPI 模式) 在完成SPI命令后,会产生一个低信号的中断。一旦中断消除,该脚变回

37、为高。VSSD数字地3.3.3 ISD1760语音芯片录放音电路设计试验中采用的是ISD1760语音芯片,采样率为8K时,一共能播放60S的语音,最大地址为0x1EF,录音实际地址为0x10-0x1EF,从此最大地址可得出:0x1EF-0x10=0x1DF=479,479+1=480;480*125MS =60S,也就是说8K采样率时每1个地址最小语音长度为125MS,因此如果知道单个语音的长度,暂时无编程器的时候,也可自己推断每个语音所占的地址长度。本次设计ISD1760的分段录音可以通过软件编程来实现。图3.6为ISD1760与单片机的接口电路图。图3.6 ISD1760与单片机的接口电路

38、图ISD1760与AT89C51的接口通过4根SPI总线连接,AT89C51的P1.4、P1.5、P1.6、P1.7端口连接ISD1760的SS、SCLK、MOSI、MISO,AT89C51单片机通过I/O口P1.4P1.7控制ISD1760的SPI总线,使之与其进行SPI协议通信,完成ISD1760芯片的放音。ISD1760录音是通过ISD1760的外围独立按键/REC、/PLAY、/ERASE、/FWD、VOL、/RESET、/FT进行硬件录放测试。单片机发送控制命令使得某一段的起始地址进行放音操作,遇到段结束标志(EOM)即自动停止放音,单片机收到段结束标志(EOM)就开始触发下一段语音

39、的起始地址,如此控制,即可以将很多、不同段的语音组合在一起成一句话放音出来,实现语音的自动组合。语音信息与分段地址的对照表如下:表3.6 语音信息与分段地址的对照表分段语音信息起始地址结束地址1零0x100x192一0x1b0x233二0x250x2d4三0x2f0x365四0x380x3e6五0x400x457六0x470x4e8七0x500x579八0x590x6010九0x620x6811十0x6a0x7012点0x720x7813零下0x7b0x8114当前0x830x8a15温度0x8c0x9216度0x940x9a3.4显示电路3.4.1 LCD12864液晶模块的功能描述液晶显示

40、模块是12864点阵的汉字图形型液晶显示模块,可显示汉字及图形,可与 CPU 直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。3.4.2 LCD12864液晶显示模块与AT89C51接口电路设计图3.7 LCD12864与主控芯片的接线本毕设使用的是星研STAR ES598PCI试验箱,故LCD12864液晶显示模块与主控芯片的接线如下:表3.7 LCD

41、12864液晶显示与主控芯片的接线A1区A3区功能CSCS1片选RWA0读写控制端RSA1数据、指令控制端CS1/2A2左右半屏使能端3.5键盘以及定时电路3.5.1 ZLG7290的功能描述图3.8 ZLG7290引脚图在本设计中要用到键盘、LED数码管等外设。因此,一个稳定、占用系统资源少的人机对话通道设计非常重要。传统的键盘与数码管解决方案,由于键盘与数码管是分离的,因而电路连接比较复杂,不管是独立式键盘还是矩阵式键盘,都会浪费微控制器的端口资源,而且都需要人为进行去抖动处理,且抗干扰性差。而数码管部分,不管是静态显示方式还是动态显示方式,在不进行锁存器扩展的前提下。仍然要占用8根IO端

42、口线,这将严重浪费系统的端口资源。 ZLG7290可完全克服上述弊端。它采用IC总线接口,与微控制器的连接仅需两根信号线,硬件电路比较简单。而且可以驱动8位共阴数码管或64只独立LED、64只独立按键,并可提供自动消除抖动、连击键计数等功能。这对于传统的键盘与数码管解决方案,无疑是很好的。强大的功能,丰富的资源,良好的接口,使得ZLG7290比传统的键盘与数码管解决方案有着明显的优越性。因此,在现代智能仪表的设计中,通过ZLG7290可为系统设计工程师设计出良好的人机对话通道,从而提供了一种理想的解决方案。ZLG7290采用IC接口,能直接驱动8位共阴式数码管,同时可扫描管理多达64只按键,实

43、现人机对话的功能资源十分丰富。除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、功能键、连击键计数等强大功能,并可提供10种数字和21种字母的译码显示功能,用户可以直接向显示缓存写入显示数据,而且无需外接元件即可直接驱动数码管,还可扩展驱动电压和电流。此外,ZLG7290的电路简单,使用也很方便。3.5.2 ZLG7290的原理及硬件接口电路设计用户按下某个键时,ZLG7290的INT引脚会产生一个低电平的中断请求信号,读取键值后,中断信号就会自动撤销。正常情况下,微控制器只需要判断INT引脚就可以得到键盘输入的信息。微控制器可通过两种方式得到用户的键盘输入信息。其一是中断方式,该方式

44、的优点是抗干扰能力强,缺点是要占用微控制器的一个外部中断源。其二是查询方式,即通过不断查询INT引脚来判断是否有键按下,该方式可以节省微控制器的一根IO口线,但是代价是IC总线处于频繁的活动状态,消耗电流多并且不利于抗干扰。由于采用了IC总线接口,因而用ZLG7290与微控制器设计电力仪表的硬件电路连接非常简单。它只需要两根信号线(一根数据线SDA,一根时钟信号线SCL)。但应注意进行IC通信的双方要共地,并应用,INT传递键盘中断信号。微控制器通过RST可以将ZLG7290复位。所以采用ZLG7290完全可以满足本设计的性能要求。ZLG7290的连接电路。如图所示。其中SDA连接单片机的P1

45、.1,SCL连接单片机的P1.0。图3.9 ZLG7290与主控芯片的接线第4章 系统的软件设计4.1系统的主程序设计主程序是在程序运行的过程中必须先经过初始化,包括键盘程序,DS18B20测温程序,ISD1760语音播报程序,时钟芯片以及各个控制端口的初始化工作。系统在初始化完成后读取DS18B20温度,判断是否有按键按下,如果有则处理按键子程序。读取当前时间,并判断是否为定时时间,若是则调用语音播报子程序,并显示在LCD上。系统软件设计的总体流程图4.1。图4.1 主程序流程图主程序见附录24.2测量温度子程序由在整个语音温度计的设计中是以正确采集温度为前提的,因为如果温度采集就不正确,那

46、么即使后续电路如显示和报温电路均正确,最后的结果仍然不能达到我们所要的目标,也就是不能正确的对环境温度进行显示和报温,所以关于DS18B20的温度采集是非常重要的。DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。其测温子程序流程图如4.2。图4.2 测温流程图测量温度子程序见附录34.3 ISD1760语音播报子程序本系统以语音方式报温度,需录入的单字有数字“0-9” 、“点” 、“十” 、等,0.5S一个单字,词段有“零下” 、“度” 、“当前”、“温度”等,分别为1S、1.5S、1.5S。 语音芯片先播报“当前温度”,判断正负是否=1,当不等于1时,播报“零下”,当不等于1时。不播报,直接判断十位是否为0,当十位不等于0时,播报温度值的十位,然后再播报“十”,当十位为零时,需要判断个位是否为零,十位与个位都为零时,播报“零”,十位不为零,个位为零时,只播报十位,十位为零,个位不为零时,播

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1