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

📄 isr.asm

📁 TV_control代码+说明[1] 利用凌阳单片机语音识别功能去控制电视机
💻 ASM
字号:
//============================================================
// 文件名称:ISR.asm     
// 实现功能: 语音播放/识别中断服务,红外中断服务。
// 维护记录: 2008年2月3日    修改:林浩岳
//============================================================
.include hardware.inc

.external _BSR_FIQ_Routine
.external F_FIQ_Service_SACM_S480
.EXTERNAL _iCouter				//外部变量用来存储电平的持续时间
.text

//==============================================================================
//汇编语言格式:_FIQ
//功能描述:_FIQ语音播放/识别的中断服务函数
//        如果需要,请在reti前面写用户的中断服务函数
//入口参数:无
//出口参数:无
//===============================================================================
.public	_FIQ;
_FIQ:
	push R1,R5 to [sp];			// 寄存器压栈保护
	
	R1 = C_FIQ_TMA;
	[P_INT_Clear] = R1;
	call _BSR_FIQ_Routine			//语音识别中断服务
	call F_FIQ_Service_SACM_S480;	//语音播放中断服务
	
	pop R1,R5 from [sp];
	reti;
	
//==============================================================================
//汇编语言格式:_IRQ4
//功能描述:IRQ4的中断服务函数
//        如果需要,请在reti前面写用户的中断服务函数
//入口参数:无
//出口参数:无
//===============================================================================	
.PUBLIC _IRQ4
_IRQ4:
	push r1,r5 to[sp]						//寄存器入栈

	r1 = 0x0040
	test r1,[P_INT_Ctrl]					//判断是否为IRQ4_4KHz中断
	jnz ?IRQ4_4KHz							//是,转向?IRQ4_4KHz  
		
?IRQ4_4KHz:					      	//IRQ4的4KHz中断
    [P_INT_Clear] = r1				//清IRQ4_4KHz中断标志
	r1 = [_iCouter]					//读取计数器中的数值
	r1 += 1							//不等则继续累加
	[_iCouter] = r1
	jmp ?exit
		
?exit:	
	pop r1,r5 from[sp]						//寄存器出栈
	reti 

⌨️ 快捷键说明

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