📄 lcd12864.lst
字号:
264:lcd12864.c **** {
265:lcd12864.c **** lcd_print(x+i,y+j,pgm_read_byte(lcd_char++));
266:lcd12864.c **** }
267:lcd12864.c **** }
268:lcd12864.c **** }
269:lcd12864.c **** /******************************************************************************/
270:lcd12864.c **** void lcd_print816(uchar x,uchar y,const prog_uchar *lcd_char)//显示8*16字符
271:lcd12864.c **** {
272:lcd12864.c **** uchar i,j;
273:lcd12864.c **** for(i=0;i<2;i++)
274:lcd12864.c **** {
275:lcd12864.c **** for(j=0;j<8;j++)
276:lcd12864.c **** {
277:lcd12864.c **** lcd_print(x+i,y+j,pgm_read_byte(lcd_char++));
278:lcd12864.c **** }
279:lcd12864.c **** }
280:lcd12864.c **** }
281:lcd12864.c **** /******************************************************************************/
282:lcd12864.c **** void lcd_delay(void)
283:lcd12864.c **** {
74 .LM1:
75 /* prologue: frame size=0 */
76 /* prologue end (size=0) */
284:lcd12864.c **** uchar i = DELAY_COUNT;
285:lcd12864.c **** while(i--)
286:lcd12864.c **** {
287:lcd12864.c **** NOP();
78 .LM2:
79 0000 88E1 ldi r24,lo8(24)
80 .L4:
82 .LM3:
83 /* #APP */
84 0002 0000 nop
85 /* #NOAPP */
86 0004 8150 subi r24,1
87 0006 E8F7 brcc .L4
88 /* epilogue: frame size=0 */
89 0008 0895 ret
90 /* epilogue end (size=1) */
91 /* function lcd_delay size 5 (4) */
96 .global wcodeL
98 wcodeL:
100 .LM4:
101 /* prologue: frame size=0 */
102 /* prologue end (size=0) */
103 000a 982F mov r25,r24
105 .LM5:
106 000c 1ABA out 58-0x20,__zero_reg__
107 .L8:
109 .LM6:
110 000e 88B3 in r24,56-0x20
111 0010 8661 ori r24,lo8(22)
112 0012 88BB out 56-0x20,r24
114 .LM7:
115 0014 88B3 in r24,56-0x20
116 0016 867F andi r24,lo8(-10)
117 0018 88BB out 56-0x20,r24
119 .LM8:
120 001a CF99 sbic 57-0x20,7
121 001c F8CF rjmp .L8
123 .LM9:
124 001e C198 cbi 56-0x20,1
126 .LM10:
127 0020 8FEF ldi r24,lo8(-1)
128 0022 8ABB out 58-0x20,r24
130 .LM11:
131 0024 9BBB out 59-0x20,r25
133 .LM12:
134 0026 0E94 0000 call lcd_delay
136 .LM13:
137 002a C298 cbi 56-0x20,2
138 /* epilogue: frame size=0 */
139 002c 0895 ret
140 /* epilogue end (size=1) */
141 /* function wcodeL size 18 (17) */
145 .global wdataL
147 wdataL:
149 .LM14:
150 /* prologue: frame size=0 */
151 /* prologue end (size=0) */
152 002e 982F mov r25,r24
154 .LM15:
155 0030 1ABA out 58-0x20,__zero_reg__
156 .L12:
158 .LM16:
159 0032 88B3 in r24,56-0x20
160 0034 8661 ori r24,lo8(22)
161 0036 88BB out 56-0x20,r24
163 .LM17:
164 0038 88B3 in r24,56-0x20
165 003a 867F andi r24,lo8(-10)
166 003c 88BB out 56-0x20,r24
168 .LM18:
169 003e CF99 sbic 57-0x20,7
170 0040 F8CF rjmp .L12
172 .LM19:
173 0042 C198 cbi 56-0x20,1
175 .LM20:
176 0044 C09A sbi 56-0x20,0
178 .LM21:
179 0046 8FEF ldi r24,lo8(-1)
180 0048 8ABB out 58-0x20,r24
182 .LM22:
183 004a 9BBB out 59-0x20,r25
185 .LM23:
186 004c 0E94 0000 call lcd_delay
188 .LM24:
189 0050 C298 cbi 56-0x20,2
190 /* epilogue: frame size=0 */
191 0052 0895 ret
192 /* epilogue end (size=1) */
193 /* function wdataL size 19 (18) */
197 .global wcodeR
199 wcodeR:
201 .LM25:
202 /* prologue: frame size=0 */
203 /* prologue end (size=0) */
204 0054 982F mov r25,r24
206 .LM26:
207 0056 1ABA out 58-0x20,__zero_reg__
208 .L16:
210 .LM27:
211 0058 88B3 in r24,56-0x20
212 005a 8E60 ori r24,lo8(14)
213 005c 88BB out 56-0x20,r24
215 .LM28:
216 005e 88B3 in r24,56-0x20
217 0060 8E7E andi r24,lo8(-18)
218 0062 88BB out 56-0x20,r24
220 .LM29:
221 0064 CF99 sbic 57-0x20,7
222 0066 F8CF rjmp .L16
224 .LM30:
225 0068 C198 cbi 56-0x20,1
227 .LM31:
228 006a 8FEF ldi r24,lo8(-1)
229 006c 8ABB out 58-0x20,r24
231 .LM32:
232 006e 9BBB out 59-0x20,r25
234 .LM33:
235 0070 0E94 0000 call lcd_delay
237 .LM34:
238 0074 C298 cbi 56-0x20,2
239 /* epilogue: frame size=0 */
240 0076 0895 ret
241 /* epilogue end (size=1) */
242 /* function wcodeR size 18 (17) */
246 .global wdataR
248 wdataR:
250 .LM35:
251 /* prologue: frame size=0 */
252 /* prologue end (size=0) */
253 0078 982F mov r25,r24
255 .LM36:
256 007a 1ABA out 58-0x20,__zero_reg__
257 .L20:
259 .LM37:
260 007c 88B3 in r24,56-0x20
261 007e 8E60 ori r24,lo8(14)
262 0080 88BB out 56-0x20,r24
264 .LM38:
265 0082 88B3 in r24,56-0x20
266 0084 8E7E andi r24,lo8(-18)
267 0086 88BB out 56-0x20,r24
269 .LM39:
270 0088 CF99 sbic 57-0x20,7
271 008a F8CF rjmp .L20
273 .LM40:
274 008c C198 cbi 56-0x20,1
276 .LM41:
277 008e C09A sbi 56-0x20,0
279 .LM42:
280 0090 8FEF ldi r24,lo8(-1)
281 0092 8ABB out 58-0x20,r24
283 .LM43:
284 0094 9BBB out 59-0x20,r25
286 .LM44:
287 0096 0E94 0000 call lcd_delay
289 .LM45:
290 009a C298 cbi 56-0x20,2
291 /* epilogue: frame size=0 */
292 009c 0895 ret
293 /* epilogue end (size=1) */
294 /* function wdataR size 19 (18) */
297 .global lcd_init
299 lcd_init:
301 .LM46:
302 /* prologue: frame size=0 */
303 009e 1F93 push r17
304 00a0 CF93 push r28
305 /* prologue end (size=2) */
307 .LM47:
308 00a2 80EC ldi r24,lo8(-64)
309 00a4 0E94 0000 call wcodeL
311 .LM48:
312 00a8 80EC ldi r24,lo8(-64)
313 00aa 0E94 0000 call wcodeR
315 .LM49:
316 00ae 8FE3 ldi r24,lo8(63)
317 00b0 0E94 0000 call wcodeL
319 .LM50:
320 00b4 8FE3 ldi r24,lo8(63)
321 00b6 0E94 0000 call wcodeR
323 .LM51:
324 00ba 10E0 ldi r17,lo8(0)
325 .L31:
327 .LM52:
328 00bc 812F mov r24,r17
329 00be 8854 subi r24,lo8(-(-72))
330 00c0 0E94 0000 call wcodeL
332 .LM53:
333 00c4 C0E0 ldi r28,lo8(0)
334 .L30:
336 .LM54:
337 00c6 8C2F mov r24,r28
338 00c8 805C subi r24,lo8(-(64))
339 00ca 0E94 0000 call wcodeL
341 .LM55:
342 00ce 80E0 ldi r24,lo8(0)
343 00d0 0E94 0000 call wdataL
345 .LM56:
346 00d4 CF5F subi r28,lo8(-(1))
347 00d6 C034 cpi r28,lo8(64)
348 00d8 B0F3 brlo .L30
350 .LM57:
351 00da 1F5F subi r17,lo8(-(1))
352 00dc 1830 cpi r17,lo8(8)
353 00de 70F3 brlo .L31
354 00e0 10E0 ldi r17,lo8(0)
355 .L39:
357 .LM58:
358 00e2 812F mov r24,r17
359 00e4 8854 subi r24,lo8(-(-72))
360 00e6 0E94 0000 call wcodeR
362 .LM59:
363 00ea C0E0 ldi r28,lo8(0)
364 .L38:
366 .LM60:
367 00ec 8C2F mov r24,r28
368 00ee 805C subi r24,lo8(-(64))
369 00f0 0E94 0000 call wcodeR
371 .LM61:
372 00f4 80E0 ldi r24,lo8(0)
373 00f6 0E94 0000 call wdataR
375 .LM62:
376 00fa CF5F subi r28,lo8(-(1))
377 00fc C034 cpi r28,lo8(64)
378 00fe B0F3 brlo .L38
380 .LM63:
381 0100 1F5F subi r17,lo8(-(1))
382 0102 1830 cpi r17,lo8(8)
383 0104 70F3 brlo .L39
384 /* epilogue: frame size=0 */
385 0106 CF91 pop r28
386 0108 1F91 pop r17
387 010a 0895 ret
388 /* epilogue end (size=3) */
389 /* function lcd_init size 55 (50) */
395 .global lcd_clear_range
397 lcd_clear_range:
399 .LM64:
400 /* prologue: frame size=0 */
401 010c 1F93 push r17
402 010e CF93 push r28
403 /* prologue end (size=2) */
404 0110 182F mov r17,r24
406 .LM65:
407 0112 C0E0 ldi r28,lo8(0)
408 .L52:
410 .LM66:
411 0114 812F mov r24,r17
412 0116 8854 subi r24,lo8(-(-72))
413 0118 0E94 0000 call wcodeL
414 011c 8C2F mov r24,r28
415 011e 805C subi r24,lo8(-(64))
416 0120 0E94 0000 call wcodeL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -