📄 lcd.lst
字号:
335 1 if(position>=16)return;
336 1 if(!line)
337 1 {
338 2 write_command(SET_DDRAM_ADD+position);
339 2 delay50us();
340 2 }
341 1 else
342 1 {
343 2 write_command(SET_DDRAM_ADD+0X40+position);
344 2 delay50us();
345 2 }
346 1 //write_command(DISP_ON_NCUR_B);
347 1 }
348 //////////////////////////////////////////////////////////////////
349 void displayshort(unsigned short dispdata,unsigned char count,unsigned char startposi)
350 {
351 1 unsigned char line,i;
352 1 if(startposi>=32)return;
353 1
354 1
355 1 hex2bcd(dispdata);
356 1 if(startposi>=16)
357 1 {
358 2 line=LINE2;
359 2 startposi-=16;
360 2 }
361 1 else line=LINE1;
362 1
363 1 for(i=0;i<count;i++)
364 1 {
C51 COMPILER V7.01 LCD 03/08/2007 12:09:35 PAGE 7
365 2 dispbuff[line][startposi+i]=tempbuff[5-count+i]+0x30;
366 2 }
367 1 display(line);
368 1 }
369 /////////////////////////////////////////////////////////////////////////////////////
370 void displaybcd(unsigned char dispdata,unsigned char startposi)
371 {
372 1 unsigned char line;
373 1 if(startposi>=32)return;
374 1
375 1 if(startposi>=16)
376 1 {
377 2 line=LINE2;
378 2 startposi-=16;
379 2 }
380 1 else
381 1 {
382 2 line=LINE1;
383 2 }
384 1 dispbuff[line][startposi]=(dispdata>>4)+0x30;
385 1 dispbuff[line][startposi+1]=(dispdata&0xf)+0x30;
386 1 display(line);
387 1 }
388 /////////////////////////////////////////////////////////////////////////////////////
389
C51 COMPILER V7.01 LCD 03/08/2007 12:09:35 PAGE 8
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION lcdsetrs (BEGIN)
; SOURCE LINE # 163
; SOURCE LINE # 164
; SOURCE LINE # 165
0000 758002 MOV P0,#02H
; SOURCE LINE # 166
0003 D2A3 SETB SEL573L
; SOURCE LINE # 167
0005 00 NOP
; SOURCE LINE # 168
0006 C2A3 CLR SEL573L
; SOURCE LINE # 169
0008 22 RET
; FUNCTION lcdsetrs (END)
; FUNCTION lcdclrrs (BEGIN)
; SOURCE LINE # 171
; SOURCE LINE # 172
; SOURCE LINE # 173
0000 E4 CLR A
0001 F580 MOV P0,A
; SOURCE LINE # 174
0003 D2A3 SETB SEL573L
; SOURCE LINE # 175
0005 00 NOP
; SOURCE LINE # 176
0006 C2A3 CLR SEL573L
; SOURCE LINE # 177
0008 22 RET
; FUNCTION lcdclrrs (END)
; FUNCTION _write_command (BEGIN)
; SOURCE LINE # 179
;---- Variable 'cmd' assigned to Register 'R7' ----
; SOURCE LINE # 180
; SOURCE LINE # 181
0000 120000 R LCALL lcdclrrs
; SOURCE LINE # 187
0003 8F80 MOV P0,R7
; SOURCE LINE # 188
0005 D290 SETB LCDEN
; SOURCE LINE # 189
0007 00 NOP
; SOURCE LINE # 190
0008 C290 CLR LCDEN
; SOURCE LINE # 191
000A 22 RET
; FUNCTION _write_command (END)
; FUNCTION _write_data (BEGIN)
; SOURCE LINE # 193
;---- Variable 'lcddata' assigned to Register 'R7' ----
; SOURCE LINE # 194
; SOURCE LINE # 197
0000 120000 R LCALL lcdsetrs
; SOURCE LINE # 199
0003 8F80 MOV P0,R7
; SOURCE LINE # 200
0005 D290 SETB LCDEN
C51 COMPILER V7.01 LCD 03/08/2007 12:09:35 PAGE 9
; SOURCE LINE # 201
0007 00 NOP
; SOURCE LINE # 202
0008 C290 CLR LCDEN
; SOURCE LINE # 203
000A 22 RET
; FUNCTION _write_data (END)
; FUNCTION _displaybyte (BEGIN)
; SOURCE LINE # 207
;---- Variable 'dispposi' assigned to Register 'R6' ----
0000 CE XCH A,R6
0001 ED MOV A,R5
0002 CE XCH A,R6
;---- Variable 'dispdata' assigned to Register 'R5' ----
0003 CD XCH A,R5
0004 EF MOV A,R7
0005 CD XCH A,R5
; SOURCE LINE # 208
; SOURCE LINE # 209
0006 CF XCH A,R7
0007 EE MOV A,R6
0008 CF XCH A,R7
0009 120000 R LCALL _write_command
; SOURCE LINE # 210
000C 120000 E LCALL delay50us
; SOURCE LINE # 212
000F CF XCH A,R7
0010 ED MOV A,R5
0011 CF XCH A,R7
0012 120000 R LCALL _write_data
; SOURCE LINE # 213
0015 120000 E LCALL delay50us
; SOURCE LINE # 214
0018 22 RET
; FUNCTION _displaybyte (END)
; FUNCTION _display (BEGIN)
; SOURCE LINE # 216
;---- Variable 'i' assigned to Register 'R6' ----
;---- Variable 'line' assigned to Register 'R7' ----
; SOURCE LINE # 217
; SOURCE LINE # 219
0000 EF MOV A,R7
0001 701B JNZ ?C0006
; SOURCE LINE # 220
; SOURCE LINE # 221
0003 7F80 MOV R7,#080H
0005 120000 R LCALL _write_command
; SOURCE LINE # 222
0008 120000 E LCALL delay50us
; SOURCE LINE # 223
000B E4 CLR A
000C FE MOV R6,A
000D ?C0007:
; SOURCE LINE # 224
; SOURCE LINE # 225
000D 7400 R MOV A,#LOW dispbuff
000F 2E ADD A,R6
0010 F8 MOV R0,A
0011 E6 MOV A,@R0
0012 FF MOV R7,A
C51 COMPILER V7.01 LCD 03/08/2007 12:09:35 PAGE 10
0013 120000 R LCALL _write_data
; SOURCE LINE # 226
0016 120000 E LCALL delay50us
; SOURCE LINE # 227
0019 0E INC R6
001A BE10F0 CJNE R6,#010H,?C0007
001D 22 RET
; SOURCE LINE # 228
001E ?C0006:
; SOURCE LINE # 230
; SOURCE LINE # 231
001E 7FC0 MOV R7,#0C0H
0020 120000 R LCALL _write_command
; SOURCE LINE # 232
0023 120000 E LCALL delay50us
; SOURCE LINE # 233
0026 E4 CLR A
0027 FE MOV R6,A
0028 ?C0011:
; SOURCE LINE # 234
; SOURCE LINE # 235
0028 7400 R MOV A,#LOW dispbuff+010H
002A 2E ADD A,R6
002B F8 MOV R0,A
002C E6 MOV A,@R0
002D FF MOV R7,A
002E 120000 R LCALL _write_data
; SOURCE LINE # 236
0031 120000 E LCALL delay50us
; SOURCE LINE # 237
0034 0E INC R6
0035 BE10F0 CJNE R6,#010H,?C0011
; SOURCE LINE # 238
; SOURCE LINE # 239
0038 ?C0014:
0038 22 RET
; FUNCTION _display (END)
; FUNCTION _displaymessage (BEGIN)
; SOURCE LINE # 240
;---- Variable 'line' assigned to Register 'R6' ----
0000 CE XCH A,R6
0001 ED MOV A,R5
0002 CE XCH A,R6
;---- Variable 'lmess' assigned to Register 'R7' ----
; SOURCE LINE # 241
; SOURCE LINE # 244
;---- Variable 'i' assigned to Register 'R5' ----
0003 E4 CLR A
0004 FD MOV R5,A
0005 ?C0015:
; SOURCE LINE # 245
; SOURCE LINE # 246
0005 75F010 MOV B,#010H
0008 EF MOV A,R7
0009 A4 MUL AB
000A 2400 R ADD A,#LOW dispmessage
000C F582 MOV DPL,A
000E E5F0 MOV A,B
0010 3400 R ADDC A,#HIGH dispmessage
0012 F583 MOV DPH,A
0014 E582 MOV A,DPL
C51 COMPILER V7.01 LCD 03/08/2007 12:09:35 PAGE 11
0016 2D ADD A,R5
0017 F582 MOV DPL,A
0019 E4 CLR A
001A 3583 ADDC A,DPH
001C F583 MOV DPH,A
001E E4 CLR A
001F 93 MOVC A,@A+DPTR
0020 FC MOV R4,A
0021 EE MOV A,R6
0022 C4 SWAP A
0023 54F0 ANL A,#0F0H
0025 2400 R ADD A,#LOW dispbuff
0027 2D ADD A,R5
0028 F8 MOV R0,A
0029 EC MOV A,R4
002A F6 MOV @R0,A
; SOURCE LINE # 247
002B 0D INC R5
002C BD10D6 CJNE R5,#010H,?C0015
002F ?C0016:
; SOURCE LINE # 250
002F CF XCH A,R7
0030 EE MOV A,R6
0031 CF XCH A,R7
0032 120000 R LCALL _display
; SOURCE LINE # 252
0035 22 RET
; FUNCTION _displaymessage (END)
; FUNCTION displayMain (BEGIN)
; SOURCE LINE # 253
; SOURCE LINE # 254
; SOURCE LINE # 256
;---- Variable 'i' assigned to Register 'R7' ----
0000 E4 CLR A
0001 FF MOV R7,A
0002 ?C0019:
; SOURCE LINE # 257
; SOURCE LINE # 258
0002 EF MOV A,R7
0003 900000 R MOV DPTR,#dispmessage
0006 93 MOVC A,@A+DPTR
0007 FE MOV R6,A
0008 7400 R MOV A,#LOW dispbuff
000A 2F ADD A,R7
000B F8 MOV R0,A
000C EE MOV A,R6
000D F6 MOV @R0,A
; SOURCE LINE # 259
000E 0F INC R7
000F BF10F0 CJNE R7,#010H,?C0019
0012 ?C0020:
; SOURCE LINE # 261
0012 120000 E LCALL readFunctions
0015 EF MOV A,R7
0016 2431 ADD A,#031H
0018 7800 R MOV R0,#LOW dispbuff+0EH
001A F6 MOV @R0,A
; SOURCE LINE # 262
001B E4 CLR A
001C FF MOV R7,A
001D 120000 R LCALL _display
C51 COMPILER V7.01 LCD 03/08/2007 12:09:35 PAGE 12
; SOURCE LINE # 263
0020 22 RET
; FUNCTION displayMain (END)
; FUNCTION displaytimeee (BEGIN)
; SOURCE LINE # 266
; SOURCE LINE # 267
; SOURCE LINE # 268
0000 7800 R MOV R0,#LOW dispbuff+010H
0002 7620 MOV @R0,#020H
; SOURCE LINE # 270
0004 E500 E MOV A,datetime+02H
0006 75F00A MOV B,#0AH
0009 84 DIV AB
000A 2430 ADD A,#030H
000C 08 INC R0
000D F6 MOV @R0,A
; SOURCE LINE # 271
000E E500 E MOV A,datetime+02H
0010 75F00A MOV B,#0AH
0013 84 DIV AB
0014 E5F0 MOV A,B
0016 2430 ADD A,#030H
0018 08 INC R0
0019 F6 MOV @R0,A
; SOURCE LINE # 273
001A 08 INC R0
001B 762F MOV @R0,#02FH
; SOURCE LINE # 275
001D E500 E MOV A,datetime+03H
001F 75F00A MOV B,#0AH
0022 84 DIV AB
0023 2430 ADD A,#030H
0025 08 INC R0
0026 F6 MOV @R0,A
; SOURCE LINE # 276
0027 E500 E MOV A,datetime+03H
0029 75F00A MOV B,#0AH
002C 84 DIV AB
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -