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

📄 main.lst

📁 atmega16L输入捕获经典试验已经通过验证
💻 LST
📖 第 1 页 / 共 4 页
字号:
 132 000e 1F93      		push r17
 133 0010 CF93      		push r28
 134 0012 DF93      		push r29
 135               	/* prologue end (size=4) */
 136 0014 EC01      		movw r28,r24
 137 0016 8B01      		movw r16,r22
 138               	.LBB6:
 139               	.LBB7:
 141               	.Ltext4:
 143               	.LM7:
 144 0018 85E3      		ldi r24,lo8(53)
 145               	.LBB8:
 146               	.LBB9:
 148               	.LM8:
 149               	/* #APP */
 150 001a 8A95      		1: dec r24
 151 001c F1F7      		brne 1b
 152               	/* #NOAPP */
 153               	.LBE9:
 154               	.LBE8:
 155               	.LBE7:
 156               	.LBE6:
 158               	.Ltext5:
  64:./LCD1602.h   ****  unsigned command_temp,data_temp,temp;
  65:./LCD1602.h   ****  command_temp=command;
  66:./LCD1602.h   ****  data_temp=data;
  67:./LCD1602.h   ****  _delay_us(20);
  68:./LCD1602.h   ****  if(command==0)
 160               	.LM9:
 161 001e 2097      		sbiw r28,0
 162 0020 B1F4      		brne .L19
  69:./LCD1602.h   ****  {
  70:./LCD1602.h   ****   LCD_RS_PORT|=LCD_RS;  //RS=1
 164               	.LM10:
 165 0022 A99A      		sbi 53-0x20,1
  71:./LCD1602.h   ****   temp=data_temp;
  72:./LCD1602.h   ****   data_temp=data_temp>>4;  
 167               	.LM11:
 168 0024 9B01      		movw r18,r22
 169 0026 94E0      		ldi r25,4
 170 0028 3695      	1:	lsr r19
 171 002a 2795      		ror r18
 172 002c 9A95      		dec r25
 173 002e E1F7      		brne 1b
  73:./LCD1602.h   ****   LCD_DATA_PORT&=~LCD_DATA;
 175               	.LM12:
 176 0030 82B3      		in r24,50-0x20
 177 0032 807F      		andi r24,lo8(-16)
 178 0034 82BB      		out 50-0x20,r24
  74:./LCD1602.h   ****   LCD_DATA_PORT|=data_temp&LCD_DATA;  
 180               	.LM13:
 181 0036 922F      		mov r25,r18
 182 0038 9F70      		andi r25,lo8(15)
 183 003a 82B3      		in r24,50-0x20
 184 003c 892B      		or r24,r25
 185 003e 82BB      		out 50-0x20,r24
  75:./LCD1602.h   ****   LCD_en_write();
 187               	.LM14:
 188 0040 0E94 0000 		call LCD_en_write
  76:./LCD1602.h   ****   LCD_DATA_PORT&=~LCD_DATA;
 190               	.LM15:
 191 0044 82B3      		in r24,50-0x20
 192 0046 807F      		andi r24,lo8(-16)
 193 0048 82BB      		out 50-0x20,r24
  77:./LCD1602.h   ****   LCD_DATA_PORT|=temp&LCD_DATA;  //
 195               	.LM16:
 196 004a 902F      		mov r25,r16
 197 004c 15C0      		rjmp .L21
 198               	.L19:
  78:./LCD1602.h   ****   LCD_en_write();
  79:./LCD1602.h   ****  }
  80:./LCD1602.h   ****  else
  81:./LCD1602.h   ****  {
  82:./LCD1602.h   ****   LCD_RS_PORT&=~LCD_RS;   //RS=0
 200               	.LM17:
 201 004e A998      		cbi 53-0x20,1
  83:./LCD1602.h   ****   temp=command_temp;
  84:./LCD1602.h   ****   command_temp=command_temp>>4;
 203               	.LM18:
 204 0050 9E01      		movw r18,r28
 205 0052 84E0      		ldi r24,4
 206 0054 3695      	1:	lsr r19
 207 0056 2795      		ror r18
 208 0058 8A95      		dec r24
 209 005a E1F7      		brne 1b
  85:./LCD1602.h   ****   LCD_DATA_PORT&=~LCD_DATA;
 211               	.LM19:
 212 005c 82B3      		in r24,50-0x20
 213 005e 807F      		andi r24,lo8(-16)
 214 0060 82BB      		out 50-0x20,r24
  86:./LCD1602.h   ****   LCD_DATA_PORT|=command_temp&LCD_DATA;  
 216               	.LM20:
 217 0062 922F      		mov r25,r18
 218 0064 9F70      		andi r25,lo8(15)
 219 0066 82B3      		in r24,50-0x20
 220 0068 892B      		or r24,r25
 221 006a 82BB      		out 50-0x20,r24
  87:./LCD1602.h   ****   LCD_en_write();
 223               	.LM21:
 224 006c 0E94 0000 		call LCD_en_write
  88:./LCD1602.h   ****   LCD_DATA_PORT&=~LCD_DATA;
 226               	.LM22:
 227 0070 82B3      		in r24,50-0x20
 228 0072 807F      		andi r24,lo8(-16)
 229 0074 82BB      		out 50-0x20,r24
  89:./LCD1602.h   ****   LCD_DATA_PORT|=temp&LCD_DATA; 
 231               	.LM23:
 232 0076 9C2F      		mov r25,r28
 233               	.L21:
 234 0078 9F70      		andi r25,lo8(15)
 235 007a 82B3      		in r24,50-0x20
 236 007c 892B      		or r24,r25
 237 007e 82BB      		out 50-0x20,r24
  90:./LCD1602.h   ****   LCD_en_write();
 239               	.LM24:
 240 0080 0E94 0000 		call LCD_en_write
 241               	/* epilogue: frame size=0 */
 242 0084 DF91      		pop r29
 243 0086 CF91      		pop r28
 244 0088 1F91      		pop r17
 245 008a 0F91      		pop r16
 246 008c 0895      		ret
 247               	/* epilogue end (size=5) */
 248               	/* function LCD_write_char size 67 (58) */
 257               	.Lscope1:
 261               	.global	LCD_set_xy
 263               	LCD_set_xy:
 265               	.LM25:
 266               	/* prologue: frame size=0 */
 267               	/* prologue end (size=0) */
 268 008e 982F      		mov r25,r24
 270               	.LM26:
 271 0090 6623      		tst r22
 272 0092 19F4      		brne .L23
 274               	.LM27:
 275 0094 892F      		mov r24,r25
 276 0096 8058      		subi r24,lo8(-(-128))
 277 0098 02C0      		rjmp .L24
 278               	.L23:
 280               	.LM28:
 281 009a 892F      		mov r24,r25
 282 009c 8054      		subi r24,lo8(-(-64))
 283               	.L24:
 285               	.LM29:
 286 009e 60E0      		ldi r22,lo8(0)
 287 00a0 70E0      		ldi r23,hi8(0)
 288 00a2 9927      		clr r25
 289 00a4 0E94 0000 		call LCD_write_char
 290               	/* epilogue: frame size=0 */
 291 00a8 0895      		ret
 292               	/* epilogue end (size=1) */
 293               	/* function LCD_set_xy size 14 (13) */
 298               	.Lscope2:
 300               	.global	LCD_init
 302               	LCD_init:
 304               	.LM30:
 305               	/* prologue: frame size=0 */
 306 00aa CF93      		push r28
 307 00ac DF93      		push r29
 308               	/* prologue end (size=2) */
 309 00ae E0E0      		ldi r30,lo8(0)
 310 00b0 F0E0      		ldi r31,hi8(0)
 311 00b2 C9E0      		ldi r28,lo8(9)
 312 00b4 D0E0      		ldi r29,hi8(9)
 313               	.L37:
 314               	.LBB10:
 315               	.LBB11:
 316               	.LBB12:
 317               	.LBB13:
 319               	.Ltext6:
 321               	.LM31:
 322 00b6 CF01      		movw r24,r30
 323               	/* #APP */
 324 00b8 0197      		1: sbiw r24,1
 325 00ba F1F7      		brne 1b
 326               	/* #NOAPP */
 327               	.LBE13:
 328               	.LBE12:
 329               	.LBE11:
 330               	.LBE10:
 332               	.Ltext7:
 334               	.LM32:
 335 00bc 2197      		sbiw r28,1
 336 00be D7FF      		sbrs r29,7
 337 00c0 FACF      		rjmp .L37
 338 00c2 C3E1      		ldi r28,lo8(19)
 339 00c4 D0E0      		ldi r29,hi8(19)
 340               	.L49:
 342               	.LM33:
 343 00c6 60E0      		ldi r22,lo8(0)
 344 00c8 70E0      		ldi r23,hi8(0)
 345 00ca 88E2      		ldi r24,lo8(40)
 346 00cc 90E0      		ldi r25,hi8(40)
 347 00ce 0E94 0000 		call LCD_write_char
 348               	.LBB14:
 349               	.LBB15:
 351               	.Ltext8:
 146:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	_delay_loop_1(__ticks);
 147:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** }
 148:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
 149:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
 150:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** /**
 151:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****    \ingroup avr_delay
 152:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
 153:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****    Perform a delay of \c __ms milliseconds, using _delay_loop_2().
 154:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
 155:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****    The macro F_CPU is supposed to be defined to a
 156:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****    constant defining the CPU clock frequency (in Hertz).
 157:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
 158:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****    The maximal possible delay is 262.14 ms / F_CPU in MHz.
 159:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****  */
 160:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** static __inline__ void
 161:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** _delay_ms(double __ms)
 162:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** {
 163:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	uint16_t __ticks;
 164:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	double __tmp = ((F_CPU) / 4e3) * __ms;
 165:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	if (__tmp < 1.0)
 166:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 		__ticks = 1;
 167:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	else if (__tmp > 65535)
 168:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 		__ticks = 0;	/* i.e. 65536 */
 169:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	else
 170:C:/WinAVR/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 		__ticks = (uint16_t)__tmp;
 353               	.LM34:
 354 00d2 80E3      		ldi r24,lo8(30000)
 355 00d4 95E7      		ldi r25,hi8(30000)
 356               	.LBB16:
 357               	.LBB17:
 359               	.LM35:
 360               	/* #APP */
 361 00d6 0197      		1: sbiw r24,1
 362 00d8 F1F7      		brne 1b
 363               	/* #NOAPP */
 364               	.LBE17:
 365               	.LBE16:
 366               	.LBE15:
 367               	.LBE14:
 369               	.Ltext9:
 371               	.LM36:
 372 00da 2197      		sbiw r28,1
 373 00dc D7FF      		sbrs r29,7
 374 00de F3CF      		rjmp .L49
 376               	.LM37:
 377 00e0 60E0      		ldi r22,lo8(0)
 378 00e2 70E0      		ldi r23,hi8(0)
 379 00e4 8CE0      		ldi r24,lo8(12)
 380 00e6 90E0      		ldi r25,hi8(12)
 381 00e8 0E94 0000 		call LCD_write_char
 382               	.LBB18:
 383               	.LBB19:
 385               	.Ltext10:
 387               	.LM38:
 388 00ec 80E1      		ldi r24,lo8(10000)
 389 00ee 97E2      		ldi r25,hi8(10000)
 390               	.LBB20:
 391               	.LBB21:
 393               	.LM39:
 394               	/* #APP */
 395 00f0 0197      		1: sbiw r24,1
 396 00f2 F1F7      		brne 1b
 397               	/* #NOAPP */
 398               	.LBE21:
 399               	.LBE20:
 400               	.LBE19:
 401               	.LBE18:
 403               	.Ltext11:
 405               	.LM40:

⌨️ 快捷键说明

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