📄 lcd.h
字号:
void initialize_LCD();
void single_dis(unsigned char line_addr,clum_addr,trans_value);
void total_dis();
void clear_dis();
//void write_CGROM();
void transfer(unsigned char trans_value);
void line_dis(uchar word,uchar code *dat);
void line_clear(uchar word);
//----------------------- 初始化模组 ------------------//
void initialize_LCD()
{
RS=0; // RS=0,传送的数据为控制命令,
// RS=1传送的数据为显示数据
transfer(0x01); // Clear Display
transfer(0x38); // Function Set
transfer(0x0c); // Display on/off Control
transfer(0x06); // Entry mode set
}
//------------------ 显示单个字节 ------------------//
void single_dis(uchar line_addr,clum_addr,trans_value)
{
uchar line;
switch(line_addr)
{
case 1: line=0x80; break;
case 2: line=0xc0; break;
case 3: line=0x94; break;
case 4: line=0xd4; break;
default: break;
}
RS=0;
transfer(line+clum_addr); // 显示地址
RS=1;
transfer(trans_value); // 显示字符
}
//------------------ 显示一行 ------------------//
void line_dis(uchar word,uchar code *dat)
{
uchar count;
RS=0;
transfer(word);
RS=1;
for(count=0;count<MAX_COUNT;count++)
transfer(dat[count]);
}
/*
//------------------ 全屏显示 ------------------//
void total_dis()
{
uchar count;
RS=0;
transfer(0x80); // 第1行DDRAM 起始地址
RS=1;
for(count=0;count<MAX_COUNT;count++)
transfer(welcome[count]); // 显示第1行字符
RS=0;
transfer(0xc0); // 第2行DDRAM 起始地址
RS=1;
for(count=MAX_COUNT;count<MAX_COUNT+MAX_COUNT;count++)
transfer(welcome[count]); // 显示第2行字符
RS=0;
transfer(0x94); // 第3行DDRAM 起始地址
RS=1;
for(count=0;count<MAX_COUNT;count++)
transfer(welcome[count]); // 显示第3行字符
RS=0;
transfer(0xd4); // 第4行DDRAM 起始地址
RS=1;
for(count=MAX_COUNT;count<MAX_COUNT+MAX_COUNT;count++)
transfer(welcome[count]); // 显示第4行字符
}
//------------------ 清除一行 ------------------//
void line_clear(uchar word)
{ uchar count;
RS=0;
transfer(word); // 第1行DDRAM 起始地址
RS=1;
for(count=0;count<MAX_COUNT;count++)
transfer(0x20); // 显示第1行字符
}
//------------------ 清屏 ------------------//
void clear_dis()
{
uchar count;
RS=0;
transfer(0x80); // 第1行DDRAM 起始地址
RS=1;
for(count=0;count<MAX_COUNT;count++)
transfer(0x20); // 显示第1行字符
RS=0;
transfer(0xc0); // 第2行DDRAM 起始地址
RS=1;
for(count=MAX_COUNT;count<MAX_COUNT+MAX_COUNT;count++)
transfer(0x20); // 显示第2行字符
RS=0;
transfer(0x94); // 第3行DDRAM 起始地址
RS=1;
for(count=0;count<MAX_COUNT;count++)
transfer(0x20); // 显示第3行字符
RS=0;
transfer(0xd4); // 第4行DDRAM 起始地址
RS=1;
for(count=0;count<MAX_COUNT;count++)
transfer(0x20); // 显示第4行字符
}
*/
//------------------- 模组数据发送 --------------//
void transfer(uchar trans_value)
{
R_W=0;
E=0;
PORT=trans_value;
_nop_();
E=1;
_nop_();
E=0;
delayms(1);
}
/*
//-----------------write CGROM----------------//
//自定义文字,可以不用
void write_CGROM()
{
unsigned char i;
RS=0;
R_W=0;
E=0;
transfer(0x40); // 开启写CGROM模式
RS=1;
R_W=0;
for(i=0;i<64;i++)
{
PORT=CGROM[i];
_nop_();
E=1;
_nop_();
E=0;
_nop_();
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -