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

📄 timebase_2hz.asm

📁 spce061单片机的一些程序!C语言和汇编语言都有
💻 ASM
字号:
//////////////////////////////////////////////////
//程序名称:TimeBase_2Hz .asm
//功能:使A口低8位发光二极管0.5秒闪烁
//硬件连接:IOA0-IOA7分别接8个发光二极管
/////////////////////////////////////////////////
.include hardware.inc
.define  RUN_2HZ_TimeBase_INT  0x0004     
.RAM
.VAR flag          //发光二极管的标识1,点亮2.熄灭


.code
.public _main
_main:
	
	r1=0x00ff  			//初始化A口低8位为低电平输出端
	[P_IOA_Attrib]=r1 
	[P_IOA_Dir]=r1 
	r1=0x0000 
	[P_IOA_Data]=r1 
	[flag] = r1;       //初始化发光二极管标识

	r1 =  RUN_2HZ_TimeBase_INT	  //开放2Hz 中断
	[P_INT_Ctrl]=r1 
    INT IRQ	
loop:
	nop 
	nop 
	nop
	nop
	goto loop 
//////////////////////////////////////////////
//2Hz 时基中断
//功能:使发光二极管0.5s 点亮一次
/////////////////////////////////////////////
.text	
.public _IRQ5
_IRQ5:	
	push r1,r5 to [sp]		//保护现场

    r1 = 0x0004 	    
	test r1,[P_INT_Ctrl] 	//比较是否为2Hz的中断源
    jnz   IRQ5_2Hz			//是,则转至对应程序段  
                            //4Hz 中断的处理  
  IRQ5_4Hz:
     r1=0x0008     
     goto Exit_INT;      
                            //2Hz 中断的处理 
  IRQ5_2Hz:
    r1 = [flag];            //发光二极管标识
    [P_IOA_Data] = r1 
    r1 ^= 0xffff;
    [flag] = r1;
    r1 = 0x0004     
                            //退出中断
  Exit_INT:   
	[P_INT_Clear]=r1 
    pop r1,r5 from [sp]     //恢复现场
    RETI

⌨️ 快捷键说明

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