📄 lcd4bit.lis
字号:
00F8 05E0 ldi R16,5
00FA 10E0 ldi R17,0
00FC 8CDF xcall _waitms
00FE .dbline 105
;
; LCD4_WR4bits( 0x02); // Function Set
00FE 02E0 ldi R16,2
0100 9ADF xcall _LCD4_WR4bits
0102 .dbline 106
; LCD4_WR4bits( 0x08);
0102 08E0 ldi R16,8
0104 98DF xcall _LCD4_WR4bits
0106 .dbline 107
0106 00E0 ldi R16,<L17
0108 10E0 ldi R17,>L17
010A 0E940000 xcall lpm32
010E 10930100 sts _del+1,R17
0112 00930000 sts _del,R16
0116 30930300 sts _del+2+1,R19
011A 20930200 sts _del+2,R18
011E L20:
011E .dbline 107
011E L21:
011E .dbline 107
; DELAY;
011E 00E0 ldi R16,<L18
0120 10E0 ldi R17,>L18
0122 0E940000 xcall lpm32
0126 50900300 lds R5,_del+2+1
012A 40900200 lds R4,_del+2
012E 30900100 lds R3,_del+1
0132 20900000 lds R2,_del
0136 200E add R2,R16
0138 311E adc R3,R17
013A 421E adc R4,R18
013C 531E adc R5,R19
013E 30920100 sts _del+1,R3
0142 20920000 sts _del,R2
0146 50920300 sts _del+2+1,R5
014A 40920200 sts _del+2,R4
014E .dbline 107
014E 00E0 ldi R16,<L19
0150 10E0 ldi R17,>L19
0152 0E940000 xcall lpm32
0156 50900300 lds R5,_del+2+1
015A 40900200 lds R4,_del+2
015E 30900100 lds R3,_del+1
0162 20900000 lds R2,_del
0166 2016 cp R2,R16
0168 3106 cpc R3,R17
016A 4206 cpc R4,R18
016C 5306 cpc R5,R19
016E BCF2 brlt L20
0170 .dbline 109
;
; LCD4_WR4bits( 0x00); // Display ON/OFF
0170 0027 clr R16
0172 61DF xcall _LCD4_WR4bits
0174 .dbline 110
; LCD4_WR4bits( 0x0C); // Display ON, Curson OFF, Blink OFF
0174 0CE0 ldi R16,12
0176 5FDF xcall _LCD4_WR4bits
0178 .dbline 111
0178 00E0 ldi R16,<L17
017A 10E0 ldi R17,>L17
017C 0E940000 xcall lpm32
0180 10930100 sts _del+1,R17
0184 00930000 sts _del,R16
0188 30930300 sts _del+2+1,R19
018C 20930200 sts _del+2,R18
0190 L24:
0190 .dbline 111
0190 L25:
0190 .dbline 111
; DELAY;
0190 00E0 ldi R16,<L18
0192 10E0 ldi R17,>L18
0194 0E940000 xcall lpm32
0198 50900300 lds R5,_del+2+1
019C 40900200 lds R4,_del+2
01A0 30900100 lds R3,_del+1
01A4 20900000 lds R2,_del
01A8 200E add R2,R16
01AA 311E adc R3,R17
01AC 421E adc R4,R18
01AE 531E adc R5,R19
01B0 30920100 sts _del+1,R3
01B4 20920000 sts _del,R2
01B8 50920300 sts _del+2+1,R5
01BC 40920200 sts _del+2,R4
01C0 .dbline 111
01C0 00E0 ldi R16,<L19
01C2 10E0 ldi R17,>L19
01C4 0E940000 xcall lpm32
01C8 50900300 lds R5,_del+2+1
01CC 40900200 lds R4,_del+2
01D0 30900100 lds R3,_del+1
01D4 20900000 lds R2,_del
01D8 2016 cp R2,R16
01DA 3106 cpc R3,R17
01DC 4206 cpc R4,R18
01DE 5306 cpc R5,R19
01E0 BCF2 brlt L24
01E2 .dbline 113
;
; LCD4_WR4bits( 0x00); // Entry mode
01E2 0027 clr R16
01E4 28DF xcall _LCD4_WR4bits
01E6 .dbline 114
; LCD4_WR4bits( 0x06);
01E6 06E0 ldi R16,6
01E8 26DF xcall _LCD4_WR4bits
01EA .dbline 115
01EA 00E0 ldi R16,<L17
01EC 10E0 ldi R17,>L17
01EE 0E940000 xcall lpm32
01F2 10930100 sts _del+1,R17
01F6 00930000 sts _del,R16
01FA 30930300 sts _del+2+1,R19
01FE 20930200 sts _del+2,R18
0202 L28:
0202 .dbline 115
0202 L29:
0202 .dbline 115
; DELAY;
0202 00E0 ldi R16,<L18
0204 10E0 ldi R17,>L18
0206 0E940000 xcall lpm32
020A 50900300 lds R5,_del+2+1
020E 40900200 lds R4,_del+2
0212 30900100 lds R3,_del+1
0216 20900000 lds R2,_del
021A 200E add R2,R16
021C 311E adc R3,R17
021E 421E adc R4,R18
0220 531E adc R5,R19
0222 30920100 sts _del+1,R3
0226 20920000 sts _del,R2
022A 50920300 sts _del+2+1,R5
022E 40920200 sts _del+2,R4
0232 .dbline 115
0232 00E0 ldi R16,<L19
0234 10E0 ldi R17,>L19
0236 0E940000 xcall lpm32
023A 50900300 lds R5,_del+2+1
023E 40900200 lds R4,_del+2
0242 30900100 lds R3,_del+1
0246 20900000 lds R2,_del
024A 2016 cp R2,R16
024C 3106 cpc R3,R17
024E 4206 cpc R4,R18
0250 5306 cpc R5,R19
0252 BCF2 brlt L28
0254 .dbline 117
;
; LCD_RS_SET;
0254 2F9A sbi 0x5,7
0256 .dbline 118
; waitms(5);
0256 05E0 ldi R16,5
0258 10E0 ldi R17,0
025A DDDE xcall _waitms
025C .dbline -2
025C .dbline 119
; }
025C L12:
025C .dbline 0 ; func end
025C 0895 ret
025E .dbfunc s LCD4_Clear _LCD4_Clear fI
.even
025E _LCD4_Clear::
025E .dbline -1
025E .dbline 122
;
; void LCD4_Clear(void)
; {
025E .dbline 123
; LCD_RS_CLR;
025E 2F98 cbi 0x5,7
0260 .dbline 124
0260 00E0 ldi R16,<L17
0262 10E0 ldi R17,>L17
0264 0E940000 xcall lpm32
0268 10930100 sts _del+1,R17
026C 00930000 sts _del,R16
0270 30930300 sts _del+2+1,R19
0274 20930200 sts _del+2,R18
0278 L33:
0278 .dbline 124
0278 L34:
0278 .dbline 124
; DELAY;
0278 00E0 ldi R16,<L18
027A 10E0 ldi R17,>L18
027C 0E940000 xcall lpm32
0280 50900300 lds R5,_del+2+1
0284 40900200 lds R4,_del+2
0288 30900100 lds R3,_del+1
028C 20900000 lds R2,_del
0290 200E add R2,R16
0292 311E adc R3,R17
0294 421E adc R4,R18
0296 531E adc R5,R19
0298 30920100 sts _del+1,R3
029C 20920000 sts _del,R2
02A0 50920300 sts _del+2+1,R5
02A4 40920200 sts _del+2,R4
02A8 .dbline 124
02A8 00E0 ldi R16,<L19
02AA 10E0 ldi R17,>L19
02AC 0E940000 xcall lpm32
02B0 50900300 lds R5,_del+2+1
02B4 40900200 lds R4,_del+2
02B8 30900100 lds R3,_del+1
02BC 20900000 lds R2,_del
02C0 2016 cp R2,R16
02C2 3106 cpc R3,R17
02C4 4206 cpc R4,R18
02C6 5306 cpc R5,R19
02C8 BCF2 brlt L33
02CA .dbline 125
; LCD4_WR4bits( 0x00); // Clear Display
02CA 0027 clr R16
02CC B4DE xcall _LCD4_WR4bits
02CE .dbline 126
; LCD4_WR4bits( 0x01);
02CE 01E0 ldi R16,1
02D0 B2DE xcall _LCD4_WR4bits
02D2 .dbline 127
02D2 00E0 ldi R16,<L17
02D4 10E0 ldi R17,>L17
02D6 0E940000 xcall lpm32
02DA 10930100 sts _del+1,R17
02DE 00930000 sts _del,R16
02E2 30930300 sts _del+2+1,R19
02E6 20930200 sts _del+2,R18
02EA L37:
02EA .dbline 127
02EA L38:
02EA .dbline 127
; DELAY;
02EA 00E0 ldi R16,<L18
02EC 10E0 ldi R17,>L18
02EE 0E940000 xcall lpm32
02F2 50900300 lds R5,_del+2+1
02F6 40900200 lds R4,_del+2
02FA 30900100 lds R3,_del+1
02FE 20900000 lds R2,_del
0302 200E add R2,R16
0304 311E adc R3,R17
0306 421E adc R4,R18
0308 531E adc R5,R19
030A 30920100 sts _del+1,R3
030E 20920000 sts _del,R2
0312 50920300 sts _del+2+1,R5
0316 40920200 sts _del+2,R4
031A .dbline 127
031A 00E0 ldi R16,<L19
031C 10E0 ldi R17,>L19
031E 0E940000 xcall lpm32
0322 50900300 lds R5,_del+2+1
0326 40900200 lds R4,_del+2
032A 30900100 lds R3,_del+1
032E 20900000 lds R2,_del
0332 2016 cp R2,R16
0334 3106 cpc R3,R17
0336 4206 cpc R4,R18
0338 5306 cpc R5,R19
033A BCF2 brlt L37
033C .dbline 128
; LCD_RS_SET;
033C 2F9A sbi 0x5,7
033E .dbline 129
; waitms(5);
033E 05E0 ldi R16,5
0340 10E0 ldi R17,0
0342 69DE xcall _waitms
0344 .dbline -2
0344 .dbline 130
; }
0344 L32:
0344 .dbline 0 ; func end
0344 0895 ret
0346 .dbfunc s LCD4_Home _LCD4_Home fI
.even
0346 _LCD4_Home::
0346 .dbline -1
0346 .dbline 133
;
; void LCD4_Home(void)
; {
0346 .dbline 134
; LCD_RS_CLR;
0346 2F98 cbi 0x5,7
0348 .dbline 135
0348 00E0 ldi R16,<L17
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -