1、基于51单片机录音笔课程设计报告课程名称:智能仪器课程设计题 目:基于51单片机录音笔设计学 院: 系:过程装备与测控工程 专 业: 测控技术与仪器 班 级: 测仪101 学 号: 学生姓名: 起讫日期: 指导教师: 摘要在社会高速发展的今天,由于人们生活学习工作的需要,录音设备在现在起着至关重要的作用。在智能仪器仪表或自动控制设备中,增加语音功能能极大地提高人机界面的友好性,方便用户操作。目前语音服务行业越来越广泛,如电脑语音钟、语音型数字万用表、手机话费查询系统、排队机、监控系统语音报警以及公共汽车报站器等。在许多场合,设计者需要将语音系统和单片机结合在一起学习和了解录音设备的原理和结构,
2、并且学习如何将语音合成、语音识别、语音存储和回放技术和单片机结合在一起。常规的模拟化语音处理系统能实现语音的存储与回放功能,但效果不是很好。通过探索决定采用Flash单片机STC89C52及数码语音芯片ISD1420组成的数字化的语音存储与回放系统。单片机是系统的控制中心,它主要实现一方面控制按键识别和功能选择;另一方面控制ISD1420语音芯片的录音和放音过程,实现语音的存储和回放。首先给出了系统的硬件电路,接着结合硬件电路编写了录、放音控制程序,最后,对本设计进行总结与展望。关键词:STC89C52单片机 ISD1420语音芯片 语音存储1 语音录放系统总体设计及主要芯片说明1.1 总体方
3、案论证方案一:利用单片机及其外围硬件电路(如A/D、D/A、存储器等),就能完成语音信号的数字化处理,实现语音的存储与回放。系统主要由单片机STC89C51、AD574、DAC0832及闪速存储器 AT29C040组成。其原理图如图1-1所示。声音通过MIC转换成微弱的电信号,经专用的音频前置放大器放大后,由带通滤波器滤波,输出的信号经A/D转换送入单片机。单片机控制将数字信号存储在存储器中,在需要放音时,单片机控制数字信号从存储器中读出,经D/A转换后输出。这种方法过程简单,但是语音信号容易受到外界干扰而失真,并且信号的压缩存储比较复杂,硬件电路不宜调试。方案二:直接采用单片机与专用的语音处
4、理芯片ISD1420设计实现语音存储与回放,实现语音的整段录放。该系统采用语音芯片处理语音信号,抗干扰能力强,存储方便,调试简单,还可以作为语音服务的子系统,所以选择此方案。下面,就针对此方案做具体的介绍。1.2 器件选择1.2.1 单片机的选择单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。在这里考虑到以后的扩展,本次设计选择了扩展接口较多的STC8
5、9C52,以便在需要的时候能够升级而扩展其他的功能。1.2.2 语音芯片选择语音芯片又称语音IC,又被叫做声音芯片。芯片的录音功能包括ADC和DAC两个过程,都是由芯片本身完成的,包括语音数据的采集、分析、压缩、存储、等步骤。它能够将语音信号通过采样转化为数字,存储在IC的ROM中,再通过电路将ROM中的数字还原成语音信号;而语音芯片放音功能实质上是一个DAC过程。语音芯片根据集成电路类型来分,凡是与声音有关系的集成电路被统称为语音芯片,但是在语音芯片的大类型中,又被分为语音IC(这里应该叫成Speech IC)、音乐IC(这里应该叫成Music IC)两种。目前,在市场上使用较为普遍的语音芯
6、片如表1-1所示。表1-1 常用语音芯片对比表项目TE6310TE6332ISD1420ISD2560语音长度10s32s20s60采样频率(kHz)6.446.46.48放音触发放音触发无边缘/电平电平工作电压(V)4.55.52.73.34.55.54.55.5工作电流(mA)30453030静态电流(A)2无1010MIC前置是否否否由上表可以看出,ISD1420语音芯片的语音长度较长,工作电流和电压也符合要求。因此,本次设计将采用ISD1420作为系统的语音处理芯片参与工作。1.3 STC89C52芯片说明STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有
7、8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可
8、选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。因为功能强大。STC89C52单片机适合于许多较为复杂控制应用场合。1.3.1 STC89C52的功能特性概述具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口
9、。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。1.4 ISD1420语音芯片采用ISD系列语音芯片进行录音是一种可行的方法,它有音质自然、单片存储、反复录放、低功耗等优点。一块 ISD 芯片上集成有麦克风前置放大器(AMP)、自动增益控制电路(AGC)、抗混淆和平滑滤波器、模拟存储阵列、扬声器驱动器、控制接口和内部精确的参考时钟,外部元件包括:
10、液晶、麦克风、扬声器、开关和少数电阻、电容,再加上电源和电池。ISD1420为美国ISD公司出品的优质单片语音录放电路,由振荡器、语音存储单元、前置放大器、自动增益控制电路、抗干扰滤波器、输出放大器组成。一个最小的录放系统仅由一个麦克风、一个喇叭、两个按钮、一个电源、少数电阻电容组成。录音内容存入永久存储单元,提供零功率信息存储,这个独一无二的方法是借助于美国ISD公司的专利-直接模拟存储技术(DAST TM)实现的。利用它,语音和音频信号被直接存储,以其原本的模拟形式进入EEPROM存储器.直接模拟存储允许使用一种单片固体电路方法完成其原本语音的再现。仅语音质量优胜,而且断电语音保护。1.4
11、.1 ISD1420的引脚功能电源(VCCA,VCCD)芯片内部的模拟和数字电路使用不同的电源总线,并且分别引到外封装上,这样可使噪声最小。模拟和数字电源端最好分别走线,尽可能在靠近供电端处相连,而去耦电容应量靠近芯片。地线(VSSA,VSSD)芯片内部的模拟和数字电路也使用不同的地线,这两个脚最好在引脚焊盘上相连。录音(/REC)低电平有效。只要/REC变低(不管芯片处在节电状态还是正在放音),芯片即开始录音。录音期间,/REC必须保持为低。/REC变高或内存录满后,录音周期结束,芯片自动写入一个信息结束标志(EOM),使以后的重放操作可发及时停止。之后芯片自动进入节电状态。注:/REC的上
12、升沿有50毫秒防颤,防止芯片自动进入节电状态。边沿触发放音(/PLAYE)此端出现下降沿时,芯片开始放音。放音持续到EOM标志或内存结束,之后芯片自动进入节电状态。开始放音后,可以释放/PLAYE。电平触发放音(/PLAYL)此端出现下降沿时,芯片开始放音。放音持续至端回到高电平,遇到EOM标志,或内存结束。放音结束后芯片自动进入节电状态。注:放音过程中当遇到EOM或内存结束时,如果/PLAYE或/PLAYL仍处在高电平,芯片虽然也进入节电状态(内部震荡器和时钟停止工作),但是由于芯片没有对/PLAYE和/PLAYL的上升沿进行消颤,随后在这两个引脚上出现的下隆沿(例如释放按键时的抖动)都会触
13、发放音。录音指示(/RECLED)处于录音状态时,此端为低,可驱动LED。此外,放音遇到EOM标志时,此端输出低电平脉冲。话筒输入(MIC)此端边至片内前置放大器。片内自动增益控制电路(AGC)将前置增益控制在-15至24dB。外接话筒应通过串联电容耦合到此端。耦合电容值和此端的10K输入阻抗决定了芯片频带的低频截止点。话筒参考(MICREF)此端是前置放大器的反向输入。当以差分形式连接话筒时,可减小噪声,提高共模抑制比。自动增益控制(AGC)AGC动态调节器整前置境益以补偿话筒输入电平的宽幅变化,使得录制变化很大的音量(从耳语到喧哗嚣声)时失真都能保持最小。响应时间取决于此端的5K输入阻抗和
14、外接的对地电容(即线路图中的C6)的时间常数。释放时间取决于此端外接的并联对地电容和电阻(即线路图中R5和C6)的时间常数。470K和4.7uF的标称值在绝对大多数场合下可获得满意的效果。模拟输出(ANAOUT)前置放大器输出。前置电压增益取决于AGC端的电平。模拟输入(ANAIN)此端即芯片录音的输入信号。对话筒输入来说,ANAOUT端应通过外接电容连至本端。该电容和本端的3K输入阻抗给出了芯片频带的附加低端截止频率。其它音源可通过交流耦合直接连至本端。喇叭输出(SP+、SP-)这对输出端能驱动16以上的喇叭。单端使用时必须在输出端和喇叭间接耦合电容,而双端输出既不用电容又能将功率提高4倍。
15、录音时,它们都呈高阻态;节电模式下,它们保持为低电平。外部时钟(XCLK)此端内部有下拉元件,不用时应接地。芯片内部的采样时钟在出厂前已调校,保证了标称的最小录音时间。商业级芯片在整个温度各电压范围内,频率变化在+2.25%内,并保证最小录放时间,所以有些芯片的录放时间比标称的值稍大。工业级芯片在整个温度和电压范围内,频率变化在+5%内,建议使用稳压电源。若要求更高精度或系统同步,可从本端输入外部时钟,频率如表2-1“外部钟频”所示。由于内部的防混淆及平滑滤波器已设定,帮上述持荐的时钟频率不应改变。输入时钟的占空比无关紧要,因为内部首先进行了分频。地址(A0A7)地址端有两个作用,取决于最高(
16、MSB)两位A7、A6的状态。当A7或A6有一个为0时,所有输入均释放为地址位,作为当前录放操作的起始地址。地址端只用输入,不输出操作过程的内部地址信息。地址在/PLAYE、/PLAYL、或/REC的下降沿锁存。1.4.2 ISD1420的操作模式由于ISD1420内置了若干种操作模式,因而可用最少的外围器件实现最多的功能。操作模式也由地址端控制,当最高两位(A8、A9)都为1时,其它地址端置高可选择某个(或某几个)特定模式。因此操作模式和直接寻址相互排斥。具体操作模式如表1-2所示。操作模式可由微控制器也可由硬件实现。 表1-2 模式控制说明表模式控制功能典型应用A0/M0信息检索快速检索信
17、息A1/M1删除EOM标志在全部语音录放结束时,给出EOM标志A2/M2未用当工作模式 操作时,此端应接低电平A3/M3循环放音从0地址开始连续重复放音A4/M4连续寻址可录放连续的多段信息A5/M5CE电平触发允许信号中止A6/M6按钮控制简化器件接口使用操作模式时需要注意两点:(1) 所有操作模式下的操作都是从0地址开始,以后的操作根据模式的不同,而从相应的地址开始工作。当电路中录音转放音或进入省电状态时,地址计数器复位为0。当CE变低且最高两地址位同为高时,执行操作模式。这种操作模式将一直有效,直到CE再次由高变低,芯片重新锁存当前的地址模式端电平并执行相应的操作为止。(2) 操作模式位
18、不加锁定,可以在MSB(A8、A9)地址位为高电平时,CE电平变低的任何时间执行操作模式操作。如果下一片选周期MSB(A8、A9)地址位中有一个(或两个)变为低电平,则执行信息地址,即从该地址录音或放音,原来设定的操作模式状态丢失。1.4.3 ISD1420的应用电路ISD1420集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480KB的EEPROM等。内部EEPROM存储单元,均匀分为600行,具有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100ms。ISD1420控制电平与TTL电平兼容。接口简
19、单,使用方便。图1-3是ISD1420基本电路原理。录音时按下录音键S2、S3接地,使节电控制键PD端、录放模式键端为低电平。此时启动录音;结束时松开按键,单片机又让录放模式键端回到高电平,即完成一段语音的录制。同样的,按下录放模式键接高电平,使节电控制键PD端为低电平启动放音功能;结束时,松开按键,即完成一段语音的播放。图1-3 ISD1420基本电路原理1.5 LM386集成功率放大器芯片说明LM386是美国国家半导体公司生产的音频功率放大器,主要应用于低电压消费类产品。为使外围元件最少,电压增益内置为20。但在1脚和8脚之间增加一只外接电阻和电容,便可将电压增益调为任意值,直至200。1
20、.5.1 LM386电子特性LM386芯片的电子特性如表1-3所示。输入端以地位参考,同时输出端被自动偏置到电源电压的一半,在6V电源电压下,它的静态功耗仅为24mW,使得LM386特别适用于电池供电的场合。输入电压范围可由4V12V,无作动时仅消耗4mA电流,且失真低。表1-3 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开路26Pin1、8以10F连接46频宽(kHz)Pin
21、1、8开路300Pin1、8以10F连接601.5.2 LM386的引脚说明LM386的引脚排列见附录1。引脚2为反相输入端,3为同相输入端,引脚5为输出端,引脚6和4分别为电源和地,引脚1和8为电压增益设定端。使用时在引脚7和地之间接旁路电容,通常取10F。LM386的电源电压为412V;静态消耗电流为4mA;电压增益为20-200dB;在1、8脚开路时,带宽为300KHz;输入阻抗为50K;音频功率0.5W。 尽管LM386的应用非常简单,但稍不注意,特别是器件上电、断电瞬间,甚至工作稳定后,一些操作(如插拔音频插头、旋音量调节钮)都会带来的瞬态冲击,在输出喇叭上会产生非常讨厌的噪声。各引
22、脚外围电路的接法介绍如下:(1) 通过接在1脚、8脚间的电容(1脚接电容“+”极)来改变增益,断开时增益为20dB。(2) 选好调节音量的电位器。阻值不要太大,10K最合适,太大也会影响音质。(3) 尽可能采用双音频输入/输出。好处是:“”、“”输出端可以很好地抵消共模信号,故能有效抑制共模噪声。(4) 第7脚(BYPASS)的旁路电容不可少。实际应用时,BYPASS端必须外接一个电解电容到地,起滤除噪声的作用。工作稳定后,该管脚电压值约等于电源电压的一半。增大这个电容的容值,减缓直流基准电压的上升、下降速度,有效抑制噪声。在器件上电、掉电时的噪声就是由该偏置电压的瞬间跳变所致。(5) 减少输
23、出耦合电容。此电容的作用有二:隔直与耦合。隔断直流电压,直流电压过大有可能会损坏喇叭线圈;耦合音频的交流信号。它与扬声器负载构成了一阶高通滤波器。减小该电容值,可使噪声能量冲击的幅度变小、宽度变窄;太低还会使截止频率()提高。分别测试,发现10uF/4.7uF最为合适。2硬件电路设计2.1系统硬件电路总体设计本系统主要可分为三个部分:单片机控制部分、语音录放部分、功放部分。采用51单片机作为主控制芯片,利用ISD1420实现语音录放,采用LM386集成功放使声音放大,简单易行且控制方便。系统采用的微控制器是美国STC公司生产的低电压,高性能CMOS 8位单片机,片内含4k bytes的可反复擦
24、写的Flash只读程序存储器和128 bytes的随机存取数据存储器(RAM)。器件采用STC公司的高密度、非易失性存技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机适合于许多较为复杂控制应用场合。数码语音芯片选用的是ISD1400系列单片语音录放集成电路ISD1420,它具有抗断电、音质好,使用方便,无须专用的开发系统等优点。功放采用LM386音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点。ISD1420与单片机AT89C51的接口电路以及外围电路见
25、附录1。单片机的P1口、P2.4和P2.5分别与ISD1420的地址线相连,用以设置语音段的起始地址和控制操作模式;P2.0P2.3以控制录放音状态;P0.3、P0.4连接按键,供录放音使用;P0.0P0.3接发光二极管,用以提示当前录放音状态。2.2 STC89C52的外围电路设计2.2.1 晶振电路设计单片机是一种时序电路,必须给它提供时钟脉冲信号才能正常工作。系统时钟信号是单片机内部各种操作的时间基准,为各种指令的执行提供时钟节拍。通常单片机可通过内部振荡或外部振荡两种方式得到系统时钟信号。本系统采用的是12MHz的晶振,电容采用22pF的陶瓷电容,具体设计如图2-1所示。图2-1 晶振
26、电路设计图2.2.2 复位电路设计当任何一个复位信号产生时,C51的所有I/O端口都会立即复位成它们的初始值,并不需要时钟源处于运行状态。在复位信号撤消后,硬件系统将调用一个计数延时过程,经过一定的延时后,才能进行系统内部的真正复位启动。采用这种形式的复位启动过程,保证了电源达到稳定后才使单片机进入正常的操作,复位启动的延时时间可以由用户通过对熔丝位的编程来定义。51单片机有3个复位源:(1) 上电复位。当系统电源的电平低于上电复位门限电压VPOT时,MCU产生复位。(2) 外部复位。当一个高电平加到RESET引脚超过2机器周期时,MCU产生复位。(3) 看门狗(WDT)复位。当看门狗复位允许
27、且看门狗定时器溢出时,MCU产生复位。当进入系统的干扰作用于单片机内部时,系统失控导致程序在地址空间内“乱飞”,使程序运行状况不可预测。如果运行时间超过程序设定的看门狗延时时间,系统便会重新复位,使单片机重新回到正常运行轨道。因此,看门狗复位可以有效的监控系统的运行情况,提高了系统自身的抗干扰能力,使系统能够在具有一定干扰的环境中正常工作。本系统设计一个外部复位,采用按键电平复位方式,电平复位是通过复位端电阻与Vcc电源接通而实现的,电路如图2-2所示。为了提高系统可靠性,再加上一个10uf的电容来消除高频干扰和杂波。图2-2 复位电路图2.3 语音电路设计本系统采用ISD1420芯片,语音电
28、路图如图2-3所示。图2-3 语音电路设计图各引脚外围电路的接法可参考前文所述的引脚说明。扬声器输出信号与功放相连,将声音信号放大。2.4 功放电路设计电路图如2-4所示,调节可变电阻器的大小可以调节声音大小。各引脚外围电路的接法可参考前文所述的引脚说明。图2-4 功放电路图2.5 键盘输入电路和状态显示电路设计键盘输入的功能主要包括设定录与放,因此该系统具有2个按键:录音按键、放音按键。状态显示通过发光二极管来完成,3盏灯分别对应的芯片开始工作、录音开始和放音开始3个状态。这部分的电路图如图2-5所示。图2-5 键盘输入电路和状态显示电路图3 语音录放系统软件设计软件的设计是以硬件为基础的,
29、软件要实现的功能都是要以正常的硬件为前提,若硬件无法正常工作,再优秀的软件也无法实现任何功能。同样的,软件是硬件的灵魂,没有了软件,再强大的硬件也只是一部废铁。我们在确定了一项设计所要实现的功能后,根据要实现的功能设计相应的硬件系统。硬件系统搭建起来之后,若调试无误,才进行相应的软件模块的设计。本系统采用51系列单片机作为硬件开发核心,单片机的软件部分采用汇编语言开发,软件采用符合汇编语言的KEIL C51编译器。在这章节中,将结合具体硬件电路来介绍各模块的软件设计。3.1.主要变量说明程序中的主要变量及相关功能如下:LED1LED3:描述发光二极管的关断。当这3个变量分别为1时,二极管熄灭,
30、当变量为1时,二极管点亮。RECORD:描述录音键按下的状态。该变量为1表示录音键按下,为0表示录音键松开。PLAY:描述放音键按下的状态。该变量为1表示放音键按下,为0表示放音键松开。PD:控制芯片的工作状态。PD=0时,芯片开始工作;PD=1时,芯片停止工作,进入节电状态。PR:控制语音芯片所处的工作模式。该变量置为0时,芯片处于录音模式;置为1时,芯片处于放音模式。CE:对芯片进行片选。当CE=0且PD=0时,允许芯片进行录放的的操作;CE=1时,无法进行录放操作。EOM:信息结束的标志。一段语音信号录制完毕后,EOM标志由芯片自动插入到信息结尾,放音过程中,若EOM=0,说明信号结束,
31、停止播放。3.2.主程序工作原理及流程图本系统中单片机控制语音芯片录播的程序主要是单片机对ISD1420芯片的控制字的写入,程序流程图如图3-1所示。图3-1 主程序流程图ISD1420 虽然提供了地址输入线,但它的内部信息段的地址却无法读出。需要采用直接寻址模式进行寻址。其实现方式有两种:一是由于ISD1420 的地址分辨率为100 ms,所以可用单片机内部定时器定时100 ms,然后再利用一计数器对单片机定时次数进行计数,则计数器的计数值为语音段所占用的地址单元。该方式能充分利用ISD1420 内部的EEPROM,在字段较多时可利用该方下后,进入录音模式,调用录音子程序开始录音。PLAY键按下后,进入放音状态,调用放音子程序开始放音。放音结束后,PD端置1,芯片停止工作。程序代码见附录2。3.3.子程序流程图及代码3.3.1 录音子程序录音子程序流程图如图3-2所示。图3-2 录音程序流程图录
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1