📄 ad73311con.asm
字号:
***此段程序功能是初始化AD73311的各个寄存器,设定AD73311的工作方式,
***使AD73311进入数据模式,并且打开串口接收中断BRINT0,完成从AD73311得到采样数据
***采样程序在BRINT0的中断服务程序mcbsp0risr.asm
***中完成
****参数设置可设置采样率0x810b,0x811b,0x812b,0x813b,0x814b可设置采样率为
****64K,32K,21K,16K,12.8k
.include MMRegs.h
.global _admemory
.global _adinit
.title "ad73311con.asm"
.sect "adinit"
_adinit
STM #00100111b, GPIOCR
nop
nop
nop
STM #00100110b, GPIOSR
nop
nop
nop
stlm a, McBSP0_DXR1
;stm #811bh, McBSP0_DXR1 ;设置ad73311控制寄存器B,现在DMCLK=MCLK/4,SCLK=DMCLK/2
;设置813b中的后八位中的bit6-4控制DMCLK,设置bit3-2控制SCLK
;设置为810b,DMCLK=MCLK;811B,DMCLK=MCLK/2; 812B,DMCLK=MCLK/3;814B,DMCLK=MCLK/5
nop
nop
nop
STM #00100111b, GPIOSR
nop
nop
nop
flagc:
stm SPCR2, McBSP0_SPSA
ldm McBSP0_SPSD, a
and #0002h, a
bc flagc,aeq ;如果spcr2寄存器中的XRDY位为1(可以写入数据),那么继续执行
stm #8279h, McBSP0_DXR1 ;设置ad73311控制寄存器C,5V模式disable,refout enable,所有机器power up
flagd:
stm SPCR2, McBSP0_SPSA
ldm McBSP0_SPSD, a
and #0002h, a
bc flagd,aeq
stm #8320h, McBSP0_DXR1 ;设置ad73311控制寄存器D,设置输入PGA为26db,输出PGA为-15db
flage:
stm SPCR2, 38h
ldm McBSP0_SPSD, a
and #0002h, a
bc flage,aeq
stm #8400h, McBSP0_DXR1 ;设置ad73311控制寄存器E,无群延时等等
flaga:
stm SPCR2, McBSP0_SPSA
ldm McBSP0_SPSD, a
and #0002h, a
bc flaga, aeq
stm #8001h, McBSP0_DXR1 ;设置ad73311控制寄存器A,devices=0,进入数据模式
flagdata:
stm SPCR2, McBSP0_SPSA
ldm McBSP0_SPSD, a
and #0002h, a
bc flagdata, aeq
ret
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -