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

📄 lcd.lst

📁 AVR(Atmega8/Atmega16) 1602液晶驱动程序
💻 LST
字号:
   1               		.file	"lcd.c"
   2               		.arch atmega16
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               	.global	ReadStatusLCM
  20               	ReadStatusLCM:
  21               	.LFB9:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 BF98      		cbi 55-0x20,7
  27               	.LM3:
  28 0002 9198      		cbi 50-0x20,1
  29               	.LM4:
  30 0004 929A      		sbi 50-0x20,2
  31               	.LM5:
  32 0006 939A      		sbi 50-0x20,3
  33               	.L2:
  34               	.LM6:
  35 0008 B799      		sbic 54-0x20,7
  36 000a 00C0      		rjmp .L2
  37               	.LM7:
  38 000c 9398      		cbi 50-0x20,3
  39               	.LM8:
  40 000e BF9A      		sbi 55-0x20,7
  41               	/* epilogue: frame size=0 */
  42 0010 0895      		ret
  43               	/* epilogue end (size=1) */
  44               	/* function ReadStatusLCM size 9 (8) */
  45               	.LFE9:
  47               	.global	WriteCommandLCM
  49               	WriteCommandLCM:
  50               	.LFB8:
  51               	.LM9:
  52               	/* prologue: frame size=0 */
  53 0012 1F93      		push r17
  54               	/* prologue end (size=1) */
  55               	.LVL0:
  56 0014 182F      		mov r17,r24
  57               	.LM10:
  58 0016 6623      		tst r22
  59 0018 01F0      		breq .L8
  60               	.LVL1:
  61               	.LM11:
  62 001a 0E94 0000 		call ReadStatusLCM
  63               	.LVL2:
  64               	.L8:
  65               	.LM12:
  66 001e 9198      		cbi 50-0x20,1
  67               	.LM13:
  68 0020 9298      		cbi 50-0x20,2
  69               	.LM14:
  70 0022 9398      		cbi 50-0x20,3
  71               	.LM15:
  72 0024 939A      		sbi 50-0x20,3
  73               	.LM16:
  74 0026 18BB      		out 56-0x20,r17
  75               	.LM17:
  76 0028 9398      		cbi 50-0x20,3
  77               	/* epilogue: frame size=0 */
  78 002a 1F91      		pop r17
  79 002c 0895      		ret
  80               	/* epilogue end (size=2) */
  81               	/* function WriteCommandLCM size 14 (11) */
  82               	.LFE8:
  84               	.global	WriteDataLCM
  86               	WriteDataLCM:
  87               	.LFB7:
  88               	.LM18:
  89               	/* prologue: frame size=0 */
  90 002e 1F93      		push r17
  91               	/* prologue end (size=1) */
  92               	.LVL3:
  93 0030 182F      		mov r17,r24
  94               	.LM19:
  95 0032 0E94 0000 		call ReadStatusLCM
  96               	.LVL4:
  97               	.LM20:
  98 0036 919A      		sbi 50-0x20,1
  99               	.LM21:
 100 0038 9298      		cbi 50-0x20,2
 101               	.LM22:
 102 003a 9398      		cbi 50-0x20,3
 103               	.LM23:
 104 003c 939A      		sbi 50-0x20,3
 105               	.LM24:
 106 003e 18BB      		out 56-0x20,r17
 107               	.LM25:
 108 0040 9398      		cbi 50-0x20,3
 109               	/* epilogue: frame size=0 */
 110 0042 1F91      		pop r17
 111 0044 0895      		ret
 112               	/* epilogue end (size=2) */
 113               	/* function WriteDataLCM size 12 (9) */
 114               	.LFE7:
 116               	.global	WriteUserImgLCM
 118               	WriteUserImgLCM:
 119               	.LFB6:
 120               	.LM26:
 121               	/* prologue: frame size=0 */
 122 0046 0F93      		push r16
 123 0048 1F93      		push r17
 124 004a CF93      		push r28
 125 004c DF93      		push r29
 126               	/* prologue end (size=4) */
 127 004e C0E0      		ldi r28,lo8(0)
 128 0050 D0E0      		ldi r29,hi8(0)
 129 0052 00E0      		ldi r16,lo8(UserImg)
 130 0054 10E0      		ldi r17,hi8(UserImg)
 131               	.L14:
 132               	.LM27:
 133 0056 61E0      		ldi r22,lo8(1)
 134 0058 9E01      		movw r18,r28
 135 005a 2064      		ori r18,lo8(64)
 136 005c 822F      		mov r24,r18
 137 005e 0E94 0000 		call WriteCommandLCM
 138               	.LM28:
 139 0062 F801      		movw r30,r16
 140 0064 8191      		ld r24,Z+
 141 0066 8F01      		movw r16,r30
 142 0068 0E94 0000 		call WriteDataLCM
 143 006c 2196      		adiw r28,1
 144               	.LM29:
 145 006e C830      		cpi r28,8
 146 0070 D105      		cpc r29,__zero_reg__
 147 0072 01F4      		brne .L14
 148               	/* epilogue: frame size=0 */
 149 0074 DF91      		pop r29
 150 0076 CF91      		pop r28
 151 0078 1F91      		pop r17
 152 007a 0F91      		pop r16
 153 007c 0895      		ret
 154               	/* epilogue end (size=5) */
 155               	/* function WriteUserImgLCM size 28 (19) */
 156               	.LFE6:
 158               	.global	DisplayOneChar
 160               	DisplayOneChar:
 161               	.LFB11:
 162               	.LM30:
 163               	/* prologue: frame size=0 */
 164 007e 1F93      		push r17
 165               	/* prologue end (size=1) */
 166               	.LVL5:
 167 0080 142F      		mov r17,r20
 168               	.LM31:
 169 0082 8F70      		andi r24,lo8(15)
 170               	.LVL6:
 171               	.LM32:
 172 0084 60FD      		sbrc r22,0
 173               	.LVL7:
 174               	.LM33:
 175 0086 8064      		ori r24,lo8(64)
 176               	.L20:
 177               	.LM34:
 178 0088 61E0      		ldi r22,lo8(1)
 179               	.LVL8:
 180 008a 8068      		ori r24,lo8(-128)
 181               	.LVL9:
 182 008c 0E94 0000 		call WriteCommandLCM
 183               	.LM35:
 184 0090 812F      		mov r24,r17
 185 0092 0E94 0000 		call WriteDataLCM
 186               	/* epilogue: frame size=0 */
 187 0096 1F91      		pop r17
 188 0098 0895      		ret
 189               	/* epilogue end (size=2) */
 190               	/* function DisplayOneChar size 15 (12) */
 191               	.LFE11:
 193               	.global	DisplayListChar
 195               	DisplayListChar:
 196               	.LFB12:
 197               	.LM36:
 198               	/* prologue: frame size=0 */
 199 009a FF92      		push r15
 200 009c 0F93      		push r16
 201 009e 1F93      		push r17
 202 00a0 CF93      		push r28
 203 00a2 DF93      		push r29
 204               	/* prologue end (size=5) */
 205               	.LVL10:
 206 00a4 062F      		mov r16,r22
 207               	.LVL11:
 208 00a6 EA01      		movw r28,r20
 209               	.LM37:
 210 00a8 0170      		andi r16,lo8(1)
 211               	.LM38:
 212 00aa 182F      		mov r17,r24
 213               	.LVL12:
 214 00ac 1F70      		andi r17,lo8(15)
 215 00ae FF24      		clr r15
 216               	.LVL13:
 217 00b0 00C0      		rjmp .L34
 218               	.LVL14:
 219               	.L25:
 220               	.LM39:
 221 00b2 1031      		cpi r17,lo8(16)
 222 00b4 00F4      		brsh .L34
 223               	.LM40:
 224 00b6 602F      		mov r22,r16
 225               	.LVL15:
 226 00b8 812F      		mov r24,r17
 227               	.LVL16:
 228 00ba 0E94 0000 		call DisplayOneChar
 229               	.LM41:
 230 00be F394      		inc r15
 231               	.LM42:
 232 00c0 1F5F      		subi r17,lo8(-(1))
 233               	.LVL17:
 234               	.L34:
 235               	.LM43:
 236 00c2 FE01      		movw r30,r28
 237 00c4 EF0D      		add r30,r15
 238 00c6 F11D      		adc r31,__zero_reg__
 239 00c8 4081      		ld r20,Z
 240 00ca 4A31      		cpi r20,lo8(26)
 241 00cc 00F4      		brsh .L25
 242               	/* epilogue: frame size=0 */
 243 00ce DF91      		pop r29
 244 00d0 CF91      		pop r28
 245 00d2 1F91      		pop r17
 246 00d4 0F91      		pop r16
 247 00d6 FF90      		pop r15
 248 00d8 0895      		ret
 249               	/* epilogue end (size=6) */
 250               	/* function DisplayListChar size 32 (21) */
 251               	.LFE12:
 253               	.global	LCMInit
 255               	LCMInit:
 256               	.LFB10:
 257               	.LM44:
 258               	/* prologue: frame size=0 */
 259 00da 0F93      		push r16
 260 00dc 1F93      		push r17
 261               	/* prologue end (size=2) */
 262               	.LBB20:
 263               	.LBB21:
 264               	.LBB22:
 265               	.LBB23:
 266               	.LM45:
 267 00de 80E3      		ldi r24,lo8(30000)
 268 00e0 95E7      		ldi r25,hi8(30000)
 269               	.LVL18:
 270               	/* #APP */
 271 00e2 0197      		1: sbiw r24,1
 272 00e4 01F4      		brne 1b
 273               	/* #NOAPP */
 274               	.LBE23:
 275               	.LBE22:
 276               	.LBE21:
 277               	.LBE20:
 278               	.LM46:
 279 00e6 60E0      		ldi r22,lo8(0)
 280 00e8 88E3      		ldi r24,lo8(56)
 281               	.LVL19:
 282 00ea 0E94 0000 		call WriteCommandLCM
 283               	.LBB24:
 284               	.LBB25:
 285               	.LBB26:
 286               	.LBB27:
 287               	.LM47:
 288 00ee 00E1      		ldi r16,lo8(10000)
 289 00f0 17E2      		ldi r17,hi8(10000)
 290 00f2 C801      		movw r24,r16
 291               	.LVL20:
 292               	/* #APP */
 293 00f4 0197      		1: sbiw r24,1
 294 00f6 01F4      		brne 1b
 295               	/* #NOAPP */
 296               	.LBE27:
 297               	.LBE26:
 298               	.LBE25:
 299               	.LBE24:
 300               	.LM48:
 301 00f8 60E0      		ldi r22,lo8(0)
 302 00fa 88E3      		ldi r24,lo8(56)
 303               	.LVL21:
 304 00fc 0E94 0000 		call WriteCommandLCM
 305               	.LBB28:
 306               	.LBB29:
 307               	.LBB30:
 308               	.LBB31:
 309               	.LM49:
 310 0100 C801      		movw r24,r16
 311               	.LVL22:
 312               	/* #APP */
 313 0102 0197      		1: sbiw r24,1
 314 0104 01F4      		brne 1b
 315               	/* #NOAPP */
 316               	.LBE31:
 317               	.LBE30:
 318               	.LBE29:
 319               	.LBE28:
 320               	.LM50:
 321 0106 60E0      		ldi r22,lo8(0)
 322 0108 88E3      		ldi r24,lo8(56)
 323               	.LVL23:
 324 010a 0E94 0000 		call WriteCommandLCM
 325               	.LBB32:
 326               	.LBB33:
 327               	.LBB34:
 328               	.LBB35:
 329               	.LM51:
 330 010e C801      		movw r24,r16
 331               	/* #APP */
 332 0110 0197      		1: sbiw r24,1
 333 0112 01F4      		brne 1b
 334               	/* #NOAPP */
 335               	.LBE35:
 336               	.LBE34:
 337               	.LBE33:
 338               	.LBE32:
 339               	.LM52:
 340 0114 61E0      		ldi r22,lo8(1)
 341 0116 88E3      		ldi r24,lo8(56)
 342 0118 0E94 0000 		call WriteCommandLCM
 343               	.LM53:
 344 011c 61E0      		ldi r22,lo8(1)
 345 011e 88E0      		ldi r24,lo8(8)
 346 0120 0E94 0000 		call WriteCommandLCM
 347               	.LM54:
 348 0124 61E0      		ldi r22,lo8(1)
 349 0126 81E0      		ldi r24,lo8(1)
 350 0128 0E94 0000 		call WriteCommandLCM
 351               	.LM55:
 352 012c 61E0      		ldi r22,lo8(1)
 353 012e 86E0      		ldi r24,lo8(6)
 354 0130 0E94 0000 		call WriteCommandLCM
 355               	.LM56:
 356 0134 61E0      		ldi r22,lo8(1)
 357 0136 8CE0      		ldi r24,lo8(12)
 358 0138 0E94 0000 		call WriteCommandLCM
 359               	.LM57:
 360 013c 0E94 0000 		call WriteUserImgLCM
 361               	/* epilogue: frame size=0 */
 362 0140 1F91      		pop r17
 363 0142 0F91      		pop r16
 364 0144 0895      		ret
 365               	/* epilogue end (size=3) */
 366               	/* function LCMInit size 62 (57) */
 367               	.LFE10:
 369               	.global	UserImg
 370               		.data
 373               	UserImg:
 374 0000 10        		.byte	16
 375 0001 06        		.byte	6
 376 0002 09        		.byte	9
 377 0003 08        		.byte	8
 378 0004 08        		.byte	8
 379 0005 09        		.byte	9
 380 0006 06        		.byte	6
 381 0007 00        		.byte	0
 454               	.Letext0:
DEFINED SYMBOLS
                            *ABS*:00000000 lcd.c
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:3      *ABS*:0000003f __SREG__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:4      *ABS*:0000003e __SP_H__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:5      *ABS*:0000003d __SP_L__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:6      *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:7      *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:20     .text:00000000 ReadStatusLCM
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:49     .text:00000012 WriteCommandLCM
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:86     .text:0000002e WriteDataLCM
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:118    .text:00000046 WriteUserImgLCM
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:373    .data:00000000 UserImg
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:160    .text:0000007e DisplayOneChar
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:195    .text:0000009a DisplayListChar
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccjCJ6A8.s:255    .text:000000da LCMInit

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss

⌨️ 快捷键说明

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