testxf2.asm

来自「这里面有很多dsp应用程序源码」· 汇编 代码 · 共 34 行

ASM
34
字号
*************************************************************
*TestXF2.asm
*对TestXF1.asm稍作改进,用延时子程序设置较长的延时,
*可以用试验板上的LED看到XF引脚电平的变化
*************************************************************
			.mmregs				;预定义的寄存器
			.def 	CodeStart	;定义程序入口标记
			
			.text				;程序区
CodeStart:						;程序入口
			SSBX 	XF			;XF置1
			CALL 	Delay		;调用延时程序
			RSBX 	XF			;XF清0
			CALL 	Delay		;调用延时程序
			B 		CodeStart	;跳转到程序开头循环执行

**************************************************************
*延时子程序:Delay
*用两级减一计数器来延时。调整AR1和AR2的大小LED闪烁的频率不同
**************************************************************
Delay:		
			STM 	#999,AR1	;循环次数1000
LOOP1:		STM		#4999, AR2	;循环次数5000
LOOP2:		BANZ	LOOP2,*AR2-	;如果AR2不等于0,AR2减1,再判断
			BANZ	LOOP1,*AR1-	;如果AR1不等于0,AR1减1,跳转到LOOP1
			RET
			.end
			
**************************************************************
*注意这种延时方法并不精确,需要精确定时必须用定时器。
*按此法延时的近似公式为:4*(AR2+1)*(AR1+1)*时钟周期
*当DSP工作在50MHz(时钟周期20ns),AR1=999, AR2=4999时
*延时约为400ms,则LED闪烁的周期为800ms,频率1.25Hz
**************************************************************

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?