📄 lcd_lm016l.lst
字号:
246 05A3 l30
247 ;lcd_lm016l.c: 217: case 1: LCD_WriteControl (0
+ x80 + column - 1); break;
248 05A3 0832 movf ?_LCD_Cursor,w
249 05A4 3E7F addlw 127
250 05A5 2D68 ljmp _LCD_WriteControl
251 05A6 l31
252 ;lcd_lm016l.c: 218: case 2: LCD_WriteControl (0
+ xc0 + column - 1); break;
253 05A6 0832 movf ?_LCD_Cursor,w
254 05A7 3EBF addlw -65
255 05A8 2D68 ljmp _LCD_WriteControl
256 05A9 l32
257 ;lcd_lm016l.c: 219: case 3: LCD_WriteControl (0
+ x94 + column - 1); break;
258 05A9 0832 movf ?_LCD_Cursor,w
259 05AA 3E93 addlw -109
260 05AB 2D68 ljmp _LCD_WriteControl
261 05AC l33
262 ;lcd_lm016l.c: 220: case 4: LCD_WriteControl (0
+ xd4 + column - 1); break;
263 05AC 0832 movf ?_LCD_Cursor,w
264 05AD 3ED3 addlw -45
265 05AE 2D68 ljmp _LCD_WriteControl
266 ;lcd_lm016l.c: 221: default: break;
267 05AF l29
268 05AF 1283 bcf 3,5
269 05B0 1303 bcf 3,6 ;carry unused
270 05B1 0833 movf ?a_LCD_Cursor,w
271 05B2 3A01 xorlw 1
272 05B3 1903 btfsc 3,2
273 05B4 2DA3 goto l30
274 05B5 3A03 xorlw 3
275 05B6 1903 btfsc 3,2
276 05B7 2DA6 goto l31
277 05B8 3A01 xorlw 1
278 05B9 1903 btfsc 3,2
279 05BA 2DA9 goto l32
280 05BB 3A07 xorlw 7
281 05BC 1D03 btfss 3,2
282 05BD 0008 return
283 05BE 2DAC goto l33
284 ;lcd_lm016l.c: 250: void LCD_Cursor_On (void)
285 ;lcd_lm016l.c: 251: {
286 05BF _LCD_Cursor_On
287 ;lcd_lm016l.c: 252: LCD_WriteControl (0x0E);
288 05BF 300E movlw 14
289 05C0 2D68 ljmp _LCD_WriteControl
290 ;lcd_lm016l.c: 257: void LCD_Cursor_Off (void)
291 ;lcd_lm016l.c: 258: {
292 05C1 _LCD_Cursor_Off
293 ;lcd_lm016l.c: 259: LCD_WriteControl (0x0C);
294 05C1 300C movlw 12
295 05C2 2D68 ljmp _LCD_WriteControl
296 ;lcd_lm016l.c: 264: void LCD_Display_Off (void)
297 ;lcd_lm016l.c: 265: {
298 05C3 _LCD_Display_Off
299 ;lcd_lm016l.c: 266: LCD_WriteControl(0x08);
300 05C3 3008 movlw 8
301 05C4 2D68 ljmp _LCD_WriteControl
302 ;lcd_lm016l.c: 271: void LCD_Display_On (void)
303 ;lcd_lm016l.c: 272: {
304 05C5 _LCD_Display_On
305 ;lcd_lm016l.c: 273: LCD_WriteControl(0x0C);
306 05C5 300C movlw 12
307 05C6 2D68 ljmp _LCD_WriteControl
308 ;lcd_lm016l.c: 152: void LCD_WriteData (unsigne
+ d char Data)
309 ;lcd_lm016l.c: 153: {
310 05C7 _LCD_WriteData
311 ; _Data assigned to ?a_LCD_WriteData+0
312 0000 _LCD_WriteData$Data set ?a_LCD_WriteData
313 ;_Data stored from w
314 05C7 0183 clrf 3 ;select bank 0
315 05C8 00B3 movwf ?a_LCD_WriteData
316 ;lcd_lm016l.c: 155: LCD_Busy();
317 05C9 254D 120A 118A fcall _LCD_Busy
318 ;lcd_lm016l.c: 156: TRISD=0X00;
319 05CC 1683 bsf 3,5
320 05CD 0188 clrf 8 ;volatile
321 ;lcd_lm016l.c: 159: PORTD =Data & 0xf0;
322 05CE 1283 bcf 3,5
323 05CF 0833 movf ?a_LCD_WriteData,w
324 05D0 39F0 andlw -16
325 05D1 0088 movwf 8 ;volatile
326 ;lcd_lm016l.c: 160: (PORTD &= ~(1 << 1)) ;
327 05D2 1088 bcf 8,1 ;volatile
328 ;lcd_lm016l.c: 161: (PORTD |= (1 << 0));
329 05D3 1408 bsf 8,0 ;volatile
330 ;lcd_lm016l.c: 162: (PORTD |= (1 << 2));
331 05D4 1508 bsf 8,2 ;volatile
332 ;lcd_lm016l.c: 163: asm("nop");
333 05D5 0000 nop ;#
334 ;lcd_lm016l.c: 164: asm("nop");
335 05D6 0000 nop ;#
336 ;lcd_lm016l.c: 165: (PORTD &= ~(1 << 2));
337 05D7 1108 bcf 8,2 ;volatile
338 ;lcd_lm016l.c: 166: PORTD = Data << 4;
339 05D8 0E33 swapf ?a_LCD_WriteData,w
340 05D9 39F0 andlw 240
341 05DA 0088 movwf 8 ;volatile
342 ;lcd_lm016l.c: 167: (PORTD &= ~(1 << 1)) ;
343 05DB 1088 bcf 8,1 ;volatile
344 ;lcd_lm016l.c: 168: (PORTD |= (1 << 0));
345 05DC 1408 bsf 8,0 ;volatile
346 ;lcd_lm016l.c: 169: (PORTD |= (1 << 2));
347 05DD 1508 bsf 8,2 ;volatile
348 ;lcd_lm016l.c: 170: asm("nop");
349 05DE 0000 nop ;#
350 ;lcd_lm016l.c: 171: asm("nop");
351 05DF 0000 nop ;#
352 ;lcd_lm016l.c: 172: (PORTD &= ~(1 << 2));
353 05E0 1108 bcf 8,2 ;volatile
354 ;lcd_lm016l.c: 173: }
355 05E1 0008 return
356 ;lcd_lm016l.c: 207: void LCD_DisplayCharacter (
+ char Char)
357 ;lcd_lm016l.c: 208: {
358 05E2 _LCD_DisplayCharacter
359 ; _Char assigned to ?a_LCD_DisplayCharacter+0
360 0000 _LCD_DisplayCharacter$Char set ?a_LCD_DisplayCh
+ aracter
361 ;_Char stored from w
362 05E2 0183 clrf 3 ;select bank 0
363 05E3 00B2 movwf ?a_LCD_DisplayCharacter
364 ;lcd_lm016l.c: 209: LCD_WriteData (Char);
365 05E4 2DC7 ljmp _LCD_WriteData
366
367 psect text2
368 ;lcd_lm016l.c: 57: void delay_1ms(void)
369 ;lcd_lm016l.c: 58: {
370 0500 _delay_1ms
371 ; _i assigned to ?a_delay_1ms+0
372 0000 _delay_1ms$i set ?a_delay_1ms
373 ;lcd_lm016l.c: 59: unsigned int i;
374 0500 0183 clrf 3 ;select bank 0
375 0501 01A4 clrf ?a_delay_1ms
376 0502 01A5 clrf ?a_delay_1ms+1
377 0503 l8
378 0503 0AA4 incf ?a_delay_1ms
379 0504 1903 btfsc 3,2
380 0505 0AA5 incf ?a_delay_1ms+1
381 0506 3002 movlw 2
382 0507 0225 subwf ?a_delay_1ms+1,w
383 0508 303A movlw 58
384 0509 1903 btfsc 3,2
385 050A 0224 subwf ?a_delay_1ms,w
386 050B 1803 btfsc 3,0
387 050C 0008 return
388 050D 2D03 goto l8
389 050E _delay_nms
390 ; _i assigned to ?a_delay_nms+0
391 0000 _delay_nms$i set ?a_delay_nms
392 ;lcd_lm016l.c: 65: unsigned int i=0;
393 050E 0183 clrf 3 ;select bank 0
394 050F 01A2 clrf ?a_delay_nms
395 0510 01A3 clrf ?a_delay_nms+1
396 ;lcd_lm016l.c: 66: for (i=0;i<n;i++)
397 0511 01A2 clrf ?a_delay_nms
398 0512 01A3 clrf ?a_delay_nms+1
399 0513 2D18 goto l15
400 0514 l12
401 ;lcd_lm016l.c: 67: {
402 ;lcd_lm016l.c: 68: delay_1ms();
403 0514 2500 fcall _delay_1ms
404 ;lcd_lm016l.c: 69: }
405 0515 0AA2 incf ?a_delay_nms
406 0516 1903 btfsc 3,2
407 0517 0AA3 incf ?a_delay_nms+1
408 0518 l15
409 0518 0821 movf ?_delay_nms+1,w
410 0519 0223 subwf ?a_delay_nms+1,w
411 051A 1D03 btfss 3,2
412 051B 2D1E goto u35
413 051C 0820 movf ?_delay_nms,w
414 051D 0222 subwf ?a_delay_nms,w
415 051E u35
416 051E 1803 btfsc 3,0
417 051F 0008 return
418 0520 2D14 goto l12
419
420 psect text13
421 04E4 _LCD_DisplayString
422 ; _row assigned to ?a_LCD_DisplayString+0
423 0000 _LCD_DisplayString$row set ?a_LCD_DisplayString
424 ;_row stored from w
425 04E4 0183 clrf 3 ;select bank 0
426 04E5 00B1 movwf ?a_LCD_DisplayString
427 ;lcd_lm016l.c: 242: LCD_Cursor (row, column);
428 04E6 082F movf ?_LCD_DisplayString,w
429 04E7 00B2 movwf ?_LCD_Cursor
430 04E8 0831 movf ?a_LCD_DisplayString,w
431 04E9 120A 118A 25A0 fcall _LCD_Cursor
+ 120A 118A
432 ;lcd_lm016l.c: 243: while (*string)
433 04EE 2CF9 goto l36
434 04EF l37
435 ;lcd_lm016l.c: 244: LCD_DisplayCharacter (*stri
+ ng++);
436 04EF 0AB0 incf ?_LCD_DisplayString+1
437 04F0 0330 decf ?_LCD_DisplayString+1,w
438 04F1 0084 movwf 4
439 04F2 1383 bcf 3,7
440 04F3 0800 movf 0,w
441 04F4 120A 118A 25E2 fcall _LCD_DisplayCharacter
+ 120A 118A
442 04F9 l36
443 04F9 0830 movf ?_LCD_DisplayString+1,w
444 04FA 0084 movwf 4
445 04FB 1383 bcf 3,7
446 04FC 0880 movf 0
447 04FD 1903 btfsc 3,2
448 04FE 0008 return
449 04FF 2CEF goto l37
450
451 psect text18
452 0000
453 0000
454 0000
455 0000
456 0000
457 0000
458 0000
459 0000
460 0000
461 0000
462 0000
463 0000
464 0000
465 0000
466 0000
467 0000
468 0000
469 0000
470 0000
471 0000
472 0000
473 0000
474 0000
475 0000
476 0000
477 0000
478 0000
479 0000
480 0000
481 0000
482 0000
483 0000
484 0000
485 0000
486 0000
487 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -