好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

12实验十二 语音录放实验.docx

7页
  • 卖家[上传人]:re****.1
  • 文档编号:432883602
  • 上传时间:2023-12-14
  • 文档格式:DOCX
  • 文档大小:95.90KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 模块名称地址(I/O空间)硬件中断交通灯模块0x5008h数码管显示模块OxBOOOh键盘模块扫描入口地址0xA008hINT2步进电机模块0x1008h直流电机模块0xB007h触发开关(红色按纽)1 NT-KEYINT0串行通信模块DSP地址线A4A5A6INT116C550地址线A0A1A2液晶显示模块片选10x600xh写数据0x6009h读状态0x600ah写命令0x6008h液晶显示模块片选20x700xh写数据0x7009h读状态0x700ah写命令0x7008h实验十二 语音录、放实验实验目的:了解音频信号的采集、处理方法实验要求:把采集的音频信号存储,然后回放实验说明:通过AD50采集音频信号,数据存放在DRAM里,被触发某一事件后回放, 在存储语音信号过程中可以考虑采用语音压缩程序框图:中断服务程序*1* *1* *1* *1* *1* *1* *1* *1* vt*、t* ^1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t* *1* *1* *1* *1* *1* rT* rT* rT* ^r* rT* rT* rT* rT* rTx* FileName: ex12.asm * Description: 语音录放实验*1* *1* *1* *1* *1* *1* *1* *1* vt*、t*、t*、t* ^1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1* *1*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t*、t* *1* *1* *1* *1* *1* rT* rT* rT* {} >{} >PROG PAGE 0DATA PAGE 1STACK PAGE 1}5000系列DSP汇编语言:.title "ex12"BSP.set1:当前使用多通道能缓冲串口 1 ( McBsp1):McBsp内存映射寄存器SPSA0.set038h;多通道能缓冲串口 0 ( McBspO)的子地址寄存器,地址 ;设置为数据空间第0页的38单元,缓冲串口的其它控制、 ;状态寄存器的地址必须通过子地址寄存器中的内容作为地址 ;去寻址。

      SPSD0.set039h;多通道能缓冲串口 0 ( McBspO)的控制、状态命令字(数 ;据)发送寄存器,向多通道能缓冲串口中的控制、状态寄存 ;器发送命令字(数据)时,该命令字必须通过SPSDx寄存 ;器发送DRR10.set021h;多通道能缓冲串口 0的数据接收寄存器1,地址设置为21hDRR20.set020h;多通道能缓冲串口 0的数据接收寄存器2,地址设置为20hDXR10.set023h;多通道能缓冲串口 0的数据发送寄存器1,地址设置为23hDXR20.set022h;多通道能缓冲串口 0的数据发送寄存器2,地址设置为22hSPSA1.set048h;多通道能缓冲串口 1 ( McBspl)的子地址寄存器地址48hSPSD1.set049h;多通道能缓冲串口 1( McBsp1)的控制、状态命令字(数 ;据)发送寄存器,地址为 49hDRR11.set041h;多通道能缓冲串口 1的数据接收寄存器1,地址设置为41hDRR21.set040h;多通道能缓冲串口 1的数据接收寄存器2,地址设置为40hDXR11.set043h;多通道能缓冲串口 1的数据发送寄存器1,地址设置为43hDXR21.set042h;多通道能缓冲串口 1的数据发送寄存器2,地址设置为42h:McBsp Subaddressed Registers 以下为多通道能缓冲串口子地址映射寄存器(控制、状态) 的配置。

      SPCR1.set00h;多通道能缓冲串口控制寄存器1,子地址为00hSPCR2.set01h;多通道能缓冲串口控制寄存器2,子地址为01hRCR1.set02h;多通道能缓冲串口接收控制寄存器1,子地址为02hRCR2.set03h;多通道能缓冲串口接收控制寄存器2,子地址为03hXCR1.set04h;多通道能缓冲串口发送控制寄存器1,子地址为04hXCR2.set05h;多通道能缓冲串口发送控制寄存器2,子地址为05hSRGR1.set06h;采样率发生寄存器 1,子地址为 06hSRGR2.set07h;采样率发生寄存器 2,子地址为 07hMCR1.set08h;多通道寄存器1,子地址为08h{{}VECS PAGE 0.vectors:>MCR2.set 09h;多通道寄存器2,子地址为09hRCERA.set 0ah;接收通道使能寄存器A,子地址为0ahRCERB.set 0bh;接收通道使能寄存器B,子地址为0bhXCERA.set 0eh;发送通道使能寄存器A,子地址为0ehXCERB.set 0dh;发送通道使能寄存器B,子地址为0dhPCR.set 0eh;引脚控制寄存器,子地址为 0eh.if BSP = 0;以下两个if块用来设置是使用多通道缓冲串口 0还是使用多通;道缓冲串口 1, C5402有两个多通道缓冲串口(McBSP0和; MeBSP1) .SPSA.setSPSA0;如果使用多通道串口 0,则子地址寄存器用SPSA0SPSD.setSPSD0;命令字收发寄存器使用 SPSD0RDRR.setDRR10;数据接收寄存器使用 DRR10RDXR.setDXR10;数据发送寄存器使用 DXR10SPSA.setSPSA1;如果使用多通道串口 1,则子地址寄存器用SPSA1SPSD.setSPSD1;命令字收发寄存器使用 SPSD1RDRR.setDRR11;数据接收寄存器使用 DRR11RDXR.setDXR11;数据发送寄存器使用DXR11.endif.endif.if BSP = 1WR_SUB_REG.macro val,addr stm addr,SPSAnopstm val,SPSDnop.endmRD_SUB_REG.macro addr,acc stm #:addr:,SPSAnopldm SPSD,accWAITTRXnop nop nop .endm .macro;写 McBsp 控制寄存器的宏定义;对 McBSP 的控制寄存器进行写时必须 ;先将要写的寄存器的地址装入子地址寄存器 ;再将要写的数据装入命令字收发寄存器 ;这样即可完成控制或状态寄存器的写操作;读 McBsp 控制寄存器宏定义;对 McBSP 的状态寄存器进行读时必须 ;先将要读的寄存器的地址装入子地址寄存器 ;再将命令字收发寄存器中的内容装入累加器 ;这样累加器中的内容即为所要读的状态寄存器的值;等待串口中断宏定义WAITR?RD_SUB_REG SPCR1,A;读出多通道缓冲串口控制寄存器SPCR1中的值and #1<<1, A ;判断SPCR1中的第1位(倒数第2位)RRDY是否;为1,即数据接收是否准备好°RRDY=1为接收准备好。

      be WAITR?, AEQ ;若接收未准备好RRDY=O,则继续等待,否则返回宏;调用处往下执行endmPROGREG .maero progword;与AD50二次通讯的宏定义;二次通信是对通信终端设备的状态、控制寄存器进行读写waitRESETBRINT0BXINT0BRINT1BXINT1_c_int00stm #01h,RDXR ;设置求二次通信,因DA输入数据格式为15位,最低位; LSB 用来设置二次通信请求, LSB=1 为请求二次通信WAITTRX ;判断二次通信申请是否成功stm #:progword:,RDXR ;向AD50写二次通信的数据,实现控制寄存器;的配置WAITTRX ;等待到控制数据写成功后再返回endm.macro ;设置等待时间(延时9个NOP时间)STM #0008h, AR0RPT *AR0NOP.endm.mmregs.global _c_int00.sect ".vectors"bd _c_int00 ;将 2000h 装载 SP 后转系统位服务程序stm #2000h,SP.space 19*4*16b recv ;设置缓冲串口接收中断0 (20号中断)nopnopb trans ;设置缓冲串口发送中断 0 (21 号中断)nopnop.space 4*4*16b recv ;设置缓冲串口接收中断1 (26 号中断)nopnopb trans ;设置缓冲串口发送中断1 (27 号中断)nopnop.space 4*4*16.textld #0h,DP stm #2000h,SP ssbx INTM ssbx SXM;数据页指针0页;堆栈指针为 2000h ;关闭所有可屏蔽中断;允许符号位扩展st #2491h,SWWSR ; DSP在访问外部存储空间和I/O空间时等待2个机器周期 st #0ffe0h,PMST ;中断向量指针设置为FF80h, DSP工作于微处理器模式,;程序空间使用片上的DARAM,DSP访问内部空间时地址;位可见,数据空间使用4k的片外ROM,关闭DSP的输出;时钟。

      st #0f007h,CLKMD ; DSP的PLL时钟采用4分频方式 stm #4000h,AR1;初始化McBsp串口;CPL=1采用SP寻址方式stm #4000h,AR2mcbsp_initrsbx CPL nopnopld。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.