📄 lcd_lm016l.lst
字号:
246 03D0 l30
247 ;lcd_lm016l.c: 217: case 1: LCD_WriteControl (0
+ x80 + column - 1); break;
248 03D0 0830 movf ?_LCD_Cursor,w
249 03D1 3E7F addlw 127
250 03D2 2B95 ljmp _LCD_WriteControl
251 03D3 l31
252 ;lcd_lm016l.c: 218: case 2: LCD_WriteControl (0
+ xc0 + column - 1); break;
253 03D3 0830 movf ?_LCD_Cursor,w
254 03D4 3EBF addlw -65
255 03D5 2B95 ljmp _LCD_WriteControl
256 03D6 l32
257 ;lcd_lm016l.c: 219: case 3: LCD_WriteControl (0
+ x94 + column - 1); break;
258 03D6 0830 movf ?_LCD_Cursor,w
259 03D7 3E93 addlw -109
260 03D8 2B95 ljmp _LCD_WriteControl
261 03D9 l33
262 ;lcd_lm016l.c: 220: case 4: LCD_WriteControl (0
+ xd4 + column - 1); break;
263 03D9 0830 movf ?_LCD_Cursor,w
264 03DA 3ED3 addlw -45
265 03DB 2B95 ljmp _LCD_WriteControl
266 ;lcd_lm016l.c: 221: default: break;
267 03DC l29
268 03DC 1283 bcf 3,5
269 03DD 1303 bcf 3,6 ;carry unused
270 03DE 0831 movf ?a_LCD_Cursor,w
271 03DF 3A01 xorlw 1
272 03E0 1903 btfsc 3,2
273 03E1 2BD0 goto l30
274 03E2 3A03 xorlw 3
275 03E3 1903 btfsc 3,2
276 03E4 2BD3 goto l31
277 03E5 3A01 xorlw 1
278 03E6 1903 btfsc 3,2
279 03E7 2BD6 goto l32
280 03E8 3A07 xorlw 7
281 03E9 1D03 btfss 3,2
282 03EA 0008 return
283 03EB 2BD9 goto l33
284 ;lcd_lm016l.c: 250: void LCD_Cursor_On (void)
285 ;lcd_lm016l.c: 251: {
286 03EC _LCD_Cursor_On
287 ;lcd_lm016l.c: 252: LCD_WriteControl (0x0E);
288 03EC 300E movlw 14
289 03ED 2B95 ljmp _LCD_WriteControl
290 ;lcd_lm016l.c: 257: void LCD_Cursor_Off (void)
291 ;lcd_lm016l.c: 258: {
292 03EE _LCD_Cursor_Off
293 ;lcd_lm016l.c: 259: LCD_WriteControl (0x0C);
294 03EE 300C movlw 12
295 03EF 2B95 ljmp _LCD_WriteControl
296 ;lcd_lm016l.c: 264: void LCD_Display_Off (void)
297 ;lcd_lm016l.c: 265: {
298 03F0 _LCD_Display_Off
299 ;lcd_lm016l.c: 266: LCD_WriteControl(0x08);
300 03F0 3008 movlw 8
301 03F1 2B95 ljmp _LCD_WriteControl
302 ;lcd_lm016l.c: 271: void LCD_Display_On (void)
303 ;lcd_lm016l.c: 272: {
304 03F2 _LCD_Display_On
305 ;lcd_lm016l.c: 273: LCD_WriteControl(0x0C);
306 03F2 300C movlw 12
307 03F3 2B95 ljmp _LCD_WriteControl
308 ;lcd_lm016l.c: 152: void LCD_WriteData (unsigne
+ d char Data)
309 ;lcd_lm016l.c: 153: {
310 03F4 _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 03F4 0183 clrf 3 ;select bank 0
315 03F5 00B1 movwf ?a_LCD_WriteData
316 ;lcd_lm016l.c: 155: LCD_Busy();
317 03F6 237A 120A 118A fcall _LCD_Busy
318 ;lcd_lm016l.c: 156: TRISD=0X00;
319 03F9 1683 bsf 3,5
320 03FA 0188 clrf 8 ;volatile
321 ;lcd_lm016l.c: 159: PORTD =Data & 0xf0;
322 03FB 1283 bcf 3,5
323 03FC 0831 movf ?a_LCD_WriteData,w
324 03FD 39F0 andlw -16
325 03FE 0088 movwf 8 ;volatile
326 ;lcd_lm016l.c: 160: (PORTD &= ~(1 << 1)) ;
327 03FF 1088 bcf 8,1 ;volatile
328 ;lcd_lm016l.c: 161: (PORTD |= (1 << 0));
329 0400 1408 bsf 8,0 ;volatile
330 ;lcd_lm016l.c: 162: (PORTD |= (1 << 2));
331 0401 1508 bsf 8,2 ;volatile
332 ;lcd_lm016l.c: 163: asm("nop");
333 0402 0000 nop ;#
334 ;lcd_lm016l.c: 164: asm("nop");
335 0403 0000 nop ;#
336 ;lcd_lm016l.c: 165: (PORTD &= ~(1 << 2));
337 0404 1108 bcf 8,2 ;volatile
338 ;lcd_lm016l.c: 166: PORTD = Data << 4;
339 0405 0E31 swapf ?a_LCD_WriteData,w
340 0406 39F0 andlw 240
341 0407 0088 movwf 8 ;volatile
342 ;lcd_lm016l.c: 167: (PORTD &= ~(1 << 1)) ;
343 0408 1088 bcf 8,1 ;volatile
344 ;lcd_lm016l.c: 168: (PORTD |= (1 << 0));
345 0409 1408 bsf 8,0 ;volatile
346 ;lcd_lm016l.c: 169: (PORTD |= (1 << 2));
347 040A 1508 bsf 8,2 ;volatile
348 ;lcd_lm016l.c: 170: asm("nop");
349 040B 0000 nop ;#
350 ;lcd_lm016l.c: 171: asm("nop");
351 040C 0000 nop ;#
352 ;lcd_lm016l.c: 172: (PORTD &= ~(1 << 2));
353 040D 1108 bcf 8,2 ;volatile
354 ;lcd_lm016l.c: 173: }
355 040E 0008 return
356 ;lcd_lm016l.c: 207: void LCD_DisplayCharacter (
+ char Char)
357 ;lcd_lm016l.c: 208: {
358 040F _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 040F 0183 clrf 3 ;select bank 0
363 0410 00B0 movwf ?a_LCD_DisplayCharacter
364 ;lcd_lm016l.c: 209: LCD_WriteData (Char);
365 0411 2BF4 ljmp _LCD_WriteData
366
367 psect text2
368 ;lcd_lm016l.c: 57: void delay_1ms(void)
369 ;lcd_lm016l.c: 58: {
370 032D _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 032D 0183 clrf 3 ;select bank 0
375 032E 01A4 clrf ?a_delay_1ms
376 032F 01A5 clrf ?a_delay_1ms+1
377 0330 l8
378 0330 0AA4 incf ?a_delay_1ms
379 0331 1903 btfsc 3,2
380 0332 0AA5 incf ?a_delay_1ms+1
381 0333 3002 movlw 2
382 0334 0225 subwf ?a_delay_1ms+1,w
383 0335 303A movlw 58
384 0336 1903 btfsc 3,2
385 0337 0224 subwf ?a_delay_1ms,w
386 0338 1803 btfsc 3,0
387 0339 0008 return
388 033A 2B30 goto l8
389 033B _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 033B 0183 clrf 3 ;select bank 0
394 033C 01A2 clrf ?a_delay_nms
395 033D 01A3 clrf ?a_delay_nms+1
396 ;lcd_lm016l.c: 66: for (i=0;i<n;i++)
397 033E 01A2 clrf ?a_delay_nms
398 033F 01A3 clrf ?a_delay_nms+1
399 0340 2B45 goto l15
400 0341 l12
401 ;lcd_lm016l.c: 67: {
402 ;lcd_lm016l.c: 68: delay_1ms();
403 0341 232D fcall _delay_1ms
404 ;lcd_lm016l.c: 69: }
405 0342 0AA2 incf ?a_delay_nms
406 0343 1903 btfsc 3,2
407 0344 0AA3 incf ?a_delay_nms+1
408 0345 l15
409 0345 0821 movf ?_delay_nms+1,w
410 0346 0223 subwf ?a_delay_nms+1,w
411 0347 1D03 btfss 3,2
412 0348 2B4B goto u35
413 0349 0820 movf ?_delay_nms,w
414 034A 0222 subwf ?a_delay_nms,w
415 034B u35
416 034B 1803 btfsc 3,0
417 034C 0008 return
418 034D 2B41 goto l12
419
420 psect text13
421 0311 _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 0311 0183 clrf 3 ;select bank 0
426 0312 00AF movwf ?a_LCD_DisplayString
427 ;lcd_lm016l.c: 242: LCD_Cursor (row, column);
428 0313 082D movf ?_LCD_DisplayString,w
429 0314 00B0 movwf ?_LCD_Cursor
430 0315 082F movf ?a_LCD_DisplayString,w
431 0316 120A 118A 23CD fcall _LCD_Cursor
+ 120A 118A
432 ;lcd_lm016l.c: 243: while (*string)
433 031B 2B26 goto l36
434 031C l37
435 ;lcd_lm016l.c: 244: LCD_DisplayCharacter (*stri
+ ng++);
436 031C 0AAE incf ?_LCD_DisplayString+1
437 031D 032E decf ?_LCD_DisplayString+1,w
438 031E 0084 movwf 4
439 031F 1383 bcf 3,7
440 0320 0800 movf 0,w
441 0321 120A 118A 240F fcall _LCD_DisplayCharacter
+ 120A 118A
442 0326 l36
443 0326 082E movf ?_LCD_DisplayString+1,w
444 0327 0084 movwf 4
445 0328 1383 bcf 3,7
446 0329 0880 movf 0
447 032A 1903 btfsc 3,2
448 032B 0008 return
449 032C 2B1C 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 + -