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

📄 t6963yejingqudong.txt

📁 详细的T6963液晶驱动程序
💻 TXT
字号:
          #include<reg52.h>
	  #include<absacc.h>
	  #define  Comport  XBYTE[0x0100]         //T6963命令口定义
	  #define  Dateport XBYTE[0x0000]         //T6963数据口定义
采用P0口及P2.0,P1.1为控制线
/*--------------------------------T6963显示器模块----------------------------------*/
   
    //忙标志位判断
    uchar  busydec(void)
	{
	  uchar i;

	  for(i=10;i>0;i--)
	  {
	    if((Comport & 0x03)==0x03)
		     break;
      }
	   return (i);                    //返回0,说明错误
     }
	//自动读标志位判断
 	uchar  Autoread(void)
	{
	   uchar i;

	   for(i=10;i>0;i--)
	   {
	     if((Comport & 0x04)==0x04)
		       break;
       }
	    return(i);
    }
     //自动写标志位判断
	 uchar  Autowrite(void)
	 {
	    uchar i;

		for(i=10;i>0;i--)
		{
		  if((Comport & 0x08)==0x08)
		    break;
        }
		 return(i);
      }
	 //写无参数指令函数
	 uchar  ComdWR(uchar comdbuff)
	 {
	     if(busydec()==0)
		     return(1);
         Comport=comdbuff;
		     return(0);                    //返回数据0,说明成功
     }
	 //写单参数指令
	 uchar  Comd1WR(uchar comdbuff,uchar datebuff)
	 {
	     if(busydec()==0)
		     return(1);
         Dateport=datebuff;
		 if(busydec()==0)
		     return(2);         
         Comport=comdbuff;
		     return(0);
      }
	//写双参数指令
	 uchar  Comd2WR(uchar comdbuff,uchar datebuff1,uchar datebuff2) 
	 {
		   if(busydec()==0)
		      return(1);
           Dateport=datebuff1;
           if(busydec()==0)
		      return(2);
	       Dateport=datebuff2;
		   if(busydec()==0)
		      return(3);           
           Comport=comdbuff;
		      return(0);
      }

    //写数据函数
	uchar  DateWR(uchar datebuff)
	{
	      if(busydec()==0)
		      return(1);
          Dateport=datebuff;
		      return(0);
    }

    // 清屏
    void  Screencls(void)
	{
	     uint i;

		 Comd2WR(LC_ADD_POS,0x00,0x00);
		 ComdWR(LC_AUT_WR);
		 for(i=0;i<128*30;i++)
		 { 
		   Autowrite();
		   DateWR(0x00);        
         }
		 ComdWR(LC_AUT_OVR);
		 Comd2WR(LC_ADD_POS,0x00,0x00);
		 Comd2WR(LC_LIG_POS,0x00,0x00);
     }
	 //LCM初始化
	 void  Initscreen(void)
	 {    
	   Comd2WR(LC_ADD_POS,0x00,0x00);             //显示地址设置
	        
	   Comd2WR(LC_TEX_POS,0x00,0x00);             //文本区首地址设置
        
	   Comd2WR(LC_TEX_WID,0x1E,0x00);             //文本区宽度设置
	    
	   Comd2WR(LC_GRA_POS,0x00,0x00);             //图形区首地址设置

   
	   Comd2WR(LC_GRA_WID,0x1E,0x00);             //图形区宽度设置
	   
	   ComdWR(LC_MOD_CUR);                        //光标形状设置
	  
	   ComdWR(LC_MOD_OR);                         //显示方式设置
	  
	   ComdWR(LC_MOD_DIS);                        //启用图形显示
    
     }

	/*-----------------------------------------------------------------------------
	 *                  函数名:    HZshow()
	 *
	 *                  函数功能:  实现指定地址的16×16汉字显示
	 *	 
	 -----------------------------------------------------------------------------*/
	void  HZshow(uchar *T,uchar line,uchar colun,uchar n)
	{
	  uchar  i;
	  uchar  j;
	  uint  staraddress;
      uchar  address1,address2;

	  for(j=0;j<n;j++)
	  {	    
        uchar KSline=line;
		for(i=0;i<16;i++)
		{
		  staraddress=KSline*30+colun;
		  address1=staraddress%256;
		  address2=staraddress/256;
		  Comd2WR(0x24,address1,address2);
		  Comd1WR(0xC0,*T);
		    T++;
          Comd1WR(0xC4,*T);
		    T++;
          KSline=KSline+1;
        }
		colun=colun+2;
      }
    }

   /*----------------------------------------------------------------------------
    *                     函数名:    Showothers()
	*
	*                     函数功能:  实现在指定地址8*16的数字及字符显示
	*
	-----------------------------------------------------------------------------*/     
   void  Showothers(uchar *T,uchar line,uchar colun,uchar n)
   {
     uchar i;
	 uchar j;
	 uint  staraddress;
	 uchar address1,address2;

	 for(j=0;j<n;j++)
	 {
	   uchar KSline=line;
	   for(i=0;i<16;i++)
	   {
	     staraddress=KSline*30+colun;
		 address1=staraddress%256;
		 address2=staraddress/256;

		 Comd2WR(0x24,address1,address2);
		 Comd1WR(0xC0,*T);
		   T++;
         KSline=KSline+1;
       }
	   colun=colun+1;
     }
   }
void main(void)
{
  Initscreen();                                //初始化屏
  HZshow(TAB1,1,2,2)                            //TAB1为汉字字库地址,此为汉字显示
 Showothers(TAB2,1,2,2)                        //TAB1为数字及符号字库地址
}
  

  

⌨️ 快捷键说明

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