📄 my1602.c
字号:
//lcd1602 dirve
//write by feiyang
#define line1 0//显示第一行
#define line2 1//显示第二行
#define line1_head 0x80//显示第一行加行头
#define line2_head 0xc0//显示第二行加行头
#define lcd_delay_time 40
#define data_mode 0x38//显示模式:8位2行5x7点阵
#define open_screen 0x0c//打开显示
#define display_address 0x80
#define clearscreen lcd_en_command(0x01)
#define high 1
#define low 0
#define zero 0
#define msb 0x80
#define lsb 0x01
#define lcdio p2
sbit lcd1602_rs=p07;//寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器
sbit lcd1602_rw=p06;//RW为读写信号线,高电平时进行读操作,低电平时进行写操作
sbit lcd1602_en=p05;//E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令
void main(void)
{
lcd_init();//初始化
while(1)
{
clearscreen;//清屏
delay_nms(2);
lcd_write_string(0,line1,"lcd test");
lcd_write_string(0,line2,"successful");
delay_nms(200);
clearscreen;
delay_nms(2);
lcd_write_string(0,line1,"lcd test");
lcd_write_string(0,line2,"successful");
delay_nms(200);
}
}
///////////////////
void lcd_delay(void)
{
unsigned char i;
for(i=lcd_delay_time;i>zero;i--)
;
}
void lcd_en_command(unsigned char command)
{
lcdio=command;
lcd1602_rs=low;
lcd1602_rw=low;//当RS和RW共同为低电平时写入指令或者显示地址
lcd1602_en=low;
lcd_delay();
lcd1602_en=high;
}
void lcd_en_dat(unsinged char dat)
{
lcdio=dat;
lcd1602_rs=high;
lcd1602_rw=low;//当RS为高电平RW为低电平时写入数据
lcd1602_en=low;
lcd_delay();
lcd1602_en=high;
}
void lcd_set_xy(unsigned char x,unsigned char y)
{
unsigned char address;
if(y==line1)
address=line1_head+x;
else
address=line2_head+X;
lcd_en_command(address);//写入地址
}
void lcd_write_char(unsigned char x,unsigned char y,unsigned char dat)
{
lcd_set_xy(x,y);//写入地址
lcd_en_dat(dat);//写入数据
}
void lcd_write_string(unsigned char x,unsigned char y,unsigned char *s)
{
lcd_set_xy(x,y);
while(*s)
{
lcdio=*s;
lcd_en_dat(*s);
s++;
}
}
void lcd_init(void)
{
clearscreen;
lcd_en_command(data_mode);
lcd_en_command(open_screen);
lcd_en_command(display_address);//设置开始显示地址
clearscreen;
}
void delay_nms(unsigned int n)
{
unsigned int i=0,j=0;
for(i=n;i>0;i--)
for(j=o;j<1140;j++);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -