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

📄 display.c

📁 12864程序
💻 C
字号:
void putsizeimage(unsigned char XSIZE,unsigned char YSIZE,unsigned char code *s)
{  unsigned char k,lx,ly,a1,a2,y;
   k=Lcd_CurrentY&0x7;
   YSIZE+=k;
   y=Lcd_CurrentY;
   for(lx=0;lx<XSIZE;lx++,Lcd_CurrentX++)
      for(Lcd_CurrentY=y,ly=k,a1=0;ly<YSIZE;s++)
      {  unsigned char p;
         a2=*s;
         for(p=0;p<k;p++)
         {  a2<<=1;
            if((a1&0x80)==0x80)
               a2++;
            a1<<=1;
         }
         lcdpos();
         p=YSIZE&0x7;
         if(ly<8)
         {  if(YSIZE<8)
            {  Lcd_Mask=LeftMask[k]&RightMask[p];
               a1=lcdrd();
               a1&=(~Lcd_Mask);
               a1|=(a2&Lcd_Mask);
               lcdwd(a1);
               ly=YSIZE;
               Lcd_CurrentY+=YSIZE-k;
            }
            else
            {  Lcd_Mask=LeftMask[k];
               a1=lcdrd();
               a1&=(~Lcd_Mask);
               a1|=(a2&Lcd_Mask);
               lcdwd(a1);
               ly+=8-k;
               Lcd_CurrentY+=8-k;
            }
         }
         else if(ly>=YSIZE-p)
         {  if(k>=p)
            {  s--;
               a1=*s;
               a2=0;
               for(p=0;p<k;p++)
               {  a2<<=1;
                  if((a1&0x80)==0x80)
                     a2++;
                  a1<<=1;
               }
               p=YSIZE&0x7;
            }
            Lcd_Mask=RightMask[p];
            a1=lcdrd();
            a1&=(~Lcd_Mask);
            a1|=(a2&Lcd_Mask);
            lcdwd(a1);
            ly+=p;
            Lcd_CurrentY+=p;
         }
         else
         {  lcdwd(a2);
            ly+=8;
            Lcd_CurrentY+=8;
         }
         a1=*s;
      }
   Lcd_CurrentY=y;
}

//显示汉字
void displaychinesechardot(unsigned int Index)
{  unsigned char code *s;
   s=ChineseCharDot+Index*CHINESECHARDOTSIZE;  //赋值汉字点阵首地址(数组名+  )
   {  if(Lcd_CurrentX>LCD_RIGHT-CHINESECHARSIZE+1)
      {  Lcd_CurrentX=LCD_LEFT;
         Lcd_CurrentY+=CHINESECHARSIZE;
         if(Lcd_CurrentY>LCD_BOTTOM-CHINESECHARSIZE+1)
            Lcd_CurrentY=LCD_TOP;
      }
      putsizeimage(CHINESECHARSIZE,CHINESECHARSIZE,s);
   }
}

//显示英文字符
void displayenglishchardot(unsigned int Index)
{  unsigned char code *s;
   s=EnglishCharDot+Index*ENGLISHCHARDOTSIZE;
   if(Lcd_CurrentX>LCD_RIGHT-ENGLISHCHARSIZE+1)
   {  Lcd_CurrentX=LCD_LEFT;
      Lcd_CurrentY+=CHINESECHARSIZE;
      if(Lcd_CurrentY>LCD_BOTTOM-CHINESECHARSIZE+1)
         Lcd_CurrentY=LCD_TOP;
   }
   putsizeimage(ENGLISHCHARSIZE,CHINESECHARSIZE,s);
}

//信息显示
void putchar(unsigned int uChar)
{  unsigned int i;
   if(uChar<128)
      for(i=0;i!=ENGLISHCHARNUMBER;i++)
      {  if(uChar==EnglishCode[i])
         {  displayenglishchardot(i);
            break;
         }
      }
   else
      for(i=0;i!=CHINESECHARNUMBER;i++)
      {  if(uChar==ChineseCode[i])
         {  displaychinesechardot(i);
            break;
         }
      }
}

//显示汉字或英文字符
void put_str(unsigned char code *s)
{  unsigned int i;
   for(;*s!=0;s++)
   {  i=*s;
      if(*s>127)
      {  s++;
         i=i*256+*s;
      }
      if(i=='\n')
      {  Lcd_CurrentX=LCD_LEFT;
         if(Lcd_CurrentY>LCD_BOTTOM-CHINESECHARSIZE+1)
            Lcd_CurrentY=LCD_TOP;
         else
            Lcd_CurrentY+=CHINESECHARSIZE;
      }
      putchar(i);
   }
}

//显示汉字或英文字符
void put_str_xy(unsigned char x,unsigned char y,unsigned char code *s)
{  Lcd_CurrentX=x;
   Lcd_CurrentY=y;
   put_str(s);
}

⌨️ 快捷键说明

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