📄 ad50.asm
字号:
;程序功能为:AD50初始化后,采样输入端的数据,不做任何处理,直接输出。
.mmregs
.def _c_int00
.data
TEMP .usect "TEMP", 20h
t0_flag .usect "vars",1
t0_cout .usect "vars",1
K_SPCR10 .set 0000000010100001b
K_SPCR20 .set 0000000000100001b
K_RCR10 .set 0000000001000000b;1 fax 1 word,1 word 16 bit
K_RCR20 .set 0000000001000000b;
K_XCR10 .set 0000000001000000b
K_XCR20 .set 0000000001000000b
K_PCR0 .set 0000000000001100b
WriteCR1 .set 0100h
WriteCR2 .set 0200h
WriteCR3 .set 0300h
WriteCR4 .set 0408h
SECRequ .set 0001h
SPSA0 .set 38h
McBSP0 .set 39h
DXR10 .set 23h
DXR20 .set 22h
DRR10 .set 21h
DRR20 .set 20h
SPCR10 .set 00h
SPCR20 .set 01h
RCR10 .set 02h
RCR20 .set 03h
XCR10 .set 04h
XCR20 .set 05h
PCR0 .set 0Eh
TMP .set 6Ah
.text
_c_int00
b start
nop
nop
NMI rete
nop
nop
nop
SINT17 .space 4*16
SINT18 .space 4*16
SINT19 .space 4*16
SINT20 .space 4*16
SINT21 .space 4*16
SINT22 .space 4*16
SINT23 .space 4*16
SINT24 .space 4*16
SINT25 .space 4*16
SINT26 .space 4*16
SINT27 .space 4*16
SINT28 .space 4*16
SINT29 .space 4*16
SINT30 .space 4*16
INT0 rsbx intm
rete
nop
nop
INT1 rsbx intm
rete
nop
nop
INT2 rsbx intm
rete
nop
nop
TINT: rete
nop
nop
nop
RINT0: BD RECIV
nop
nop
nop
XINT0: BD XT
nop
nop
nop
SINT6 .space 4*16
SINT7 .space 4*16
INT3: rete
nop
nop
nop
HPINT: rete
nop
nop
nop
RINT1: rete
nop
nop
nop
XINT1: rete
nop
nop
nop
;************************
start: LD #0,DP
STM #200h,SP
STM #07FFFh,SWWSR
STM #1020h,PMST
LD #09H,A
STL A,TMP
PORTW TMP,7H ;使串口0的时钟和帧频由外设输入
CALL INBSP ;串口0初始化
STM #3FFFH,IFR
RSBX INTM
STM #0010H,IMR ;开串口0的接收中断
CALL INAD50 ;AD50初始化
STM #0020H,IMR ;开发送中断
WAIT: IDLE 1
B WAIT
;**********************
RECIV: RETE
;**********************
XT: STM #3FFFH,IFR ;清中断标志寄存器
LDM DRR10,A ;接收的数据
AND #0FFFEH,A ;使数据的最低位为0
STLM A,DXR10 ;发送数据
RETE
;**********************
INBSP: STM #SPCR10,SPSA0 ;串口初始化程序
STM #0000h,McBSP0 ;RESET R
NOP
NOP
STM #SPCR20,SPSA0
STM #0000h,McBSP0 ;RESET X
NOP
NOP
STM #RCR10,SPSA0
STM #K_RCR10,McBSP0
NOP
NOP
STM #XCR10,SPSA0
STM #K_XCR10,McBSP0
NOP
NOP
STM #PCR0,SPSA0
STM #K_PCR0,McBSP0
NOP
NOP
STM #RCR20,SPSA0
STM #K_RCR20,McBSP0
NOP
NOP
STM #XCR20,SPSA0
STM #K_XCR20,McBSP0
NOP
NOP
STM #SPCR10,SPSA0
STM #K_SPCR10,McBSP0 ;ENBLE R
NOP
NOP
STM #SPCR20,SPSA0
STM #K_SPCR20,McBSP0 ;ENBLE X
NOP
NOP
RET
;*********************************
INAD50: STM #3FFFH,IFR ;AD50初始化程序
STM #SECRequ,DXR10
IDLE 1
STM #0x3FFF,IFR
STM #0180H,DXR10
IDLE 1
RPT #100H
STM #3FFFH,IFR
STM #SECRequ,DXR10
IDLE 1
STM #0x3FFF,IFR
STM #WriteCR1,DXR10
IDLE 1
STM #3FFFH,IFR
STM #SECRequ,DXR10
IDLE 1
STM #3FFFH,IFR
STM #WriteCR2,DXR10
IDLE 1
STM #3FFFH,IFR
STM #SECRequ,DXR10
IDLE 1
STM #3FFFH,IFR
STM #WriteCR4,DXR10
IDLE 1
STM #3FFFH,IFR
STM #SECRequ,DXR10
IDLE 1
STM #3FFFH,IFR
STM #WriteCR3,DXR10
IDLE 1
STM #3FFFH,IFR
RET
;**********************************
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -