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

📄 lcd.lst

📁 基于intel8032的自动恒温采集系统
💻 LST
字号:
C51 COMPILER V6.02  LCD                                                                    12/14/2007 08:26:14 PAGE 1   


C51 COMPILER V6.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN G:\C51\LCD.OBJ
COMPILER INVOKED BY: C:\comp51\C51.EXE G:\C51\LCD.C DB SB OE OT(0) 

stmt level    source

   1          #include<lcd.h>
   2          unsigned char col,row;    //当前行号与列号
   3          char code syn_57[ ]={
   4                    0x3E,0x51,0x49,0x45,0x3E,     // 0      代码分别为 0
   5                    0x42,0x43,0x7F,0x40,0x40,     // 1      代码分别为 1
   6                    0x46,0x61,0x51,0x49,0x46,     // 2      代码分别为 2
   7                    0x22,0x49,0x49,0x49,0x36,     // 3      代码分别为 3
   8                    0x18,0x14,0x52,0x7F,0x50,     // 4      代码分别为 4
   9                    0x2F,0x49,0x49,0x49,0x30,     // 5      代码分别为 5
  10                    0x3E,0x49,0x49,0x49,0x30,     // 6      代码分别为 6
  11                    0x01,0x61,0x11,0x0D,0x03,     // 7      代码分别为 7
  12                    0x36,0x49,0x49,0x49,0x36,     // 8      代码分别为 8
  13                    0x06,0x49,0x49,0x29,0x16,     // 9      代码分别为 9
  14                    0x00,0x60,0x60,0x00,0x00,     // .      代码分别为 10
  15                    0x08,0x08,0x7E,0x08,0x08,     // +      代码分别为 11
  16                    0x08,0x08,0x08,0x08,0x08,     // -      代码分别为 12
  17                    0x44,0x28,0x10,0x28,0x44,     // *      代码分别为 13
  18                    0x40,0x20,0x10,0x08,0x04      // /      代码分别为 14
  19          
  20          };
  21          //校验芯片是否就绪
  22          void wait(void)
  23          {
  24   1              char xdata *ptr;
  25   1         	ptr=CS+5;
  26   1         	while(*ptr&0x80);
  27   1         	ptr=CS+6;
  28   1         	while(*ptr&0x80);
  29   1      }
  30          
  31          // 显示器开/关函数
  32          void disp_on(void)
  33          {
  34   1             char xdata *ptr;
  35   1             ptr=CS+1;
  36   1             wait();
  37   1             *ptr=0x3f;
  38   1             wait();
  39   1             *ptr=0xc0;                         //display start line
  40   1             ptr=CS+2;
  41   1             wait();
  42   1             *ptr=0x3f;
  43   1             wait();
  44   1             *ptr=0xc0;
  45   1      }
  46          
  47          
  48          
  49          //清屏
  50          void clr_screen(void)
  51          {
  52   1         char xdata *ptr;
  53   1         char cl,cs;
  54   1         row=0;
  55   1         col=0;
C51 COMPILER V6.02  LCD                                                                    12/14/2007 08:26:14 PAGE 2   

  56   1      
  57   1      for(row=0;row<8;row++)
  58   1      {
  59   2         for(col=0;col<128;col++)
  60   2         {
  61   3               if(col<64){
  62   4                              cs=1;
  63   4                              cl=col;
  64   4                         }
  65   3               else{
  66   4                        cs=2;
  67   4                        cl=col-64;
  68   4                    }
  69   3      
  70   3               ptr=CS+cs;
  71   3               wait();
  72   3               *ptr=0xb8+row;
  73   3               wait();
  74   3               *ptr=0x40+cl;
  75   3      
  76   3               ptr=CS+8+cs;
  77   3               wait();
  78   3               *ptr=0x00;
  79   3      
  80   3                  }
  81   2           }
  82   1      
  83   1      }
  84          
  85          void put_data(char dat)
  86          
  87            {
  88   1           char xdata *ptr;
  89   1           char cs,cl;
  90   1           row=row%8;
  91   1           col=col%128;
  92   1           if(col<64){
  93   2              cs=1;
  94   2              cl=col;
  95   2              }
  96   1           else{
  97   2               cs=2;
  98   2               cl=col-64;
  99   2               }
 100   1              ptr=CS+cs;
 101   1              *ptr=0xb8+row;
 102   1              wait();
 103   1              *ptr=0x40+cl;
 104   1              ptr=CS+8+cs;
 105   1              wait();
 106   1              *ptr=dat;
 107   1              col++;
 108   1              row=(row+col/128)%8;
 109   1              col=col%128;
 110   1       }
 111          
 112          //光标定位
 113          void locate (char r,char c)
 114          {
 115   1           col=c;
 116   1           row=r;
 117   1      }
C51 COMPILER V6.02  LCD                                                                    12/14/2007 08:26:14 PAGE 3   

 118          
 119          //显示单个数据
 120          void style_57(char c)     //调用字库 c为欲显示字符的代码
 121          {
 122   1               int i;
 123   1      
 124   1               for (i=0; i<5; i++)
 125   1      	      put_data(syn_57[5*c+i]);       //写入字符
 126   1      	 put_data(0x00);                      //写入间隔列
 127   1      }
 128          
 129          void put_int(int n,char w)            //显示一个整数
 130          {
 131   1            int i,m=1;
 132   1            for (i=0;i<w-1;i++)
 133   1            m=m*10;
 134   1            for (i=0;i<w;i++)
 135   1            {
 136   2              style_57(n/m);
 137   2               n=n%m;
 138   2               m=m/10;
 139   2              }
 140   1       }
 141          
 142          void put_float(float f,char w1,char w2)  //显示浮点数
 143           {  int i,k,m=1;
 144   1          k=(int)f;
 145   1          put_int(k,w1);
 146   1          style_57(10);
 147   1          for (i=0;i<w2;i++)
 148   1               m=m*10;
 149   1          k=(f-k)*m;
 150   1          put_int(k,w2);
 151   1        }
C51 COMPILER V6.02  LCD                                                                    12/14/2007 08:26:14 PAGE 4   

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


clr_screen . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ptr. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  2
  cl . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0002H  1
  cs . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0003H  1
syn_57 . . . . . . . . . . . . . . . .  PUBLIC   CODE   ARRAY    0000H  75
_put_float . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  f. . . . . . . . . . . . . . . . . .  AUTO     DATA   FLOAT    0000H  4
  w1 . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0004H  1
  w2 . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0005H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0006H  2
  k. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0008H  2
  m. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      000AH  2
wait . . . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ptr. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  2
_put_data. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  dat. . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0000H  1
  ptr. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0001H  2
  cs . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0003H  1
  cl . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0004H  1
col. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0000H  1
row. . . . . . . . . . . . . . . . . .  PUBLIC   DATA   U_CHAR   0001H  1
_locate. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  r. . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0000H  1
  c. . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0001H  1
_style_57. . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  c. . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0000H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0001H  2
_put_int . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  n. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0000H  2
  w. . . . . . . . . . . . . . . . . .  AUTO     DATA   CHAR     0002H  1
  i. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0003H  2
  m. . . . . . . . . . . . . . . . . .  AUTO     DATA   INT      0005H  2
disp_on. . . . . . . . . . . . . . . .  PUBLIC   CODE   PROC     0000H  -----
  ptr. . . . . . . . . . . . . . . . .  AUTO     DATA   PTR      0000H  2


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    822    ----
   CONSTANT SIZE    =     75    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     39    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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