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

📄 t6963.txt

📁 t6963lcd驱动源代码!!!!!!! 很可以的!
💻 TXT
📖 第 1 页 / 共 2 页
字号:
/************************************/
void ST3(void)
   {
     do
     {
      ACC=LCMCW;
     }
     while(ACC_3==0);
   }
/**************************/
 /*      初始化子程序      */
 /**************************/
void chushi_1(void)
    {
       dat1=0x00;      /*设文本显示区域首地址*/
       dat2=0x00;
       com=0x40;
       PR1();
       dat1=para1;    /* 设文本显示区域宽度 */
       dat2=0x00;
       com=0x41;
       PR1();
       dat1=0x00;     /*设图形显示区域首地址*/
       dat2=0x08;
       com=0x42;
       PR1();
       dat1=para1;    /*设图形显示区域宽度*/
       dat2=0x00;
       com=0x43;
       PR1();
       com=0xa7;      /*光标形状设置*/
       PR12();
       com=0x80;      /*显示方式设置逻辑"或"合成*/
       PR12();
       com=0x9c;      /*显示开关设置 开文本和图形显示*/
       PR12();
    }
/***************************/
/*      清显示子程序       */
/***************************/
void CLEAR(void)
    {
    unsigned char i,j;
        dat1=0x00;
        dat2=0x00;
        com=0x24;
        PR1();
        com=0xb0;
        PR12();
    for(i=0;i<205;i++)           /* 205 */
       {
         for(j=0;j<=40;j++)      /* 40 */
            {
                ST3();
                LCMDW=0x00;
            }
        }
       com=0xb2;
       PR12();
    }
/********************************/
/*   16点阵汉字写入(图形方式)子程序 */
/********************************/
void CCW2_PR(uchar x1)
 {  unsigned char i,count1;
     unsigned int j;
        i=para1;
        j=i*O_Y+O_X+0x0800;
             for(count1=0;count1<32;count1=count1+2)
                {
                 dat1=j%256;
                 dat2=j/256;
                 com=0x24;
                 PR1();
                 dat2=CCTAB[code_1][count1];
                 com=0xc0;
                 if(x1==0)
                 {dat2=~dat2;}
                 PR11();
                 dat2=CCTAB[code_1][count1+1];
                 if(x1==0)
                 {dat2=~dat2;}
                 PR11();

                 j=j+i;
                }
 }
//***************************
/*32*32汉字写入方法*/
//***************************
void CCW2_BIG(uchar x1)
    {
     unsigned char i,count1;
     unsigned int j;
        i=para1;
        j=i*O_Y+O_X+0x0800;
             for(count1=0;count1<128;count1=count1+4)
                {
                 dat1=j%256;
                 dat2=j/256;
                 com=0x24;
                 PR1();
                 dat2=ccbig[code_1][count1];
                 com=0xc0;
                 if(x1==0)
                 {dat2=~dat2;}
                 PR11();
                 dat2=ccbig[code_1][count1+1];
                 if(x1==0)
                 {dat2=~dat2;}
                 PR11();
                 dat2=ccbig[code_1][count1+2];
                 com=0xc0;
                 if(x1==0)
                 {dat2=~dat2;}
                 PR11();
                 dat2=ccbig[code_1][count1+3];
                 if(x1==0)
                 {dat2=~dat2;}
                 PR11();
                 j=j+i;
                }
     }
void CCW2_Num(uchar x1)
{ unsigned char i,count1;
     unsigned int j;
        i=para1;
        PR1();
        j=i*O_Y+O_X+0x0800;
             for(count1=0;count1<16;count1++)
                {
                 dat1=j%256;
                 dat2=j/256;
                 com=0x24;
                 PR1();
                 dat2=CCNum[code_1][count1];
                 com=0xc4;
                 if(x1==0)
                 {dat2=~dat2;}
                 PR11();
                 j=j+i;
                }
              }
void W_DOT(unsigned char x,unsigned char y)    //画点
     {
        unsigned char i,j;
        unsigned int a;
             i=para1;
             j=x%8;
             x=x/8;
             a=i*y+x+0x0800;
             dat1=a%256;
             dat2=a/256;
             com=0x24;
             PR1();
             j=0x07-j;
             com=j|0xf8;
             PR12();
     }
   //画各种直线(包括斜线)     x为横坐标0~240(F0),Y为纵坐标128(80)
void Line(unsigned char x1,unsigned char y1,unsigned char x2,unsigned char y2)
{
        uchar i,x,y,width,height,temp;
        unsigned int temp1;
      if((x1==x2)||(y1==y2))
      {
        if(x2<x1)
          {temp=x1;x1=x2;x2=temp;}
        if(y2<y1)
          {temp=y1;y1=y2;y2=temp;}
        for(i=x1;i<=x2;i++)
           W_DOT(i,y1);
        for(i=y1;i<=y2;i++)
           W_DOT(x1,i);
      }
      else
      {

        if(x2>x1)
            width=x2-x1;
          else
            width=x1-x2;
        if(y2>y1)
            height=y2-y1;
          else
            height=y1-y2;
        if(width>height)
        {
          for(i=0;i<=width;i++)
          {
           if(x2>x1)
             x=x1+i;
            else
             x=x1-i;
           temp1=(int)height*(int)i/(int)width;
           y=temp1%256;
           if(y2>y1)
              y=y+y1;
            else
              y=y1-y;
           W_DOT(x,y);
          }
        }
        else
        {
          for(i=0;i<=height;i++)
          {
           if(y2>y1)
             y=y1+i;
            else
             y=y1-i;

           temp1=(int)width*(int)i/(int)height;
           x=temp1%256;
           if(x2>x1)
              x=x+x1;
            else
              x=x1-x;
           W_DOT(x,y);
          }
        }

      }
}
void main()
{ uchar i;
  P0=0xf0;
  P2=0x00;
  chushi_1();
  CLEAR();
  Line(52,24,80,80);
  O_Y=0;
  for(i=0;i<9;i++)
	{ CCW2_PR(1);
	  code_1=i;
      O_X=i*2;
	}
  while(1)
  { ;   }
}

⌨️ 快捷键说明

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