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

📄 lcd.lst

📁 总结前人经验,改进后的程序,虽有警告但是仍可应用.因为8个警告中有7个是因为函数定义后未调用.
💻 LST
字号:
C51 COMPILER V6.23a  LCD                                                                   09/04/2007 02:41:08 PAGE 1   


C51 COMPILER V6.23a, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\Bin\c51.exe lcd.c DB SB OE ROM(LARGE) SMALL OT(6,SPEED) WL(2) RB(0) 

stmt level    source

   1          #include"group.h"
   2          
   3          xdata uchar CW _at_ 0xf9fc;                 //液晶控制地址
   4          xdata uchar CR _at_ 0xf9fc;
   5          xdata uchar DW _at_ 0xf9fd;
   6          xdata uchar DR _at_ 0xf9ff;
   7          
   8          
   9          bit flag;                                                                   //标志位
  10          //-----------------------------------------------
  11          extern uchar lc_read(void)                                  //读液晶命令
  12          {
  13   1              uchar a;
  14   1              delay(100);
  15   1              a=CR;
  16   1              return(a);
  17   1      }
  18          //-----------------------------------------------
  19          extern void readbf(void)                                                //读液晶忙
  20          { 
  21   1              while(flag)
  22   1              {
  23   2                      flag=(bit)(lc_read()&0x80);
  24   2              }
  25   1      }
  26          //-----------------------------------------------
  27          extern void lc_write(uchar a)                   //写液晶命令
  28          {
  29   1              delay(20);
  30   1              CW=a;
  31   1              delay(20);
  32   1      }
  33          //-----------------------------------------------
  34          extern void ld_write(uchar a)                   //写液晶数据
  35          {
  36   1              delay(20);
  37   1              DW=a;
  38   1              delay(20);
  39   1      }
  40          //-----------------------------------------------
  41          extern void lcd_init(void)                                              //液晶初始化
  42          {
  43   1              readbf();
  44   1              lc_write(0x38);
  45   1              delay(500);
  46   1              readbf();
  47   1              lc_write(0x01);          //0001显示清除
  48   1              readbf();
  49   1              delay(500);
  50   1              lc_write(0x0c);          //11XX整体显示  1111光标开/闪烁  1100光标关/无闪
  51   1              readbf();
  52   1              delay(500);
  53   1              lc_write(0x06);          //011X光标右移  010X光标左移  0111屏幕所有文字左/右移
  54   1              delay(500);
  55   1      }
C51 COMPILER V6.23a  LCD                                                                   09/04/2007 02:41:08 PAGE 2   

  56          //-----------------------------------------------
  57          extern void lc_pos(uchar posx,uchar posy)                               //设定显示位置  
  58          {  
  59   1           posx=posx&0xf;
  60   1           posy=posy&0x1;                        
  61   1           lc_write(posx|posy*0x40+0x80);                      
  62   1      }
  63          //---------------------------------------------
  64          extern void display_char(uchar x,uchar y,uchar ch)              //显示字符
  65          {       
  66   1           readbf();
  67   1           lc_pos(x,y);
  68   1           ld_write(ch);
  69   1               
  70   1      }
  71          //--------------------------------------
  72          extern void display_string(uchar x,uchar y,uchar code *string)  //显示字符串                              
             -                                    //在指定点起显示一个字符串
  73          {
  74   1           unsigned length;
  75   1           length=0;
  76   1               readbf();
  77   1           while(string[length]!='\0')
  78   1           {
  79   2              display_char(x,y,string[length++]);
  80   2              x++;
  81   2           }
  82   1      }
  83          //---------------------------------------
  84          extern void lcdclear(void)    //清屏
  85          {    
  86   1           readbf();
  87   1           lc_write(0x01);
  88   1      }
  89          
C51 COMPILER V6.23a  LCD                                                                   09/04/2007 02:41:08 PAGE 3   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


P1 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0090H  1
P3 . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B0H  1
T0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B4H  1
AC . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D6H  1
T1 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B5H  1
T2 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
EA . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AFH  1
IE . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00A8H  1
CR . . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   F9FCH  1
DR . . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   F9FFH  1
EXF2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CEH  1
RD . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B7H  1
ES . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ACH  1
IP . . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00B8H  1
CW . . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   F9FCH  1
DW . . . . . . . . . . . . . . . . . .  PUBLIC   XDATA  U_CHAR   F9FDH  1
RI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0098H  1
flag . . . . . . . . . . . . . . . . .  PUBLIC   DATA   BIT      0000H  1
INT0 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
CY . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D7H  1
TI . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0099H  1
INT1 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B3H  1
PS . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BCH  1
T2EX . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
OV . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D2H  1
C_T2 . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C9H  1
WR . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B6H  1
RCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CDH  1
DA_ADD . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0094H  1
AD_ADD . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0091H  1
TCLK . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CCH  1
SCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0098H  1
TCON . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   0088H  1
AD_EOC . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B2H  1
_lc_write. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
IE0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0089H  1
_ld_write. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
lcdclear . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
IE1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008BH  1
DA_CLK . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0095H  1
AD_CLK . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0090H  1
CP_RL2 . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00C8H  1
ET0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00A9H  1
ET1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00ABH  1
TF0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008DH  1
lcd_init . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
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
lc_read. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  a. . . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
TB8. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009BH  1
C51 COMPILER V6.23a  LCD                                                                   09/04/2007 02:41:08 PAGE 4   

NAME                                    CLASS   MSPACE  TYPE    OFFSET  SIZE
====                                    =====   ======  ====    ======  ====


EX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00AAH  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
PT1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BBH  1
RS0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D3H  1
_display_string. . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  x. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  y. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  string . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0002H  2
  length . . . . . . . . . . . . . . .  AUTO     DATA   U_INT    0004H  2
PT2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BDH  1
TR0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008CH  1
RS1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D4H  1
TR1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      008EH  1
TR2. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CAH  1
PX0. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B8H  1
PX1. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00BAH  1
_display_char. . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  x. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0000H  1
  y. . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0001H  1
  ch . . . . . . . . . . . . . . . . .  AUTO     DATA   U_CHAR   0002H  1
AD_OUT . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0092H  1
_lc_pos. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  posx . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0007H  1
  posy . . . . . . . . . . . . . . . .  * REG *  DATA   U_CHAR   0005H  1
EXEN2. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00CBH  1
REN. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      009CH  1
readbf . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
T2CON. . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00C8H  1
RXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B0H  1
TXD. . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00B1H  1
_delay . . . . . . . . . . . . . . . .  EXTERN   CODE   PROC     -----  -----
F0 . . . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      00D5H  1
PSW. . . . . . . . . . . . . . . . . .  SFR      DATA   U_CHAR   00D0H  1
DA_CS. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0096H  1
AD_CS. . . . . . . . . . . . . . . . .  ABSBIT   -----  BIT      0093H  1


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    250    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      11
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -