⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 times.asm

📁 《DSP原理及应用》源代码
💻 ASM
字号:
    			.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		.set	1639		;1640(10(61=1ms,又因中断程序中计数器初值
;t0_cout=1000,所以定时时间:1ms(1000=1s
TIM0		.set	0024H		;定时器0寄存器地址
PRD0		.set	0025H
TCR0		.set	0026H
				.data        
TIMES		.int    TVAL 		;定时器时间常数
				.text
**********************************
; 中断矢量表程序段
_c_int00
		b start
		nop
		nop
NMI		rete				;非屏蔽中断		
		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
INT0		rsbx 	intm		;外中断0中断
			rete
			nop
			nop
INT1		rsbx 	intm		;外中断1中断
			rete
			nop
			nop
INT2		rsbx 	intm		;外中断2中断
			rete
			nop
			nop
TINT:		bd	timer			;定时器中断向量
			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

⌨️ 快捷键说明

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