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

📄 display8.lst

📁 用8051驱动240*128液晶的C51程序
💻 LST
字号:
C51 COMPILER V7.50   DISPLAY8                                                              05/16/2007 21:32:45 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE DISPLAY8
OBJECT MODULE PLACED IN display8.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE display8.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,x;
   3   1         k=Lcd_CurrentX&0x7;
*** ERROR C202 IN LINE 3 OF DISPLAY8.C: 'Lcd_CurrentX': undefined identifier
   4   1         XSIZE+=k;
   5   1         x=Lcd_CurrentX;
*** ERROR C202 IN LINE 5 OF DISPLAY8.C: 'Lcd_CurrentX': undefined identifier
   6   1         for(ly=0;ly<YSIZE;ly++,Lcd_CurrentY++)
*** ERROR C202 IN LINE 6 OF DISPLAY8.C: 'Lcd_CurrentY': undefined identifier
   7   1            for(Lcd_CurrentX=x,lx=k,a1=0;lx<XSIZE;s++)
*** ERROR C202 IN LINE 7 OF DISPLAY8.C: 'Lcd_CurrentX': 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&0x1)==1)
  13   3                     a2+=0x80;
  14   3                  a1>>=1;
  15   3               }
  16   2               lcdpos();
  17   2               p=XSIZE&0x7;
  18   2               if(lx<8)
  19   2               {  if(XSIZE<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                     lx=XSIZE;
  26   4                      Lcd_CurrentX+=XSIZE-k;
  27   4                  }
  28   3                  else   //XSIZE>=8
  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                     lx+=8-k;
  35   4                     Lcd_CurrentX+=8-k;
  36   4                  }
  37   3               }
  38   2               else if(lx>=XSIZE-p)  //lx>=8
  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&1)==1)
  46   5                           a2+=0x80;
  47   5                        a1>>=1;
  48   5                     }
  49   4                     p=XSIZE&0x7;
  50   4                  }
  51   3                  Lcd_Mask=RightMask[p];
C51 COMPILER V7.50   DISPLAY8                                                              05/16/2007 21:32:45 PAGE 2   

  52   3                  a1=lcdrd();
  53   3                  a1&=(~Lcd_Mask);
  54   3                  a1|=(a2&Lcd_Mask);
  55   3                  lcdwd(a1);
  56   3                  lx+=p;
  57   3                  Lcd_CurrentX+=p;
  58   3               }
  59   2               else    //lx>=8 and lx<XSIZE-p
  60   2               {  lcdwd(a2);
  61   3                  lx+=8;
  62   3                  Lcd_CurrentX+=8;
  63   3               }
  64   2               a1=*s;
  65   2            }
  66   1        Lcd_CurrentY-=YSIZE;
  67   1      }
  68          
  69          void displaychinesechardot(unsigned int Index)
  70          {  unsigned char code *s;
  71   1         s=ChineseCharDot+Index*CHINESECHARDOTSIZE;
  72   1         if(Lcd_CurrentX>LCD_RIGHT-CHINESECHARSIZE+1)
  73   1         {  Lcd_CurrentX=LCD_LEFT;
  74   2            Lcd_CurrentY+=CHINESECHARSIZE;
  75   2            if(Lcd_CurrentY > LCD_BOTTOM-CHINESECHARSIZE+1)
  76   2               Lcd_CurrentY=LCD_TOP;
  77   2         }
  78   1         putsizeimage(CHINESECHARSIZE,CHINESECHARSIZE,s);
  79   1      }
  80          
  81          void displayenglishchardot(unsigned int Index)
  82          {  unsigned char code *s;
  83   1         s=EnglishCharDot+Index*ENGLISHCHARDOTSIZE;
  84   1         if(Lcd_CurrentX>LCD_RIGHT-ENGLISHCHARSIZE+1)
  85   1         {  Lcd_CurrentX=LCD_LEFT;
  86   2            Lcd_CurrentY+=CHINESECHARSIZE;
  87   2            if(Lcd_CurrentY>LCD_BOTTOM-CHINESECHARSIZE+1)
  88   2               Lcd_CurrentY=LCD_TOP;
  89   2         }
  90   1         putsizeimage(ENGLISHCHARSIZE,CHINESECHARSIZE,s);
  91   1      }
  92          
  93          //信息显示
  94          void putchar(unsigned int uChar)
  95          {  unsigned int i;
  96   1         if(uChar<128)
  97   1            for(i=0;i!=ENGLISHCHARNUMBER;i++)
  98   1            {  if(uChar==EnglishCode[i])
  99   2               {  displayenglishchardot(i);
 100   3                  break;
 101   3               }
 102   2            }
 103   1         else
 104   1            for(i=0;i!=CHINESECHARNUMBER;i++)
 105   1            {  if(uChar==ChineseCode[i])
 106   2               {  displaychinesechardot(i);
 107   3                  break;
 108   3               }
 109   2            }
 110   1      }
 111          
 112          //显示汉字或英文字符
 113          void put_str(unsigned char code *s)
C51 COMPILER V7.50   DISPLAY8                                                              05/16/2007 21:32:45 PAGE 3   

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

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

⌨️ 快捷键说明

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