单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 626|回复: 0
收起左侧

基于TMS320C5410 DSP芯片的简单数字录音机设计 附代码

[复制链接]
随着数字信号处理技术的迅速发展,录音也已经进入了数字化的时代。DSP(Digital Signal Processor)为数字信号处理提供了高效而可靠的硬件基础,已经广泛应用于高速自动控制、图像处理、通信技术、无线电、语音处理、网络设备、医疗设备、仪器仪表和家电等领域。本设计中所使用的TMS320VC5410就是设计适用于语音信号处理的DSP芯片。
本文首先对DSP数字录音的软硬件开发环境进行了介绍,着重论述了AIC32和TMS320C5410的设计方法、指令系统和内部结构以及TMS320C5410的集成开发环境CCS。最后,通过在DSP集成开发环境CCS上的设计、仿真和调试,实现了在DSP实验箱上进行数字录音和语音信号处理的设计功能。

1.开发软件简介.....1
2.数字录音机的原理....2
2.1 TMS320C5410芯片....2
2.2 AIC23芯片.....4
3.硬件电路....6
4调试过程及结果分析...8
5.总结及体会.....8

1.开发软件简介
本次课程设计采用CCS软件
CCS5000具有一下特性:
              TI编译器的完全集成的环境:
CCS5000目标管理系统,内建编辑器,所有的调试和分析能力集成在一个Windows环境中。
              对C和DSP汇编文件的目标管理:
目标编辑器保持对所有文件及相关内容的跟踪。它只对最近一次编译中改变过的文件重新编译,以节省编译时间。
              高集成的编辑器调整C和DSP汇编代码:
CCS5000的内建编辑器支持C和汇编文件的动态语法加亮显示。使用户能很容易地阅读代码和当场发现语法错误。
              编辑和调试时的后台编辑:
用户在使用编译器和汇编器时没有必要退出系统到DOS环境中,因为CCS5000会自动将这些工具装载在它的环境中。在其窗口中,错误会加亮显示只要双击错误就可以直接到达出错处。
              在含有浮点并行调试管理器(PDM)的原有的MS窗口下支持多处理器CCS5000在 Windows95和Windows-me中支持多处理。PDM(调试管理器)允许将命令传播给所有的或所选择的处理器。
              在任何算法点观察信号的图形窗口探针:
图形显示窗口使用户能够观察时域或频域内的信号。对于频域图,FFT(快速傅立叶变换)在主机内执行,这样就可以观察所感兴趣的部分而无须改变它的DSP代码。图显示也可以同探针连接,当前显示窗口被更新时,探针被指定,这样当代码执行到达该点时,就可以迅速地观察到信号。
              文件探针在算法处通过文件提取或加入信号或数据:
CCS5000允许用户从PC机读或写信号流。而不是实时的读信号,这就可以用已知的例子来仿真算法。
              图形分析:
CCS5000的图形分析能力在其环境中是集成的。
              在后台(系统命令)执行用户的DOS程序:
用户可以执行CCS5000中的DOS程序,并将其输出以流水方式送到CCS5000的输出窗口。且允许用户将应用程序集成到CCS5000。
              技术状态观察窗口:
CCS5000的可视窗口允许用户进入C表达式及相关变量。结构、数组、指针都能很简单地递归扩展和减少,以便进入复杂结构。
              代数分解窗口:
允许用户选择查看写成代数表达式的C格式,提高可读性 。
              目标DSP上的帮助:
DSP结构和寄存器上的在线帮助可以使用户不必查看技术手册。
              用户扩展:
扩展语言(GEL)使得用户可以将自己的菜单项加到CCS5000的菜单栏中。

2.数字录音机的原理
数字化技术的迅速发展,语音信号数字处理技术也不断成熟,可编程器件和功能强大的数字信号处理器(DSP)的广泛应用,传统的模拟音像设备大量地被各种数字设备所代替。然而,便携式的录音设备仍以各种模拟媒质为主,如常用的磁带录音机。如果要将其录音以数字形式的数据保存,则应将其模拟录音信号变换成数字形式的数据,这就给原始数据的保存带来诸多不便。因此,本文设计了一款DSP数字录音机。   
所谓数字信号处理,是用数字或符号的序列来表示信号,通过数字计算机或专门的数字信号处理器去处理这些序列,提取其中的有用信息。例如:对信号的滤波,增强信号的有用分量,消弱无用分量;或是估计信号的某些特征参数等。总之,凡是用数字方式对信号进行滤波、变换、增强、压缩、估计和识别等,都是数字信号处理的研究对象。
目前,大多数的DSP系统主要应用在高速控制、移动通信、雷达等方面。本系统将DSP技术引入到数字交换机录放音系统中来,就是希望利用DSP的特点、借鉴在移动通信中数字语音信号处理的一些算法和优化,能够研制开发出体积小、价格低、实时性高且功能完善的录音系统。

2.1TMS320C5410芯片

2.1.1TMS320C5410芯片简介
(1) 16位定点DSP芯片,总线结构为改进的哈佛结构,内部有1个17X17位的乘法器;
(2) 外接晶振最大为40MHz,通过PLL倍频最高主频为160MHz;
(3) 片内ROM大小为16K×16bit , DARAM大小为8K×16bit, SARAM大小为56K×16bit;
(4) 3组多通道缓冲串行口(McBSP),DMA,主机接口HPI
(5) 通用IO引脚(BIO与XF),外部中断引脚INT0,INT1,INT2,INT3与NMI
C5410中的DARAM分成若干块。由于在每个机器周期内,允许对同一DARAM块寻址(访问)2次,因此CPU可以在一个机器周期内对同一DARAM块读出一次和写入一次。一般情况下,DARAM总是映象到数据存储器空间,主要用于存放数据。但是,它也可以映象到程序存储器空间,用来存放程序代码。

2.1.2 TMS320C5410框图
TMS320C54x DSP 采用先进的修正哈佛结构和8总线结构,使处理器的性能大大提高。其独立的程序和数据总线,允许同时访问程序存储器和数据存储器,实现高度并行操作。例如,可以在一条指令中,同时执行3次读操作和1次写操作。此外,还可以在数据总线与程序总线之间相互传送数据,从而使处理器具有在单个周期内同时执行算术运算、逻辑运算、移位操作、乘法累加运算以及访问程序和数据存储器的强大功能。

2.1.3 TMS320C5410的CPU
先进的多总线结构(一条程序总线,3条数据总线和4条地址总线);
40位算术逻辑运算单元(ALU),包括1个40位桶形移位寄存器和2个独立的40位累加器;
7位*17位并行乘法器,与40位专用加法器相连,用于非流水线式单周期乘法/累加(MAC)运算;
比较、选择、存储单元(CSSU),用于加法/比较选择;
指数编码器,可以在单个周期内计算40位累加器中数值的指数;
双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU)。

2.1.4 TMS320C5410存储器
C54X中的DARAM分成若干块。由于在每个机器周期内,允许对同一DARAM块寻址(访问)2次,因此CPU可以在一个机器周期内对同一DARAM块读出一次和写入一次。一般情况下,DARAM总是映象到数据存储器空间,主要用于存放数据。但是,它也可以映象到程序存储器空间,用来存放程序代码:
192K字可寻址存储空间(64K字程序存储器、64K字数据存储器以及64K字I/O空间);
片内ROM,可配置为程序/数据存储器;
片内双寻址RAM(DARAM);
片内单寻址RAM(SARAM);

2.2 AIC23芯片

2.2.1 AIC23基本性能

AIC23是德州仪器公司(TI)生产的高性能音频A/D、D/A放大电路。外围接口工作电压为3.3V,内核工作电压是1.5V,在48kHz采样率条件下,A/D变换信噪比可达100dB,其控制口可由硬件设置为同步置口(SP2)模式或两线制(2-wire),音频数据接口可采用I2S格式、DSP格式、USB格式及最高位或最低位数据调整格式。音频数据字长可设置为16、24、20、32位,输出可直接驱动耳机,在32位条件下输出可达30mW。内置前置放大器及偏置电路可直接连接麦克风。该芯片功耗很低,在休眠(power-down)状态下,功耗小于15uW。

2.2.2 AIC23的内部结构框图

2.2.3 AIC23的控制方式及控制寄存器各位的意义
(1)AIC23的控制接口:AIC23的控制字传输可采用两种方式,即同步串行(SPI)模式和两线(2-wire)模式,两种模式由硬件决定。MODE脚接高电平时,控制字传送用SPI模式,如果MODE脚接低电平时,则采用2-wire模式。在本次实验中,我们采用SPI模式。
(2)AIC23的控制寄存器
控制寄存器的地址如下表所示:

地址
寄存器功能
0000000
左声道线路输入增益控制
0000001
右声道线路输入增益控制
0000010
左声道耳机音量控制
0000011
右声道耳机音量控制
0000100
模拟音频通道控制
0000101
滤波器控制
0000110
休眠控制寄存器
0001000
采样率控制
0001001
数字接口激活控制
0001111
复位控制

①.左声道线路输入控制寄存器
LRS:左/右声道线路输入增益控制调节,0=同步调节禁止,1=同步使能
LIM:左声道线路输入静音控制,0=正常,1=静音
LIV4~0:左声道音量控制,11111=±12dB,00000=-34.5dB,步距1.5dB/LSB
X:保留
②.右声道线路输入控制寄存器
③.左声道耳机音量控制寄存器
LSR:左/右声道音量控制同步调节,0=同步调节不使能,1=同步调节使能
LZC:左通道过零侦测(防止干扰进入耳机放大器),0=关,1=开
LHV(6~0):耳机音量控制,1111111=+6dB,0110000=-73dB
④.右声道耳机音量控制寄存器
⑤.滤波器控制寄存器
DACM:D/A变换电路软件静音控制,0=不静音,1=软件静音
DEEMP:去加重控制选择,00=关,01=32kHz,10=44kHz,11=48kHz
ADCHP:A/D高通滤波器,0=关闭,1=开
⑥.休眠控制器
OFF:芯片休眠控制,0=芯片通电,1=芯片休眠
CLK:时钟控制,0=时钟开启,1=时钟关闭
OSC:振荡器控制,0=振荡器开启,1=振荡器关闭
OUT:输出控制,0=输出开启,1=输出关闭
DAC:D/A变换控制,0=D/A变换开启,1=D/A变换关闭
ADC:A/D变换控制,0=A/D变换开启,1=A/D变换关闭
MIC:话筒电路控制,0=开启,1=关闭
LINE:线路输入控制,0=开,1=关
⑦.数字音频接口格式控制寄存器
MS:主/从模式控制位,0=从模式,1=主模式
LRSWAP:D/A左右通道交换控制位,0=不交换,1=交换
LRP:D/A左右数字声道帧相位
IWL:数字音频字长
FOR:数字音频接口格式选择
3.硬件电路
1、硬件电路图的主要部分如下图所示

2、实验框图和流程图




4.调试过程及结果分析
调试过程:
1.在调试开始的时候,用音频线连接实验箱的扬声器和AIC23模块的LINEOUT或者PHONE端,MIC端口连接一个MIC(这里我们用手机代替,接入手机耳机插口)。
2.打开aic23micphone.pjt工程,这是一个AIC23的程序,编译。
3.将编译的aic23micphone.out文件通过              仿真器下载到DSP芯片,执行程序。
4.听到“滴”的一声以后开始录音,大概6秒后“滴”的一声是录音结束,接着DSP会循环回放刚才录的声音。如果想再次录音则需要再次下载并运行。
结果分析
在连接好实验设备之后,在手机里上随意播放一个音频文件播放后,可以录制6秒时间内的内容,循环播放。
5.设计总结及体会
本次课程设计是采用TMS320C5410作为语音录放实现的核心硬件,以AIC23作为数模转换芯片来实现整个硬件系统。在整个设计过程中,我们采用了以带有A/D转换器的AIC23DSP芯片为核心音频录放接口器件,结合TMS320C5410DSP芯片,进行了硬件设计。软件部分则采用模块化的设计方法,用汇编语言来实现。
通过本次课程设计,进一步了解了本门课程《DSP原理及应用》。虽然录音机很简陋,但基本模型已具备;但过程中还是有不懂的问题,幸好有老师在,才得以解答我的疑惑;总的来说,本次课程设计的结束是非常圆满的。
  1.                    .title "AIC23.asm"
  2.                    .mmregs
  3.                    .bss   timetemp,1
  4.                    .bss   addrtemp,1
  5. audio_in                               .usect "buf",0C000h
  6. ;定义MCBSP0的各个寄存器            
  7. bsp2               .set  35h                 
  8. drr22              .set  30h
  9. drr12              .set  31h
  10. dxr22              .set  32h
  11. dxr12              .set  33h
  12. spsa2              .set  34h

  13. bsp0               .set  39h                 
  14. drr20              .set  20h
  15. drr10              .set  21h
  16. dxr20              .set  22h
  17. dxr10              .set  23h
  18. spsa0              .set  38h
  19. spcr10             .set  00h
  20. spcr20             .set  01h
  21. rcr10              .set  02h
  22. rcr20              .set  03h
  23. xcr10              .set  04h
  24. xcr20              .set  05h
  25. srgr10             .set  06h
  26. srgr20             .set  07h
  27. pcr0               .set  0eh
  28. cpldport1          .set  2000h

  29.                    .def  _c_int00,_McBSP_txisr,_McBSP_rvisr
  30.                    .data
  31. audio_table:
  32.                                                                       .word 07ff5H,05842H,0fcdcH,0a34dH,0800bH,0a7beH,0324H,05cb3H
  33.                                                                       .word 07ff5H,05842H,0fcdcH,0a34dH,0800bH,0a7beH,0324H,05cb3H   

  34.                    .text
  35. _c_int00:          stm #7000h,swwsr              ;等待0个时钟
  36.                                                                       ssbx intm
  37.                     STM #0b, CLKMD ;switch to DIV mode



  38. TstStatu:
  39.                                                                       LDM CLKMD, A
  40.                                                                       AND #01b, A ;poll STATUS bit
  41.                                                                       BC TstStatu, ANEQ
  42.                                                                       STM #0100001111101111b, CLKMD ;switch to PLL
  43.                                                                       RPT #10000
  44.                                                                       NOP
  45.                     rsbx cpl                    ;清CPL位=0
  46.                     ;初始化cpu完毕,开始初始化MCBSP0
  47.                     stm #216ch,pmst
  48.                     stm #0080h,              imr
  49.                     stm #0FFFFh,              ifr
  50.                     stm  #0001h,ar1
  51.                     portw ar1,cpldport1           ;切换字写到CPLD控制寄存器,转为控制字输出
  52.                     rpt #400
  53.                     nop                         ;等400个周期

  54.                     ld #00h,dp
  55.                     stm #spcr10,spsa0            ;接收复位
  56.                     stm #0000h,bsp0
  57.                     stm #spcr20,spsa0            ;发送、采样、帧复位
  58.                     stm #0000h,bsp0
  59.                     stm #spcr10,spsa0            ;12、11位为10,进入SPI模式,7位(DXENA)为0,不起动DX延时
  60.                     stm #1000h,bsp0
  61.                     stm #pcr0,spsa0              ;1位置1,数据下沿发送上沿接收,3位置1,帧同步为低电平有效,9位置1?BLCK输出,11位置1,BFSX脚为高电浇                  
  62.                     stm #0a0ah,bsp0
  63.                     stm #srgr10,spsa0            ;7~0位置64h(100),100分频
  64.                     stm #0064h,bsp0
  65.                     stm #srgr20,spsa0            ;13位置1,时钟源于CPU,12位置0,发送帧同步
  66.                     stm #2000h,bsp0
  67.                     stm #rcr10,spsa0             ;14~8位置0,一帧一个字,7~5位为010,一个字16位
  68.                     stm #0040h,bsp0
  69.                     stm #rcr20,spsa0             ;15位置0,单阶段帧,1、0位置01保证SPI正常工作
  70.                     stm #0001h,bsp0
  71.                     stm #xcr10,spsa0             ;14~8位置0,一帧一个字,7~5位为010,一个字16位
  72.                     stm #0040h,bsp0
  73.                     stm #xcr20,spsa0             ;15位置0,单阶段帧,1、0位置01保证SPI正常工作
  74.                     stm #0001h,bsp0
  75.                     stm #spcr20,spsa0            ;6位GRST为1,采样脱离复位,FRST是否要脱离复位?
  76.                     orm #0040h,bsp0
  77.                     rpt #400                    ;等两个以上位时钟
  78.                     nop
  79.                     stm #spcr10,spsa0            ;接收离开复位
  80.                     orm #0001h,bsp0
  81.                     stm #spcr20,spsa0            ;发送离开复位
  82.                     orm #0001h,bsp0
  83.                     rpt #400
  84.                     nop   
  85. LOOP2   
  86.                     ;初始化AIC23为DAC、ADC、CLKOUT、DSP模式结束
  87.                     stm #1e00h,dxr10           
  88.                     rpt #3000                  
  89.                     nop
  90.                     stm #05ffh,dxr10            ;过零侦测开,音量为6dB
  91.                     rpt #3000                   ;延时等待数据传送完毕
  92.                     nop
  93.                     stm #07ffh,dxr10            ;过零侦测开,音量为6dB
  94.                     rpt #3000                   ;延时等待数据传送完毕
  95.                     nop
  96.                     stm #0914h,dxr10            ;伴音使能,DAC使能,MIC输入、BYPASS不使能
  97.                     rpt #3000                   ;延时等待数据传送完毕
  98.                     nop
  99.                     stm #0a02h,dxr10            ;DAC静音不使能,去加重为32KHz,ADC高通滤波器不使能
  100.                     rpt #3000                   ;延时等待数据传送完毕
  101.                     nop
  102.                     stm #0097h,dxr10            ;左声道线路输入0dB,线路输入静音
  103.                     rpt #3000                   ;延时等待数据传送完毕
  104.                     nop
  105.                     stm #0297h,dxr10            ;右声道线路输入0dB,线路输入静音
  106.                     rpt #3000                   ;延时等待数据传送完毕
  107.                     nop
  108.                     stm #0C01h,dxr10            ;POWER、CLOCK、OSC、OUT、DAC、ADC、MIC打开line in关闭
  109.                     rpt #3000                   ;延时等待数据传送完毕
  110.                     nop
  111.                     stm #0e53h,dxr10            ;6位为1,AIC23在DSP模式中为主器件,4位为1,第二个时钟上沿数据可用,字长16位,DSP模式
  112.                     rpt #3000                   ;延时等待数据传送完毕
  113.                     nop
  114.                     stm #100Dh,dxr10            ;USB模式,8KHz采样率,输入时钟为MCLK,输出时钟为MCLK
  115.                     rpt #3000                   ;延时等待数据传送完毕
  116.                     nop
  117.                     stm #1201h,dxr10            ;数字接口激活
  118.                     rpt #3000                   ;延时等待数据传送完毕
  119.                     nop
  120.                     ; B LOOP2
  121.                     ;AIC23的DAC输出设置结束,开始输出音频数据
  122.                     ;开始设置MCBSP2为DSP模式从器件,            
  123.                     stm #spcr10,spsa2            ;RRST为0接收复位
  124.                     stm #0000h,bsp2
  125.                     stm #spcr20,spsa2            ;XRST为0,GRST为0,FRST为0发送、采样、帧复位
  126.                     stm #0000h,bsp2
  127.                     stm #spcr10,spsa2            ;5、4位为00,接收完成产生中断,进入非SPI模式,7位(DXENA)为0,不起动DX延时
  128.                     stm #0000h,bsp2
  129.                     stm #spcr20,spsa2            ;5、4位为00,发送完成产生中断,采样,帧同步复位
  130.                     stm #0200h,bsp2
  131.                     stm #pcr0,spsa2              ;帧同步,采样为外部输入,外部时钟极性反相                  
  132.                     stm #0006h,bsp2
  133.                     stm #rcr10,spsa2             ;14~8位置0,一帧两个字,7~5位为010,一个字16位
  134.                     stm #0140h,bsp2
  135.                     stm #rcr20,spsa2             ;15位置0,单阶段帧,第二阶一个字,16位字长1、0位置01延迟一个位时钟数据有效
  136.                     stm #0001h,bsp2
  137.                     stm #xcr10,spsa2             ;14~8位置0,一帧两个字,7~5位为010,一个字16位
  138.                     stm #0140h,bsp2
  139.                     stm #xcr20,spsa2             ;15位置0,单阶段帧,第二阶一个字,16位字长1、0位置01延迟一个位时钟数据有效
  140.                     stm #0001h,bsp2
  141.                     rpt #40                      ;等两个以上位时钟
  142.                     nop
  143.                     stm #0000h,dxr12             ;传起始数据到AIC23
  144.                     stm #0000h,dxr22
  145.                     rpt #400                     ;等两个以上位时钟
  146.                     nop
  147.                     ;MCBSP0口设置为DSP模式结束,输出数据
  148.                     nop
  149.                     stm #drr12,              ar5
  150.                                                                       ldu  *ar5,              a
  151.                                                                       stm #drr22,              ar5
  152.                                                                       ldu  *ar5,              a
  153.                                                                       st  #audio_table,              ar5
  154.                                                                       st              #15,              *(timetemp)
  155.                                                                       st  #audio_table, *(addrtemp)
  156.                                                                       st  #15,    ar4
  157.                                                                       rsbx intm
  158.                     stm #spcr20,spsa2            ;发送离开复位
  159.                     orm #0001h,bsp2
  160.                     nop
  161.                     nop

  162.                                                                       stm #4000h,brc
  163.                     rptb delay1s-1
  164.                     rpt #01800h
  165.                     nop
  166. delay1s:            nop
  167.                                                                       ssbx intm
  168.                                                                       stm #spcr20,spsa2            ;发送结束
  169.                     orm #0000h,bsp2
  170.                                                                       stm #2000h,brc
  171.                     rptb delay2s-1
  172.                     rpt #01800h
  173.                     nop
  174. delay2s:            nop
  175.                                                                       stm #spcr10,spsa2            ;接收离开复位
  176.                     orm #0001h,bsp2
  177.                                                                       stm #0040h,              imr
  178.                     stm #0040h,              ifr
  179.                                                                       st  #audio_in,              ar5
  180.                                                                       st  #0Bfffh, ar4
  181.                                                                       rsbx intm
  182. loop4
  183.                                                                       ldm ar4,b
  184.                                                                       nop
  185.                                                                       nop
  186.                                                                       bc mic,beq
  187.                               b  loop4
  188. mic
  189.                                                                       ssbx intm
  190.                                                                       stm #spcr10,spsa2            ;RRST为0接收复位
  191.                     stm #0000h,bsp2
  192.                     stm #spcr20,spsa2            ;XRST为0,GRST为0,FRST为0发送、采样、帧复位
  193.                     stm #0000h,bsp2
  194.                     stm #spcr10,spsa2            ;5、4位为00,接收完成产生中断,进入非SPI模式,7位(DXENA)为0,不起动DX延时
  195.                     stm #0000h,bsp2
  196.                     stm #spcr20,spsa2            ;5、4位为00,发送完成产生中断,采样,帧同步复位
  197.                     stm #0200h,bsp2
  198.                     stm #pcr0,spsa2              ;帧同步,采样为外部输入,外部时钟极性反相                  
  199.                     stm #0006h,bsp2
  200.                     stm #rcr10,spsa2             ;14~8位置0,一帧两个字,7~5位为010,一个字16位
  201.                     stm #0140h,bsp2
  202.                     stm #rcr20,spsa2             ;15位置0,单阶段帧,第二阶一个字,16位字长1、0位置01延迟一个位时钟数据有效
  203.                     stm #0001h,bsp2
  204.                     stm #xcr10,spsa2             ;14~8位置0,一帧两个字,7~5位为010,一个字16位
  205.                     stm #0140h,bsp2
  206.                     stm #xcr20,spsa2             ;15位置0,单阶段帧,第二阶一个字,16位字长1、0位置01延迟一个位时钟数据有效
  207.                     stm #0001h,bsp2
  208.                     rpt #40                                                                         ;等两个以上位时钟
  209.                     nop                 
  210.                     stm #0000h,dxr12             ;传起始数据到AIC23
  211.                     stm #0000h,dxr22
  212.                     stm #0080h,              imr
  213.                     stm #0080h,              ifr
  214.                                                                       stm #spcr20,spsa2            ;发送离开复位
  215.                     orm #0001h,bsp2
  216.                     nop
  217.                     nop
  218.                     st  #audio_table,              ar5
  219.                                                                       st              #15,              *(timetemp)
  220.                                                                       st  #audio_table, *(addrtemp)
  221.                                                                       st  #15,    ar4
  222.                                                                       rsbx intm
  223.                                                              stm #3000h,brc
  224.                     rptb delay3s-1
  225.                     rpt #01800h
  226.                     nop
  227. delay3s:            nop
  228.                                                                       st  #audio_in,              ar5
  229.                                                                       st              #0bfffh,              *(timetemp)
  230.                                                                       st  #audio_in, *(addrtemp)
  231.                                                                       st  #0bfffh,    ar4
  232.                                                                       b  $

  233.                                                                                        
  234. _McBSP_txisr:

  235.                                                                       ld   *ar5+,              A
  236.                                                                       stlm              a,              dxr12
  237.                                                                       stlm              a,              dxr22
  238.                                                                       nop
  239.                                                                       nop
  240.                                                                       banz  goon,              *ar4-
  241.                                                                       mvdm  timetemp,              ar4
  242.                                                                       mvdm  addrtemp,              ar5                                                      
  243. goon                                                      
  244.                                                                       nop
  245.                                                                       nop            
  246.                                                                       rete   
  247. _McBSP_rvisr:
  248.                                                                      
  249.                                                      stm #drr12,              ar2
  250.                                                                       ldu  *ar2,              a
  251.                                                                       stl              a,              *ar5+  
  252.                                                                       stm #drr22,              ar2
  253.                                                                       ldu  *ar2,              a
  254.                                                                       mar *ar4-                                                                                   
  255. goon2                                                                     
  256.                                                                       reted
  257.                                                                       nop
  258.                                                                       nop
  259.                    .end  
复制代码

完整的Word格式文档51黑下载地址:
aaa.doc (1.95 MB, 下载次数: 8)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51Hei单片机16群 联系QQ:125739409;技术交流QQ群7344883

Powered by 单片机教程网

快速回复 返回顶部 返回列表