📄 timer3.asm
字号:
*******************************************************
* TMS320C2x/C2xx/C5x ANSI C Codegen Version 7.00
*******************************************************
; C:\tic2xx\c2000\cgtools\bin\dspac.exe -v2xx Timer3.c C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Timer3.if
; dspopt NOT RUN
; C:\tic2xx\c2000\cgtools\bin\dspcg.exe -o -v2xx -o C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Timer3.if C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Timer3.asm C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\Timer3.tmp
.port
.file "Timer3.c"
.file "f2407regs_c.h"
.globl _IMR
.globl _GREG
.globl _IFR
.globl _IMRADDR
.globl _PIRQR0
.globl _PIRQR1
.globl _PIRQR2
.globl _PIACKR0
.globl _PIACKR1
.globl _PIACKR2
.globl _SCSR1
.globl _SCSR2
.globl _DINR
.globl _PIVR
.globl _WDCNTR
.globl _WDKEY
.globl _WDCR
.globl _SPICCR
.globl _SPICTL
.globl _SPISTS
.globl _SPIBRR
.globl _SPIEMU
.globl _SPIRXBUF
.globl _SPITXBUF
.globl _SPIDAT
.globl _SPIPRI
.globl _SCICCR
.globl _SCICTL1
.globl _SCIHBAUD
.globl _SCILBAUD
.globl _SCICTL2
.globl _SCIRXST
.globl _SCIRXEMU
.globl _SCIRXBUF
.globl _SCITXBUF
.globl _SCIPRI
.globl _XINT1CR
.globl _XINT2CR
.globl _PADATDIR
.globl _PBDATDIR
.globl _PCDATDIR
.globl _PDDATDIR
.globl _PEDATDIR
.globl _PFDATDIR
.globl _MCRA
.globl _MCRB
.globl _MCRC
.globl _ADCCTRL1
.globl _ADCCTRL2
.globl _MAXCONV
.globl _CHSELSEQ1
.globl _CHSELSEQ2
.globl _CHSELSEQ3
.globl _CHSELSEQ4
.globl _AUTOSEQSR
.globl _RESULT0
.globl _RESULT1
.globl _RESULT2
.globl _RESULT3
.globl _RESULT4
.globl _RESULT5
.globl _RESULT6
.globl _RESULT7
.globl _RESULT8
.globl _RESULT9
.globl _RESULT10
.globl _RESULT11
.globl _RESULT12
.globl _RESULT13
.globl _RESULT14
.globl _RESULT15
.globl _CALIBRATION
.globl _MDER
.globl _TCR
.globl _RCR
.globl _MCR
.globl _BCR2
.globl _BCR1
.globl _ESR
.globl _GSR
.globl _CEC
.globl _CANIFR
.globl _CANIMR
.globl _LAM0H
.globl _LAM0L
.globl _LAM1H
.globl _LAM1L
.globl _MSGID0L
.globl _MSGID0H
.globl _MSGCTRL0
.globl _MBX0A
.globl _MBX0B
.globl _MBX0C
.globl _MBX0D
.globl _MSGID1L
.globl _MSGID1H
.globl _MSGCTRL1
.globl _MBX1A
.globl _MBX1B
.globl _MBX1C
.globl _MBX1D
.globl _MSGID2L
.globl _MSGID2H
.globl _MSGCTRL2
.globl _MBX2A
.globl _MBX2B
.globl _MBX2C
.globl _MBX2D
.globl _MSGID3L
.globl _MSGID3H
.globl _MSGCTRL3
.globl _MBX3A
.globl _MBX3B
.globl _MBX3C
.globl _MBX3D
.globl _MSGID4L
.globl _MSGID4H
.globl _MSGCTRL4
.globl _MBX4A
.globl _MBX4B
.globl _MBX4C
.globl _MBX4D
.globl _MSGID5L
.globl _MSGID5H
.globl _MSGCTRL5
.globl _MBX5A
.globl _MBX5B
.globl _MBX5C
.globl _MBX5D
.globl _GPTCONA
.globl _T1CNT
.globl _T1CMPR
.globl _T1PR
.globl _T1CON
.globl _T2CNT
.globl _T2CMPR
.globl _T2PR
.globl _T2CON
.globl _COMCONA
.globl _ACTRA
.globl _DBTCONA
.globl _CMPR1
.globl _CMPR2
.globl _CMPR3
.globl _CAPCONA
.globl _CAPFIFOA
.globl _CAP1FIFO
.globl _CAP2FIFO
.globl _CAP3FIFO
.globl _CAP1FBOT
.globl _CAP2FBOT
.globl _CAP3FBOT
.globl _EVAIMRA
.globl _EVAIMRB
.globl _EVAIMRC
.globl _EVAIFRA
.globl _EVAIFRB
.globl _EVAIFRC
.globl _GPTCONB
.globl _T3CNT
.globl _T3CMPR
.globl _T3PR
.globl _T3CON
.globl _T4CNT
.globl _T4CMPR
.globl _T4PR
.globl _T4CON
.globl _COMCONB
.globl _ACTRB
.globl _DBTCONB
.globl _CMPR4
.globl _CMPR5
.globl _CMPR6
.globl _CAPCONB
.globl _CAPFIFOB
.globl _CAP4FIFO
.globl _CAP5FIFO
.globl _CAP6FIFO
.globl _CAP4FBOT
.globl _CAP5FBOT
.globl _CAP6FBOT
.globl _EVBIMRA
.globl _EVBIMRB
.globl _EVBIMRC
.globl _EVBIFRA
.globl _EVBIFRB
.globl _EVBIFRC
.globl _WSGR
.file "Timer3.c"
.globl _counterTime
.globl _b_com_success
.globl _b_com_counter
.globl _bFlashError
.globl _flashErrorCounter
.globl _syncTimeoutCounter
.globl _syncTimeoutFlag
.globl _syncTimeoutCounter_out
.globl _syncTimeoutFlag_out
.globl _bReadTag
.globl _readTagCounter
.globl _bReadyReadTag
.globl _readyReadCounter
.globl _bPowerUp
.globl _PowerUpCounter
.globl _bAlarm
.globl _alarmCounter
.globl _bufferReadCouner
.globl _scanReadCounter
.globl _initTimer3
.globl _T3INT
.text
.sym _initTimer3,_initTimer3,32,2,0
.globl _initTimer3
.func 32
;>>>> void initTimer3()
******************************************************
* FUNCTION DEF : _initTimer3
******************************************************
_initTimer3:
POPD *+
SAR AR0,*+
SAR AR1,*
LARK AR0,1
LAR AR0,*0+
.line 3
;>>>> asm(" setc SXM");
setc SXM
.line 4
;>>>> asm(" clrc OVM");
clrc OVM
.line 5
;>>>> asm(" clrc CNF");
clrc CNF
.line 7
;>>>> IMR |= 0x02; // int2
LACK 2
LDPK _IMR
OR _IMR
SACL _IMR
.line 8
;>>>> IFR = 0xffff;
LDPK _IFR
SPLK #-1,_IFR
.line 9
;>>>> EVBIMRA |= 0x0080; //允许定时器3 的周期中断
LACK 128
LDPK _EVBIMRA
OR _EVBIMRA
SACL _EVBIMRA
.line 10
;>>>> EVBIFRA &= 0x0080; //清除定时器1的周期中断
LACK 128
LDPK _EVBIFRA
AND _EVBIFRA
SACL _EVBIFRA
.line 11
;>>>> T3CON = 0x170c; // x/128
;>>>> //T3PR = 62500; // 200ms added 20050825
LDPK _T3CON
SPLK #5900,_T3CON
.line 13
;>>>> T3PR = 31250; // 100ms added 20051129
LDPK _T3PR
SPLK #31250,_T3PR
.line 15
;>>>> T3CNT = 0x00;
LACK 0
LDPK _T3CNT
SACL _T3CNT
.line 16
;>>>> T3CON |= 0x0040; //启动
LACK 64
LDPK _T3CON
OR _T3CON
SACL _T3CON
EPI0_1:
.line 17
SBRK 2
LAR AR0,*-
PSHD *
RET
.endfunc 48,000000000H,1
.sym _T3INT,_T3INT,32,2,0
.globl _T3INT
.func 49
;>>>> void interrupt T3INT(void)
;>>>> uint flag;
******************************************************
* FUNCTION DEF : _T3INT
******************************************************
_T3INT:
CALL I$$SAVE
SAR AR1,*
LARK AR0,2
LAR AR0,*0+,AR2
.sym _flag,1,14,1,16
.line 5
;>>>> flag = EVBIFRA & 0x0080;
LACK 128
LDPK _EVBIFRA
AND _EVBIFRA
LARK AR2,1
MAR *0+
SACL *
.line 6
;>>>> if(flag == 0x0080)
LAC *
SUBK 128
BNZ L1
.line 8
;>>>> counterTime ++;
LDPK _counterTime
LAC _counterTime
ADDK 1
SACL _counterTime
.line 9
;>>>> if(bReadTag == 0x01)readTagCounter ++;
LDPK _bReadTag
LAC _bReadTag
SUBK 1
BNZ L2
LDPK _readTagCounter
LAC _readTagCounter
ADDK 1
SACL _readTagCounter
L2:
.line 10
;>>>> if(b_com_success)b_com_counter ++; //串口通讯灯计数器
LDPK _b_com_success
LAC _b_com_success
BZ L3
LDPK _b_com_counter
LAC _b_com_counter
ADDK 1
SACL _b_com_counter
L3:
.line 11
;>>>> if(bFlashError)flashErrorCounter ++; //flash 错误指示灯计数器
LDPK _bFlashError
LAC _bFlashError
BZ L4
LDPK _flashErrorCounter
LAC _flashErrorCounter
ADDK 1
SACL _flashErrorCounter
L4:
.line 12
;>>>> if( syncTimeoutFlag == 0x01)syncTimeoutCounter ++;
LDPK _syncTimeoutFlag
LAC _syncTimeoutFlag
SUBK 1
BNZ L5
LDPK _syncTimeoutCounter
LAC _syncTimeoutCounter
ADDK 1
SACL _syncTimeoutCounter
L5:
.line 13
;>>>> if( syncTimeoutFlag_out == 0x01)syncTimeoutCounter_out ++;
LDPK _syncTimeoutFlag_out
LAC _syncTimeoutFlag_out
SUBK 1
BNZ L6
LDPK _syncTimeoutCounter_out
LAC _syncTimeoutCounter_out
ADDK 1
SACL _syncTimeoutCounter_out
L6:
.line 14
;>>>> if(bReadyReadTag == 1)readyReadCounter ++;
LDPK _bReadyReadTag
LAC _bReadyReadTag
SUBK 1
BNZ L7
LDPK _readyReadCounter
LAC _readyReadCounter
ADDK 1
SACL _readyReadCounter
L7:
.line 15
;>>>> if(bPowerUp == 1) PowerUpCounter ++;
LDPK _bPowerUp
LAC _bPowerUp
SUBK 1
BNZ L8
LDPK _PowerUpCounter
LAC _PowerUpCounter
ADDK 1
SACL _PowerUpCounter
L8:
.line 16
;>>>> if(bAlarm == 0x01) alarmCounter ++;
LDPK _bAlarm
LAC _bAlarm
SUBK 1
BNZ L9
LDPK _alarmCounter
LAC _alarmCounter
ADDK 1
SACL _alarmCounter
L9:
.line 17
;>>>> bufferReadCouner ++;
LDPK _bufferReadCouner
LAC _bufferReadCouner
ADDK 1
SACL _bufferReadCouner
.line 18
;>>>> scanReadCounter ++;
LDPK _scanReadCounter
LAC _scanReadCounter
ADDK 1
SACL _scanReadCounter
.line 20
;>>>> T3CNT = 0;
LACK 0
LDPK _T3CNT
SACL _T3CNT
.line 21
;>>>> EVBIFRA |= 0x080; //clr period int flag
LACK 128
LDPK _EVBIFRA
OR _EVBIFRA
SACL _EVBIFRA
L1:
EPI0_2:
.line 23
MAR * ,AR1
SBRK 2
B I$$REST,AR1 ;and return
.endfunc 71,000000000H,2
*****************************************************
* UNDEFINED REFERENCES *
*****************************************************
.global I$$SAVE
.global I$$REST
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -