📄 lcd_control_ks0107.h
字号:
E = 0; //下降沿
}
void WriteDataToLeft(unsigned char Datas)
{
/******************************************************
函数名:屏幕显示函数(左)
功能描述:向左边屏幕写数据
输入变量 Datas
******************************************************/
CS2 = 0;
CS1 = 1;
CheckStateL();
RS = 1;
RW = 0;
DDRA =0xff;
PORTA =Datas; //发送数据
E = 1;
E = 0; //下降沿
}
void WriteDataToRight(unsigned char Datas)
{
/******************************************************
函数名:屏幕显示函数(右)
功能描述:向左边屏幕写数据
输入变量 Datas
******************************************************/
CS1 = 1;
CS2 = 0;
CheckStateR();
RS = 1;
RW = 0;
DDRA =0xff;
PORTA =Datas; //发送数据
E = 1;
E = 0; //下降沿
}
unsigned char ReadDataToLeft()
{
unsigned char f;
CS2 = 0; //CS2 =0
CS1 = 1; //CS1 =1 选左
PORTA = 0xff;
CheckStateL();
RW = 1;
RS = 1;
DDRA =0x00;
E = 1;
f = PINA; //获得 \
E = 0; //下降沿
DDRA = 0xff; //恢复写数据状态
return f;
}
void TurnOnLCD(char p)
{
/******************************************************
函数名:打开显示
功能描述:显示使能
******************************************************/
if(p==LEFT)
WriteCommandToLeft(OpenLCD); //开
else
WriteCommandToRight(OpenLCD); //开
}
void TurnOffLCD(char p)
{
/******************************************************
函数名:关闭显示
功能描述:关闭显示
******************************************************/
if(p==LEFT)
WriteCommandToLeft(CloseLCD); //关
else
WriteCommandToRight(CloseLCD); //关
}
void ClsLeft(unsigned char val)
{
unsigned char i;
int j;
CS2 = 0;
CS1 = 1;
for(i=0;i<8;i++){
SetLineLeft(i);
WriteCommandToLeft(0b01000000); //设置起始列
for(j=0;j<64;j++){
WriteDataToLeft(val); //发送数据
}
}
}
void ClsRight(unsigned char val)
{
unsigned char i;
int j;
CS1 = 0;
CS2 = 1;
for(i=0;i<8;i++){
SetLineRight(i);
WriteCommandToRight(0b01000000); //设置起始列
for(j=0;j<64;j++){
WriteDataToRight(val); //发送数据
}
}
}
void SetLineLeft(unsigned char line)
{
line=line & 0x07; // 0<=line<=7
line=line|0xb8; //1011 1xxx
WriteCommandToLeft(line);
}
void SetLineRight(unsigned char line)
{
line=line & 0x07; // 0<=line<=7
line=line|0xb8; //1011 1xxx
WriteCommandToRight(line);
}
void LCDAutoTestLeft(unsigned char val)
{
unsigned char i,j;
CS2 = 0;
CS1 = 1;
for(i=0;i<8;i++){
SetLineLeft(i);
WriteCommandToLeft(0b01000000); //设置起始列
for(j=0;j<64;j++){
TurnOffLCD(LEFT);
WriteDataToLeft(val); //发送数据
TurnOnLCD(LEFT);
Delay(100);
}
}
}
void LCDAutoTestRight(unsigned char val)
{
unsigned char i,j;
CS1 = 0;
CS2 = 1;
for(i=0;i<8;i++){
SetLineRight(i);
WriteCommandToRight(0b01000000); //设置起始列
for(j=0;j<64;j++){
TurnOffLCD(RIGHT);
WriteDataToRight(val); //发送数据
TurnOnLCD(RIGHT);
Delay(100);
}
}
}
void LCDAutoTestLeft2(void)
{
unsigned char i,j;
CS2 = 0;
CS1 = 1;
for(i=0;i<8;i++){
SetLineLeft(i);
WriteCommandToLeft(0b01000000); //设置起始列
for(j=0;j<64;j++){
TurnOffLCD(LEFT);
// WriteDataToLeft(ReadDataToLeft(i,j)^0xff); //发送数据
TurnOnLCD(LEFT);
Delay(200);
}
}
}
void SetColumnLeft(unsigned char column)
{
column=column &0x3f; // 0=<column<=63
column=column | 0x40; //01xx xxxx
WriteCommandToLeft(column);
}
void SetColumnRight(unsigned char column)
{
column=column &0x3f; // 0=<column<=63
column=column | 0x40; //01xx xxxx
WriteCommandToRight(column);
}
void SendByte(unsigned char h,unsigned char l,unsigned char Datas)
{
if(h<0)
h = 0;
if(h>7)
h = 7;
if(l<0)
l = 0;
if(l>127)
l=127;
if(l>63){
SetLineRight(h);
SetColumnRight(l-64);
WriteDataToRight(Datas);
}else
{
SetLineLeft(h);
SetColumnLeft(l);
WriteDataToLeft(Datas);
}
}
void Show816(unsigned char h,unsigned char l,unsigned char * ch,unsigned char ShowType)
{
unsigned char j;
if(h<0) h = 0;
if(h>4) h = 4;
h=h*2;
if(l<0) l = 0;
for(j=0;j<8;j++){
if(ShowType==1){
SendByte(h,l+j,ch[2*j]);
SendByte(h+1,l+j,ch[2*j+1]);
}else
{
SendByte(h,l+j,ch[2*j]^0xff);
SendByte(h+1,l+j,ch[2*j+1]^0xff);
}
}
}
void Show1616(unsigned char h,unsigned char l,unsigned char * ch,unsigned char ShowType)
{
unsigned char j;
if(h<0) h = 0;
if(h>3) h = 3;
h=h*2;
if(l<0) l = 0;
for(j=0;j<16;j++){
if(ShowType==1){
SendByte(h,l+j,ch[2*j]);
SendByte(h+1,l+j,ch[2*j+1]);
}else
{
SendByte(h,l+j,ch[2*j]^0xff);
SendByte(h+1,l+j,ch[2*j+1]^0xff);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -