《基于51单片机的数字语音存储与回放系统设计(共40页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的数字语音存储与回放系统设计(共40页).doc(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上基于51单片机的数字语音存储与回放系统设计 摘 要 该文采用AT89C51单片机和ISD2560语音芯片设计一款实时语音录放系统,能实现录音时间达60s、录放音受按键控制、可复位且音量可调等诸多功能。整个系统共有三大模块:单片机控制模块、语音录放模块、功放模块。控制模块核心是51单片机的口线功能,通过对按键的识别来控制语音录放模块的工作模式;语音录放模块能实现对声音的处理、存储以及复原的功能;功放模块能对复原好的音频信号加以放大,使声音更加清晰明亮。整个设计围绕以下三方面进行研究:总体方案设计、硬件电路设计、软件设计。 关键词:AT89C51单片机,语音存储,语音回放
2、 DESIGN OF VOICE RECORDING AND PLAYBACK SYSTEM BASED ON AT89C51 ABSTRACT The propose of this paper is to design a real-time speech recording system with AT89C51 microcontroller and ISD2560 voice chip,it can realize the recording time of 60s, sound recording and playback controlled by button, can res
3、et and voice can adjust. The system includes three modules:single chip microcomputer control module, voice recording module, power amplifier module. Core of control module is 51SCM mouth line function, through the identification of key to control the voice recording module work model;voice recording
4、 module can realize voice processing,storage and playback;power amplifier module for audio signal amplified, to make the sound more clear and bright.The whole design around the following three aspects: the overall design, hardware circuit design, and the design of software. Key Words:AT89C51,phoneti
5、c storage ,phonetic playback 目录专心-专注-专业第1章 绪论1.1 课题研究背景随着生活节奏的日益加快,城市智能化建设的不断发展,在智能仪器仪表和工业控制系统中增加语音录放功能成为了极为普遍的现象。添加语音功能不仅使得机器更加“聪明”和人性化,还能让使用者操作更加得心应手。当前把语音作为服务手段的行业越来越多,如电脑语音钟、语音型数字万用表、移动手机智能语音系统、叫号机、语音监控报警系统、公交车报站器和卫星导航系统等1。可以说,语音系统是社会生活和生产不可缺少的东西,它的发展是社会进步的必然结果。语音系统需要建立在硬件基础之上,而其系统的控制核心一般是使用单片机。
6、单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点。它几乎渗透到我们生活的各个领域:军事领域的各类导航系统,计算机网络通讯与数据传输系统,各类工控企业的自动化实时控制和数据处理系统,各类智能IC卡,汽车的报警、导航、安全、娱乐系统,录音、摄像机,全自动洗衣机系统以及各类发生遥控玩具和电子宠物等等。可以说,单片机体现的是它强大的控制能力。数字语音录放技术是指利用数字化技术对语音信号进行采集、处理、并且在一定存储设备中进行存储,并可在需要时进行输出的过程。相对于模拟设备来说,数字设备易于集成、小型化、成本更低,同时更为稳定,且操作更为直接、方便,使得数字语音录放系统目前在各种领
7、域中都得到了广泛的应用2。例如监控环境中使用的语音采集系统;再如家庭或学校中使用的语音复读机等,都可看作是数字语音录放系统的典型应用。在对语音信号的处理方面,常规方法是采用滤波器处理接收到的模拟语音信号,通过模数转换成为数字信号,再由单片机控制存储到存储器中。在需要输出语音信号时,亦可由单片机控制从存储器中输出,再经数模转换成模拟信号,通过IV变换成电压信号,滤波后通过功放将语音信号输出。但是这种方法的缺点是,输出不稳定,语音信号有杂音或者变音,这是模拟电路所不能避免的缺点3。为了解决这个问题,我们可以采用专用的语音芯片,利用其模拟信号技术直接存储技术来解决上述问题。语音芯片可以很方便的和单片
8、机系统相结合,其体积和重量也能符合单片机系统的要求。因此,基于单片机和语音芯片的语音系统应运而生。1.2 国内外研究现状近年来,语音信号处理技术的发展可谓日新月异,新技术的出现为语音录放系统的发展指引了新的方向。对语音信号的前期采集、中期的处理从之前的对波形进行编码和压缩转变为现在的参数编码和压缩,从而大大减少了需要存储的数据,节省了硬件存储空间。举例来说,原始语音一般都是采用8KHz抽样,16bits的线性PCM编码进行采集,在一般的系统中就直接将采集后的数据进行存储;而如果采用参数编码对采集后的数据进行压缩,存储量则可以大大减少,当需要恢复语音时,可利用编码后的参数进行合成,可以得到质量令
9、人满意的结果。目前比较典型的语音器件有早些的ISD2560、ISD1420到现在的ISD4004、ISD1700,ISD系列是由美国ISD公司研发的专业语音处理芯片。芯片采用模拟信号直接存储技术,将声音信号直接写入存储单元而不经A/D或D/A转换,所以使用ISD芯片能非常好的再现语音,可避免因一般固体语音电路的量化和压缩所引起的量化噪声和失真情况。另外芯片功能强大:即录即放、语音可掉电保存、10万次的擦写寿命、手动操作和CPU控制兼容、可多片级联、无需开发系统等等,确实给欲实现语音功能的单片机应用设计人员提供了解决方案。现在市场上已有公司将以AT89C2051单片机与ISD语音芯片组成的语音组
10、合板,用串口通信,芯片里固化有一些常用语音词汇,用户不需了解语音功能的工作原理,只需通过串口按一定协议发送代码即可送出语音。1.3 语音存储技术的发展前景未来语音存储技术的革新主要是硬件技术(处理能力)以及语音编码技术的进步。单片机技术的发展越来越快,未来将向低功耗、微型化发展。以51为基础的模式不会动摇,但在容量和性能上将作出很大提高,而串行总线结构可以使得单片机系统结构更加简单和规范。语音存储与回放技术的核心是语音编码,它是现代语音技术的三大核心之一(语音识别、文本语音转换、语音编码)。在未来,实现速度在2.44.8Kbps的高质量的加密方式。另一方面,将采用更先进的技术对语音信号进行处理
11、,减少存储空间。而在整体的语音技术发面,智能语音将是未来发展的主要方向。语音识别技术和语音合成技术,将是未来的主导,他们将推动语音技术向语境真实化和多模态化发展,但是面临的核心技术也将越来越难4。而在另一方面,未来数字化和信息化的联系日益紧密,继而影响科技进步和现代化进程。在现代社会,推动时代发展的根本力量,仍然是信息化和科技进步推动的全球经济一体化。像语音存储技术一样的数字化技术的进步,一方面能推动人类社会的发展;另一方面,人类综合能力、实践能力和创新能力的提高,也会推动数字信息化在更高领域里德创造。 1.4 设计任务与要求 本文的设计任务是用AT89C51单片机设计一款数字语音存储与回放系
12、统,要求整个系统录音时间达到60s,放音效果真实清晰,采样频率达8KHZ,工作电压5V,系统录放音可受按键控制,可复位且音量可调有较强的抗干扰能力。设计要求:首先要确定总体的设计方案,绘制出总体结构框图,分析系统的工作原理以及各个元器件的功能作用;再完成各单元具体电路的设计,包括单片机最小系统硬件电路、外围、语音录放、功放、键盘输入等电路;最后用编程软件完成程序编写和烧入并对系统进行调试。第2章 总体方案设计2.1 总体方案论证 方案一:利用单片机及其外围硬件电路,包括A/D、D/A、滤波及放大电路等,就能完成语音信号的数字化采集、存储和回放的功能。系统主要由ATMEL公司的AT89C51、A
13、DC、DAC及闪速存储器组成。它的原理图如图2-1所示。录音时,模拟语音信号先通过MIC转换成微弱的电信号,再经专用的音频前置放大器放大和带通滤波器滤波后,由模数转换器A/D转换成数字信号,单片机控制数字信号存储在存储器中;在需要放音时,单片机控制数字信号从存储器中读出,再经D/A的转换还原成模拟信号,再通过滤波、放大后由扬声器输出5。这种方法过程简单,但是语音信号容易受到外界的干扰而失真,并且信号的压缩存储比较复杂,硬件电路不宜调试。 图2-1 方案一系统原理图方案二:可采用单片机与专用的语音处理芯片来设计语音存储与回放系统,实现对语音的录放功能。采用语音芯片技术来处理语音信号,系统具有抗干
14、扰能力强,存储方便,调试简单,可作为语音服务的子系统等纵多优点。在一块芯片上集成有麦克风前置放大器、自动增益控制电路、抗混淆和平滑滤波器、模拟存储阵列、扬声器驱动器、控制接口和内部精确的参考时钟。加上麦克风、扬声器,开关和少数的几个电容、电阻和电源,就可构成一个完整的语音录放系统。我们以ISD公司的生产的ISD2560系列语音芯片为例,系统原理框图如图2-2所示。模拟语音语音信号进过麦克风之后直接送入ISD2560芯片加以处理和存储,放音时,ISD2560芯片再把存储好的数字信号还原成模拟信号,再通过放大器把信号放大,最后用扬声器放出来6。该系统具有重复录放、音质好、低功耗、抗强干扰等优点。图
15、2-2 方案二系统原理图通过有效性和实用性对比,发现方案二具有更强的优势,因此选择方案二。下面,就针对此方案做具体的介绍。2.2 器件选择2.2.1 单片机的选择单片机是一种集成电路芯片,即在一块集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成单芯片的微型计算机。它具有中断、独立定时器/计时器等功能,有着出色的控制能力。进过数十年的研究发展,目前单片机家族复杂庞大,包括STC单片机、PIC单片机、MCS系列单片机、ATMEL单片机、TI单片机和AVR单片机等等。单片机有着强大的线控能力,和我们日常生活、生产息息相关。本文选用目前普遍使用的ATMEL公司的51系列单片机作为控制核心,
16、以下是两款51单片机的性能对比表。AT89C51是带4K字节FLASH的低电压、高性能8位单片机,有两个定时计数器和六个中断源。而AT89C2051作为AT89C51的精简版本只带2K字节闪存且口线较少,不利后期口线拓展,因此我们选AT89C51单片机。表2-1 AT89C51和AT89C2051主要性能对比项目AT89C51AT89C2051存储器4KB可编程Flash存储器2KB可编程Flash存储器存储器保密三级程序存储器保密两级程序存储器保密内部RAM128字节128字节静态工作频率0Hz24MHz0Hz24MHz定时/计数器2个16位定时/计数器2个16位定时/计数器串行通讯口1个串
17、行通讯口1个串行通讯口中断源6个中断源6个中断源I/O引线32条I/O引线15条I/O引线2.2.2 语音芯片选择语音芯片分语音IC和音乐IC,它内部集成有麦克风前置放大器、自动增益控制电路、抗混淆和平滑滤波器、模拟存储阵列、扬声器驱动器、控制接口和精确的参考时钟。它能自动完成语音数据的采集、分析、压缩、存储等步骤,一次录放音包括ADC和DAC两个过程:语音信号通过采样转化为数字,存储在IC的ROM中,再通过电路将ROM中的数字还原成语音信号。本设计要求系统录音时间达到40s以上,采样频率达8KHz,因此可选用普遍使用的ISD2560语音芯片。2.2.3 功放选择为使系统外围元件最少,信号谐波
18、失真率小和信号增益调节范围大,我们可使用美国国家半导体公司生产的LM386音频集成功率放大器。2.3 各芯片详细说明2.3.1 AT89C51芯片AT89C51单片机是一款自带4KB字节FLASH的高性能微处理器,分辨率为8位。该器件采用ATMEL独有存储技术制造,兼容工业标准的MCS-51指令集。以下是它的主要特点: (1)与MCS51兼容(2)4k字节可编程Flash 闪速存储器(3)寿命:1000写/擦循环,数据保留时间:10年(4)全静态操作:0Hz24MHz(5)三级加密程序存储器(6)1288字节内部RAM(7)32个可编程I/O口线(8)2个16位定时/计数器 (9)5个中断源(
19、10)可编程串行UART 通道(11)低功耗空闲和掉电模式(12)片内振荡器和时钟电路AT89C51芯片引脚排列详见附录1,下面就本设计的相关的引脚作功能介绍。P0口是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。外部不扩展而单片应用时,则作一般双向I/O口用。P0口每一个引脚可以推动8个LSTTL负载。P1口是具有内部提升电路的双向I/O端口(准双向并行I/O口),其输出可以推动4个LSTTL负载且仅可以作为用户的输入输出端口。P2口也是具有内部提升电路的双向I/O端口(准双向并行I/O口),如果程序访问的是外部ROM时,它是作高8位地址。当仅使用
20、内部ROM时,则作一般双向I/O口。每一个引脚输出可以推动4个LSTTL负载7。P3口是一组带有内部上拉电阻的8位双向I/O口。P3口除了作为一般的I/O口线外,更重要的用途是它的复用功能,如表2-2所示。RST:复位输入。VCC:AT89C51的正极,输入+5V电压。GND:电源接地端。XTAL1:接外部晶振的一个引脚。在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。当它采用外部振荡器时,一些引脚应接地。表2-2 P3口复用功能表端口引脚复用功能P3.0RXD(串行通信输入)P3.1TXD(串行通信输出)P3.2INT0(外部中断0输入,低电平有效)P3.3INT1(外部中
21、断1输入,低电平有效)P3.4T0(计数器0,外部事件计数输入端)P3.5T1(计数器1,外部事件计数输入端)P3.6WR(外部随机存储器的写选通,低电平有效)P3.7RD(外部随机存储器的读选通,低电平有效)XTAL2:接外部晶振的一个引脚。在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。当采用外部振荡器时,则此引脚接外部振荡信号的输入。EA/VPP:当该引脚为低电平时,单片机读取的是外部的程序存储器中的程序来执行。因此对于8031来说,EA脚必须接低电平,因为它无片内程序存储器。而对于AT89C51或其它内部有程序存储器的单片机来说,当初引脚接高电平时,单片机首先会在片内程序存储
22、器中取指令,当PC的内容超过FFFH时系统会自动转向片外程序存储器中取指令。2.3.2 ISD2560语音芯片用ISD系列语音芯片进行录音可具有音质自然、单片存储、反复录放、低功耗等优点。一块 ISD 芯片上集成有麦克风前置放大器(AMP)、自动增益控制电路(AGC)、抗混淆和平滑滤波器、模拟存储阵列、扬声器驱动器、控制接口和内部精确的参考时钟,加上外部元件(液晶、麦克风、扬声器、开关和少数电阻、电容),再加上电源即可组成最简单语音系统。ISD2560语音芯片是美国ISD公司较为成熟的语音录放产品。它是一种永久记忆型语音录放电路,录音时间达60s,可重复录放10余万次。芯片采用多电平模拟量直接
23、存储专利技术,无需外围的A/D、D/A转换电路。每个采样数据值直接由芯片自动存储在片内ROM单元中,播放时直接将存储的数据导出,所以它能十分真实地再现人声、音乐、语调和声效,可避免一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。ISD2560集成度较高,内部有前置放大器、自动增益控制、内部时钟、定时器、采样时钟、滤波器、逻辑控制、模拟收发器、解码器和480K的EEPROM等8。2.3.2.1 ISD2560引脚说明ISD2560的引脚排列详见附录1,各引脚的主要功能说明如下:A0/M0A6/M6、A7A9:地址线,ISD器件可以实现1600段录放语音功能,每段录放音都有一个起始端,该起
24、始地址的选择由A0A9确定。当A8、A9同时为高电平时可以选择工作模式。AUX IN:当和为高,放音不进行,或处于放音溢出状态时,本端的输入信号通过内部功放驱动喇叭输出端。VSSD、 VSSA:数字地和模拟地,这两脚最好在引脚焊盘上相连。SP+、SP-:扬声器输出。VCCA、VCCD:模拟电源、数字电源,尽可能在靠近供电端处相连。MIC:本端连至片内前置放大器,外接话筒应通过串联电容耦合到本端,耦合电容值和本端的10K输入电阻。MIC REF:本端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。AGC:AGC动态调整前置增益以补偿话筒输入电平的宽幅变化,使得录制变化
25、很大的音量时失真都能保持最小。响应时间取决于本端的5K输入阻抗外接的对地电容的时间常数。释放时间取决于本端外接的并联对地电容和电阻的时间常数。470K和4.7uF的标称值在绝大多数场合下可获得满意的效果。ANA IN:芯片录音信号输出端,它通过外接电容与话筒的ANA OUT端相连接。ANA OUT:前置放大器的输出,前置电压增益取决于AGC端电平。:芯片处于存储空间末尾时本端输出低电平脉冲表示溢出,之后状态随端变化,直至PD端变为高电平。:当低电平有效时(而且PD为低),允许语音芯片进行录放操作。芯片在本端的下降沿锁存地址线和端的状态。PD:当该端为高电平时,芯片停止工作,且不耗电,芯片发生溢
26、出,即端输出低电平后,本端口短暂变高电平。只有复位芯片,才能使之再次工作。:EOM是在录音时由芯片自动插入到语音信息的结尾作为结束的标志。当放音时,一遇到EOM,本端口即刻输出低电平脉冲。芯片内部会检测电源电压以维护信息的完整性,当电压低于3.5V时,本端变低,芯片只能放音。XCLK:外部时钟输入端。本端内部有下拉元件,不用时应接地。:本端口状态在的下降沿锁存。为高电平时选择放音,为低电平时选择录音。录音时,由地址端提供起始地址,录音持续到或PD变高,或内存空间溢出;如果是前一种情况,芯片自动在录音结束处写入EOM标志,说明录音结束。放音时由地址端提供起始地址,放音直至遇到EOM停止标志。如果
27、一直为低,或芯片工作在某些操作模式,放音会忽略EOM,继续进行下去。由于ISD2560内置了若干种操作模式,因而可用最少的外围器件实现最多的功能。操作模式也由地址端控制,当最高两位(A8、A9)都为1时,其它地址端置高可选择某个(或某几个)特定模式。因此操作模式和直接寻址相互排斥。具体操作模式如表2-3所示。操作模式可由微控制器也可由硬件实现。表2-3 模式控制说明表模式控制功能典型应用A0/M0信息检索快速检索信息A1/M1删除EOM标志在全部语音录放结束时,给出EOM标志A2/M2未用当工作模式 操作时,此端应接低电平A3/M3循环放音从0地址开始连续重复放音A4/M4连续寻址可录放连续的
28、多段信息A5/M5CE电平触发允许信号中止A6/M6按钮控制简化器件接口使用操作模式时需要注意两点:(1) 任何操作模式都是从0地址开始,随着不同操作模式,继而对应相应的地址。当系统录音转为放音或进入省电状态时,地址计数器复位为0。当CE变低且最高两地址位同为高时,执行操作模式。这种操作模式将一直有效,直到CE再次由高变低,芯片重新锁存当前的地址/模式端电平并执行相应的操作为止。(2) 操作模式位不加锁定,可以在MSB(A8、A9)地址位为高电平时,CE电平变低的任何时间执行操作模式操作。如果下一片选周期MSB(A8、A9)地址位中有一个(或两个)变为低电平,则执行信息地址,即从该地址录音或放
29、音,原来设定的操作模式状态将丢失。2.3.2.2 ISD2560的分段录放音功能2500系列最多可分为600段,只要在分段录/放音操作前(不少于300纳秒),给地址A0A9赋值,录音及放音功能均从设定的起始地址开始,录音结束由停止键操作决定,芯片内部自动在该段的结束位置插入结束标志(EOM);而放音时芯片遇到EOM标志即自动停止放音。2500系列地址空间是这样分配的:地址0599作为分段用(见表2-4),地址600767未使用,地址7681023为工作模式选择。表2-4 2500系列地址空间表十进制二进制信息时间(秒)A9A8A7A6A5A4A3A2A1A0256025752590000000
30、000000005000001100105.06.257.50100000110010010.012.5015.00250001111101025.031.2537.50300010010110030.037.5045.00400011001000040.050.0060.00500011111010050.062.5075.00599100101011159.974.8789.852.3.2.3 ISD2560的应用电路ISD2560芯片内部EEPROM存储单元被均匀分为600行,共600个地址单元。每个地址单元指向其中一行,每一个地址单元的地址分辨率为100ms,共计60s。ISD2560
31、控制电平与TTL电平兼容,接口简单,使用方便。图2-3是ISD2560语音录放的基本电路原理图9。图2-3 ISD2560基本电路原理图录音时按下录音键S2、S3接地,使节电控制键PD端、录放模式键端为低电平。此时启动录音;结束时松开按键,单片机又让录放模式键端回到高电平,即完成一段语音的录制。同样的,按下录放模式键接高电平,使节电控制键PD端为低电平启动放音功能;结束时,松开按键,即完成一段语音的播放。2.3.3 LM386集成功率放大器芯片LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类电子产品的放大。它起始内部电压增益为20,因此可以节省大量外部电路元件。但在1
32、脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。LM386芯片的电子特性如表2-5所示。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。输入电压范围可由4V12V,无动作时仅消耗4mA电流,且失真低。表2-5 LM386电子特性表项目测试环境规格工作电压Vs(V)45输入电压Vin(V)-0.4+0.4输入阻抗Ri(k)50静电流Iq(mA)Vs=6V,Vin=0V48输出功率Pout(mW)Vs=6V,Rl=8,THD=10%250325电压增益(dB)Pin1、8开路26P
33、in1、8以10F连接46频宽(kHz)Pin1、8开路300Pin1、8以10F连接60LM386的引脚排列详见附录1。引脚2为反相输入端,3为同相输入端,引脚5为输出端,引脚6和4分别为电源和地,引脚1和8为电压增益设定端。使用时在引脚7和地之间接旁路电容,通常取10F。LM386的电源电压为412V;静态消耗电流为4mA;电压增益为20-200dB;在1、8脚开路时,带宽为300KHZ;输入阻抗为50K;音频功率为0.5W。 尽管LM386的应用非常容易,但是在器件上电、断电瞬间,甚至平稳工作后的插拔音频插头、旋音量调节钮等操作都会带来的瞬态冲击,使喇叭产生非常讨厌的噪声,所以使用时需要
34、做好相应除噪措施。各引脚外围电路的接法介绍如下:(1) 通过在1脚、8脚间接入电容和电阻(1脚接电容“+”极)来改变增益,断开时增益为20dB。(2) 选好调节音量的电位器。阻值不要太大,10K最合适,太大也会影响音质。(3) 尽可能采用双音频输入/输出。好处是:“”、“”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。(4) 第7脚(BYPASS)的旁路电容不可少。实际应用时,BYPASS端必须外接一个电解电容到地,起滤除噪声的作用。工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容值,减缓直流基准电压的上升、下降速度,有效抑制噪声。在器件上电、掉电时的噪声就是由该偏置电压的
35、瞬间跳变所致。(5) 减少输出耦合电容。此电容的作用有二10:隔直与耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率()提高。经测试,发现10uF/4.7uF最为合适。 第3章 硬件电路设计3.1硬件电路总体设计本系统主要可分为三个部分:单片机控制部分、语音录放部分、功放部分。采用51单片机作为控制核心,利用ISD2560实现语音的录放,采用LM386集成功放使声音放大,简单易行且控制方便。ISD2560与单片机AT89C51的接口电路以及外围电路11见附录1。单
36、片机的P1口、以及P2口中的部分口线分别与ISD2560的地址线相连,用来设置语音段的起始地址和控制操作模式;此外,P2口还控制录放音状态;P0连接按键,供录放音使用以及接发光二极管,用以提示当前录放音状态。3.2 AT89C51的外围电路设计3.2.1电源 为设计使用方便,可采用外部适配器供电。5.0V,300mA,通过USB线与整个电路相连。3.2.2晶振电路设计单片机是一种时序电路,必须要提供时钟脉冲信号它才能正常工作。时钟信号是整个单片机系统时间基准,能为各种指令的执行提供时钟节拍。通常单片机有两种方式得到系统时钟信号:内部振荡、外部振荡。图3-1 晶振电路设计图本系统采用的是12MH
37、z的晶振,电容采用22pF的陶瓷电容,其具体设计如图3-1所示。3.2.3 复位电路设计当任何一个复位信号产生时,C51的所有I/O端口都会立即复位成它们的初始值,并不需要时钟源处于运行状态。在复位信号撤消后,硬件系统将调用一个计数延时过程,经过一定的延时后,才能进行系统内部的真正复位启动。采用这种形式的复位启动过程,可以保证电源达到稳定后才使单片机进入正常的操作。复位启动的延时时间可以由用户通过对程序的编译来定义。51单片机有3种复位方式12:(1) 上电复位。当系统接通电源时,RST引脚获得高电平且保持2个机器周期以上,单片机产生复位。(2) 按键复位。与上电复位类似,当一个高电平加到RS
38、T引脚且超过2机器周期时,单片机产生复位。(3) 看门狗(WDT)复位。其工作原理是:看门狗芯片和单片机的一个I/O引脚相连,该I/O引脚通过程序控制它定时地往看门狗的这个引脚上送入高电平(或低电平),这一程序语句是分散地放在单片机其他控制语句中间的,一旦单片机由于干扰造成程序“跑飞”后而陷入死循环状态时,写看门狗引脚的程序便不能被执行。这个时候,看门狗电路就会由于得不到单片机送来的信号,便在它和单片机复位引脚相连的引脚上送出一个复位信号,使单片机发生复位,即程序从程序存储器的起始位置开始执行,这样便实现了单片机的自动复位。因此,看门狗复位方式可以有效的监控系统的运行情况,提高了系统自身的抗干
39、扰能力,使系统能够在具有一定干扰的环境中正常工作。图3-2 复位电路图本系统使用的是外部按键复位方式,高电平通过复位端电阻与Vcc电源接通而实现的,电路如上图3-2所示。为了提高系统可靠性,再加上一个10uF的电解电容来消除高频干扰和杂波。3.3 语音电路设计本系统采用ISD2560语音芯片,其语音电路图如图3-3所示13。图3-3 语音录放电路图各引脚外围电路的接法可参考前文所述的引脚说明。扬声器输出信号与功放相连,将声音信号放大。3.4 功放电路设计为使从语音芯片出来的信号稳定不衰减,特加入功放电路,如图3-4所示14,15,图3-4 功放电路图信号从ISD2560的14脚出来进入LM38
40、6的运放脚,经放大后与扬声器相接。第1脚和第8脚之间接入一个电容和电阻,可是LM386增益达200dB。3.5 键盘输入电路和状态显示电路设计单片机作为控制核心,它只要任务是控制语音芯片的录放音功能。图3-5 单片机控制键盘输入和状态显示电路图我们可以通过按键识别来分别控制录音和放音过程16,因此该系统具有2个按键:录音按键、放音按键。状态显示通过发光二极管来完成,3盏灯分别对应的芯片开始工作、录音开始和放音开始3种状态。这部分的电路图如图3-5所示。第4章 软件设计如果说一个系统的硬件好比人的身体,那么软件就是人的灵魂。软件的设计基础是硬件,若硬件无法正常工作,再优秀的软件也无法实现任何功能
41、。同样的,如果没有软件,再强大的硬件也只是一个空壳。我们在确定了一项设计所要实现的功能后,根据要实现的功能设计出相应的硬件系统。硬件系统搭建起来之后,若调试无误,才进行相应的软件模块的设计。本系统采用51系列单片机作为硬件核心,单片机的软件部分采用汇编语言开发,软件采用符合汇编语言的Keil编译器编译。本设计的软件功能主要完成以下过程:初始化,当单片机扫描录音键按下时,置端为低电平,芯片开始录音,然后一直扫描RECORD所表示的录音按键是否松开,若按键松开,则置端为高电平,录音结束;当放音键按下后,置PR端为1,进入放音状态,将端置为低电平,启动播放,播放过程中等待语音段结束信号EOM,当EO
42、M=0时,提示语音信号结束,返回主程序并进行下一步操作。4.1 主要变量说明程序中的主要变量及相关功能如下:LED1LED3:描述发光二极管的关断。当这3个变量分别为1时,二极管熄灭,当变量为1时,二极管点亮。RECORD:描述录音键按下的状态。该变量为1表示录音键按下,为0表示录音键松开。PLAY:描述放音键按下的状态。该变量为1表示放音键按下,为0表示放音键松开。PD:控制芯片的工作状态。PD=0时,芯片开始工作;PD=1时,芯片停止工作,进入节电状态。PR:控制语音芯片所处的工作模式。该变量置为0时,芯片处于录音模式;置为1时,芯片处于放音模式。CE:对芯片进行片选。当CE=0且PD=0
43、时,允许芯片进行录放的的操作;CE=1时,无法进行录放操作。EOM:信息结束的标志。一段语音信号录制完毕后,EOM标志由芯片自动插入到信息结尾,放音过程中,若EOM=0,说明信号结束,停止播放。4.2 主程序流程图本系统中单片机控制语音芯片录放的程序主要是单片机对ISD2560芯片的控制字的写入,程序流程图如图4-1所示17。ISD2560 虽然提供了地址输入线,但它的内部信息段的地址却无法读出,需要采用直接寻址模式进行寻址。其实现方式有两种:一是由于ISD2560 的地址分辨率为100 ms,所以可用单片机内部定时器定时为100 ms,然后再利用计数器对单片机定时次数进行计数,则计数器的计数
44、值为语音段所占用的地址单元,该方式能充分利用ISD2560 内部的EEPROM,在字段较多时可利用该方法;二是语音字段如果较少,则可根据每一字段的内容多少,直接分配地址单元。一般按每秒说3个字计算,60s可说180个字,再根据ISD2560的地址分辨率为100ms,即可计算出语音段所需的地址单元数。本系统完成的是语音单段录放的功能,可不必采用直接寻址模式,而是设置A8、A9和A6的电平为高,利用按钮控制操作模式完成对单段语音信号的录放即可。在这种模式下,语音存储的起始地址默认从0开始。程序首先是系统的初始化,设置P1的状态使得语音芯片处于按键控制的操作模式下。后将PD端置为0,芯片启动。再置P
45、R端为0,设置芯片在录音状态。此后循环扫描RECORD和PLAY键按下的状态。RECORD键按下后,进入录音模式,调用录音子程序开始录音。PLAY键按下后,进入放音状态,调用放音子程序开始放音。放音结束后,PD端置1,芯片停止工作,其程序代码见附录2。图4-1 主程序流程图4.3 子程序流程图及代码4.3.1 录音子程序录音子程序流程图如图4-2所示。图4-2 录音子程序流程图录音键按下后,置端为低电平,芯片开始录音。然后一直扫描RECORD所表示的录音按键是否松开,若按键松开,则置端为高电平,录音结束。程序段如下:CLR CE;开始录音CLR LED2SETB LED1;灯2亮,灯1灭JNB RECORD,$SETB CE;录音键松开后,录音结束 SETB LED2CLR LED1;灯2灭,灯1亮 4.3.2 放音子程序放音程序的流程图如图3-3所示。图4-3 放音子程序流程图放音键按下后,置PR端为1,进入放音状态。将端置为低电平,启动播放。播放过程中等待语音段结束信号EOM,当EOM=0时,提示语音信号结束。返回主程序并进行下一步操作。放音程序段如下:SETB PR;置放音状态CLR CE;启动播放CLR LED3;STEB LED1;灯3亮,灯1灭NOP