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

📄 display.lst

📁 12864 proteus c 菜单仿真 89C51
💻 LST
字号:
C51 COMPILER V8.08   DISPLAY                                                               12/04/2000 09:48:13 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN display.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE display.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          void putsizeimage(unsigned char XSIZE,unsigned char YSIZE,unsigned char code *s)
   2          {  unsigned char k,lx,ly,a1,a2,y;
   3   1         k=Lcd_CurrentY&0x7;
*** ERROR C202 IN LINE 3 OF DISPLAY.C: 'Lcd_CurrentY': undefined identifier
   4   1         YSIZE+=k;
   5   1         y=Lcd_CurrentY;
*** ERROR C202 IN LINE 5 OF DISPLAY.C: 'Lcd_CurrentY': undefined identifier
   6   1         for(lx=0;lx<XSIZE;lx++,Lcd_CurrentX++)
*** ERROR C202 IN LINE 6 OF DISPLAY.C: 'Lcd_CurrentX': undefined identifier
   7   1            for(Lcd_CurrentY=y,ly=k,a1=0;ly<YSIZE;s++)
*** ERROR C202 IN LINE 7 OF DISPLAY.C: 'Lcd_CurrentY': undefined identifier
   8   1            {  unsigned char p;
   9   2               a2=*s;
  10   2               for(p=0;p<k;p++)
  11   2               {  a2<<=1;
  12   3                  if((a1&0x80)==0x80)
  13   3                     a2++;
  14   3                  a1<<=1;
  15   3               }
  16   2               lcdpos();
  17   2               p=YSIZE&0x7;
  18   2               if(ly<8)
  19   2               {  if(YSIZE<8)
  20   3                  {  Lcd_Mask=LeftMask[k]&RightMask[p];
  21   4                     a1=lcdrd();
  22   4                     a1&=(~Lcd_Mask);
  23   4                     a1|=(a2&Lcd_Mask);
  24   4                     lcdwd(a1);
  25   4                     ly=YSIZE;
  26   4                     Lcd_CurrentY+=YSIZE-k;
  27   4                  }
  28   3                  else
  29   3                  {  Lcd_Mask=LeftMask[k];
  30   4                     a1=lcdrd();
  31   4                     a1&=(~Lcd_Mask);
  32   4                     a1|=(a2&Lcd_Mask);
  33   4                     lcdwd(a1);
  34   4                     ly+=8-k;
  35   4                     Lcd_CurrentY+=8-k;
  36   4                  }
  37   3               }
  38   2               else if(ly>=YSIZE-p)
  39   2               {  if(k>=p)
  40   3                  {  s--;
  41   4                     a1=*s;
  42   4                     a2=0;
  43   4                     for(p=0;p<k;p++)
  44   4                     {  a2<<=1;
  45   5                        if((a1&0x80)==0x80)
  46   5                           a2++;
  47   5                        a1<<=1;
  48   5                     }
  49   4                     p=YSIZE&0x7;
  50   4                  }
  51   3                  Lcd_Mask=RightMask[p];
C51 COMPILER V8.08   DISPLAY                                                               12/04/2000 09:48:13 PAGE 2   

  52   3                  a1=lcdrd();
  53   3                  a1&=(~Lcd_Mask);
  54   3                  a1|=(a2&Lcd_Mask);
  55   3                  lcdwd(a1);
  56   3                  ly+=p;
  57   3                  Lcd_CurrentY+=p;
  58   3               }
  59   2               else
  60   2               {  lcdwd(a2);
  61   3                  ly+=8;
  62   3                  Lcd_CurrentY+=8;
  63   3               }
  64   2               a1=*s;
  65   2            }
  66   1         Lcd_CurrentY=y;
  67   1      }
  68          
  69          //显示汉字
  70          void displaychinesechardot(unsigned int Index)
  71          {  unsigned char code *s;
  72   1         s=ChineseCharDot+Index*CHINESECHARDOTSIZE;  //赋值汉字点阵首地址(数组名+  )
  73   1         {  if(Lcd_CurrentX>LCD_RIGHT-CHINESECHARSIZE+1)
  74   2            {  Lcd_CurrentX=LCD_LEFT;
  75   3               Lcd_CurrentY+=CHINESECHARSIZE;
  76   3               if(Lcd_CurrentY>LCD_BOTTOM-CHINESECHARSIZE+1)
  77   3                  Lcd_CurrentY=LCD_TOP;
  78   3            }
  79   2            putsizeimage(CHINESECHARSIZE,CHINESECHARSIZE,s);
  80   2         }
  81   1      }
  82          
  83          //显示英文字符
  84          void displayenglishchardot(unsigned int Index)
  85          {  unsigned char code *s;
  86   1         s=EnglishCharDot+Index*ENGLISHCHARDOTSIZE;
  87   1         if(Lcd_CurrentX>LCD_RIGHT-ENGLISHCHARSIZE+1)
  88   1         {  Lcd_CurrentX=LCD_LEFT;
  89   2            Lcd_CurrentY+=CHINESECHARSIZE;
  90   2            if(Lcd_CurrentY>LCD_BOTTOM-CHINESECHARSIZE+1)
  91   2               Lcd_CurrentY=LCD_TOP;
  92   2         }
  93   1         putsizeimage(ENGLISHCHARSIZE,CHINESECHARSIZE,s);
  94   1      }
  95          
  96          //信息显示
  97          void putchar(unsigned int uChar)
  98          {  unsigned int i;
  99   1         if(uChar<128)
 100   1            for(i=0;i!=ENGLISHCHARNUMBER;i++)
 101   1            {  if(uChar==EnglishCode[i])
 102   2               {  displayenglishchardot(i);
 103   3                  break;
 104   3               }
 105   2            }
 106   1         else
 107   1            for(i=0;i!=CHINESECHARNUMBER;i++)
 108   1            {  if(uChar==ChineseCode[i])
 109   2               {  displaychinesechardot(i);
 110   3                  break;
 111   3               }
 112   2            }
 113   1      }
C51 COMPILER V8.08   DISPLAY                                                               12/04/2000 09:48:13 PAGE 3   

 114          
 115          //显示汉字或英文字符
 116          void put_str(unsigned char code *s)
 117          {  unsigned int i;
 118   1         for(;*s!=0;s++)
 119   1         {  i=*s;
 120   2            if(*s>127)
 121   2            {  s++;
 122   3               i=i*256+*s;
 123   3            }
 124   2            if(i=='\n')
 125   2            {  Lcd_CurrentX=LCD_LEFT;
 126   3               if(Lcd_CurrentY>LCD_BOTTOM-CHINESECHARSIZE+1)
 127   3                  Lcd_CurrentY=LCD_TOP;
 128   3               else
 129   3                  Lcd_CurrentY+=CHINESECHARSIZE;
 130   3            }
 131   2            putchar(i);
 132   2         }
 133   1      }
 134          
 135          //显示汉字或英文字符
 136          void put_str_xy(unsigned char x,unsigned char y,unsigned char code *s)
 137          {  Lcd_CurrentX=x;
 138   1         Lcd_CurrentY=y;
 139   1         put_str(s);
 140   1      }

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

⌨️ 快捷键说明

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