📄 1602_lcd.c
字号:
/*******************************************************************************
* 标题: 2007年全国大学生电子设计竞赛 *
* 文件: 1602_lcd.C *
* 日期: 2007-7-22 *
* 版本: 1.0 *
* 作者: axin *
* 网站: *
********************************************************************************
* 功能描述: *
* 液晶屏第一行显示 *
* 第二行显示 *
* *
*******************************************************************************/
sbit rs = P1^4;
sbit rw = P1^5;
sbit ep = P1^3;
uchar dis1[]={"----------------"};
uchar dis2[]={"----------------"};
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);
//lcd_wcmd(pos);
}
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_1ms(); //LCD初始化设定
lcd_wcmd(0x38); //显示模式设置:单行,8字符,5x7点阵
delayms_1ms();
lcd_wcmd(0x06); //开显示,关光标,不闪烁
delayms_1ms();
lcd_wcmd(0x0c); //设置输入模式:光标增量移动,显示不移位
delayms_1ms();
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 + -