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

📄 ym12864p-10.c

📁 12864ST7565液晶显示器驱动程序
💻 C
📖 第 1 页 / 共 2 页
字号:
** 功能描述: Set column address
** 输 入:  add
** 输 出 : 无
** 全局变量:无
** 调用模块: Write_Instruction
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Set_Column_Address(unsigned char add)
{
    Write_Instruction((0x10|(add>>4)));
	Write_Instruction((0x0f&add));
	return;
}

/***********************************
** 函数名称: Power_Control
** 功能描述: Power_Control   4 (internal converte ON) + 2 (internal regulor ON) + 1 (internal follower ON)
** 输 入:  vol
** 输 出 : 无
** 全局变量:无
** 调用模块: Write_Instruction
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Power_Control(unsigned char vol)
{
    Write_Instruction((0x28|vol));
	return;
}

/***********************************
** 函数名称: Regulor_Resistor_Select
** 功能描述:  Regulor resistor select
**            1+Rb/Ra  Vo=(1+Rb/Ra)Vev    Vev=(1-(63-a)/162)Vref   2.1v
**            0  3.0       4  5.0(default)
**            1  3.5       5  5.5
**            2  4         6  6
**            3  4.5       7  6.4
** 输 入:  r
** 输 出 : 无
** 全局变量:无
** 调用模块: Write_Instruction
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Regulor_Resistor_Select(unsigned char r)
{
    Write_Instruction((0x20|r));
	return;
}

/***********************************
** 函数名称: Set_Contrast_Control_Register
** 功能描述:  Set reference voltage mode
**            a(0-63) 32default   Vev=(1-(63-a)/162)Vref   2.1v
** 输 入:  mod
** 输 出 : 无
** 全局变量:无
** 调用模块: Write_Instruction
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Set_Contrast_Control_Register(unsigned char mod)
{
    Write_Instruction(0x81);
	Write_Instruction(mod);
	return;
}

/***********************************
** 函数名称: Set_Multiplex_Ratio
** 功能描述:  COM N
** 输 入:  mod
** 输 出 : 无
** 全局变量:无
** 调用模块: Write_Instruction
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
/*
#pragma disable
void Set_Multiplex_Ratio(unsigned char mod)
{
    Write_Instruction(0xa8);
	Write_Instruction(mod);
	return;
}
*/

/***********************************
** 函数名称: Set_Static_Indicator_Mode_ON
** 功能描述: Set_Static_Indicator_Mode_ON
** 输 入:  mod
** 输 出 : 无
** 全局变量:无
** 调用模块: Write_Instruction
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
/*
void Set_Static_Indicator_Mode_ON(unsigned char mod)
{
    Write_Instruction(0xad);
	Write_Instruction(mod);
	return;
}
*/

/***********************************
** 函数名称: Initial
** 功能描述:  Initial
** 输 入:  无
** 输 出 : 无
** 全局变量:无
** 调用模块: POWER_SAVE,Delay,CLEAR_ADC,CLEAR_SHL,SET_BIAS,Power_Control,Regulor_Resistor_Select,Set_Contrast_Control_Register
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Initial(void)
{
    RESET();
	RST=1;
	IE=0x81;
	IP=0x01;
	TCON=0x00;
	Delay(60000);
    CLEAR_ADC();
    SET_SHL();
    CLEAR_BIAS();
//	Set_Multiplex_Ratio(0x3f);
    Power_Control(0x07);
    Regulor_Resistor_Select(0x05);
    Set_Contrast_Control_Register(0x23);
	Initial_Dispay_Line(0x00);
	Delay(1000);
}

/***********************************
** 函数名称: Clear_Display
** 功能描述: Clear_Display
** 输 入:  无
** 输 出 : 无
** 全局变量:无
** 调用模块:
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
#pragma disable
void Clear_Display(void)
{
    register unsigned char i,j;
    for(i=0;i<0x09;i++)
	{
		Set_Page_Address(i);
        Set_Column_Address(0x00);
		for(j=0;j<0x80;j++)
		{
		    Write_Data(0x00);
		}
	}
    return;
}

/***********************************
** 函数名称: Display_Grid
** 功能描述: Display Grid
** 输 入:  value_first,value_second
** 输 出 : 无
** 全局变量:无
** 调用模块:
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
/*
void Display_Grid(unsigned char value_first,unsigned char value_second)
{
    unsigned char i,j;
	Initial_Dispay_Line(0x3f);
    for(i=0;i<0x08;i++)
	{
		Set_Page_Address(i);
        Set_Column_Address(0x00);
		for(j=0;j<0x40;j++)
		{
		    Write_Data(value_first);
		    Write_Data(value_second);
		}
	}
    return;
}
*/

/***********************************
** 函数名称: Display_Chess
** 功能描述: Display_Chess
** 输 入:  value
** 输 出 : 无
** 全局变量:无
** 调用模块:
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
#pragma disable
void Display_Chess(unsigned char value)
{
    register unsigned char i,j,k;
    for(i=0;i<0x08;i++)
	{
		Set_Page_Address(i);
        Set_Column_Address(0x00);
		value=~value;
		for(j=0;j<0x08;j++)
		{
		    for(k=0;k<0x08;k++)
		        Write_Data(value);
		    for(k=0;k<0x08;k++)
		        Write_Data(~value);
		}
	}
    return;
}

/***********************************
** 函数名称: Display_Chinese
** 功能描述: Display_Chinese
** 输 入:  value
** 输 出 : 无
** 全局变量:无
** 调用模块:
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
/*
#pragma disable
void Display_Chinese(unsigned char ft[])
{
    unsigned char i,j,k,num=0;
    for(i=0;i<0x08;i++)
	{
	    num=i<<7;
		num=num>>3;
		Set_Page_Address(i);
        Set_Column_Address(0x00);
		for(j=0;j<0x08;j++)
		{
            for(k=0;k<0x10;k++)
			{
		        Write_Data(ft[num+k]);
			}
			num+=0x20;
		}
	}
    return;
}
*/

/***********************************
** 函数名称: Display_Chinese_Column
** 功能描述: Display_Chinese1
** 输 入:  value
** 输 出 : 无
** 全局变量:无
** 调用模块:
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
/*
void Display_Chinese_Column(unsigned char ft[])
{
    unsigned char i,j,k,num=0;
	Initial_Dispay_Line(0x40);
    for(i=0;i<0x08;i++)
	{
		Set_Page_Address(i);
        Set_Column_Address(0x00);
		for(j=0;j<0x08;j++)
		{
            for(k=0;k<0x10;k++)
			{
		        Write_Data(ft[num+k]);
			}
		}
	num+=0x10;
	}
    return;
}
*/

/***********************************
** 函数名称: Display_Chinese
** 功能描述: Display_Chinese
** 输 入:  value
** 输 出 : 无
** 全局变量:无
** 调用模块:
** 
** 作 者: 耀宇科技
** 日 期: 2006-2-10
******************************************/
#pragma disable
void Display_Picture(unsigned char pc[])
{
    unsigned char i;
    unsigned int idata k,num=0;
	for(i=0;i<0x08;i++)
	{
		Set_Page_Address(i);
        Set_Column_Address(0x00);
        for(k=0;k<0x80;k++)
		{
		    Write_Data(pc[num+k]);
		}
        num+=0x80;
	}
    return;
}

#pragma disable
void Step(void) interrupt 0
{
    while(IE0==1);
    return;
}


void main(void)
{
	Delay(2000);
    CS1=0;
    Initial();
	DISPLAY_ON();
    REVERSE_DISPLAY_OFF();
	while(1)
	{
/*
        Display_Grid(0xaa,0xaa);
	    Delay(65000);
		Delay(65000);
        Display_Grid(0x55,0x55);
	    Delay(65000);
		Delay(65000);
        Display_Grid(0x0,0xff);
	    Delay(65000);
		Delay(65000);
        Display_Grid(0xff,0x0);
	    Delay(65000);
	    Delay(65000);
*/
        Clear_Display();
		Display_Chess(0xff);
	    Delay(65000);
	    Delay(65000);
	    Delay(65000);
	    Delay(15000);
    	REVERSE_DISPLAY_ON();
        Delay(65000);
        Delay(65000);
        Delay(65000);
        Delay(15000);
		REVERSE_DISPLAY_OFF();

//		Display_Picture(pic);
//	    Delay(65000);
//	    Delay(65000);
//	    Delay(65000);
//	    Delay(15000);
 //   	REVERSE_DISPLAY_ON();
 //       Delay(65000);
 //       Delay(65000);
 //       Delay(65000);
 //       Delay(15000);
//		REVERSE_DISPLAY_OFF();
/*
		Display_Picture(pic1);
	    Delay(65000);
	    Delay(65000);
	    Delay(65000);
	    Delay(15000);
    	REVERSE_DISPLAY_ON();
        Delay(65000);
        Delay(65000);
        Delay(65000);
        Delay(15000);
		REVERSE_DISPLAY_OFF();
*/
		Display_Picture(pic2);
	    Delay(65000);
	    Delay(65000);
	    Delay(65000);
	    Delay(15000);
    	REVERSE_DISPLAY_ON();
        Delay(65000);
        Delay(65000);
        Delay(65000);
        Delay(15000);
		REVERSE_DISPLAY_OFF();
/*
		Display_Chinese(font);
		Delay(65000);
	    Delay(65000);
	    Delay(65000);
	    Delay(65000);
		REVERSE_DISPLAY_ON();
		Display_Chinese(font);
		Delay(65000);
	    Delay(65000);
	    Delay(65000);
	    Delay(65000);
		REVERSE_DISPLAY_OFF();
		Display_Chinese_Column(font);
		Delay(65000);
	    Delay(65000);
		REVERSE_DISPLAY_ON();
		Display_Chinese_Column(font);
		Delay(65000);
	    Delay(65000);
		REVERSE_DISPLAY_OFF();
*/
	}
}

⌨️ 快捷键说明

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