📄 1602_lcd.c
字号:
//#define uchar unsigned char
//#define uint unsigned int
void delayms(uint z);
sbit rs = P2^6;
sbit rw = P3^6;
sbit ep = P2^7;
uchar dis1[]={"----------------"};
uchar dis2[16];
lcd_wcmd(unsigned char cmd)
{ // 写入指令数据到LCD
_nop_();_nop_();_nop_();_nop_();
rs = 0;
rw = 0;
ep = 0;
_nop_();_nop_();
P0 = cmd;
_nop_();_nop_();_nop_();_nop_();
ep = 1;
_nop_();_nop_();_nop_();_nop_();
ep = 0;
}
lcd_pos(unsigned char pos)
{ //设定显示位置
//pos=0x40;
lcd_wcmd(pos|0x80); //rch变量的值按位和0x80(对应二进制10000000B)进行或操作
}
lcd_wdat(unsigned char dat)
{ //写入字符显示数据到LCD
_nop_();_nop_();_nop_();_nop_();
rs = 1;
rw = 0;
ep = 0;
_nop_();_nop_();
P0 = dat;
_nop_();_nop_();_nop_();_nop_();
ep = 1;
_nop_();_nop_();_nop_();_nop_();
ep = 0;
}
lcd_init()
{
delayms(1); //LCD初始化设定
lcd_wcmd(0x38); //显示模式设置:单行,8字符,5x7点阵
delayms(1);
lcd_wcmd(0x06); //开显示,关光标,不闪烁
delayms(1);
lcd_wcmd(0x0c); //设置输入模式:光标增量移动,显示不移位
delayms(1);
lcd_wcmd(0x01); //清除LCD显示的内容
}
void lcd_disp_str(uchar *m,uchar n)
{ unsigned char i;
if(n==1)lcd_pos(0x00); // 设置显示位置为第一行的第1个字符
if(n==2)lcd_pos(0x40); // 设置显示位置为第二行的第1个字符
for(i =0;*m!='\0';i++)lcd_wdat(*m++); // 显示一行字符" "
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -