📄 s6b0108.c
字号:
void FSH_Set_Two_Page(unsigned char cs, unsigned char page, unsigned char far * bitmap)
{
unsigned char j, k;
unsigned int n=0;
unsigned int i;
if (cs == CS1)
{
CSA=0;
CSB=0;
}
else if (cs == CS2)
{
CSA=0;
CSB=1;
}
else if (cs == CS3)
{
CSA=1;
CSB=0;
}
Delay(100);
Write_0108_Reg(Set_Page + page);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
for(j=0;j<64;j++)
{
if (j<63)
Write_0108_Data(bitmap[n]);
else
Write_0108_Data(bitmap[n]);
n++;
}
page += 1;
Write_0108_Reg(Set_Page + page);
Write_0108_Reg(Set_Column);
for(j=0;j<64;j++)
{
if (j<63)
Write_0108_Data(bitmap[n]);
else
Write_0108_Data(bitmap[n]);
n++;
}
}
/****************************************************************
两页反白显示程序:一次将两个显示页进行反白显示
cs: 需要输入字符的液晶屏,CS1, CS2 或 CS3;
page: 需要输入字符的起始页
bitmap:点阵数据表地址
****************************************************************/
void Comp_Set_Two_Page(unsigned char cs, unsigned char page, unsigned char far * bitmap)
{
unsigned char j;
unsigned char a,b;
unsigned int n=0;
unsigned int i;
if (cs == CS1)
{
CSA=0;
CSB=0;
}
else if (cs == CS2)
{
CSA=0;
CSB=1;
}
else if (cs == CS3)
{
CSA=1;
CSB=0;
}
Delay(100);
Write_0108_Reg(Set_Page + page);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
if (page == 2)
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
{
b = bitmap[n];
a = b & 0xfe;
Write_0108_Data(~a); /* 反白显示 */
}
n++;
}
}
else if (page != 2)
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
Write_0108_Data(~bitmap[n]); /* 反白显示 */
n++;
}
}
page += 1;
Write_0108_Reg(Set_Page + page);
Write_0108_Reg(Set_Column);
if (page == 7)
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
{
b = bitmap[n];
a = b & 0x7f;
Write_0108_Data(~a); /* 反白显示 */
}
n++;
}
}
else if (page != 7)
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
Write_0108_Data(~bitmap[n]); /* 反白显示 */
n++;
}
}
}
/****************************************************************
整屏显示程序:一次显示整个显示屏(CS1, CS2 或 CS3)
cs: 需要输入字符的液晶屏,CS1, CS2 或 CS3;
bitmap:点阵数据表地址
****************************************************************/
void Set_Screen(unsigned char cs, unsigned char far *bitmap)
{
unsigned char j, k;
unsigned int n=0;
unsigned int i;
if (cs == CS1)
{
CSA=0;
CSB=0;
}
else if (cs == CS2)
{
CSA=0;
CSB=1;
}
else if (cs == CS3)
{
CSA=1;
CSB=0;
}
Delay(100);
for(k=0;k<8;k++)
{
Write_0108_Reg(Set_Page+k);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
for(j=0;j<64;j++)
{
Write_0108_Data(bitmap[n]);
n++;
// if (n == 64*(k*3+1))
// n = 64*(3*k+3);
}
}
}
/****************************************************************
整屏反白显示程序:整个屏幕进行反白显示(CS1, CS2 或 CS3)
cs: 需要输入字符的液晶屏,CS1, CS2 或 CS3;
x1: 反白显示的起始页
y1: 反白显示的结束页
bitmap:点阵数据表地址
****************************************************************/
void Comp_Set_Screen(unsigned char cs, unsigned char x1, unsigned char y1, unsigned char far * bitmap)
{
unsigned char j, k;
unsigned int n=0;
unsigned int i;
unsigned char a;
unsigned char b;
unsigned char c;
unsigned char d;
// a = bitmap[0];
if (cs == CS1)
{
CSA=0;
CSB=0;
}
else if (cs == CS2)
{
CSA=0;
CSB=1;
}
else if (cs == CS3)
{
CSA=1;
CSB=0;
}
Delay(100);
for(k=0;k<8;k++)
{
Write_0108_Reg(Set_Page+k);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
if ((k < x1)||(k > y1))
{
for(j=0;j<64;j++)
{
Write_0108_Data(bitmap[n]);
n++;
}
}
if ((k >= x1)&&(k <= y1)) /* 反白显示该区域 */
{
if (k==2)
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
{
b = bitmap[n];
a = b & 0xfe;
Write_0108_Data(~a); /* 反白显示 */
}
n++;
}
}
if (k==7)
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
{
b = bitmap[n];
a = b & 0x7f;
Write_0108_Data(~a); /* 反白显示 */
}
n++;
}
}
else if ((k!=2)&&(k!=7))
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
Write_0108_Data(~bitmap[n]); /* 反白显示 */
n++;
}
}
}
}
}
/****************************************************************
指定区域闪烁显示程序:对值定区域进行闪烁显示
cs: 需要输入字符的液晶屏,CS1, CS2 或 CS3;
x2: 反白显示的起始页
y2: 反白显示的结束页
bitmap:点阵数据表地址
****************************************************************/
void Flash_Set_Screen(unsigned char cs, unsigned char x2, unsigned char y2, unsigned char far * bitmap)
{
unsigned char j, k;
unsigned int n=0;
unsigned int i;
if (cs == CS1)
{
CSA=0;
CSB=0;
}
else if (cs == CS2)
{
CSA=0;
CSB=1;
}
else if (cs == CS3)
{
CSA=1;
CSB=0;
}
Delay(100);
for(k=0;k<8;k++)
{
Write_0108_Reg(Set_Page+k);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
if ((k < x2)||(k > y2))
{
for(j=0;j<64;j++)
{
Write_0108_Data(bitmap[n]);
n++;
}
}
if ((k >= x2)&&(k <= y2)) /* 该区域显示空白 */
{
if (k==2)
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
{
Write_0108_Data(0x01); /* 显示空白 */
}
n++;
}
}
if (k==7)
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
{
Write_0108_Data(0x80); /* 显示空白 */
}
n++;
}
}
else if ((k!=2)&&(k!=7))
{
for(j=0;j<64;j++)
{
if((j == 0)||((j == 63)&&(cs == CS3))) /* 保留菜单边框 */
Write_0108_Data(bitmap[n]);
else
Write_0108_Data(0x00); /* 显示空白 */
n++;
}
}
}
}
}
/****************************************************************
切换指定区域显示内容程序:切换指定区域显示内容
cs: 需要输入字符的液晶屏,CS1, CS2 或 CS3;
x3: 反白显示的起始页
y3: 反白显示的结束页
bitmap:原点阵数据表地址
new_bitmap:新点阵数据地址
****************************************************************/
void Change_Set_Screen(unsigned char cs, unsigned char x3, unsigned char y3, unsigned char far * new_bitmap, unsigned char far * bitmap)
{
unsigned char j, k;
unsigned int n=0;
unsigned int i;
if (cs == CS1)
{
CSA=0;
CSB=0;
}
else if (cs == CS2)
{
CSA=0;
CSB=1;
}
else if (cs == CS3)
{
CSA=1;
CSB=0;
}
Delay(100);
for(k=0;k<8;k++)
{
Write_0108_Reg(Set_Page+k);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
if ((k < x3)||(k > y3)) /* 照常显示元菜单内容 */
{
for(j=0;j<64;j++)
{
Write_0108_Data(bitmap[n]);
n++;
}
}
if ((k >= x3)&&(k <= y3)) /* 切换该区域内容 */
{
for(j=0;j<64;j++)
{
// if((j == 0)||(j == 0))
// Write_0108_Data(bitmap[n]);
// else
Write_0108_Data(new_bitmap[n-x3*64]);
n++;
}
}
}
}
/****************************************************************
清除KS0108显示存储器
****************************************************************/
/*
void Set_Screen3()
{
unsigned char j, k;
unsigned int n=0;
unsigned int i;
CSA=0;
CSB=0;
Delay(100);
for(k=0;k<8;k++)
{
Write_0108_Reg(Set_Page+k);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
// i = 64*(k*3+1);
for(j=0;j<64;j++)
{
Write_0108_Data(nBitmapDot16_1[n]);
n++;
// if (n == 64*(k*3+1))
// n = 64*(3*k+3);
}
}
}
void Set_Screen4()
{
unsigned char j, k;
unsigned int n=0;
// unsigned int n=64;
CSA=0;
CSB=1;
Delay(100);
for(k=0;k<8;k++)
{
Write_0108_Reg(Set_Page+k);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
for(j=0;j<64;j++)
{
Write_0108_Data(nBitmapDot16_2[n]);
n++;
// if (n == 64*(k*3+2))
// n = 64*(3*k+4);
}
}
}
void Set_Screen5()
{
unsigned char j, k;
unsigned int n=0;
// unsigned int n=128;
CSA=1;
CSB=0;
Delay(100);
for(k=0;k<8;k++)
{
Write_0108_Reg(Set_Page+k);
Write_0108_Reg(Set_Column);
Write_0108_Reg(Set_Start_Line_0);
for(j=0;j<64;j++)
{
Write_0108_Data(nBitmapDot16_3[n]);
n++;
// if (n == 64*(k*3+3))
// n = 64*(3*k+5);
}
}
}
*/
//////////////////////////////////////////////////////////////////////////////////
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -