📄 lcd1602.c
字号:
/*-------------------------------------------
FileName:lcd1602.c
与同目录的lcd1602.h一起构成lcd1602驱动
lcd1602.c为各驱动函数的定义
--------------------------------------------*/
#include"lcd1602.h"
void delay_lcd()
{
int k=500;
while(k--);
}
void lcd_write(unsigned int rs, unsigned int lcddata) //rs为COMMAND(即0)写指令, 为ADDR(即1)写数据
{
RS=rs;
RW=WRITE; //写入
LCDEN = LCD_DISABLE;
DATA =lcddata;
delay_lcd(); //这个delay一定要,看datasheet的时序图
LCDEN =LCD_EN;
LCDEN = LCD_DISABLE; //这句也一定要加,
}
void Print(unsigned char *str) //仿C中printf
{
while(*str!='\0')
{
lcd_write(ADDR,*str);
str++;
}
}
void GotoXY(unsigned char x, unsigned char y) //y为行数,x为列数
{
if(y==0)
lcd_write(0,0x80|x);
if(y==1)
lcd_write(0,0x80|(x-0x40));
}
void lcd_init()
{
lcd_write(COMMAND,0x38); //数据8位,双列字,5*7字型
lcd_write(COMMAND,0x0c); //开显示屏,关光标,不闪烁
lcd_write(COMMAND,0x01); //清屏
lcd_write(COMMAND,0x06); //设定AC递增,屏幕不移动
}
void lcd_clear()
{
lcd_write(COMMAND,0x01); //清屏
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -