📄 timer_test1.asm
字号:
;=================================================;
; 外部中断INT0例子程序 ;
; File name: INT0_test ;
; Author: xubing ;
; Date: 11/11/2004 ;
;=================================================;
.mmregs
.global _c_int00
.def TINT0_ISR
.bss StackBuffer,10h
K_TCR .set 0029h
K_TCR_STOP .set 0010h
;TCR定时器控制寄存器各位含义如下:
;RES SOFT FREE PSC TRB TSS(定时器停止状态寄存器) TDDR
;0000 0 0 0000 1 0 (TSS=1时停止定时) 1001
;;;;;;;定时器参数定义;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIM0 .set 24h ;Timer0 register
PRD0 .set 25h ;Timer0 period counter
TCR0 .set 26h ;Timer0 control register
PERIOD .set 9999 ;定时器周期
.text
;;;;;;;;;;;;;;;中断向量表;;;;;;;;;;;;;;;;;;;;;;
rs B _c_int00
NOP
NOP
nmi B INTRET
NOP
NOP
sint17 B INTRET
NOP
NOP
sint18 B INTRET
NOP
NOP
sint19 B INTRET
NOP
NOP
sint20 B INTRET
.word 0,0
sint21 B INTRET
.word 0,0
sint22 .word 01000h
.word 0,0,0
sint23 .word 0ff80h
.word 0,0,0
sint24 .word 01000h
.word 0,0,0
sint25 .word 0ff80h
.word 0,0,0
sint26 .word 01000h
.word 0,0,0
sint27 .word 0ff80h
.word 0,0,0
sint28 .word 01000h
.word 0,0,0
sint29 .word 0ff80h
.word 0,0,0
sint30 .word 01000h
.word 0,0,0
int0 B INTRET
NOP
NOP
int1 B INTRET
NOP
NOP
int2 B INTRET
NOP
NOP
tint B TINT0_ISR ;定时器中断
NOP
NOP
brint0 B INTRET
NOP
NOP
bxint0 B INTRET
NOP
NOP
trint B INTRET
NOP
NOP
txint B INTRET
NOP
NOP
int3 B INTRET
NOP
NOP
hpint B INTRET
NOP
NOP
q26 .word 0ff80h
.word 0,0,0
q27 .word 01000h
.word 0,0,0
q28 .word 0ff80h
.word 0,0,0
q29 .word 01000h
.word 0,0,0
q30 .word 0ff80h
.word 0,0,0
q31 .word 01000h
.word 0,0,0
_c_int00:
STM #3020h,PMST
SSBX INTM
SSBX SXM
SSBX FRCT
STM #StackBuffer+10h,SP
LD #0,DP
STM #0008h,IMR
;允许定时器0中断,IMR寄存器各位含义如下:
; RES DMAC5 DMAC4 BXINT1 BRINT1 HINT INT3 TINT DMAC0 BXINT0 BRINT0 TINT0 INT2 INT1 INT0
; 00 0 0 0 0 0 0 0 0 0 0 1 0 0 0
STM #K_TCR_STOP,TCR ;停止定时器
STM #PERIOD,TIM ;设定定时器寄存器
STM #PERIOD,PRD ;设定定时器周期寄存器
STM #K_TCR,TCR ;启动定时器
STM #0008h,IMR ;允许Timer0中断
STM #0ffffh,IFR ;清中断
RSBX INTM ;开中断
WAIT: NOP
B WAIT
;============================================;
; Timer0中断程序:TINT0_ISR
;============================================;
TINT0_ISR:
ADD #1,A
RETE
;;;;;;;;;;;;;;;;;;中断返回;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INTRET:
RETE
.end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -