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

📄 t6963.h

📁 含t6963c驱动器LCD与AT89C51的原程序
💻 H
📖 第 1 页 / 共 2 页
字号:
	return;
}


/****************************************
** 函数名称: Set_Address_Pointer
** 功能描述: 设置地址指针
** 输 入 : address_low : 地址指针的低8位
**          address_high: 地址指针的高8位
** 输 出 : 无
** 全局变量:无
** 调用模块: Write,Command
** 
** 作 者: 
** 日 期: 2006-1-10
******************************************/
#pragma disable
void Set_Address_Pointer(unsigned char address_low,unsigned char address_high)
{
    Write(address_low);
    Write(address_high);
    Command(0x24); 
	return;
}


/****************************************
** 函数名称: Set_Offset_Register
** 功能描述: 设置偏移寄存器,它的低5位为CGRAM地址的高5位
** 输 入 : datum : 偏移寄存器数值
** 输 出 : 无
** 全局变量:无
** 调用模块: Write,Command
** 
** 作 者: 
** 日 期: 2006-1-10
******************************************/
/* Set address pointer */
#pragma disable
void Set_Offset_Register(unsigned char datum)
{
    Write(datum);
    Write(0x00);
    Command(0x22); 
	return;
}


/****************************************
** 函数名称: Cursor_Pattern_Select
** 功能描述: 光标式样
** 输 入 : lines: 0~7表示 1~8线
** 输 出 : 无
** 全局变量:无
** 调用模块: Command
** 
** 作 者: 
** 日 期: 2006-1-17
******************************************/
/*
void Cursor_Pattern_Select(unsigned char lines)
{
    Command(0xa0+lines);
	return;
}
*/

/****************************************
** 函数名称: Set_Cursor_Address
** 功能描述: 光标式样
** 输 入 : x:水平字符位
**          y:垂直字符位
** 输 出 : 无
** 全局变量:无
** 调用模块: Write,Command
** 
** 作 者: 
** 日 期: 2006-1-17
******************************************/
/*
void Set_Cursor_Address(unsigned char x,unsigned char y)
{
    Write(x);
    Write(y);
	Command(0x21);
	return;
}
*/

/****************************************
** 函数名称: Text_Attribute_Mode
** 功能描述: 异或模式
** 输 入 : 无
** 输 出 : 无
** 全局变量: mode_set
** 调用模块: Command
** 
** 作 者: 
** 日 期: 2006-1-17
******************************************/
void Text_Attribute_Mode(void)
{
    Command(mode_set+0x04);
	return;
}

/****************************************
** 函数名称: Character
** 功能描述: 字符模式显示西文字符
** 输 入 : x: 字符位置x坐标
**          y: 字符位置y坐标
**          cod: 字符代码
**          attribute: 文本属性
**                     0正向显示         0x08 闪烁
**                     5负向显示         0x0d 闪烁
**                     3禁止显示(正向) 0x0b 闪烁
**                     4禁止显示(负向) 0x0c 闪烁
** 输 出 : 无
** 全局变量:无
** 调用模块: Set_Address_Pointer,Write_Data
** 
** 作 者: 
** 日 期: 2006-1-10
**-------------------------------------------------------
**
** 修改人: 
** 日  期: 2006-1-17
** 描  述: 增加文本属性参数
******************************************/
void Character(unsigned char x,unsigned char y,unsigned char cod,unsigned char attribute)
{
    unsigned char address_low,address_high;
    address_high=(y*TEXT_AREA+x)>>8;
    address_low=(y*TEXT_AREA+x)%256;
    Set_Address_Pointer(address_low,address_high);
    Write_Data(cod);
    Text_Attribute_Mode();
    Set_Address_Pointer(address_low,address_high+GRAPHIC_HOME_ADDRESS_HIGH);
	Write_Data(attribute);
    return;
}


/****************************************
** 函数名称: Chinese_Character
** 功能描述: 字符模式显示中文字符
** 输 入 : x: 字符位置x坐标
**          y: 字符位置y坐标
**          cod: 字符代码
** 输 出 : 无
** 全局变量:无
** 调用模块: Character
** 
** 作 者: 
** 日 期: 2006-1-10
**-------------------------------------------------------
**
** 修改人: 
** 日  期: 2006-1-17
** 描  述: 增加文本属性参数
******************************************/
void Chinese_Character(unsigned char x,unsigned char y,unsigned char cod,unsigned char attribute)
{
    Character(x,y,cod,attribute);
	Character(x,++y,++cod,attribute);
	Character(++x,--y,++cod,attribute);
	Character(x,++y,++cod,attribute);
	return;
}


/****************************************
** 函数名称: Chinese_Character_For_Grahic_Mode
** 功能描述: 图形模式显示中文字符
** 输 入 : x: 字符位置x坐标
**          y: 字符位置y坐标
**          cod: 字符代码
**          mode:字符模式,0普通,1反白
**          *font:字符段首地址
** 输 出 : 无
** 全局变量:无
** 调用模块: Set_Address_Pointer,Autowrite,Command
** 
** 作 者: 
** 日 期: 2006-1-10
******************************************/
void Chinese_Character_For_Grahic_Mode(unsigned char x,unsigned char y,unsigned char cod,unsigned char mode,unsigned char *font)
{
    unsigned char i,address_low,address_high;
	unsigned int temp1,temp2;
	temp1=y*TEXT_AREA*8+x;
	for(i=0;i<16;i++)
	{
      temp2=i*TEXT_AREA;
	  address_high=(temp1+temp2)>>8;
      address_low=(temp1+temp2)%256;
	  Set_Address_Pointer(address_low,address_high+GRAPHIC_HOME_ADDRESS_HIGH);
	  AUTO_WRITE_ON();
	  if (mode==0)
	  {
	      Autowrite(*(font+(cod<<5)+i));
	      Autowrite(*(font+(cod<<5)+i+16));
	  }
	  else
	  {
	      Autowrite(255-*(font+(cod<<5)+i));
	      Autowrite(255-*(font+(cod<<5)+i+16));
	  }
      AUTO_WRITE_OFF();
  	}
	return;
} 


/****************************************
** 函数名称: Picture
** 功能描述: 显示图形
** 输 入 :  *pic:图形段首地址
** 输 出 : 无
** 全局变量:无
** 调用模块: Set_Address_Pointer,Autowrite,Command
** 
** 作 者: 
** 日 期: 2006-1-10
******************************************/
void Picture(unsigned char x,unsigned char y,unsigned char pic[])
{
    unsigned char i,j;
    Set_Address_Pointer(GRAPHIC_HOME_ADDRESS_LOW,GRAPHIC_HOME_ADDRESS_HIGH);
    AUTO_WRITE_ON();
	for(i=0;i<y;i++) 
	{
	    for(j=0;j<x;j++) 
	       Autowrite(pic[(i*x+j)]);
	}
	AUTO_WRITE_OFF();
	return;
}

/****************************************
** 函数名称: Create_CGRAM
** 功能描述: 创建CGRAM
** 输 入 :  *font:字符段首地址
**           character_count: 字符数量
** 输 出 : 无
** 全局变量:无
** 调用模块: Set_Offset_Register,Set_Address_Pointer,Command
** 
** 作 者: 
** 日 期: 2006-1-10
**-------------------------------------------
**
** 修改人: 
** 日 期: 2006-1-10
** 描  述: 增加了字符数量参数
******************************************/
void Create_CGRAM(unsigned char *font,unsigned char cod,unsigned char character_count)
{
    unsigned char i,j;
	unsigned char cg_add=CGRAM_ADDRESS;
    Set_Offset_Register(OFFSET_REGISTER);  //Set offset register
    if ((cod&0x80)==0x80)
	{
	    cg_add+=0x04;
	}
	if ((cod&0x40)==0x40)
	{
	    cg_add+=0x02;	
	}
	if ((cod&0x20)==0x20)
	{
	    cg_add+=0x01;	
	}
	cod=cod<<3;
    Set_Address_Pointer(cod,cg_add);
	AUTO_WRITE_ON();
	for(j=0;j<character_count;j++)
	{
	    for(i=0;i<8;i++)
	    {
		    Autowrite(*font);
			font++;
		}
	}
	AUTO_WRITE_OFF();
	return;
}


/****************************************
** 函数名称: putpixel
** 功能描述: 点亮一点
** 输 入 :  x:x坐标
**           y:y坐标
** 输 出 : 无
** 全局变量:无
** 调用模块: Set_Address_Pointer
** 
** 作 者: 
** 日 期: 2006-1-10
******************************************/
/*
void Put_Pixel(unsigned char x,unsigned char y)
{
    unsigned int temp;
	unsigned char address_high,address_low;
    temp=y*GRAPHIC_AREA+(x>>3);
	address_high=temp>>8;
	address_low=temp%256;
    Set_Address_Pointer(address_low,GRAPHIC_HOME_ADDRESS_HIGH+address_high);
	Command(0xf8|(7-x%8));
	return;
}
*/

/****************************************
** 函数名称: Initial_Lcd
** 功能描述: 开光标显示
** 输 入 : 无
** 输 出 : 无
** 全局变量:无
** 调用模块: Set_Text_Address,Set_Graphic_Address,Command,Set_Address_Pointer
** 
** 作 者: 
** 日 期: 2006-1-17
******************************************/
void Initial_Lcd(void)
{
    unsigned int i;
	Set_Text_Address(TEXT_HOME_ADDRESS_LOW,TEXT_HOME_ADDRESS_HIGH,TEXT_AREA);  //Text home address and text area
  	Set_Graphic_Address(GRAPHIC_HOME_ADDRESS_LOW,GRAPHIC_HOME_ADDRESS_HIGH,GRAPHIC_AREA);  //Graphic home address and text area
    Command(mode_set);    // Or mode ,Internal CGRAM mode
    Command(display_mode) ;   // Text off,Graphic off,Cursor off,Blink off
	Set_Address_Pointer(0x00,0x00);
	AUTO_WRITE_ON();
	for(i=0;i<10000;i++) Autowrite(0x0);
	AUTO_WRITE_OFF();
	TEXT_ON();
	GRAPHIC_ON();
	return;
}

⌨️ 快捷键说明

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