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

📄 cepark-avr

📁 CEPARK-AVR单片机教程LCD12232液晶显示实验
💻
📖 第 1 页 / 共 4 页
字号:
   1               		.file	"LCD12232.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	WriteCommand
  20               	WriteCommand:
  21               	.LFB8:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LVL0:
  26               	.LM2:
  27 0000 9927      		clr r25
  28               	.LVL1:
  29 0002 80FF      		sbrs r24,0
  30 0004 00C0      		rjmp .L2
  31               	.LM3:
  32 0006 DE9A      		sbi 59-0x20,6
  33               	.LM4:
  34 0008 DC98      		cbi 59-0x20,4
  35               	.LM5:
  36 000a DD98      		cbi 59-0x20,5
  37               	.LM6:
  38 000c 68BB      		out 56-0x20,r22
  39               	.LM7:
  40 000e DE98      		cbi 59-0x20,6
  41 0010 00C0      		rjmp .L4
  42               	.L2:
  43               	.LM8:
  44 0012 81FF      		sbrs r24,1
  45 0014 00C0      		rjmp .L5
  46               	.LM9:
  47 0016 DF9A      		sbi 59-0x20,7
  48               	.LM10:
  49 0018 DC98      		cbi 59-0x20,4
  50               	.LM11:
  51 001a DD98      		cbi 59-0x20,5
  52               	.LM12:
  53 001c 68BB      		out 56-0x20,r22
  54               	.LM13:
  55 001e DF98      		cbi 59-0x20,7
  56 0020 00C0      		rjmp .L4
  57               	.L5:
  58               	.LM14:
  59 0022 DC98      		cbi 59-0x20,4
  60               	.LM15:
  61 0024 DD98      		cbi 59-0x20,5
  62               	.LM16:
  63 0026 68BB      		out 56-0x20,r22
  64               	.L4:
  65               	.LM17:
  66 0028 DC9A      		sbi 59-0x20,4
  67               	.LM18:
  68 002a DD9A      		sbi 59-0x20,5
  69               	/* epilogue: frame size=0 */
  70 002c 0895      		ret
  71               	/* epilogue end (size=1) */
  72               	/* function WriteCommand size 23 (22) */
  73               	.LFE8:
  75               	.global	LCD_Init
  77               	LCD_Init:
  78               	.LFB7:
  79               	.LM19:
  80               	/* prologue: frame size=0 */
  81               	/* prologue end (size=0) */
  82               	.LM20:
  83 002e 62EE      		ldi r22,lo8(-30)
  84 0030 81E0      		ldi r24,lo8(1)
  85 0032 0E94 0000 		call WriteCommand
  86               	.LM21:
  87 0036 62EE      		ldi r22,lo8(-30)
  88 0038 82E0      		ldi r24,lo8(2)
  89 003a 0E94 0000 		call WriteCommand
  90               	.LM22:
  91 003e 69EA      		ldi r22,lo8(-87)
  92 0040 81E0      		ldi r24,lo8(1)
  93 0042 0E94 0000 		call WriteCommand
  94               	.LM23:
  95 0046 69EA      		ldi r22,lo8(-87)
  96 0048 82E0      		ldi r24,lo8(2)
  97 004a 0E94 0000 		call WriteCommand
  98               	.LM24:
  99 004e 6FEA      		ldi r22,lo8(-81)
 100 0050 81E0      		ldi r24,lo8(1)
 101 0052 0E94 0000 		call WriteCommand
 102               	.LM25:
 103 0056 6FEA      		ldi r22,lo8(-81)
 104 0058 82E0      		ldi r24,lo8(2)
 105 005a 0E94 0000 		call WriteCommand
 106               	/* epilogue: frame size=0 */
 107 005e 0895      		ret
 108               	/* epilogue end (size=1) */
 109               	/* function LCD_Init size 25 (24) */
 110               	.LFE7:
 112               	.global	WriteData
 114               	WriteData:
 115               	.LFB9:
 116               	.LM26:
 117               	/* prologue: frame size=0 */
 118               	/* prologue end (size=0) */
 119               	.LVL2:
 120               	.LM27:
 121 0060 9927      		clr r25
 122               	.LVL3:
 123 0062 80FF      		sbrs r24,0
 124 0064 00C0      		rjmp .L11
 125               	.LM28:
 126 0066 DE9A      		sbi 59-0x20,6
 127               	.LM29:
 128 0068 DC9A      		sbi 59-0x20,4
 129               	.LM30:
 130 006a DD98      		cbi 59-0x20,5
 131               	.LM31:
 132 006c 68BB      		out 56-0x20,r22
 133               	.LM32:
 134 006e DE98      		cbi 59-0x20,6
 135 0070 00C0      		rjmp .L13
 136               	.L11:
 137               	.LM33:
 138 0072 81FF      		sbrs r24,1
 139 0074 00C0      		rjmp .L14
 140               	.LM34:
 141 0076 DF9A      		sbi 59-0x20,7
 142               	.LM35:
 143 0078 DC9A      		sbi 59-0x20,4
 144               	.LM36:
 145 007a DD98      		cbi 59-0x20,5
 146               	.LM37:
 147 007c 68BB      		out 56-0x20,r22
 148               	.LM38:
 149 007e DF98      		cbi 59-0x20,7
 150 0080 00C0      		rjmp .L13
 151               	.L14:
 152               	.LM39:
 153 0082 DC9A      		sbi 59-0x20,4
 154               	.LM40:
 155 0084 DD98      		cbi 59-0x20,5
 156               	.LM41:
 157 0086 68BB      		out 56-0x20,r22
 158               	.L13:
 159               	.LM42:
 160 0088 DC98      		cbi 59-0x20,4
 161               	.LM43:
 162 008a DD9A      		sbi 59-0x20,5
 163               	/* epilogue: frame size=0 */
 164 008c 0895      		ret
 165               	/* epilogue end (size=1) */
 166               	/* function WriteData size 23 (22) */
 167               	.LFE9:
 169               	.global	clear_lcd
 171               	clear_lcd:
 172               	.LFB10:
 173               	.LM44:
 174               	/* prologue: frame size=0 */
 175 008e 0F93      		push r16
 176 0090 1F93      		push r17
 177               	/* prologue end (size=2) */
 178 0092 08EB      		ldi r16,lo8(-72)
 179               	.LVL4:
 180               	.LVL5:
 181               	.L18:
 182               	.LM45:
 183 0094 602F      		mov r22,r16
 184 0096 81E0      		ldi r24,lo8(1)
 185 0098 0E94 0000 		call WriteCommand
 186               	.LM46:
 187 009c 602F      		mov r22,r16
 188 009e 82E0      		ldi r24,lo8(2)
 189 00a0 0E94 0000 		call WriteCommand
 190               	.LM47:
 191 00a4 60E0      		ldi r22,lo8(0)
 192 00a6 82E0      		ldi r24,lo8(2)
 193 00a8 0E94 0000 		call WriteCommand
 194               	.LM48:
 195 00ac 60E0      		ldi r22,lo8(0)
 196 00ae 81E0      		ldi r24,lo8(1)
 197 00b0 0E94 0000 		call WriteCommand
 198 00b4 10E0      		ldi r17,lo8(0)
 199               	.L19:
 200               	.LM49:
 201 00b6 60E0      		ldi r22,lo8(0)
 202 00b8 81E0      		ldi r24,lo8(1)
 203 00ba 0E94 0000 		call WriteData
 204               	.LM50:
 205 00be 60E0      		ldi r22,lo8(0)
 206 00c0 82E0      		ldi r24,lo8(2)
 207 00c2 0E94 0000 		call WriteData
 208               	.LM51:
 209 00c6 1F5F      		subi r17,lo8(-(1))
 210 00c8 1D33      		cpi r17,lo8(61)
 211 00ca 01F4      		brne .L19
 212               	.LM52:
 213 00cc 0F5F      		subi r16,lo8(-(1))
 214 00ce 0C3B      		cpi r16,lo8(-68)
 215 00d0 01F4      		brne .L18
 216               	/* epilogue: frame size=0 */
 217 00d2 1F91      		pop r17
 218 00d4 0F91      		pop r16
 219 00d6 0895      		ret
 220               	/* epilogue end (size=3) */
 221               	/* function clear_lcd size 37 (32) */
 222               	.LFE10:
 224               	.global	tex_Write
 226               	tex_Write:
 227               	.LFB11:
 228               	.LM53:
 229               	/* prologue: frame size=0 */
 230 00d8 EF92      		push r14
 231 00da FF92      		push r15
 232 00dc 0F93      		push r16
 233 00de 1F93      		push r17
 234 00e0 CF93      		push r28
 235 00e2 DF93      		push r29
 236               	/* prologue end (size=6) */
 237               	.LVL6:
 238 00e4 7C01      		movw r14,r24
 239               	.LM54:
 240 00e6 8091 0000 		lds r24,SEL_E1
 241               	.LVL7:
 242 00ea 8823      		tst r24
 243 00ec 01F0      		breq .L28
 244               	.LM55:
 245 00ee 68EB      		ldi r22,lo8(-72)
 246 00f0 81E0      		ldi r24,lo8(1)
 247 00f2 0E94 0000 		call WriteCommand
 248               	.LM56:
 249 00f6 6091 0000 		lds r22,Add1
 250 00fa 81E0      		ldi r24,lo8(1)
 251 00fc 0E94 0000 		call WriteCommand
 252 0100 E701      		movw r28,r14
 253 0102 18E0      		ldi r17,lo8(8)
 254               	.LVL8:
 255               	.L30:
 256               	.LM57:
 257 0104 6885      		ldd r22,Y+8
 258 0106 81E0      		ldi r24,lo8(1)
 259 0108 0E94 0000 		call WriteData
 260               	.LM58:
 261 010c 1F5F      		subi r17,lo8(-(1))
 262 010e 2196      		adiw r28,1
 263 0110 1031      		cpi r17,lo8(16)
 264 0112 01F4      		brne .L30
 265               	.LM59:
 266 0114 69EB      		ldi r22,lo8(-71)
 267 0116 81E0      		ldi r24,lo8(1)
 268 0118 0E94 0000 		call WriteCommand
 269               	.LM60:
 270 011c 6091 0000 		lds r22,Add1
 271 0120 81E0      		ldi r24,lo8(1)
 272 0122 0E94 0000 		call WriteCommand
 273 0126 E701      		movw r28,r14
 274 0128 8701      		movw r16,r14
 275 012a 085F      		subi r16,lo8(-(8))
 276 012c 1F4F      		sbci r17,hi8(-(8))
 277               	.L32:
 278               	.LM61:
 279 012e 6991      		ld r22,Y+
 280 0130 81E0      		ldi r24,lo8(1)
 281 0132 0E94 0000 		call WriteData
 282               	.LM62:
 283 0136 C017      		cp r28,r16
 284 0138 D107      		cpc r29,r17
 285 013a 01F0      		breq .L33
 286               	.LVL9:
 287 013c 00C0      		rjmp .L32
 288               	.LVL10:
 289               	.L28:
 290               	.LM63:
 291 013e 68EB      		ldi r22,lo8(-72)
 292 0140 82E0      		ldi r24,lo8(2)
 293 0142 0E94 0000 		call WriteCommand
 294               	.LM64:
 295 0146 6091 0000 		lds r22,Add1
 296 014a 82E0      		ldi r24,lo8(2)
 297 014c 0E94 0000 		call WriteCommand
 298 0150 E701      		movw r28,r14
 299 0152 18E0      		ldi r17,lo8(8)
 300               	.LVL11:
 301               	.L34:
 302               	.LM65:
 303 0154 6885      		ldd r22,Y+8
 304 0156 82E0      		ldi r24,lo8(2)
 305 0158 0E94 0000 		call WriteData
 306               	.LM66:
 307 015c 1F5F      		subi r17,lo8(-(1))
 308 015e 2196      		adiw r28,1
 309 0160 1031      		cpi r17,lo8(16)
 310 0162 01F4      		brne .L34
 311               	.LM67:
 312 0164 69EB      		ldi r22,lo8(-71)
 313 0166 82E0      		ldi r24,lo8(2)
 314 0168 0E94 0000 		call WriteCommand
 315               	.LM68:
 316 016c 6091 0000 		lds r22,Add1
 317 0170 82E0      		ldi r24,lo8(2)
 318 0172 0E94 0000 		call WriteCommand
 319 0176 E701      		movw r28,r14
 320 0178 8701      		movw r16,r14
 321 017a 085F      		subi r16,lo8(-(8))
 322 017c 1F4F      		sbci r17,hi8(-(8))
 323               	.L36:
 324               	.LM69:
 325 017e 6991      		ld r22,Y+
 326 0180 82E0      		ldi r24,lo8(2)
 327 0182 0E94 0000 		call WriteData
 328               	.LM70:
 329 0186 C017      		cp r28,r16
 330 0188 D107      		cpc r29,r17
 331 018a 01F4      		brne .L36
 332               	.LVL12:
 333               	.L33:
 334               	.LM71:
 335 018c 2091 0000 		lds r18,Add1
 336 0190 822F      		mov r24,r18
 337 0192 9927      		clr r25
 338 0194 C597      		sbiw r24,53
 339 0196 04F4      		brge .L37
 340               	.LM72:
 341 0198 285F      		subi r18,lo8(-(8))
 342 019a 2093 0000 		sts Add1,r18
 343 019e 00C0      		rjmp .L44
 344               	.L37:
 345               	.LM73:
 346 01a0 1092 0000 		sts Add1,__zero_reg__
 347               	.LM74:
 348 01a4 68EB      		ldi r22,lo8(-72)
 349 01a6 82E0      		ldi r24,lo8(2)
 350 01a8 0E94 0000 		call WriteCommand
 351               	.LM75:
 352 01ac 6091 0000 		lds r22,Add1
 353 01b0 82E0      		ldi r24,lo8(2)
 354 01b2 0E94 0000 		call WriteCommand
 355 01b6 E701      		movw r28,r14
 356               	.LVL13:
 357 01b8 1CE0      		ldi r17,lo8(12)
 358               	.LVL14:
 359               	.L40:
 360               	.LM76:
 361 01ba 6C85      		ldd r22,Y+12
 362 01bc 82E0      		ldi r24,lo8(2)
 363 01be 0E94 0000 		call WriteData
 364               	.LM77:
 365 01c2 1F5F      		subi r17,lo8(-(1))
 366 01c4 2196      		adiw r28,1
 367 01c6 1031      		cpi r17,lo8(16)
 368 01c8 01F4      		brne .L40
 369               	.LM78:
 370 01ca 69EB      		ldi r22,lo8(-71)
 371 01cc 82E0      		ldi r24,lo8(2)
 372 01ce 0E94 0000 		call WriteCommand
 373               	.LM79:
 374 01d2 6091 0000 		lds r22,Add1
 375 01d6 82E0      		ldi r24,lo8(2)
 376 01d8 0E94 0000 		call WriteCommand
 377 01dc E701      		movw r28,r14
 378 01de 14E0      		ldi r17,lo8(4)
 379               	.LVL15:
 380               	.L42:
 381               	.LM80:
 382 01e0 6C81      		ldd r22,Y+4
 383 01e2 82E0      		ldi r24,lo8(2)
 384 01e4 0E94 0000 		call WriteData
 385               	.LM81:
 386 01e8 1F5F      		subi r17,lo8(-(1))
 387 01ea 2196      		adiw r28,1
 388 01ec 1830      		cpi r17,lo8(8)
 389 01ee 01F4      		brne .L42
 390               	.LM82:
 391 01f0 8091 0000 		lds r24,Add1
 392 01f4 8C5F      		subi r24,lo8(-(4))
 393 01f6 8093 0000 		sts Add1,r24
 394               	.LM83:
 395 01fa 1092 0000 		sts SEL_E1,__zero_reg__
 396               	.LVL16:
 397               	.L44:
 398               	/* epilogue: frame size=0 */
 399 01fe DF91      		pop r29
 400 0200 CF91      		pop r28
 401 0202 1F91      		pop r17
 402 0204 0F91      		pop r16
 403 0206 FF90      		pop r15
 404 0208 EF90      		pop r14
 405 020a 0895      		ret
 406               	/* epilogue end (size=7) */
 407               	/* function tex_Write size 155 (142) */
 408               	.LFE11:
 410               	.global	WriteCharacter
 412               	WriteCharacter:
 413               	.LFB12:
 414               	.LM84:
 415               	/* prologue: frame size=0 */
 416 020c EF92      		push r14
 417 020e FF92      		push r15
 418 0210 0F93      		push r16
 419 0212 1F93      		push r17
 420 0214 CF93      		push r28
 421 0216 DF93      		push r29
 422               	/* prologue end (size=6) */
 423               	.LVL17:
 424 0218 7C01      		movw r14,r24
 425               	.LM85:
 426 021a 8091 0000 		lds r24,SEL_E2
 427               	.LVL18:
 428 021e 8823      		tst r24
 429 0220 01F0      		breq .L56
 430               	.LM86:
 431 0222 6AEB      		ldi r22,lo8(-70)
 432 0224 81E0      		ldi r24,lo8(1)
 433 0226 0E94 0000 		call WriteCommand
 434               	.LM87:
 435 022a 6091 0000 		lds r22,Add2
 436 022e 81E0      		ldi r24,lo8(1)
 437 0230 0E94 0000 		call WriteCommand
 438 0234 E701      		movw r28,r14
 439 0236 10E1      		ldi r17,lo8(16)
 440               	.LVL19:
 441               	.L58:
 442               	.LM88:
 443 0238 6889      		ldd r22,Y+16
 444 023a 81E0      		ldi r24,lo8(1)
 445 023c 0E94 0000 		call WriteData
 446               	.LM89:
 447 0240 1F5F      		subi r17,lo8(-(1))
 448 0242 2196      		adiw r28,1
 449 0244 1032      		cpi r17,lo8(32)
 450 0246 01F4      		brne .L58
 451               	.LM90:
 452 0248 6BEB      		ldi r22,lo8(-69)
 453 024a 81E0      		ldi r24,lo8(1)
 454 024c 0E94 0000 		call WriteCommand
 455               	.LM91:
 456 0250 6091 0000 		lds r22,Add2

⌨️ 快捷键说明

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