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

📄 irq.asm

📁 凌阳61单片机万年历程序
💻 ASM
字号:
.include hardware.inc
.public _IRQ5
.external _sec
.external _output
.external _light
.external _num 
.external _point


.data
printtable:								//显示段码表
.DW 0xff3F,0xff06,0xff5B,0xff4F,0xff66	//0,1,2,3,4	//0-4
.DW 0xff6D,0xff7D,0xff07,0xff7F,0xff6F	//5,6,7,8,9	//5-9
.DW 0xff77,0xff7C,0xff39,0xff5E,0xff79	//A,b,C,d,E	//10-14
.DW 0xff71,0xff3d,0xff76,0xff06,0xff0e	//F,G,H,I,J	//15-19
.DW 0xfff2,0xff38,0xff7e,0xff37,0xff3f	//K,L,M,N,O	//20-24
.DW 0xff73,0xffbf,0xfff7,0xffed,0xff78	//P,Q,R,S,T	//25-29
.DW 0xffbe,0xff62,0xff77,0xff66,0xff6a	//U,V,W,X,Y	//30-34
.DW 0xff5b,0xffFF,0xff00,0xff40,0xff80	//Z,全亮,全灭,"-","."	//35-39
.DW 0xffc0,0xff86						//"-.","!"	//40-41

                                        
.text                            
//中断程序  利用2hz中断产生秒累加sec
_IRQ5:
		PUSH r1,r5 to [SP] 	
		r1=0x0004
		TEST R1,[P_INT_Ctrl] 	
		JNZ IRQ_2Hz 			
	IRQ_4Hz:
		r1=0x0008
		[P_INT_Clear]=r1
		POP r1,r5 FROM [SP]
		RETI
	IRQ_2Hz:
		r1=0x0001 				
		[P_Watchdog_Clear]=r1
		r1=1
		r2=[_num]
		r2+=r1
		[_num]=r2
		cmp r2,2
		je l_num
	 loop:
		r1=0x0004
		[P_INT_Clear]= r1
		POP r1,r5 FROM [SP]
		RETI
	l_num:
	   r1=1
	   r2=[_sec]
	   r2+=r1
	   [_sec]=r2
	   r1=0
	   [_num]=r1
	   cmp r1,0
	   je loop
	   reti	

.code
.public _output_asm
//输出函数 
_output_asm: .proc
	r1=0
	r3=0x00ff
	[P_IOB_Data]= r1
	r2=_output
next:
	bp=printtable
	bp+=[r2++]
	r1=[bp]
	r1&=r3
	[P_IOB_Data]= r1
	call _light_loop
	r3+=0x0100					
	CMP r3,0x08ff				
	JB next
	r1=[_point]
	[P_IOB_Data]=r1
	call _light_loop

	retf
	.endp


_light_loop: .proc
	r1=[_light]
	r1+=1
long:
	r1-=1
	r1=0
	CMP r1,0
	JNE long
	retf
	.endp

⌨️ 快捷键说明

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