xf.asm
来自「dsp芯片TMS320C5416实验程序」· 汇编 代码 · 共 42 行
ASM
42 行
**************************************************************************
* 最简单的程序:exp1.asm
* 循环对XF位置1和清0,用示波器可以在XF脚检测到电平高低周期性变化
* 常用于检测DSP是否工作。
**************************************************************************
.mmregs ;预定义的寄存器
.def CodeEntry ;定义程序入口标记
.text ;程序区
CodeEntry: ;程序入口
SSBX XF ;XF置1
RPT #999 ;重复执行1000次空指令产生延时
NOP
CALL Delay
RSBX XF ;XF清0
RPT #999 ;重复执行1000次空指令产生延时
NOP
CALL Delay
B CodeEntry ;跳转到程序开头循环执行
**************************************************************************
* 延时子程序:Delay
* 用两级减一计数器来延时。调整AR1和AR2的大小可以实现不同的延时
**************************************************************************
Delay:
STM #99,AR1 ;循环次数1000
LOOP1: STM #4999, AR2 ;循环次数5000
LOOP2: BANZ LOOP2,*AR2- ;如果AR2不等于0,AR2减1,再判断
BANZ LOOP1,*AR1- ;如果AR1不等于0,AR1减1,跳转到LOOP1
RET
**************************************************************************
* 注意这种延时方法并不精确,需要精确定时必须用定时器。
* 按此法延时的近似公式为:4*(AR2+1)*(AR1+1)*时钟周期
* 当DSP工作在50MHz(时钟周期20ns),AR1=999, AR2=4999时
* 延时约为400ms,则LED闪烁的周期为800ms,频率1.25Hz
**************************************************************************
.end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?