📄 12864p-101.c
字号:
/***********************************
** 函数名称: Write_Data
** 功能描述: 传送数据
** 输 入: dat
** 输 出 : 无
** 全局变量:无
** 调用模块: Busy,
**
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Write_Data(unsigned char dat)
{
RS=1;
RW_WR=0;
DATA_BUS=dat;
Delay(1);
RW_WR=1;
return;
}
/***********************************
** 函数名称: Write_Instruction
** 功能描述: 传送命令
** 输 入: dat
** 输 出 : 无
** 全局变量:无
** 调用模块: Busy,
**
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Write_Instruction(unsigned char cmd)
{
RS=0;
RW_WR=0;
DATA_BUS=cmd;
Delay(1);
RW_WR=1;
return;
}
/***********************************
** 函数名称: Initial_Dispay_Line
** 功能描述: Specify DDRAM line for COM0 0~63
** 输 入: line
** 输 出 : 无
** 全局变量:无
** 调用模块: Write_Instruction
**
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Initial_Dispay_Line(unsigned char line)
{
line|=0x40;
Write_Instruction(line);
return;
}
/***********************************
** 函数名称: Set_Page_Address
** 功能描述: Set page address 0~15
** 输 入: add
** 输 出 : 无
** 全局变量:无
** 调用模块: Write_Instruction
**
** 作 者: 耀宇科技
** 日 期: 2006-2-17
******************************************/
#pragma disable
void Set_Page_Address(unsigned char add)
{
add=0xb0|add;
Write_Instruction(add);
return;
}
/***********************************
** 函数名称: Set_Column_Address 0~255
** 功能描述: 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;
}
/***********************************
** 函数名称: 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();
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_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_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;
}
void main(void)
{
Delay(2000);
CS1=0;
Initial();
DISPLAY_ON();
REVERSE_DISPLAY_OFF();
Clear_Display();//清屏函数
while(1)
{
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(pic2);
Delay(65000);
Delay(65000);
Delay(65000);
Delay(15000);
REVERSE_DISPLAY_ON();
Delay(65000);
Delay(65000);
Delay(65000);
Delay(15000);
REVERSE_DISPLAY_OFF();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -