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

📄 key.lst

📁 74hc165d 做的键盘扩展程序 avr实现 独立按键 9个 与avr串行通信
💻 LST
字号:
__start:
__text_start:
    0013 E5CF      LDI	R28,0x5F
    0014 E0D4      LDI	R29,4
    0015 BFCD      OUT	0x3D,R28
    0016 BFDE      OUT	0x3E,R29
    0017 51C0      SUBI	R28,0x10
    0018 40D0      SBCI	R29,0
    0019 EA0A      LDI	R16,0xAA
    001A 8308      STD	Y+0,R16
    001B 2400      CLR	R0
    001C E6E0      LDI	R30,0x60
    001D E0F0      LDI	R31,0
    001E E010      LDI	R17,0
    001F 36E0      CPI	R30,0x60
    0020 07F1      CPC	R31,R17
    0021 F011      BEQ	0x0024
    0022 9201      ST	R0,Z+
    0023 CFFB      RJMP	0x001F
    0024 8300      STD	Z+0,R16
    0025 E2E6      LDI	R30,0x26
    0026 E0F0      LDI	R31,0
    0027 E6A0      LDI	R26,0x60
    0028 E0B0      LDI	R27,0
    0029 E010      LDI	R17,0
    002A 32E6      CPI	R30,0x26
    002B 07F1      CPC	R31,R17
    002C F021      BEQ	0x0031
    002D 95C8      LPM
    002E 9631      ADIW	R30,1
    002F 920D      ST	R0,X+
    0030 CFF9      RJMP	0x002A
    0031 D014      RCALL	_main
_exit:
    0032 CFFF      RJMP	_exit
_Delay:
  a                    --> R20
  b                    --> R22
  x                    --> R16
    0033 D04A      RCALL	push_gset2
FILE: D:\avr\key\key.c
(0001) 
(0002) #include <iom8v.h>
(0003) void Delay(int x) 
(0004) 	{
(0005) 	unsigned int a, b;
(0006) 	for (a = 100; a>0; a--)
    0034 E644      LDI	R20,0x64
    0035 E050      LDI	R21,0
    0036 C00A      RJMP	0x0041
(0007) 		for (b = 1000; b>0; b--);
    0037 EE68      LDI	R22,0xE8
    0038 E073      LDI	R23,3
    0039 C002      RJMP	0x003C
    003A 5061      SUBI	R22,1
    003B 4070      SBCI	R23,0
    003C 3060      CPI	R22,0
    003D 0767      CPC	R22,R23
    003E F7D9      BNE	0x003A
    003F 5041      SUBI	R20,1
    0040 4050      SBCI	R21,0
    0041 3040      CPI	R20,0
    0042 0745      CPC	R20,R21
    0043 F799      BNE	0x0037
    0044 D031      RCALL	pop_gset2
    0045 9508      RET
(0008) 	}
(0009) void main()
(0010) 	{
(0011) 	unsigned int i,j,ACC;
(0012) 	//ACC=0X000;
(0013)     DDRC=0XFE;
_main:
  j                    --> Y+1
  i                    --> R20
  ACC                  --> R22
    0046 EF8E      LDI	R24,0xFE
    0047 BB84      OUT	0x14,R24
(0014) 	PORTC=0XFF;
    0048 EF8F      LDI	R24,0xFF
    0049 BB85      OUT	0x15,R24
(0015) 	DDRB=0XFF;
    004A BB87      OUT	0x17,R24
(0016) 	PORTB=0XFF;
    004B BB88      OUT	0x18,R24
(0017) 	DDRD=0XFF;
    004C BB81      OUT	0x11,R24
(0018) 	PORTD=0X00;
    004D 2422      CLR	R2
    004E BA22      OUT	0x12,R2
    004F C024      RJMP	0x0074
(0019) 	while (1)
(0020) 		{	
(0021) 		//PORTB=0x00;
(0022) 			PORTC&=0B11111101;
    0050 B385      IN	R24,0x15
    0051 7F8D      ANDI	R24,0xFD
    0052 BB85      OUT	0x15,R24
(0023) 			
(0024) 			//Delay(1);
(0025) 			PORTC|=0B00000010;
    0053 9AA9      SBI	0x15,1
(0026) 	   		 for(i=9;i>0;i--)
    0054 E049      LDI	R20,0x9
    0055 E050      LDI	R21,0
    0056 C00E      RJMP	0x0065
(0027) 			 {
(0028) 			  	ACC=ACC<<1;
    0057 0F66      LSL	R22
    0058 1F77      ROL	R23
(0029) 				PORTC&=0B11111011;
    0059 B385      IN	R24,0x15
    005A 7F8B      ANDI	R24,0xFB
    005B BB85      OUT	0x15,R24
(0030) 				ACC|=(PINC&01);
    005C B383      IN	R24,0x13
    005D 2799      CLR	R25
    005E 7081      ANDI	R24,1
    005F 7090      ANDI	R25,0
    0060 2B68      OR	R22,R24
    0061 2B79      OR	R23,R25
(0031) 				PORTC|=0B00000100;		 
    0062 9AAA      SBI	0x15,2
    0063 5041      SUBI	R20,1
    0064 4050      SBCI	R21,0
    0065 3040      CPI	R20,0
    0066 0745      CPC	R20,R21
    0067 F779      BNE	0x0057
(0032) 			 }
(0033) 			// PORTC=0xfB;
(0034) 			ACC= ACC&0x1ff;
    0068 7071      ANDI	R23,1
(0035) 			if(ACC==0xff)
    0069 3F6F      CPI	R22,0xFF
    006A E0E0      LDI	R30,0
    006B 077E      CPC	R23,R30
    006C F419      BNE	0x0070
(0036) 			{PORTB=0X00;
    006D 2422      CLR	R2
    006E BA28      OUT	0x18,R2
(0037) 			}
    006F C001      RJMP	0x0071
(0038) 			else
(0039) 			 PORTB=ACC;
    0070 BB68      OUT	0x18,R22
(0040) 			// PORTC=0xff;
(0041) 			 Delay(250);
FILE: <library>
    0071 EF0A      LDI	R16,0xFA
    0072 E010      LDI	R17,0
    0073 DFBF      RCALL	_Delay
    0074 CFDB      RJMP	0x0050
    0075 9508      RET
pop_gset2:
    0076 E0E2      LDI	R30,2
    0077 C00C      RJMP	pop
push_gset5:
    0078 92FA      ST	R15,-Y
    0079 92EA      ST	R14,-Y
push_gset4:
    007A 92DA      ST	R13,-Y
    007B 92CA      ST	R12,-Y
push_gset3:
    007C 92BA      ST	R11,-Y
    007D 92AA      ST	R10,-Y
push_gset2:
    007E 937A      ST	R23,-Y
    007F 936A      ST	R22,-Y
push_gset1:
    0080 935A      ST	R21,-Y
    0081 934A      ST	R20,-Y
    0082 9508      RET
pop_gset1:
    0083 E0E1      LDI	R30,1
pop:
    0084 9149      LD	R20,Y+
    0085 9159      LD	R21,Y+
    0086 FDE0      SBRC	R30,0
    0087 9508      RET
    0088 9169      LD	R22,Y+
    0089 9179      LD	R23,Y+
    008A FDE1      SBRC	R30,1
    008B 9508      RET
    008C 90A9      LD	R10,Y+
    008D 90B9      LD	R11,Y+
    008E FDE2      SBRC	R30,2
    008F 9508      RET
    0090 90C9      LD	R12,Y+
    0091 90D9      LD	R13,Y+
    0092 FDE3      SBRC	R30,3
    0093 9508      RET
    0094 90E9      LD	R14,Y+
    0095 90F9      LD	R15,Y+
    0096 9508      RET

⌨️ 快捷键说明

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