📄 aic23mic.asm
字号:
**********************************************************************************
* aic23mic.asm v1.00 数字录音机主程序 *
* 版权(c) 2004- 北京百科融创科技有限公司 *
* 设计者: 赵治心 *
* 邮箱: ourui.wl@263.net *
**********************************************************************************/
.title "AIC23.asm"
.mmregs
.bss timetemp,1
.bss addrtemp,1
audio_in .usect "buf",0C000h
;定义MCBSP0的各个寄存器
bsp0 .set 39h
drr20 .set 20h
drr10 .set 21h
dxr20 .set 22h
dxr10 .set 23h
spsa0 .set 38h
spcr10 .set 00h
spcr20 .set 01h
rcr10 .set 02h
rcr20 .set 03h
xcr10 .set 04h
xcr20 .set 05h
srgr10 .set 06h
srgr20 .set 07h
pcr0 .set 0eh
cpldport1 .set 2000h
.def _c_int00,_McBSP_txisr,_McBSP_rvisr
.data
audio_table:
.word 07ff5H,05842H,0fcdcH,0a34dH,0800bH,0a7beH,0324H,05cb3H
.word 07ff5H,05842H,0fcdcH,0a34dH,0800bH,0a7beH,0324H,05cb3H
.text
_c_int00: stm #7000h,swwsr ;等待0个时钟
ssbx intm
STM #0b, CLKMD ;switch to DIV mode
TstStatu:
LDM CLKMD, A
AND #01b, A ;poll STATUS bit
BC TstStatu, ANEQ
STM #0100001111101111b, CLKMD ;switch to PLL
RPT #10000
NOP
rsbx cpl ;清CPL位=0
;初始化cpu完毕,开始初始化MCBSP0
stm #216ch,pmst
stm #0020h, imr
stm #0020h, ifr
stm #0000h,ar1
portw ar1,cpldport1 ;切换字写到CPLD控制寄存器,转为控制字输出
rpt #400
nop ;等400个周期
ld #00h,dp
stm #spcr10,spsa0 ;接收复位
stm #0000h,bsp0
stm #spcr20,spsa0 ;发送、采样、帧复位
stm #0000h,bsp0
stm #spcr10,spsa0 ;12、11位为10,进入SPI模式,7位(DXENA)为0,不起动DX延时
stm #1000h,bsp0
stm #pcr0,spsa0 ;1位置1,数据下沿发送上沿接收,3位置1,帧同步为低电平有效,9位置1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -