📄 lcd_a.lst
字号:
300 1 LCD_RS = DATA_FLAG;
301 1 LCD_EN = 0;
302 1 LCD_Delay();
303 1
C51 COMPILER V6.10 LCD_A 04/18/2001 16:29:40 PAGE 6
304 1 // Write the data (low nybble)
305 1 LCD_D4 = ((DATA & 0x01) == 0x01);
306 1 LCD_D5 = ((DATA & 0x02) == 0x02);
307 1 LCD_D6 = ((DATA & 0x04) == 0x04);
308 1 LCD_D7 = ((DATA & 0x08) == 0x08);
309 1
310 1 LCD_Delay();
311 1 LCD_EN = 1; // Latch the low nybble
312 1 LCD_Delay();
313 1 LCD_EN = 0;
314 1 LCD_Delay();
315 1 }
316
317
318 /*------------------------------------------------------------------*-
319
320 LCD_Control_Cursor()
321
322 This function enables or clears the cursor and moves
323 it to a specified point.
324
325 Params: Visible - Set if the cursor should be visible.
326 Blinking - Set if character should be blinking
327 Address - Address (DDRAM) we want to adjust.
328
329 -*------------------------------------------------------------------*/
330 void LCD_Control_Cursor(const bit VISIBLE, const bit BLINKING,
331 const tByte ADDRESS)
332 {
333 1 // Cursor / blinking appears at current DDRAM address
334 1 // - use SetDDRAM() to alter the cursor position
335 1 tByte Command = 0x0C;
336 1
337 1 if (VISIBLE)
338 1 {
339 2 Command |= 0x02;
340 2 }
341 1
342 1 if (BLINKING)
343 1 {
344 2 Command |= 0x01;
345 2 }
346 1
347 1 LCD_Send_Byte(Command,0);
348 1 LCD_SetDDRAM(ADDRESS);
349 1 }
350
351 /*------------------------------------------------------------------*-
352
353 LCD_SetDDRAM()
354
355 Set the DDRAM to a particular address.
356
357 Used to determine where we write to in the LCD RAM and - thus -
358 whether the text appears on Line 0, Line 1, etc.
359
360 See text for details.
361
362 Params: The DDRAM address we wish to write to.
363
364 -*------------------------------------------------------------------*/
365 void LCD_SetDDRAM(tByte ADDRESS)
C51 COMPILER V6.10 LCD_A 04/18/2001 16:29:40 PAGE 7
366 {
367 1 ADDRESS &= 0x7f;
368 1 ADDRESS |= 0x80;
369 1 LCD_Send_Byte(ADDRESS,0);
370 1 }
371
372
373 /*------------------------------------------------------------------*-
374
375 LCD_SetCGRAM
376
377 Set the CGRAM to a particular address.
378
379 Used to determine where we write to in the LCD RAM
380
381 See text for details.
382
383 Params: The CGRAM address we wish to write to
384
385 -*------------------------------------------------------------------*/
386 void LCD_SetCGRAM(tByte Address)
387 {
388 1 Address &= 0x3f;
389 1 Address |= 0x40;
390 1 LCD_Send_Byte(Address,0);
391 1 }
392
393
394 /*------------------------------------------------------------------*-
395
396 LCD_Create_Character()
397
398 Stores a user-defined character in the CG RAM. Up to 8 characters
399 may be stored in this way. Note: characters are assumed to be
400 5x8 in size: if you need 5x11 characters you will need to adapt
401 this code.
402
403 Parameters: The character data (see start of file)
404
405 -*------------------------------------------------------------------*/
406 void LCD_Create_Character(const tByte UDC_ID,
407 const tByte* const pUDC_PAT)
408 {
409 1 tByte Row;
410 1
411 1 LCD_SetCGRAM(UDC_ID << 3);
412 1
413 1 // Now write the data
414 1 for (Row = 0; Row < 8; Row++)
415 1 {
416 2 LCD_Send_Byte(pUDC_PAT[Row], 1);
417 2 }
418 1
419 1
420 1 // Make sure we next write to DD RAM
421 1 LCD_SetDDRAM(0x00);
422 1 }
423
424
425 /*------------------------------------------------------------------*-
426
427 LCD_Delay()
C51 COMPILER V6.10 LCD_A 04/18/2001 16:29:40 PAGE 8
428
429 This function provides a short delay for the LCD library.
430
431 -*------------------------------------------------------------------*/
432 void LCD_Delay(void)
433 {
434 1 int x;
435 1
436 1 x++;
437 1 x++;
438 1 x++;
439 1 }
440
441 /*------------------------------------------------------------------*-
442 ---- END OF FILE -------------------------------------------------
443 -*------------------------------------------------------------------*/
444
445
C51 COMPILER V6.10 LCD_A 04/18/2001 16:29:40 PAGE 9
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
P3 . . . . . . . . . . . . . . . . . . SFR DATA U_CHAR 00B0H 1
AC . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D6H 1
T0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
T1 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
EA . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AFH 1
T2 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
tLong. . . . . . . . . . . . . . . . . TYPEDEF ----- U_LONG ----- 4
tByte. . . . . . . . . . . . . . . . . TYPEDEF ----- U_CHAR ----- 1
P0_0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0080H 1
P1_0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0090H 1
P0_1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0081H 1
FL . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D1H 1
P2_0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A0H 1
P1_1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
P0_2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0082H 1
tWord. . . . . . . . . . . . . . . . . TYPEDEF ----- U_INT ----- 2
P3_0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
P2_1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A1H 1
P1_2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0092H 1
P0_3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0083H 1
P3_1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
P2_2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A2H 1
P1_3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0093H 1
P0_4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0084H 1
P3_2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
P2_3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A3H 1
P1_4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0094H 1
P0_5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0085H 1
EXF2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CEH 1
RD . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
P3_3 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
P2_4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A4H 1
P1_5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0095H 1
P0_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0086H 1
_LCD_Send_Byte . . . . . . . . . . . . STATIC CODE PROC 0000H -----
DATA . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
DATA_FLAG. . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
P3_4 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
P2_5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A5H 1
P1_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0096H 1
P0_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0087H 1
P3_5 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
ES . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ACH 1
P2_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A6H 1
P1_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0097H 1
P3_6 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
P2_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A7H 1
P3_7 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
LCD_Update . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Line . . . . . . . . . . . . . . . . STATIC DATA U_CHAR 0000H 1
Character. . . . . . . . . . . . . . STATIC DATA U_CHAR 0001H 1
Tests. . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
Data . . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
Update_required. . . . . . . . . . . AUTO DATA BIT 0000H 1
RI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0098H 1
CY . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D7H 1
INT0 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
C51 COMPILER V6.10 LCD_A 04/18/2001 16:29:40 PAGE 10
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
INT1 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
TI . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0099H 1
PS . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BCH 1
T2EX . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0091H 1
OV . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D2H 1
LCD_Delay. . . . . . . . . . . . . . . STATIC CODE PROC 0000H -----
x. . . . . . . . . . . . . . . . . . AUTO DATA INT 0000H 2
C_T2 . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C9H 1
WR . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
_LCD_SetDDRAM. . . . . . . . . . . . . STATIC CODE PROC 0000H -----
ADDRESS. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
LCD_D4 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B2H 1
LCD_D5 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B3H 1
RCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CDH 1
_LCD_SetCGRAM. . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
Address. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
LCD_D6 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B4H 1
LCD_D7 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B5H 1
TCLK . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CCH 1
IE0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0089H 1
IE1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008BH 1
CP_RL2 . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00C8H 1
LCD_EN . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B7H 1
ET0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A9H 1
_Hardware_Delay_T0 . . . . . . . . . . EXTERN CODE PROC ----- -----
LCD_Init . . . . . . . . . . . . . . . PUBLIC CODE PROC 0000H -----
TURN_DISPLAY_ON. . . . . . . . . . . AUTO DATA BIT 0000H 1
loop . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
l. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0001H 1
c. . . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0002H 1
ET1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ABH 1
TF0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008DH 1
ET2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00ADH 1
TF1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008FH 1
TF2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CFH 1
RB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009AH 1
EX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00A8H 1
IT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 0088H 1
EX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00AAH 1
TB8. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009BH 1
IT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008AH 1
P. . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D0H 1
SM0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009FH 1
SM1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009EH 1
SM2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009DH 1
PT0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B9H 1
RS0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D3H 1
PT1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BBH 1
RS1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D4H 1
PT2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BDH 1
TR0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008CH 1
TR1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 008EH 1
LCD_UDC_Degrees_C. . . . . . . . . . . PUBLIC DATA ARRAY 0002H 8
TR2. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CAH 1
PX0. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B8H 1
LCD_RS . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B6H 1
PX1. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00BAH 1
C51 COMPILER V6.10 LCD_A 04/18/2001 16:29:40 PAGE 11
NAME CLASS MSPACE TYPE OFFSET SIZE
==== ===== ====== ==== ====== ====
_LCD_Create_Character. . . . . . . . . PUBLIC CODE PROC 0000H -----
UDC_ID . . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
pUDC_PAT . . . . . . . . . . . . . . AUTO DATA PTR 0000H 3
Row. . . . . . . . . . . . . . . . . AUTO DATA U_CHAR 0003H 1
EXEN2. . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00CBH 1
REN. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 009CH 1
LCD_UDC_Pounds . . . . . . . . . . . . PUBLIC DATA ARRAY 000AH 8
RXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B0H 1
TXD. . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00B1H 1
F0 . . . . . . . . . . . . . . . . . . ABSBIT ----- BIT 00D5H 1
LCD_data_G . . . . . . . . . . . . . . PUBLIC DATA ARRAY 0012H 42
LCD_Control_Cursor . . . . . . . . . . PUBLIC CODE PROC 0000H -----
VISIBLE. . . . . . . . . . . . . . . AUTO DATA BIT 0000H 1
BLINKING . . . . . . . . . . . . . . AUTO DATA BIT 0001H 1
ADDRESS. . . . . . . . . . . . . . . AUTO DATA U_CHAR 0000H 1
Command. . . . . . . . . . . . . . . * REG * DATA U_CHAR 0007H 1
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 625 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 60 11
IDATA SIZE = ---- ----
BIT SIZE = ---- 5
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -