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

📄 main.lst

📁 用ATmega32写的采用四线接法的LCD1602驱动程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
 334               	.LM49:
 335 0128 AB9A      		sbi 53-32,3
 336               	.LM50:
 337 012a 80E0      		ldi r24,lo8(0)
 338 012c 90E0      		ldi r25,hi8(0)
 339               	.LVL22:
 340 012e 00C0      		rjmp .L35
 341               	.L36:
 342               	.LBB112:
 343               	.LBB113:
 344               	.LM51:
 345 0130 0196      		adiw r24,1
 346               	.L35:
 347 0132 8431      		cpi r24,20
 348 0134 9105      		cpc r25,__zero_reg__
 349 0136 00F0      		brlo .L36
 350               	.LBE113:
 351               	.LBE112:
 352               	.LM52:
 353 0138 AB98      		cbi 53-32,3
 354               	.LM53:
 355 013a 80E0      		ldi r24,lo8(0)
 356 013c 90E0      		ldi r25,hi8(0)
 357               	.LVL23:
 358 013e 00C0      		rjmp .L37
 359               	.L38:
 360               	.LBB114:
 361               	.LBB115:
 362               	.LM54:
 363 0140 0196      		adiw r24,1
 364               	.L37:
 365 0142 8431      		cpi r24,20
 366 0144 9105      		cpc r25,__zero_reg__
 367 0146 00F0      		brlo .L38
 368               	.LBE115:
 369               	.LBE114:
 370               	.LM55:
 371 0148 85B3      		in r24,53-32
 372               	.LVL24:
 373 014a 8F70      		andi r24,lo8(15)
 374 014c 85BB      		out 53-32,r24
 375               	.LM56:
 376 014e 85B3      		in r24,53-32
 377 0150 0295      		swap r16
 378 0152 007F      		andi r16,lo8(-16)
 379 0154 802B      		or r24,r16
 380 0156 85BB      		out 53-32,r24
 381               	.LM57:
 382 0158 AB9A      		sbi 53-32,3
 383               	.LM58:
 384 015a AB98      		cbi 53-32,3
 385               	/* epilogue start */
 386               	.LM59:
 387 015c 1F91      		pop r17
 388               	.LVL25:
 389 015e 0F91      		pop r16
 390               	.LVL26:
 391 0160 0895      		ret
 392               	.LFE9:
 394               	.global	init_LCD
 396               	init_LCD:
 397               	.LFB10:
 398               	.LM60:
 399               	/* prologue: function */
 400               	/* frame size = 0 */
 401               	.LBB116:
 402               	.LBB117:
 403               	.LM61:
 404 0162 84B3      		in r24,52-32
 405 0164 806F      		ori r24,lo8(-16)
 406 0166 84BB      		out 52-32,r24
 407               	.LM62:
 408 0168 84B3      		in r24,52-32
 409 016a 8E60      		ori r24,lo8(14)
 410 016c 84BB      		out 52-32,r24
 411               	.LM63:
 412 016e AB98      		cbi 53-32,3
 413               	.LBE117:
 414               	.LBE116:
 415               	.LM64:
 416 0170 68E2      		ldi r22,lo8(40)
 417 0172 80E0      		ldi r24,lo8(0)
 418 0174 0E94 0000 		call write_byte_to_LCD
 419               	.LM65:
 420 0178 61E0      		ldi r22,lo8(1)
 421 017a 80E0      		ldi r24,lo8(0)
 422 017c 0E94 0000 		call write_byte_to_LCD
 423               	.LM66:
 424 0180 62E0      		ldi r22,lo8(2)
 425 0182 80E0      		ldi r24,lo8(0)
 426 0184 0E94 0000 		call write_byte_to_LCD
 427               	.LM67:
 428 0188 6CE0      		ldi r22,lo8(12)
 429 018a 80E0      		ldi r24,lo8(0)
 430 018c 0E94 0000 		call write_byte_to_LCD
 431               	.LM68:
 432 0190 64E1      		ldi r22,lo8(20)
 433 0192 80E0      		ldi r24,lo8(0)
 434 0194 0E94 0000 		call write_byte_to_LCD
 435               	/* epilogue start */
 436               	.LM69:
 437 0198 0895      		ret
 438               	.LFE10:
 440               	.global	LCD_set_xy
 442               	LCD_set_xy:
 443               	.LFB11:
 444               	.LM70:
 445               	.LVL27:
 446               	/* prologue: function */
 447               	/* frame size = 0 */
 448               	.LM71:
 449 019a 6623      		tst r22
 450 019c 01F4      		brne .L43
 451               	.LM72:
 452 019e 8058      		subi r24,lo8(-(-128))
 453               	.LVL28:
 454 01a0 00C0      		rjmp .L46
 455               	.L43:
 456               	.LM73:
 457 01a2 8054      		subi r24,lo8(-(-64))
 458               	.LVL29:
 459               	.L46:
 460 01a4 682F      		mov r22,r24
 461               	.LVL30:
 462 01a6 80E0      		ldi r24,lo8(0)
 463               	.LVL31:
 464 01a8 0E94 0000 		call write_byte_to_LCD
 465 01ac 0895      		ret
 466               	.LFE11:
 468               	.global	LCD_dis_char
 470               	LCD_dis_char:
 471               	.LFB12:
 472               	.LM74:
 473               	.LVL32:
 474 01ae 1F93      		push r17
 475               	/* prologue: function */
 476               	/* frame size = 0 */
 477 01b0 982F      		mov r25,r24
 478 01b2 142F      		mov r17,r20
 479               	.LM75:
 480 01b4 8031      		cpi r24,lo8(16)
 481 01b6 00F0      		brlo .L48
 482               	.LVL33:
 483               	.LM76:
 484 01b8 81E0      		ldi r24,lo8(1)
 485               	.LVL34:
 486 01ba 6827      		eor r22,r24
 487               	.LVL35:
 488               	.LM77:
 489 01bc 9051      		subi r25,lo8(-(-16))
 490               	.LVL36:
 491               	.L48:
 492               	.LM78:
 493 01be 892F      		mov r24,r25
 494 01c0 0E94 0000 		call LCD_set_xy
 495               	.LVL37:
 496               	.LM79:
 497 01c4 612F      		mov r22,r17
 498 01c6 81E0      		ldi r24,lo8(1)
 499 01c8 0E94 0000 		call write_byte_to_LCD
 500               	/* epilogue start */
 501               	.LM80:
 502 01cc 1F91      		pop r17
 503               	.LVL38:
 504 01ce 0895      		ret
 505               	.LFE12:
 507               	.global	LCD_dis_string
 509               	LCD_dis_string:
 510               	.LFB13:
 511               	.LM81:
 512               	.LVL39:
 513 01d0 FF92      		push r15
 514 01d2 0F93      		push r16
 515 01d4 1F93      		push r17
 516 01d6 CF93      		push r28
 517 01d8 DF93      		push r29
 518               	/* prologue: function */
 519               	/* frame size = 0 */
 520 01da 062F      		mov r16,r22
 521 01dc EA01      		movw r28,r20
 522               	.LM82:
 523 01de FF24      		clr r15
 524 01e0 F394      		inc r15
 525 01e2 00C0      		rjmp .L51
 526               	.LVL40:
 527               	.L53:
 528               	.LM83:
 529 01e4 182F      		mov r17,r24
 530 01e6 1F5F      		subi r17,lo8(-(1))
 531               	.LVL41:
 532 01e8 602F      		mov r22,r16
 533 01ea 0E94 0000 		call LCD_dis_char
 534               	.LM84:
 535 01ee 1031      		cpi r17,lo8(16)
 536 01f0 01F4      		brne .L52
 537               	.LM85:
 538 01f2 0F25      		eor r16,r15
 539 01f4 10E0      		ldi r17,lo8(0)
 540               	.L52:
 541               	.LM86:
 542 01f6 2196      		adiw r28,1
 543 01f8 812F      		mov r24,r17
 544               	.LVL42:
 545               	.L51:
 546               	.LM87:
 547 01fa 4881      		ld r20,Y
 548 01fc 4423      		tst r20
 549 01fe 01F4      		brne .L53
 550               	/* epilogue start */
 551               	.LM88:
 552 0200 DF91      		pop r29
 553 0202 CF91      		pop r28
 554               	.LVL43:
 555 0204 1F91      		pop r17
 556 0206 0F91      		pop r16
 557               	.LVL44:
 558 0208 FF90      		pop r15
 559 020a 0895      		ret
 560               	.LFE13:
 562               	.global	delay
 564               	delay:
 565               	.LFB14:
 566               	.LM89:
 567               	.LVL45:
 568               	/* prologue: function */
 569               	/* frame size = 0 */
 570 020c 00C0      		rjmp .L56
 571               	.L57:
 572               	.LM90:
 573               	/* #APP */
 574               	 ;  13 "main.c" 1
 575 020e 0000      		nop
 576               	 ;  0 "" 2
 577               	/* #NOAPP */
 578 0210 6150      		subi r22,lo8(-(-1))
 579 0212 7040      		sbci r23,hi8(-(-1))
 580 0214 8040      		sbci r24,hlo8(-(-1))
 581 0216 9040      		sbci r25,hhi8(-(-1))
 582               	.LVL46:
 583               	.L56:
 584               	.LM91:
 585 0218 6115      		cp r22,__zero_reg__
 586 021a 7105      		cpc r23,__zero_reg__
 587 021c 8105      		cpc r24,__zero_reg__
 588 021e 9105      		cpc r25,__zero_reg__
 589 0220 01F4      		brne .L57
 590               	/* epilogue start */
 591               	.LM92:
 592 0222 0895      		ret
 593               	.LFE14:
 595               		.data
 596               	.LC0:
 597 0000 5765 6C63 		.string	"Welcome"
 597      6F6D 6500 
 598               	.LC1:
 599 0008 7777 772E 		.string	"www.gxnu.edu.cn!"
 599      6778 6E75 
 599      2E65 6475 
 599      2E63 6E21 
 599      00
 600               	.LC2:
 601 0019 5465 6C3A 		.string	"Tel:5671555"
 601      3536 3731 
 601      3535 3500 
 602               	.LC3:
 603 0025 456D 6169 		.string	"Email:"
 603      6C3A 00
 604               	.LC4:
 605 002c 726F 636B 		.string	"rockjablew@163.com"
 605      6A61 626C 
 605      6577 4031 
 605      3633 2E63 
 605      6F6D 00
 606               		.text
 607               	.global	main
 609               	main:
 610               	.LFB15:
 611               	.LM93:
 612 0224 FF92      		push r15
 613 0226 0F93      		push r16
 614 0228 1F93      		push r17
 615 022a CF93      		push r28
 616 022c DF93      		push r29
 617               	/* prologue: function */
 618               	/* frame size = 0 */
 619               	.LM94:
 620 022e 0E94 0000 		call init_LCD
 621 0232 90E3      		ldi r25,lo8(48)
 622 0234 F92E      		mov r15,r25
 623               	.LVL47:
 624               	.LBB118:
 625               	.LBB119:
 626               	.LBB120:
 627               	.LBB121:
 628               	.LM95:
 629 0236 00E4      		ldi r16,lo8(8000)
 630 0238 1FE1      		ldi r17,hi8(8000)
 631               	.LBE121:
 632               	.LBE120:
 633               	.LBE119:
 634               	.LBE118:
 635               	.LBB125:
 636               	.LBB126:
 637               	.LBB127:
 638               	.LBB128:
 639 023a C0E9      		ldi r28,lo8(400)
 640 023c D1E0      		ldi r29,hi8(400)
 641               	.LVL48:
 642               	.L66:
 643               	.LBE128:
 644               	.LBE127:
 645               	.LBE126:
 646               	.LBE125:
 647               	.LM96:
 648 023e 61E0      		ldi r22,lo8(1)
 649 0240 80E0      		ldi r24,lo8(0)
 650               	.LVL49:
 651 0242 0E94 0000 		call write_byte_to_LCD
 652               	.LVL50:

⌨️ 快捷键说明

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