⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcd_a.lst

📁 时间触发嵌入式系统设计模式:使用8051系列微控制器开发可靠应用
💻 LST
📖 第 1 页 / 共 2 页
字号:
 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 + -