📄 lcd4bit.lis
字号:
034A 10E0 ldi R17,>L17
034C 0E940000 xcall lpm32
0350 10930100 sts _del+1,R17
0354 00930000 sts _del,R16
0358 30930300 sts _del+2+1,R19
035C 20930200 sts _del+2,R18
0360 L42:
0360 .dbline 135
0360 L43:
0360 .dbline 135
; DELAY;
0360 00E0 ldi R16,<L18
0362 10E0 ldi R17,>L18
0364 0E940000 xcall lpm32
0368 50900300 lds R5,_del+2+1
036C 40900200 lds R4,_del+2
0370 30900100 lds R3,_del+1
0374 20900000 lds R2,_del
0378 200E add R2,R16
037A 311E adc R3,R17
037C 421E adc R4,R18
037E 531E adc R5,R19
0380 30920100 sts _del+1,R3
0384 20920000 sts _del,R2
0388 50920300 sts _del+2+1,R5
038C 40920200 sts _del+2,R4
0390 .dbline 135
0390 00E0 ldi R16,<L19
0392 10E0 ldi R17,>L19
0394 0E940000 xcall lpm32
0398 50900300 lds R5,_del+2+1
039C 40900200 lds R4,_del+2
03A0 30900100 lds R3,_del+1
03A4 20900000 lds R2,_del
03A8 2016 cp R2,R16
03AA 3106 cpc R3,R17
03AC 4206 cpc R4,R18
03AE 5306 cpc R5,R19
03B0 BCF2 brlt L42
03B2 .dbline 136
; LCD4_WR4bits( 0x00);
03B2 0027 clr R16
03B4 40DE xcall _LCD4_WR4bits
03B6 .dbline 137
; LCD4_WR4bits( 0x02);
03B6 02E0 ldi R16,2
03B8 3EDE xcall _LCD4_WR4bits
03BA .dbline 138
03BA 00E0 ldi R16,<L17
03BC 10E0 ldi R17,>L17
03BE 0E940000 xcall lpm32
03C2 10930100 sts _del+1,R17
03C6 00930000 sts _del,R16
03CA 30930300 sts _del+2+1,R19
03CE 20930200 sts _del+2,R18
03D2 L46:
03D2 .dbline 138
03D2 L47:
03D2 .dbline 138
; DELAY;
03D2 00E0 ldi R16,<L18
03D4 10E0 ldi R17,>L18
03D6 0E940000 xcall lpm32
03DA 50900300 lds R5,_del+2+1
03DE 40900200 lds R4,_del+2
03E2 30900100 lds R3,_del+1
03E6 20900000 lds R2,_del
03EA 200E add R2,R16
03EC 311E adc R3,R17
03EE 421E adc R4,R18
03F0 531E adc R5,R19
03F2 30920100 sts _del+1,R3
03F6 20920000 sts _del,R2
03FA 50920300 sts _del+2+1,R5
03FE 40920200 sts _del+2,R4
0402 .dbline 138
0402 00E0 ldi R16,<L19
0404 10E0 ldi R17,>L19
0406 0E940000 xcall lpm32
040A 50900300 lds R5,_del+2+1
040E 40900200 lds R4,_del+2
0412 30900100 lds R3,_del+1
0416 20900000 lds R2,_del
041A 2016 cp R2,R16
041C 3106 cpc R3,R17
041E 4206 cpc R4,R18
0420 5306 cpc R5,R19
0422 BCF2 brlt L46
0424 .dbline 139
; LCD_RS_SET;
0424 2F9A sbi 0x5,7
0426 .dbline 140
; waitms(5);
0426 05E0 ldi R16,5
0428 10E0 ldi R17,0
042A F5DD xcall _waitms
042C .dbline -2
042C .dbline 141
; }
042C L41:
042C .dbline 0 ; func end
042C 0895 ret
042E .dbfunc s LCD4_Home2 _LCD4_Home2 fI
.even
042E _LCD4_Home2::
042E .dbline -1
042E .dbline 144
;
; void LCD4_Home2(void)
; {
042E .dbline 145
; LCD_RS_CLR;
042E 2F98 cbi 0x5,7
0430 .dbline 146
0430 00E0 ldi R16,<L17
0432 10E0 ldi R17,>L17
0434 0E940000 xcall lpm32
0438 10930100 sts _del+1,R17
043C 00930000 sts _del,R16
0440 30930300 sts _del+2+1,R19
0444 20930200 sts _del+2,R18
0448 L51:
0448 .dbline 146
0448 L52:
0448 .dbline 146
; DELAY;
0448 00E0 ldi R16,<L18
044A 10E0 ldi R17,>L18
044C 0E940000 xcall lpm32
0450 50900300 lds R5,_del+2+1
0454 40900200 lds R4,_del+2
0458 30900100 lds R3,_del+1
045C 20900000 lds R2,_del
0460 200E add R2,R16
0462 311E adc R3,R17
0464 421E adc R4,R18
0466 531E adc R5,R19
0468 30920100 sts _del+1,R3
046C 20920000 sts _del,R2
0470 50920300 sts _del+2+1,R5
0474 40920200 sts _del+2,R4
0478 .dbline 146
0478 00E0 ldi R16,<L19
047A 10E0 ldi R17,>L19
047C 0E940000 xcall lpm32
0480 50900300 lds R5,_del+2+1
0484 40900200 lds R4,_del+2
0488 30900100 lds R3,_del+1
048C 20900000 lds R2,_del
0490 2016 cp R2,R16
0492 3106 cpc R3,R17
0494 4206 cpc R4,R18
0496 5306 cpc R5,R19
0498 BCF2 brlt L51
049A .dbline 147
; LCD4_WR4bits( 0x0C); // Clear Display
049A 0CE0 ldi R16,12
049C CCDD xcall _LCD4_WR4bits
049E .dbline 148
; LCD4_WR4bits( 0x00);
049E 0027 clr R16
04A0 CADD xcall _LCD4_WR4bits
04A2 .dbline 149
04A2 00E0 ldi R16,<L17
04A4 10E0 ldi R17,>L17
04A6 0E940000 xcall lpm32
04AA 10930100 sts _del+1,R17
04AE 00930000 sts _del,R16
04B2 30930300 sts _del+2+1,R19
04B6 20930200 sts _del+2,R18
04BA L55:
04BA .dbline 149
04BA L56:
04BA .dbline 149
; DELAY;
04BA 00E0 ldi R16,<L18
04BC 10E0 ldi R17,>L18
04BE 0E940000 xcall lpm32
04C2 50900300 lds R5,_del+2+1
04C6 40900200 lds R4,_del+2
04CA 30900100 lds R3,_del+1
04CE 20900000 lds R2,_del
04D2 200E add R2,R16
04D4 311E adc R3,R17
04D6 421E adc R4,R18
04D8 531E adc R5,R19
04DA 30920100 sts _del+1,R3
04DE 20920000 sts _del,R2
04E2 50920300 sts _del+2+1,R5
04E6 40920200 sts _del+2,R4
04EA .dbline 149
04EA 00E0 ldi R16,<L19
04EC 10E0 ldi R17,>L19
04EE 0E940000 xcall lpm32
04F2 50900300 lds R5,_del+2+1
04F6 40900200 lds R4,_del+2
04FA 30900100 lds R3,_del+1
04FE 20900000 lds R2,_del
0502 2016 cp R2,R16
0504 3106 cpc R3,R17
0506 4206 cpc R4,R18
0508 5306 cpc R5,R19
050A BCF2 brlt L55
050C .dbline 150
; LCD_RS_SET;
050C 2F9A sbi 0x5,7
050E .dbline 151
; waitms(5);
050E 05E0 ldi R16,5
0510 10E0 ldi R17,0
0512 81DD xcall _waitms
0514 .dbline -2
0514 .dbline 152
; }
0514 L50:
0514 .dbline 0 ; func end
0514 0895 ret
0516 .dbfunc s LCD4_PutC _LCD4_PutC fI
; data -> R10
.even
0516 _LCD4_PutC::
0516 0E940000 xcall push_gset3x
051A A02E mov R10,R16
051C .dbline -1
051C .dbline 155
;
; void LCD4_PutC(unsigned char data)
; {
051C .dbline 156
; LCD4_WR4bits( data >> 4);
051C 0A2D mov R16,R10
051E 0695 lsr R16
0520 0695 lsr R16
0522 0695 lsr R16
0524 0695 lsr R16
0526 87DD xcall _LCD4_WR4bits
0528 .dbline 157
0528 00E0 ldi R16,<L17
052A 10E0 ldi R17,>L17
052C 0E940000 xcall lpm32
0530 10930100 sts _del+1,R17
0534 00930000 sts _del,R16
0538 30930300 sts _del+2+1,R19
053C 20930200 sts _del+2,R18
0540 L60:
0540 .dbline 157
0540 L61:
0540 .dbline 157
; DELAY;
0540 00E0 ldi R16,<L18
0542 10E0 ldi R17,>L18
0544 0E940000 xcall lpm32
0548 50900300 lds R5,_del+2+1
054C 40900200 lds R4,_del+2
0550 30900100 lds R3,_del+1
0554 20900000 lds R2,_del
0558 200E add R2,R16
055A 311E adc R3,R17
055C 421E adc R4,R18
055E 531E adc R5,R19
0560 30920100 sts _del+1,R3
0564 20920000 sts _del,R2
0568 50920300 sts _del+2+1,R5
056C 40920200 sts _del+2,R4
0570 .dbline 157
0570 00E0 ldi R16,<L19
0572 10E0 ldi R17,>L19
0574 0E940000 xcall lpm32
0578 50900300 lds R5,_del+2+1
057C 40900200 lds R4,_del+2
0580 30900100 lds R3,_del+1
0584 20900000 lds R2,_del
0588 2016 cp R2,R16
058A 3106 cpc R3,R17
058C 4206 cpc R4,R18
058E 5306 cpc R5,R19
0590 BCF2 brlt L60
0592 .dbline 158
; LCD4_WR4bits( data);
0592 0A2D mov R16,R10
0594 50DD xcall _LCD4_WR4bits
0596 .dbline 159
0596 00E0 ldi R16,<L17
0598 10E0 ldi R17,>L17
059A 0E940000 xcall lpm32
059E 10930100 sts _del+1,R17
05A2 00930000 sts _del,R16
05A6 30930300 sts _del+2+1,R19
05AA 20930200 sts _del+2,R18
05AE L64:
05AE .dbline 159
05AE L65:
05AE .dbline 159
; DELAY;
05AE 00E0 ldi R16,<L18
05B0 10E0 ldi R17,>L18
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -