📄 adc.asm
字号:
;A/D转换程序,输入端接了实验电路产生的模拟信号(可选择方波、正弦波、三角波),
;调用该程序,对所选的模拟信号进行采样,采样结果存在3000H开始的数据存储器中,
;可检查数据存储器的内容是否与采样波形的相对应。
.mmregs
.def _c_int00
.data
TEMP .usect "TEMP", 20h
TMP .set 6Ah
t0_flag .usect "vars",1
t0_cout .usect "vars",1
AK_SPCR11 .set 0000000000000001b ;收使能、接收帧中断
AK_SPCR21 .set 0000000011100000b ;帧、时钟产生使能
AK_RCR11 .set 0000000001000000b ;1 fax 1 word,1 word 16 bit
AK_RCR21 .set 0000000001000000b;
AK_XCR11 .set 0000000001000000b
AK_XCR21 .set 0000000001000000b
AK_SRGR11 .set 0000000000010011b
AK_SRGR21 .set 0011000000011111b
; ;
AK_PCR1 .set 0000111100000000b
SPSA1 .set 48h
McBSP1 .set 49h
DXR11 .set 43h
DXR21 .set 42h
DRR11 .set 41h
DRR21 .set 40h
GPIOCR .set 3Ch
GPIOSR .set 3Dh
SPCR11 .set 00h
SPCR21 .set 01h
RCR11 .set 02h
RCR21 .set 03h
XCR11 .set 04h
XCR21 .set 05h
PCR1 .set 0Eh
SRGR11 .set 06h
SRGR21 .set 07h
.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: rete
nop
nop
nop
XINT0: rete
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: BD RECIV
nop
nop
nop
;*************************
start: LD #0,DP
STM #200h,SP
STM #0FFFFh,SWWSR
STM #1020h,PMST
SSBX CMPT
STM #00FFH,GPIOCR
STM #0000000000000100B,GPIOSR
CALL ADCBSP ;A/D初始化
STM #3FFFH,IFR
STM #0800H,IMR ;ENABLE RINT INTERRUPT
RSBX INTM
STM #3000H,AR0 ;起始地址
STM #256,AR1 ;数据存储器单元个数
WAIT: IDLE 1
B WAIT
;*************************
ADCBSP STM #SPCR11,SPSA1 ;串口1的初始化程序
;A/D转换器的初始化程序
STM #0000h,McBSP1 ;RESET R
NOP
NOP
STM #SPCR21,SPSA1
STM #0000h,McBSP1 ;RESET X
NOP
NOP
STM #SPCR11,SPSA1
STM #AK_SPCR11,McBSP1 ;ENBLE R
NOP
NOP
STM #0000000000000000B,GPIOSR
STM #SPCR21,SPSA1
STM #AK_SPCR21,McBSP1 ;ENBLE X
NOP
NOP
STM #RCR11,SPSA1
STM #AK_RCR11,McBSP1
NOP
NOP
STM #XCR11,SPSA1
STM #AK_XCR11,McBSP1
NOP
NOP
STM #PCR1,SPSA1
STM #AK_PCR1,McBSP1
NOP
NOP
STM SRGR11,SPSA1
STM #AK_SRGR11,McBSP1
NOP
NOP
STM SRGR21,SPSA1
STM #AK_SRGR21,McBSP1
NOP
NOP
STM #RCR21,SPSA1
STM #AK_RCR21,McBSP1
NOP
NOP
STM #XCR21,SPSA1
STM #AK_XCR21,McBSP1
NOP
NOP
RET
;*********************************
RECIV: STM #3FFFH,IFR ;串口1的接收中断服务程序
LDM DRR11,A
LD #0,ARP
STL A,*AR0+
LD #1,ARP
BANZ LOOP1,*AR1-
STM #3000H,AR0 ;重复采样,设初值
STM #256,AR1
LOOP1: RETE
;**********************
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -