📄 adc.asm
字号:
*******************************************************
* TMS320C24xx ANSI C Codegen Version 7.02
*******************************************************
; dspac -v2xx -iC:/ti/c2400/cgtools/include adc.c C:\DOCUME~1\jjd\LOCALS~1\Temp\adc.if
; dspopt NOT RUN
; dspcg -o -v2xx -o C:\DOCUME~1\jjd\LOCALS~1\Temp\adc.if C:\DOCUME~1\jjd\LOCALS~1\Temp\adc.asm C:\DOCUME~1\jjd\LOCALS~1\Temp\adc.tmp
.port
.bss _adc_res,8,1
.file "adc.c"
.file "f2407_c.h"
.globl _portFF0F
.globl _portFFFF
.file "adc.c"
.globl _port40
.sect ".cinit"
.word IS1,_adc_res
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
IS1 .set 8
.sym _adc_res,_adc_res,62,2,128,,8
.globl _adc_res
.globl _test_adc
.text
.sym _init_adc,_init_adc,32,2,0
.globl _init_adc
.func 9
;>>>> void init_adc(void)
******************************************************
* FUNCTION DEF : _init_adc
******************************************************
_init_adc:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> *T4CNT=0x0000;
LARK AR3,29957
LACK 0
SACL *
.line 4
;>>>> *T4CON=0x170c;
ADRK 3
SPLK #5900,*-
.line 5
;>>>> *T4PR=0x20;
LACK 32
SACL *
.line 6
;>>>> *GPTCONB=0x400;
SBRK 7
SPLK #1024,*
.line 7
;>>>> *EVBIFRB=0xffff;
ADRK 48
SPLK #65535,* ,AR4
.line 8
;>>>> *ADCTRL1=0x10;
LARK AR4,28832
LACK 16
SACL *+
.line 9
;>>>> *ADCTRL2=0x8404;
SPLK #33796,*+
.line 10
;>>>> *MAX_CONV=0x07;
LACK 7
SACL *+
.line 11
;>>>> *CHSELSEQ1=0x3210;
SPLK #12816,*+
.line 12
;>>>> *CHSELSEQ2=0x7654;
SPLK #30292,* ,AR1
EPI0_1:
.line 13
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 21,000000000H,1
.sym _init_xint2,_init_xint2,32,2,0
.globl _init_xint2
.func 23
;>>>> void init_xint2(void)
******************************************************
* FUNCTION DEF : _init_xint2
******************************************************
_init_xint2:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> *XINT1CR = 0x0001;
LARK AR3,28784
LACK 1
SACL * ,AR1
EPI0_2:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 26,000000000H,1
.sym _adc_soc,_adc_soc,32,2,0
.globl _adc_soc
.func 28
;>>>> void adc_soc(void)
******************************************************
* FUNCTION DEF : _adc_soc
******************************************************
_adc_soc:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR3
.line 3
;>>>> *T4CON=*T4CON|0x40;
LARK AR3,29960
LACK 64
OR *
SACL * ,AR1
EPI0_3:
.line 4
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 31,000000000H,1
.sym _int1,_int1,32,2,0
.globl _int1
.func 33
;>>>> void interrupt int1(void)
;>>>> unsigned int i;
;>>>> switch(*PIVR)
;>>>> case 0x0001: /*Xint1 interrupt*/
******************************************************
* FUNCTION DEF : _int1
******************************************************
_int1:
CALL I$$SAVE
SAR AR1,*
LARK AR0,2
LAR AR0,*0+
.sym _i,1,14,1,16
B L1
L2:
.line 8
;>>>> *ADCTRL2|=0x4200;
;>>>> //*XINT1CR = *XINT1CR | 0x8000;
LARK AR3,28833
LACK 16896
MAR * ,AR3
OR *
SACL *
.line 10
;>>>> break;
;>>>> case 0x0004: /*ADC interrupt*/
B L3
L4:
.line 14
;>>>> asm(" clrc SXM");
clrc SXM
.line 15
;>>>> for(i=0;i<8;i++)
LACK 0
MAR * ,AR2
LARK AR2,1
MAR *0+
SACL *
ZALS *
SUBK 8
BGEZ L6
RSXM ;;;
L5:
.line 16
;>>>> adc_res[i]=*(RESULT0+i)>>6;
LAC * ,AR0
ADDK 28840
SACL *
LAR AR3,* ,AR3
LAC * ,9,AR1
SACH * ,1,AR2
LAC * ,AR0
ADLK _adc_res+0,0
SACL *
LAR AR3,* ,AR1
LAC * ,AR3
SACL * ,AR2
.line 15
LAC *
ADDK 1
SACL *
ZALS *
SUBK 8
BLZ L5
L6:
.line 17
;>>>> *XINT1CR = *XINT1CR | 0x8000;
LARK AR3,28784
LALK 1,15
MAR * ,AR3
OR *
SACL *
.line 18
;>>>> break;
;>>>> default:
;>>>> ;
B L3
L1:
.line 4
LARK AR3,28702
MAR * ,AR3
ZALS *
SUBK 1
BZ L2
SUBK 3
BZ L4
L3:
.line 24
;>>>> *IFR|=0x0001;
LARK AR3,6
LACK 1
MAR * ,AR3
OR *
SACL *
.line 25
;>>>> asm(" CLRC INTM");
CLRC INTM
EPI0_4:
.line 26
MAR * ,AR1
SBRK 2
B I$$REST,AR1 ;and return
.endfunc 58,000000000H,2
.sym _test_adc,_test_adc,32,2,0
.globl _test_adc
.func 61
;>>>> void test_adc(void)
******************************************************
* FUNCTION DEF : _test_adc
******************************************************
_test_adc:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+,AR0
.line 3
;>>>> LED = 0x00fd;
LACK 253
SACL *
OUT * ,040h,AR1
.line 4
;>>>> init_adc();
CALL _init_adc
.line 5
;>>>> adc_soc();
CALL _adc_soc
.line 6
;>>>> init_xint2();
CALL _init_xint2
EPI0_5:
.line 7
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 67,000000000H,1
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global I$$SAVE
.global I$$REST
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -