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

📄 isr.asm

📁 基于凌阳单片机的简易语音数字频率计源码.实验了语音播报测量的频率,幅度值等.
💻 ASM
字号:
//========================================================
//	文件名称:	isr.asm
//	功能描述:	显示数据,扫描键盘
//	维护记录:	2005-09-12	v1.0
//========================================================
//.include 	hardware.inc
.external 	_g_uisum;
.external 	_g_ucIntFlag;
.INCLUDE SPCE061A.inc
.INCLUDE Dig.inc
//.INCLUDE Key.inc

.TEXT
.PUBLIC _IRQ4
_IRQ4:
	push r1,r5 to [sp]
	r1 = C_IRQ4_1KHz
	test r1,[P_INT_Ctrl]
	jnz ?L_IRQ4_1KHz
	r1 = C_IRQ4_2KHz
	test r1,[P_INT_Ctrl]
	jnz ?L_IRQ4_2KHz
?L_IRQ4_4KHz:
	call F_DIG_Drive                          //数码管显示,F_DIG_Drive函数在Dig.asm中定义
	r1 = C_IRQ4_4KHz
	[P_INT_Clear] = r1
	pop r1,r5 from [sp]
	reti
?L_IRQ4_2KHz:
	[P_INT_Clear] = r1
	pop r1,r5 from [sp]
	reti
?L_IRQ4_1KHz:
	[P_INT_Clear] = r1
	pop r1,r5 from [sp]
	reti
	
.PUBLIC _IRQ6
_IRQ6:
	push r1,r5 to [sp]
	r1 = C_IRQ6_TMB2
	test r1,[P_INT_Ctrl]
	jnz ?L_IRQ6_TMB2
?L_IRQ6_TMB1:
	r1 = C_IRQ6_TMB1
	[P_INT_Clear] = r1
	pop r1,r5 from [sp]
	reti
?L_IRQ6_TMB2:
//	call F_Key_Scan                           //扫描键盘,F_Key_Scan函数在Key.asm中定义
	r1 = C_IRQ6_TMB2
	[P_INT_Clear] = r1
	pop r1,r5 from [sp]
	reti
	
	
	.PUBLIC _IRQ5
_IRQ5:                        //定时1秒的中断程序
	push r1,r4 to [sp];
	r1 =0x0008;						 
	test r1,[P_INT_Ctrl];				
	jnz	L_4Hz;				    	
	
	r1 = 0x0004;
    [P_INT_Clear] = r1;        //清中断
    
    r1 = [_g_uisum]            //取时基信号量     
    r1 += 1;
    cmp r1,2;
    jnb loop0;
    
    [_g_uisum]=r1              //保存时基信号量
    pop r1,r4 from [sp];
    reti; 

loop0: 
    r1 = 0x0001;
    [_g_ucIntFlag] = r1;       //设置中断标识
    r1 = 0
    [_g_uisum] = r1

	pop r1,r4 from [sp];
    reti;
L_4Hz:  
 	r1 = 0x0008;
    [P_INT_Clear] = r1;  		//清中断
    pop r1,r4 from [sp];
    reti;

⌨️ 快捷键说明

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