ISD1420语音模块课程设计.doc_第1页
ISD1420语音模块课程设计.doc_第2页
ISD1420语音模块课程设计.doc_第3页
ISD1420语音模块课程设计.doc_第4页
ISD1420语音模块课程设计.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

ISD1420语音模块课程设计一、实验内容1、ISD1420语言模块(B1区):(1)20秒录放音长度,具有不掉电存储功能;(2)可分1160段录放音片段2、具体操作(1)手动控制方式,通过B1区按键REC和按键PLAYE、PLAYL放音(2)MCU控制方式,通过G6区8个按键控制录、放音:14号键录音各五秒;然后通过58号键放音,放音内容顺序对应14号键的录音内容二、实验原理图1、录音、放音的工作原理:(1)录音时,声音使话筒内纸盘发生振动,由电磁磁感应可使话筒内的线圈将产生随声音而变化的感应电流-音频电流-声音的模拟信号,然后经过A/D转换器将模拟信号转换为数字信号,然后将其存储在语音存储模块的存储空间里。 (2)放音时,语音存储模块里的数字信号,经过D/A转换器将数字信号转换为模拟信号-音频电流,然后再经过一个音频电流放大器,将一个较弱的电流信号放大足以驱动喇叭,喇叭内的线圈流过不断变化的电流,喇叭内的纸盘发生振动从而发出声音。三、ISD1420语音模块程序框图开始初始化ISD1420(语音模块初始化,关闭录放音功能,允许手动录放音)调用键盘扫描子程序有键按下标志=1调用按键处理子程序有新的按键按下NNYY键扫描子程序:NP1口=0FFH将P1口的值转化为键值1延时40msP1口=0FFH将P1口的值转化为键值键值1=键值键值=键值1P1口=0FFH1-有键按下标志0-有键按下标志YYNNYNY开始返回按键处理子程序:取号键录音首地址取号键录音首地址取号键录音首地址取号键录音首地址取号键放音首地址取号键放音首地址取号键放音首地址取号键放音首地址YYYYYYYY开始返回键值=1键值=2键值=3键值=4键值=5键值=6键值=7键值=8录音子程序:20-计数器设置录音起始地址调用延时250毫秒子程序0-P3.2(REC变低,即开始录音)开始1-P3.2(REC变高,即停止录音)有键按下标志1计数器-1=0返回放音子程序:20-计数器设置放音起始地址调用延时250毫秒子程序-P3.4, 1-P3.4(PLAY:一个负脉冲停止放音)有键按下标志1计数器-1=0开始返回-P3.3,1-P3.3(0,1-PLAYE开始放音,边沿放音模式)延时250毫秒子程序: 延时250ms调用键扫描子程序开始返回 本次设计的硬件系统是在80C51的基础上由ISD1420语音芯片、直流电源模块、扬声器等部分组成。利用80C51单片机作为CPU来进行总体控制,通过语音芯片ISD1420组成的语音控制电路能够建立多段语音库信息,并且可以对这些段的语音信息进行自由的组合,形成变化多样的语音提示信息,能够实现公交车的语音报站。在CPU控制模式下,键盘电路采用子程序调用模式,当有键按下时,系统调用子程序,通过软件来实现该键号所对应键的功能。ISD1420系列单片语音录放集成电路是美国Winbond公司产品,集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480K字节的E2PROM等。四、实验步骤及现象1、主线连线说明STAR ES598PCIB1区:RECA3区:P3.2(INT0)录音控制B1区:PLAYEA3区:P3.3(INT1)电平放音控制B1区:PLAYLA3区:P3.4(T0)触发放音控制,下降沿触发B1区:CPA3区:CS1G6区:JP74A3区:JP51(P1)2、将JP13,JP14,JP15跳向“MANUAL”,即手动录、放音。三个控制按键(在B1区左边)REC(录音)、PLAYE(电平放音)和PLAYL(边沿放音)控制录音和放音。3、将JP13,JP14,JP15跳向“MCU”,单片机控制,运行演示程序,14号键录音,58号键放音。五、演示程序ISD1420语音模块实验说明实验目的:1.掌握录音,放音的基本控制 2.掌握分段录音,放音控制实验内容:由MCU控制,通过G6区8个按键控制录、放音,每个按键控制录放音各5秒录音按键:G6区1,2,3,4号键分别可录音5秒;录音时,B1区DS6发光管亮放音按键:G6区5,6,7,8号键分别可放音5秒,与放音内容与1,2,3,4号键相对应接线说明按键:G6区,8个按键,顺序连接到P1口,例如P1.0对应1号键ISD1420:B1区-A3区 REC-P3.2(INT0) PLAYE-P3.3(INT1) PLAYL-P3.4(T0) CP-CS1(0F000H)片选地址ISD1420_AD1EQU00H;1号键录放音起始地址,每次录音5s ISD1420_AD2EQU28H;2号键录放音起始地址ISD1420_AD3EQU50H;3号键录放音起始地址ISD1420_AD4EQU78H;4号键录放音起始地址RECBITP3.2 ;录音接口PLAYEBITP3.3 ;电平触发放音接口PLAYLBITP3.4 ;边沿触发放音接口ISDCOMM XDATA0F000H ;录放音地址/操作模式输入地址,0F000H是接到CS1上的地址 ORG0 LJMPSTART ORG 100HSTART:LCALLMainInit ;主程序初始化Main:LCALLScanKey ;扫描按键 JNC MainMain1:LCALLKeyRun ;按键处理 JNB F0,Main ;是否有新的键按下 CLR F0 ;清按键标志 SJMPMain1 JMP MAIN ;循环进行实验内容介绍与ISD1420功能测试主程序初始化MainInit:CLR F0 ;有键按下标志位,清0-无键按下 MOVP1,#0FFH LCALLISD_INIT ;ISD1420初始化 RET录放音子程序KEY1:MOV A,#ISD1420_AD1 ;录音首地址 LJMPKEY_RECKEY2:MOVA,#ISD1420_AD2 LJMPKEY_RECKEY3: MOV A,#ISD1420_AD3 LJMPKEY_RECKEY4: MOV A,#ISD1420_AD4 LJMP KEY_RECKEY_REC: MOV R7,#20 ;录音时间长度,5s LCALL ISD_REC ;调用录音子程序KEY_REC1:LCALL Delay_025S ;延时 JB F0,KEY_REC2 ;检测按键是否有键按下 DJNZ R7,KEY_REC1 ;录音时间,根据R7的值决定 LCALL ISD_STOP ;停止录音KEY_REC2:RET放音子程序KEY5:MOV A,#ISD1420_AD1 ;放音首地址 LJMPKEY_PLAYKEY6:MOV A,#ISD1420_AD2 LJMPKEY_PLAYKEY7:MOVA,#ISD1420_AD3 LJMPKEY_PLAYKEY8:MOV A,#ISD1420_AD4 LJMPKEY_PLAYKEY_PLAY:MOV R7,#20 LCALLISD_PLAY ;调用录用子程序KEY_PLAY1:LCALLDelay_025S ;用于进度显示的时间参照 JB F0,KEY_PLAY2 ;检测按键是否有键按下 DJNZ R7,KEY_PLAY1 KEY_PLAY2:RETKeyRun: MOV DPTR,#KeyTab ;有键按下,跳到相应处理程序 MOV A,B RL A JMP A+DPTRKeyTab: SJMP KEY1 ;1-4号键,分别各录音5秒,ISD1420可录音20秒 SJMP KEY2 SJMP KEY3 SJMP KEY4 SJMP KEY5 ;5-8号键,对应分别放音各5秒 SJMP KEY6 SJMP KEY7 SJMP KEY8按键扫描ScanKey: MOV A,P1 ;键扫描 CJNE A,#0FFH,ScanKey1ScanKey4: CLR C RETScanKey1: ACALLScanKey2 JNC ScanKey4ScanKey3: MOV B,A ACALLDelay20ms ;消抖动 ACALLDelay20ms ACALLScanKey2 JNC ScanKey4 CJNE A,B,ScanKey3ScanKey5: MOV A,P1 CJNE A,#0FFH,ScanKey5 SETB C RETScanKey2: CLR A JNB P1.0,ScanKey21 INC A JNB P1.1,ScanKey21 INC A JNB P1.2,ScanKey21 INC A JNB P1.3,ScanKey21 INC A JNB P1.4,ScanKey21 INC A JNB P1.5,ScanKey21 INC A JNB P1.6,ScanKey21 INC A JNB P1.7,ScanKey21 CLR C RETScanKey21:SETBC RETDelay20ms: MOV R6,#10Delay1: MOV R7,#100 DJNZR7,$ DJNZR6,Delay1 RET延时0.25sDelay_025S:PUSH05H PUSH06H PUSH07H MOV R5,#6DL1S_1: MOV R6,#100DL1S_2: MOV R7,#200 DJNZ R7,$ DJNZ R6,DL1S_2 DJNZ R5,DL1S_1 ACALL ScanKey JNC DL1S_3 SETB F0 ;F0有键按下标志,F0=1,有键按下DL1S_3: POP 07H POP 06H POP 05H RET录音子程序A-存放操作方式设置值,R7-录几秒ISD_INIT:SETBREC ;语音模块初始化,关闭录放音功能 SETBPLAYE SETBPLAYL MOVDPTR,#ISDCOMM CLRA MOVXDPTR,A ;允许手动录放音,当A6,A7为高时,无法手动放音 RET操作模式,A-操作模式设置值ISD_MODE: PUSH ACC LCALLISD_STOP ;语音模块初始化,将REC,PLAYE,PLAYL置位,并设置操作模式 MOV DPTR,#ISDCOMM ;设置操作模式:分段录音 POP ACC MOVX DPTR,A ;设置操作模式命令在A中CLR PLAYL ;给一个上升沿,锁存命令NOP NOP NOP SETB PLAYL RET录音ISD_REC: MOV DPTR,#ISDCOMM ;设置录音起始地址 MOVX DPTR,A CLR REC ;REC变低,即开始录音 RET放音子程序A-放哪段音ISD_PLAY: PUSH ACC LCALL ISD_STOP ;暂停之前的录放音操作 POP ACC MOV DPTR,#ISDCOMM ;设置放音起始地址 MOVX DPTR,A CLR PLAYE ;开始放音,边沿放音模式 NOP SETB PLAYE RET停止录放音ISD_STOP: CLR PLAYL ;一个负脉冲停止放音 NOP SETB PLAYL LCALLDelay50ms SETB REC ;关闭所有操作指令 SETB PLAYE MOV DPTR,#ISDCOMM CLR AMOVX DPTR,A;允许手动录放音,当A6,A7为高时,无法手动放音 RET延时Delay50ms:PUSH 06H PUSH 07H MOV R6,#100Delay50ms_1:MOV R7,#200 DJNZ R7,$ DJNZ R6,Delay50ms_1 POP 07H POP 06H RET END六、实验结果JP13、JP14、JP15:设置操作模式,MCU:CPU控制方式;MANUAL:手动(REC、PLAYL、PLAYE)控制方式。REC:录音按键,低电平有效;PLAYE:电平放音按键,低电平有效,直到放音内容结束停止放音;PLAYL:边沿放音按键,下降沿有效,并在下一个上升沿停止放音。MCU控制方式,通过G6区8个按键控制录、放音:14号键录音各五秒;然后通过58号键放音,放音内容顺序对应14号键的录音内容七、心得体会通过本次课程设计,不仅使我更加了解了单片机设计的过程和基本方法,而且也亲身体验到了单片机的可靠性高、控制功能强、结构简单、体积小、能耗低等显著特点。 总之,本次课程设计,锻炼了我的自学,摸索,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论