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

📄 12232.c

📁 STC89C52单片机 主频:11.0592M 模块名称:SED1520驱动12232液晶驱动
💻 C
📖 第 1 页 / 共 4 页
字号:
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void	OUTMI(unsigned char i)
{
		A0=0;	//写指令
	//delay(5);
		E1=1;
	//delay(10);
		DATA=i;
	//delay(5);
		E1=0;
	
}

/******************************************************************************************
* 函数名称    :OUTSD
* 功能描述    :发送数据 右页
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void	OUTSD(unsigned char i)
{
		A0=1;	//写数据
	//delay(5);
		E2=1;
	//delay(10);
		DATA=i;
	//delay(5);
		E2=0;

}
//右页
//发送命令
/******************************************************************************************
* 函数名称    :Delay
* 功能描述    :
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void	OUTSI(unsigned char i)
{
		A0=0;	//写指令
	//delay(5);
		E2=1;
	//delay(10);
		DATA=i;
	//delay(5);
		E2=0;
	
}

/******************************************************************************************
* 函数名称    :lcdini
* 功能描述    :lcd初始化
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void	lcdini(void)
{
    RW=0;
	  OUTMI(0XE2);
	  OUTSI(0XE2);   //复位
	  OUTMI(0XAE);
	  OUTSI(0XAE);   //POWER SAVE
	  OUTMI(0XA4);
	  OUTSI(0XA4);   //动态驱动
	  OUTMI(0XA9);
	  OUTSI(0XA9);   //1/32占空比
	  OUTMI(0XA0);
	  OUTSI(0XA0);   //时钟线输出
	  OUTMI(0XEE);
	  OUTSI(0XEE);   //写模式
	
	  OUTMI(0X00);
	  OUTMI(0XC0);
	  OUTSI(0X00);
	  OUTSI(0XC0);
	
	  OUTMI(0XAF);
	  OUTSI(0XAF);
	
}

/******************************************************************************************
* 函数名称    :SetPage
* 功能描述    :同时设置主从显示页为0-3页。(内函数,私有,用户不直接调用)
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void SetPage(uchar page0,uchar page1)
{
    OUTMI(0xB8|page1);
    OUTSI(0xB8|page0);
}

/******************************************************************************************
* 函数名称    :SetAddress
* 功能描述    :同时设置主从列地址为0-121。(内函数,私有,用户不直接调用)
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void SetAddress(uchar address0,uchar address1)
{
    OUTMI(address1);
    OUTSI(address0);
}

/******************************************************************************************
* 函数名称    :PutCharR
* 功能描述    :在右页当前地址画一个字节8个点。(内函数,私有,用户不直接调用)
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void PutCharR(uchar ch)
{
    OUTSD(ch);
}

/******************************************************************************************
* 函数名称    :PutChar1
* 功能描述    :在左页当前地址画一个字节8个点。(内函数,私有,用户不直接调用)
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void PutCharL(uchar ch)
{
    OUTMD(ch);
} 

/******************************************************************************************
* 函数名称    :DrawBmp
* 功能描述    :画一个图,layer表示上下层,width是图形的宽,高都是16,bmp是
               图形指针
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void DrawBmp(bit layer,uchar width,uchar *bmp)
{
    uchar x,address,i=0;     //address表示显存的物理地址
    uchar page=0;	//page表示上下两页
    bit window=0;  //window表示左右两页
//putcharR	//右边
//putcharL	//左边

    for (x=width;x>1;x--)
    {
       if (i>60) 
       	{
       		window=1;
       		address=i%61;
       	}
        else 
        	address=i;	

       if(layer==0)	//显示一行八个字
	      {
	        SetPage(0,0);
	        SetAddress(address,address);
	        if(window==1)
	        	PutCharR(bmp[i]);
	        else	
	        	PutCharL(bmp[i]);
	        SetPage(1,1);
	        SetAddress(address,address);
	        if(window==1)
	        	PutCharR(bmp[i+width]);
	        else	
	        	PutCharL(bmp[i+width]);
	       }
       else
	      {	//显示第二行八个汉字
	         SetPage(2,2);
	         SetAddress(address,address);
	         if(window==1)
	         	PutCharR(bmp[i]);
	         else	
	         	PutCharL(bmp[i]);
	         SetPage(3,3);
	         SetAddress(address,address);
	         if(window==1)
	         	PutCharR(bmp[i+width]);
	         else	
	         	PutCharL(bmp[i+width]);
	       }
         i++;
   
      }
}

/******************************************************************************************
* 函数名称    :clrscr
* 功能描述    :清屏
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void clrscr(void)
{
    uchar i;
    uchar page;
    for (page=0;page<4;page++)
    {
     SetPage(page,page);
     SetAddress(0,0);
     for (i=0;i<61;i++)
      {
     	 PutCharR(0);
     	 PutCharL(0);
      }
    }
} 

/******************************************************************************************
* 函数名称    :DrawBmp1
* 功能描述    :图片显示
* 参数        :  参数名称:	输入/输出?	类型		描述
* 
* 返回值      :
* 作者        :
* 创建日期    :2006-12-19
* 全局变量    :
* 全局静态变量:
* 局部静态变量:
*----------------------------------------修改历史------------------------------------------
* 当前版本    : 			 修改人:                  修改日期:
* 修改说明    :
******************************************************************************************/
void DrawBmp1(uint x_add, uchar width,uchar *bmp)
{
    uchar x,address,i=0;     //address表示显存的物理地址

⌨️ 快捷键说明

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