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

📄 key.s

📁 433M收发,内有PCB(用99打开),源程序ICC打开,用了IC发送和三极管两种,接收用RX3310
💻 S
字号:
	.module key.c
	.area text(rom, con, rel)
	.dbfile E:\abol\file\EMD\programme\key.c
	.dbfunc e key_1 _key_1 fc
;          ktime -> R20
	.even
_key_1::
	rcall push_gset1
	.dbline -1
	.dbline 17
; /********************************************************/
; /*         			ABOL      			  				*/
; /*                868MHZ数码管显示接收器   				*/
; /*     作者:于朝晖     2008-5-24 9:30:00  				*/
; /*     目标MCU:MEGA16  晶振:INT RC 8MHZ  				*/
; /* 文件名称:key.c      	键盘(按键)   				*/
; /* 编译:ICC-AVR application builder					*/
; /* 当前版本: 1.0										*/
; /* 修改日期: 2008.5.24										*/
; /********************************************************/
; #include <iom88v.h> 
; #include <macros.h>
; #include "init.h"
; #include "delay.h"
; 
; unsigned char key_1(void)                      //判键盘是否活动函数
; { 
	.dbline 18
;   unsigned char ktime=0;    
	clr R20
	.dbline 19
;   if((PIND&0x80)==0)
	sbic 0x9,7
	rjmp L2
	.dbline 20
;   {//8
	.dbline 21
;   delay(50);
	ldi R16,50
	ldi R17,0
	rcall _delay
	.dbline 22
;   if((PIND&0x80)==0)
	sbic 0x9,7
	rjmp L4
	.dbline 23
;     {
	rjmp L7
L6:
	.dbline 25
; 		while(!(PIND&0x80)) 
; 		{
	.dbline 26
; 		WDR();
	wdr
	.dbline 27
; 		delay(100); 
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 28
; 		ktime++;	 
	inc R20
	.dbline 29
; 			if(ktime>20)
	ldi R24,20
	cp R24,R20
	brsh L9
	.dbline 30
; 		    {
	.dbline 31
; 			return 2;
	ldi R16,2
	rjmp L1
L9:
	.dbline 33
L7:
	.dbline 24
	sbis 0x9,7
	rjmp L6
	.dbline 34
; 			} 
; 		} 
; 	return 1;
	ldi R16,1
	rjmp L1
L4:
	.dbline 36
; 	 }
;    }
L2:
	.dbline 37
;   	 return 0;	
	clr R16
	.dbline -2
L1:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r ktime 20 c
	.dbend
	.dbfunc e key_2 _key_2 fc
;          ktime -> R20
	.even
_key_2::
	rcall push_gset1
	.dbline -1
	.dbline 42
; 
; }
;  
; unsigned char key_2(void)                      //判键盘是否活动函数
; { 
	.dbline 43
;   unsigned char ktime=0;   
	clr R20
	.dbline 44
;   if((PIND&0x40)==0)
	sbic 0x9,6
	rjmp L12
	.dbline 45
;   {//8
	.dbline 46
;   delay(50);
	ldi R16,50
	ldi R17,0
	rcall _delay
	.dbline 47
;   if((PIND&0x40)==0)
	sbic 0x9,6
	rjmp L14
	.dbline 48
;     {
	rjmp L17
L16:
	.dbline 50
; 		while(!(PIND&0x40)) 
; 		{
	.dbline 51
; 		WDR();
	wdr
	.dbline 52
; 		delay(100); 
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 53
; 		ktime++;	 
	inc R20
	.dbline 54
; 			if(ktime>20)
	ldi R24,20
	cp R24,R20
	brsh L19
	.dbline 55
; 		    {
	.dbline 56
; 			return 2;
	ldi R16,2
	rjmp L11
L19:
	.dbline 58
L17:
	.dbline 49
	sbis 0x9,6
	rjmp L16
	.dbline 59
; 			} 
; 		} 
; 	return 1;
	ldi R16,1
	rjmp L11
L14:
	.dbline 61
; 	 }
;    }
L12:
	.dbline 62
;   	 return 0;	
	clr R16
	.dbline -2
L11:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r ktime 20 c
	.dbend
	.dbfunc e key_3 _key_3 fc
;          ktime -> R20
	.even
_key_3::
	rcall push_gset1
	.dbline -1
	.dbline 66
; 
; }  
; unsigned char key_3(void)                      //判键盘是否活动函数
; { 
	.dbline 67
;   unsigned char ktime=0;     
	clr R20
	.dbline 68
;   if((PIND&0x20)==0)
	sbic 0x9,5
	rjmp L22
	.dbline 69
;   {//8
	.dbline 70
;   delay(50);
	ldi R16,50
	ldi R17,0
	rcall _delay
	.dbline 71
;   if((PIND&0x20)==0)
	sbic 0x9,5
	rjmp L24
	.dbline 72
;     {
	rjmp L27
L26:
	.dbline 74
; 		while(!(PIND&0x20)) 
; 		{
	.dbline 75
; 		WDR();
	wdr
	.dbline 76
; 		delay(100); 
	ldi R16,100
	ldi R17,0
	rcall _delay
	.dbline 77
; 		ktime++;	 
	inc R20
	.dbline 78
; 			if(ktime>20)
	ldi R24,20
	cp R24,R20
	brsh L29
	.dbline 79
; 		    {
	.dbline 80
; 			return 2;
	ldi R16,2
	rjmp L21
L29:
	.dbline 82
L27:
	.dbline 73
	sbis 0x9,5
	rjmp L26
	.dbline 83
; 			} 
; 		} 
; 	return 1;
	ldi R16,1
	rjmp L21
L24:
	.dbline 85
; 	 }
;    }
L22:
	.dbline 86
;   	 return 0;	
	clr R16
	.dbline -2
L21:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r ktime 20 c
	.dbend

⌨️ 快捷键说明

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