1481.A单片机实现数码录音毕业论文.doc

上传人:夺命阿水 文档编号:1266063 上传时间:2024-04-23 格式:DOC 页数:27 大小:408.34KB
返回 下载 相关 举报
1481.A单片机实现数码录音毕业论文.doc_第1页
第1页 / 共27页
1481.A单片机实现数码录音毕业论文.doc_第2页
第2页 / 共27页
1481.A单片机实现数码录音毕业论文.doc_第3页
第3页 / 共27页
1481.A单片机实现数码录音毕业论文.doc_第4页
第4页 / 共27页
1481.A单片机实现数码录音毕业论文.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《1481.A单片机实现数码录音毕业论文.doc》由会员分享,可在线阅读,更多相关《1481.A单片机实现数码录音毕业论文.doc(27页珍藏版)》请在课桌文档上搜索。

1、大学毕业论文 单片机实现数码录音及播放(复读机)目 录摘要 10 引言 21 芯片介绍 311 ISD1420芯片介绍 312 AT89C51芯片介绍 82 单片机接口技术的应用 113 录放音电路的实现 1431 电路图的绘制14311 对于ISD1420的应用 14312 对于AT89C51的应用 15313 绘制电路图 1632 程序编写 174 结论 235 参考文献 246 谢辞 25摘 要随着时代的发展,数码产品的普及率也越来越高,而现在复读机在市场上和普通拥有孩子的家庭中拥有很高的拥有率,功能也越发强大,基于此我想选用和平常所见不同的单片机芯片设计出具有基本录放音功能的录放电路,

2、实现平常复读机的录放功能。过去,数码语音的开发设计不但结构设计复杂、编程录制麻烦、开发生产成本高,而且音质欠佳,难以实用。而ISD1400系列芯片具有使用方便的单片录放系统,外部元件最少,重现优质原声,没有常见的背景噪音等特点。针对ISD语音芯片的特点,设计一种由单片机控制,能够循环录放的语音电路,可作为录音机,复读机、音频记录仪使用,既节省存储空间,又降低成本,具有较高的实用价值。我选用ISD1420芯片作为实验的主要芯片,结合单片机接口技术,利用ATMEL89C51芯片的存储特性,实现语音录放的高保真数码录音及播放。关键词:ISD1420芯片,单片机接口技术,ATMEL89C51,录放音电

3、路单片机实现数码录音及播放(复读机)0 引言在生活水平的快速提升下,人们对于孩子的学习越来越重视,特别是对于外语的学习更加提上了学习日程,在这种社会大背景下,复读机自然而然的出现在了大家的视野中,随着这几年的发展,复读机的功能日趋强大,快速搜索、分段提取、超长时间等功能相继出现,然而根据健康时报上王金才发表的文章看,复读机最好还是选功能简单的,因为,普通人一次连续记忆通常只能达到12位无序不重复的数字,因此复读机秒数在200秒已足够,复读时间过长对复读机的保真度难以保证,容易造成声音失真,而放音声音过于尖锐,容易刺伤耳膜;声音过于沉闷,唇齿音(辅音)难以再现,会影响听力水平的提高。其实,复读机

4、使用率最高的是“复读”和“跟读对比”,这两个功能相对较为重要,其他过多的附加功能,不但使操作变得复杂,也会分散使用者注意力,降低使用效果。介于此,我想我所设计的数码录音及播放(复读机)是带有基本录放功能的,具有人性化的,具有能最大提升使用者语言能力的一种具有重点功能的设备。利用ISD1420芯片的重现优质原声,没有常见的背景噪音等功能兼且运用ATMEL系列芯片的存储功能实现复读机的适度录放时间拥有必要功能的技术优化,达到使使用者能够真正达到最大使用周期,实现最大利用率,拥有良好品质的目标。1 芯片介绍1.1 ISD1420介绍芯片组成:ISD1420为美国ISD公司出品的优质单片语音录放电路,

5、由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利直接模拟存储技术(DAST TM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器。直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。不仅语音质量优胜,而且断电语音保护。3图1.1 ISD1420芯片内部功能图特点介绍:它的特点是使用方便的单片录放系统;外部元件最少;重现优质原声,没有常见的背景

6、噪音;放音可由边沿或电平触发;无耗电信息存储,省掉备用电池;信息可保存100年,可反复录放10万次;无需专用编程或开发系统;较强的分段选址能力可处理多达160段信息;具有自动节电模式;录或放后立即进入维持状态,仅需0.5A电流;单一5伏电源供电。1ISD1420芯片的几个特点都能在实际的使用过程中给予使用者很大的便利,而其中外部元件最少;重现优质原声,没有常见的背景噪音、信息可保存100年,可反复录放10万次、较强的分段选址能力可处理多达160段信息这几个功能是我主要看中的,因为我设计的复读机必须是高保真的,能够使用时间长的东西。管脚介绍:ISD1420系列语音芯片的封装引脚如图1.2所示。它

7、是有28条引脚的双列直插式芯片。各条引脚的功能含义说明如图1.2。A0A7: 引脚16,9,10,地址输入端或控制命令输入端。A7,A6同为高电平时,A4A0为控制命令;否则,A7A0为地址。 SP-,SP+: 扬声器连接端,输出音频信号。DGND:引脚12,数字信号地线。 AGND: 引脚13,模拟信号地线。 V+:模拟信号电源,+5V。 MIC:引脚17,话筒输入端。MIC REF:引脚18,话筒参考输入端。 AGC:引脚!9,自动增益控制端。 ANA IN:引脚20,模拟信号输入端。 ANA OUT:引脚21,模拟信号输出端。 PLAYL/:引脚23,放音控制电平触发端。当该端为低电平时

8、,芯片进入放音周期;。当该端为高电平时,停止放音。 PLAYE/:引脚24,放音控制脉冲触发端。该端输入由高电平向低电平跳变的下降沿时,芯片进入放音周期。 RECLED/:引脚25,录音显示端。该端接发光二极管,在录音时作录音指示灯。 XCLK:引脚26,时钟控制端。 REC/:引脚27,录音控制端。该端为低电平时,芯片进入录音状态,录音期间该端必须保持低电平。REC/信号的优先级高与PLAYL/和PLAYE/两种放音信号。3 图1.2 ISD1420芯片管脚功能图操作模式应用:而根据上面所说的A6 、A7 的电平不同,我们可以知道电路可以进入两种不同的工作模式:地址模式和操作模式。如果A7

9、、A6 至少有一位为低电平,则电路认为A0-A7 全部为地址位,A0-A7 的数值将作为本次录音或放音操作的起始地址。A0-A7 全部为纯输入引脚,不会象操作模式中A0-A7 还可能输出内部地址信息。输入的A0-A7 的信息在PALYE,PLAYL 或REC 的下降沿被电路锁存到内部使用。地址模式 :当A7 A6 至少有一位为0时,器件进入地址模式。在地址模式中,A0-A7 由低位向高位排列, 每位地址代表125毫秒的寻址,160 个地址覆盖20秒的语音范围(160*0.125s=20s),录音及放音功能均从设定的起始地址开始,录音结束由停止键操作决定,芯片内部自动在该段的结束位置插入结束标志

10、(EOM);而放音时芯片遇到(EOM)标志即自动停止放音。5操作模式 :当A7 A6 全部为1 时,器件进入操作模式。ISD1420 内部具备有多种操作模式,并能以最少的组件实现较多的功能,下面将详细描述。操作模式的选择使用地址管脚来实现,但实际的地址在ISD1420 的有效地址外部。当地址的最高两位A7 A6 为高电平时,其余的地址位将被成为状态标志位而不再是地址位。因此,操作模式和寻址模式不能兼容,也就是说不能同时使用。在使用操作模式时必须注意两点。第一,所有的操作开始于地址0,也就是ISD1420 的起始地址。以后的操作根据操作模式的不同可以从其它地址开始。另外,在操作模式中当A4=1,

11、 从录音变换到放音而不是从放音到录音,器件地址指针复位到0。第二,操作模式的执行必须是A7 A6 为高电平在PALYL,PLAYE 或REC 变为低电平时开始执行。当前的操作模式将一致有效, 直到下一次的控制信号变低, 并取样地址线上的信息开始新的操作。操作模式描述 :可以使用微处理器来控制操作模式,也可以直接使用直接联机来实现需要的功能。A0 信息检索:信息检索允许用户在内容跳转浏览,而不必关系每个信息的实际物理位置。每个控制信号的低电平脉冲将内部地址指针转移到下一个信息位置。这种模式只能在放音中使用,通常与A4 操作同时应用。6A1 删除EOM 结尾标志:A1 操作模式允许多次记录的信息组

12、合成一个信息,结束标志只出现在最后录制信息的结尾。当配置成这种模式后,多次录制的信息在放音时会形成连续的信息。6A2 没有使用。6A3 循环播放:A3 操作模式能够实现自动连续的信息播放,播放的信息处于的地址空间的开始。如果一个信息充满了ISD1420, 则用循环模式可以从头到尾连续的播放。PALYE 脉冲可以启动播放,PLAYL 脉冲可以结束播放。6A4 连续寻址:在通常的操作中,当放音操作遇到结尾标志(EOM)时,地址指针将复原到0。A4 操作模式将禁止地址指针的复位,允许信息能连续录制和播放。当电路处于静止状态,不是处于录音或放音状态,即可的设置该脚为低电平将复位地址指针。A5 没有使用

13、。6在多种功能模式中,有介于我设计理念的趋向于简单、实用、人性化,我没有过多的使用其中的功能,而是重点突出检索和循环播放两个功能,一个是为了达到平常听录音时快进的功能,另一个则是为了使用者能够更好的记忆一段话而设置。 分段方法及应用,如图1.3图1.3 分段典型应用电路图上图是ISD1420典型应用电路图,图中的PLAYL、PLAYE键只需要选择一个即可,地址输入端A0A7有效取值范围为0000000010011111,这表明最多可被划分为160个存贮单元,可录放多达160段语音信息。由A0A7决定每段语音的起始地址,而起始地址又直接反映了录放音的起始时间。图1.4分段原理图上图是ISD142

14、0的分段原理图。其中A0A2置为低电平,此时电路共分为四段。A3A7平时通过电阻R6R13接至高电平,如果要将某一地址置低电平时,则在该位与地之间接一个隔离二极管。上图中各段的起始地址和时间安排如下:第一段语音从0秒开始,地址设置为00000000;第二段语音从2秒开始,地址设置为00010000;第三段语音从5秒开始,地址设置为00100000;第四段语音从12秒开始,地址设置为01010000。实际应用时,我们可根据每段语音的起始时间,自行设置相应的A0A7组合。录音时,将S5打到“REC”,再按住S1,LED亮就开始录音,录音时间到2秒时就必须松开S1,否则下一段无效。录制其它段的方法相

15、同。分段方音时,先将S5打向“PLAY”,中需按下相应的S1S4键就可以播放出有关语音的内容,如果与计算机,单片机配接就不需要接编码隔离二极管,地址输入端A0A7直接连单片机、计算机的I/O口。71.2 AT89C51介绍AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的反复擦写的FLASH只读程序存储器和128bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种

16、控制领域。11图1.5 AT89C51管脚图主要功能特性:兼容MCS51指令系统,32个双向I/O口,两个16位可编程定时/计数器,1个串行中断,两个外部中断源,可直接驱动LED,低功耗空闲和掉电模式,4k可反复擦写(1000次)Flash ROM,可编程UARL通道,全静态操作0-24MHz,128x8bit内部RAM,共6个中断源,3级加密位,软件设置睡眠和唤醒功能。12内部结构:8031CPU、振荡电路、总线控制部件、中断控制部件、片内Flash存储器、片内RAM、并行I/O接口、定时器、串行I/O接口。管角说明:VCC:供电电压、GND:接地。P0口:P0口为一个8位漏级开路双向I/O

17、口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在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门电流

18、,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这

19、是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如P3口管脚备选功能:P3.0 RXD(串行输入口)、P3.1 TXD(串行输出口)、P3.2 /INT0(外部中断0)、P3.3 /INT1(外部中断1)、P3.4 T0(记时器0外部输入)、P3.5 T1(记时器1外部输入)、P3.6 /WR(外部数据存储器写选通)、P3.7 /RD(外部数据存储器读选通)、P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH

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

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

22、低电平要求的宽度。2 单片机接口技术的应用微型计算机的CPU与外设之间经常需要交换数据,例如键盘、显示器、打印机、指示灯、按纽等都要通过输入/输出接口和主机相连。为了把高速的CPU与慢速的外设之间协调工作,需要在主机与外设之间建立相互联系的“纽带”或者说是桥梁。接口是介于主机与外设之间的连接部件,它是CPU与外设进行信息交换的中转站。接口的功能可总结为:锁存、隔离、变换、联络八个字。10锁存:因为大多数外部设备对信息的处理速度远低于计算机传送信息的速度,不可能在计算机输出指令起作用的时间内将信息处理完毕。另一个原因是对于多个输出外设而言,每一个外设都应有其对应的接口,以及与之相对应的地址,否则

23、也无法实现一个CPU与多个外设之间的有序数据交换,计算机输出的数据可以先在数据锁存器中锁存,然后由外设漫漫进行处理。隔离:由外设向计算机输入信息时,需要在外设与数据总线之间接入起隔离作用的缓冲电路。当CPU与多个输入外设进行数据输入时,如果没有接口直接与数据总线相接,就有可能一方要提供高电平而另一方要提供低电平,这显然是不能允许的。加接隔离电路的作用是使外部信息只有在输入指令作用期间才与数据总线相连,在其它情况下,外部设备均与数据总线隔离,这样就可以避免上述情况的发生。隔离电路一般可用三态门组成。变换:当外部输入电流、电压信号时,需要通过接口变换为计算机所能接收的数字信息。或者当需要计算机输出

24、电压、电流信号时,需要通过接口把计算机繁荣数字信号变换为外设所需要繁荣模拟信号。此外,串行传送与并行传送信号之间相互变换也属于变换范围。联络:当计算机与外部设备之间进行数据交换时,收发双方有通过接口以一定方式进行“联络”的必要性。例如通过接口电路,使处理器得到所需要的时钟信号或接收外部的多个中断请求等。13外设与CPU之间的信息传送方式不同,CPU对外设的控制方式也不同,CPU何时从输入设备读取数据以及何时往输出设备写入数据就成为较复杂的问题。传送方式概括起来有三种方式:程序方式、中断方式、DMA方式。程序方式:是指在程序控制下进行信息传送,分为无条件传送方式和条件传送方式。中断方式:在上述的

25、查询传送方式中,CPU要不断地询问外设,当外设没有准备好时,CPU要等待,不能干别的操作,这样就浪费了CPU的时间。为了提高CPU的效率,可采用中断的传送方式。DMA:上述中断传送方式仍是由CPU通过程序来传送,每次要保护断点,保护现场需要多条指令,每条指令要有取指和执行时间,故通常传送一个字节需要几十微秒。这对于一个高速I/O设备,以及成组交换数据的情况,例如磁盘与存储间的信息交换,就显得速度太慢了。所以期望用硬件在外设与内存间直接进行数据交换(DMA)而不通过CPU,这样数据传送速度的上限就取决于存储器的工作速度。4端口编址方式:统一编址、独立编址。13微型计算机与外设之间的通信有两种方式

26、,即并行与串行。并行通信是将有关数据的各位并排同时传送,而串行通信则是将有关数据的各位,一位接一位地顺序传送,并且在一根线上既要传送数据又要传送联络信号。并行接口有以下几个方面的特点:并行接口是在多根数据线上,数据以字节为单位与输入/输出设备或控制对象传送信息的;并行传送的信息不要求固定的格式,这与串行传送的信息有数据格式的要求不同;并行接口的电路结构来看,并行接口有简单硬件连线接口和可编程接口之分。硬件连线接口的工作方式及功能用硬件连线来设定,用软件编程的方法不能加以改变;如果接口的工作方式及功能可以用软件编程的方法加以改变,则就叫可编程接口。2比较并行通信与串行通信的特点,并行通信一般使用

27、传输线多,传送速率高,但通信距离比较近;而串行通信使用传输线少,通信距离比较远,但传送速率低。我的设计中AT89C51与外设之间连接需要用到中断等概念,同时因为需要传输大容量的数据,不需要太远的距离,我选用并行通信的传输方法。3 录放音电路的实现3.1 电路图的绘制3.1.1 对于ISD1420的应用图3.1 ISD1420基本按键连接图对于通常的使用,一般是采用一段录音放音的方法,这样ISD1420A 能为用户提供最长20 秒的录音和放音时间。图3.1给出的是采用最简单的按键操作的使用方法,也可以使用MCU 或逻辑电路来加以控制。当开始录音时,RECLED 脚变为低电平,可以下拉电流驱动一个

28、LED 显示。ISD1420内部已经设计了一个LED 位置,我们也可以在外部设计一个LED 显示。如上图电路,接通电源后,电路自动进入节电准备状态。录音:按住录音按键(REC 保持低电平),电路进入录音状态,当REC 变高或录音内存录满时,电路退出录音状态进入准备状态。注意REC 的优先级大于PALYE 和PLAYL 。触发放音:轻按PLAYE 按键,这样给PLAYE 脚一个低电平脉冲,电路进入放音状态,直到放音结束。电平放音:按下PLAYL 按键(PLAYL 脚保持为低电平),电路进入放音状态,直到PLAYL 变高或放音结束,电路重新进入准备状态。3.1.2 对于AT89C51的应用在画电路

29、图时应注意AT89C51中有一个用于构成内部振荡器的高增益反向放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英体或陶瓷谐振器一起构成字激振荡器,振荡电路参照下图。图3.2 振荡电路图外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响震荡频率的高低、振荡器工作的稳定性、起振的难以程度及温度稳定性,如果使用石英晶体,我选用Atmel89c51单片机芯片资料中所推荐的电容30pF10pF,而如使用陶瓷谐振器选择40pF10pF。我们也可以使用外部

30、时钟,如图3.2右图。这种情况下外部时钟脉冲接到XTAL1,即内部时钟脉冲的输入端,XTAL2则悬空。11我利用AT89C51芯片作为电路的控制核心,负责控制并管理语音芯片等工作,P0口和P1口作为与ISD1420芯片连接所用的端口,下图就是At89C51的编程图:图3.3 At89C51的编程图3.1.3 绘制电路图用protel99制作芯片,连接两芯片之间的电路及外围元器件,获得如下的电路图:图3.4 录放电路图 P1与A0-A7之间相连可以完成ISD1420芯片的各种功能,比如通过编程由单片机分别对A6和A7发送一个高平信号,使ISD1420芯片进入操作模式,在这种情况下,如果再对A1发

31、送一信号就能完成检索功能,以此类推,我们可以实现ISD1420芯片的很多功能。而ISD1420芯片中的REC、PLAYE、PLAYL与按键和P0.1、P0.2、P0.0相连则是实现录放音功能,由按下按钮开始录音通过端口传到AT89C51上进行存储再可以按下按钮触发PLAYE或PLAYL键读取AT89C51上数据开始放音。3.2 程序编写在编程时AT89C51具有两种可用软件编程的省电2模式,它们是空闲模式和掉电工作模式。这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PCON.2)位来实现的。空闲节电模式:PD是掉电模式,当PD=1时,激活掉电工作模式,

32、单片机进入掉电工作状态。IDL是空闲等待方式,当IDL=1,激活空闲工作模式,单片机进入睡眠状态。如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。终止空闲工作模式的方法有两种,其一是任何一条被允许中断的事件被激活,IDL(PCON.0)被硬件清除,即刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是使单片机进

33、入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可将空闲工作模式终止。需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从即活空闲模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位脉冲要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其它端口。为了避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应该是一条对端口或外部存储器的写入指令。掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件

34、复位,复位后将重新定义全部特殊功能寄存器但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须一定时间以使振荡器重启动并稳定工作。13Flash闪速存储器的编程:AT89C51单片机内部有4k字节的FlashPEROM,这个Flash存储阵列出厂时已处于擦除状态(即所有存储单元的内容均为FFH),我们行编程系统,而高电压编程模式可与通用EPROM编程器兼容。AT89C51单片机中,有些属于低电压编程方式,而有些则是高电压编程方式,可从芯片上的型号和读取芯片内的签名字节获得该信息,见表3.1。表3.1 AT89C51签名字节Vpp=12VVpp=5V芯片顶面标识AT89C51x

35、xxxyywwAT89C51xxxx-5yyww签名字节(030H)=1EH(031H)=51H(032H)=FFH(030H)=1EH(031H)=51H(032H)=05HAT89C51的程序存储器阵列是采用字节写入方式编程的,每次写入一个字节,要对整个芯片内的PEROM程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。13编程方法:编程前,必须按表3.2和图3.6所示设置好地址、数据及控制信号,编程单元的地址加在P1口和P2口的P2.0P2.3(11位地址范围为0000H0FFFH),数据从P0口输入,引脚P2.6、P2.7和P3.6、P3.7的电平设置见下表,PS

36、EN为低电平,RST保持高电平,EA/Vpp引脚是编程电源的输入端,按要求加上编程电压,ALE/PROG引脚输入编程脉冲。编程时,可采用420MHz的时钟振荡器,AT89C51编程方法如下:在地址线上加上要编程单元的地址信号;在数据线上加上要写入的数据字节;激活相应的控制信号;在高电压编程方式时,将EA/Vpp端加上+12V编程电压;每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲;改变编程单元的地址和写入的数据,重复1-5步骤,直到全部编程结束;每个字节写入周期是自身定时的,通常约为1.5ms。表3.2 存储编程真值表方式RSTPSENALE/PRO

37、GEA/VppP2.6P2.7P3.6P3.7写代码数据HLH/12VLHHH读代码数据HLHHLLHH写加密位Bit-1HLH/12VHHHHBit-2HLH/12VHHLLBit-3HLH/12VHLHL片擦除HLH/12VHLLL读签名字节HLHHLLLL图3.5 编程与校验电路基本的录放音程序:ORG 0000H REC BIT P0.0 PLE BIT P0.1 PLL BIT P0.2 RECLED BIT P0.3 START:MOV R7,#030H ;地址 MOV R6,#HIGH(1000) ;1S MOV R5,#LOW(1000) CALL RECORD;CALL PL

38、AYL ;CALL PLAYESJMP $;*; 名称:RECORD; 功能:录音; 入口:R7(开始地址),R6(H),R5(L)(录音时间,单位:ms) ; 如果R6,R5剩余录音时间,则录完为止;* RECORD: MOV A,R7 LCALL ADDR_OUT ;设定开始录音地址 CLR REC ;控制开始录音 MOV R7,#50 ;控制延时50msRECORD1: LCALL DELAY1MS DJNZ R7,RECORD1 RECORD2: LCALL DELAY1MS ;延时1ms JB RECLED,RECORD3 ;录音模块录满结束判断 DJNZ R5,RECORD2 ;录

39、音时间控制 DJNZ R6,RECORD2 RECORD3: SETB REC ;释放录音按键 RET ;*;名称:PLAYL;功能:电平控制放音;入口:R7(开始地址),R6(H),R5(L)(放音时间,单位:ms) ;如果R6,R5剩余放音时间,则放完为止;*PLAYL: MOV A,R7 LCALL ADDR_OUT ;设定开始播放地址 CLR PLL ;控制播放PLAYL1: LCALL DELAY1MS ;延时1ms JNB RECLED,PLAYL2 ;检测语音模块是否播放完毕 DJNZ R5,PLAYL1 ;播放时间控制 DJNZ R6,PLAYL1 PLAYL2: SETB P

40、LL ;释放播放按键 RET ;*;名称:PLAYE;功能:脉冲触发放音;入口:R7(开始地址) ;*PLAYE: MOV A,R7 LCALL ADDR_OUT ;设定开始播放地址 CLR PLE ;控制脉冲触发播放 MOV R7,#50 ;延时50msPLAYE1: LCALL DELAY1MS DJNZ R7,PLAYE1 SETB PLE ;结束控制信号 RET ;*;名称:ADDR_OUT;功能:发送地址;入口:A(地址) ;*ADDR_OUT: RLC A MOV A7,C RLC A MOV A6,C RLC A MOV A5,C RLC A MOV A4,C RLC A MOV

41、 A3,C RLC A MOV A2,C RLC A MOV A1,C RLC A MOV A0,C RET ;*; 名称:DELAY1MS; 功能:延时1MS; 入口:R6,R5;* DELAY1MS: MOV R4, #249 ;12M晶振:1000=2+2+(1+1+2)*249DELAY1MS1: NOP NOPDJNZ R4,DELAY1MS1 RET END完整的语音录放程序的编写:在程序编写时,由于A6、A7的都处于高电平时,进入操作模式,不同的管脚所产生的效果也是不同的,其中有两种方法可供选择,一种是在电路上加元器件,另一种则是用编程的方法,我所用的就是编程的方法,则我需在常规

42、的录音而根据我所要的芯片功能或者可以说是整个复读机的功能,我对芯片AT89C51输入一段程序,使其自动产生一电平信号,反馈到ISD1420芯片上,使我所要管脚功能得到释放,变成我所需要的不同的功能实现录放音功能之外的其它需要的功能。4结论 我所设计的录放音电路能够很好的完成预定的目标,能够很好的实现录放音时的音质保证,经过仿真电路的实验,经过程序的编写,通过按下REC键开始录音到数据存储到AT89C51中到判断录音是否录满到可以释放REC键停止录音工作这中间能够很好的完成录音工作,再通过按下播放键开始播放到在AT89C51中提取数据到检测语音模块是否播放完毕再到释放播放键停止播放,也可以看到设

43、计的电路能很好的完成放音工作,拥有良好的可操作性完全运用了ISD1420和AT89C51两块芯片各自的特点结合单片机接口技术的运用,实现了理想的作为录放电路所应拥有的良好功能。由于时间及器件的问题我不能完成更多功能上运用及完善,但是可以预期的是如果在程序的编写中再加入高低电平的控制,使ISD芯片所有功能得到发挥,我们可以很容易的实现比如快进、循环等方面的功能,实现一种由单片机控制,能够循环录放的语音电路,可作为录音机,复读机、音频记录仪使用,既节省存储空间,又降低成本,具有较高的实用价值的语音工具。参考文献1 王南阳.ISD1400系列单片永久性语音录放电路J.元器件档案,1994年第5期.2 李全利,仲伟锋,徐军,编著.单片机原理及应用M.北京:清华大学出版社,2006.3 ISD1420芯片使用手册J.4 李朝青.单片机原理及接口技术M.

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

当前位置:首页 > 在线阅读 > 生活休闲


备案号:宁ICP备20000045号-1

经营许可证:宁B2-20210002

宁公网安备 64010402000986号