有学长懂dsp程序的吗?万分感谢!汇编语言编程的
dsp吧
全部回复
仅看楼主
level 1
具体解释一下这个程序,还有怎么修改频率,使得LED灯闪的快些。.mmregs
.def _c_int00
STACK.usect "STACK",100h
t0_cout .usect "vars",1 ;计数器
t0_flag .usect "vars",1 ;当前XF输出电平标志。t0_flag=1,则XF=1;
;t0_flag=0,则XF=0
TVAL.set1639;1640(10(61=1ms,又因中断程序中计数器初值
;t0_cout=1000,所以定时时间:1ms(1000=1s
TIM0.set0024H;定时器0寄存器地址
PRD0.set0025H
TCR0.set0026H
.data
TIMES.int TVAL ;定时器时间常数
.text
**********************************
; 中断矢量表程序段
_c_int00
b start
nop
nop
NMIrete;非屏蔽中断
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
INT0rsbx intm;外中断0中断
rete
nop
nop
INT1rsbx intm;外中断1中断
rete
nop
nop
INT2rsbx intm;外中断2中断
rete
nop
nop
TINT:bdtimer;定时器中断向量
nop
nop
nop
RINT0:rete;串口0接收中断
nop
nop
nop
XINT0:rete;串口0发送中断
nop
nop
nop
SINT6.space 4*16;软件中断
SINT7.space 4*16;软件中断
INT3:rete;外中断3中断
nop
nop
nop
HPINT:rete;主机中断
nop
nop
nop
RINT1:rete;串口1接收中断
nop
nop
nop
XINT1:rete;串口1发送中断
nop
nop
nop
******************************************
start:
LD #0,DP
STM#STACK+100h,SP
STM #07FFFh,SWWSR
STM #1020h,PMST
ST #1000,*(t0_cout) ;计数器设置为 1000(1s)
SSBX INTM;关全部中断
LD #TIMES,A
READA TIM0;初始化 TIM,PRD
READA PRD0
STM #669h,TCR0;初始化TCR0
STM #8,IMR;初始化 IMR, 使能 timer0 中断
RSBX INTM;开放全部中断
WAIT:B WAIT
*************************************************************
;定时器0中断服务子程序
timer:ADDM #-1,*(t0_cout);计数器减1
CMPM *(t0_cout),#0;判断是否为0
BC next,NTC;不是0,退出循环
ST#1000,*(t0_cout) ;为0,设置计数器,并将XF取反
BITF t0_flag,#1
BC xf_out,NTC
SSBX XF
ST #0,t0_flag
B next
xf_out:RSBX XF
ST #1,t0_flag
next:RSBX INTM
RETE
.end
2016年05月28日 05点05分 1
1