|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 cjsb37 于 2013-4-29 09:04 编辑
第四个实验中讲如何实现定时器中断,举了一个产生方波的例子。
我想问的是,我只找到了中断服务程序,但没在主程序中找到中断调用语句,究竟DSP在什么地方怎样实现了这个中断调用呢?
这是那个产生方波的小程序:
.title "fangbo1.asm";
.mmregs
.def CodeStart
.def TINT0_ISR
STACK .usect "STACK",10H
K_TCR_SOFT .set 0B<<11
K_TCR_FREE .set 0B<<10
K_TCR_PSC .set 0B<<6
K_TCR_TRB .set 1B<<5
K_TCR_TSS .set 0B<<4
K_TCR_TDDR .set 1001B<<0
K_TCR .set K_TCR_SOFT|K_TCR_FREE|K_TCR_TRB|K_TCR_TSS|K_TCR_TDDR
K_TCR_STOP .set 1B<<4
.data
DATA_DP:
XF_Flag: .word 1
.text
CodeStart:
STM #STACK+10H,SP
LD #DATA_DP,DP
STM #XF_Flag,AR2
K_IPTR .set 0080h
LDM PMST,A
AND #7FH,A
OR #K_IPTR,A
STLM A,PMST
PERIOD .set 9999
STM K_TCR_STOP,TCR
STM #PERIOD,TIM
STM #PERIOD,PRD
STM #K_TCR,TCR
STM #0008h,IMR
STM #0008h,IFR
rsbx intm
end: nop
B end
TINT0_ISR:
PSHM ST0
BITF *AR2,#1
BC ResetXF,TC
setXF:
SSBX XF
ST #1,*AR2
B Next
ResetXF:
rsbx XF
ST #0,*AR2
Next:
POPM ST0
RETE
.end
|
|