您的位置首页生活百科

这是一段LCD1602的显示程序,有谁能帮我解释一下吗?谢谢

这是一段LCD1602的显示程序,有谁能帮我解释一下吗?谢谢

让LCD1602显示字符前要输入字符所在的地址,这也是每显示一个字符地址要加一的原因,在下面的一段代码里你会明白怎么设置地址,怎么让地址自动加一,怎么清屏,怎么显示字符,希望你能看懂哦

sbit LCD_E=P2^0; //lcd1602控制置位

sbit LCD_RW=P2^1;//lcd1602控制置位

sbit LCD_RS=P2^2; //lcd1602控制置位

void LCD_command(unsigned char com)

{

LCD_E=0;

LCD_RW=0;

LCD_RS=0;

P1=com;

delay_us(100);

LCD_E=1;

delay_us(100);

LCD_E=0;

}

void LCD_date(unsigned char dat)

{

LCD_E=0;

LCD_RW=0;

LCD_RS=1;

P1=dat;

delay_us(100);

LCD_E=1;

delay_us(100);

LCD_E=0;

}

LCD_command(0x38);//设置LCD为16*2显示,5*7点阵,8位数据接口

LCD_command(0x0c); //设置LCD显示开,光标显示关

LCD_command(0x06); //写一个数据后地址加1

LCD_command(0x01);//显示清屏

LCD_command(0x80);//数据指针设置为第一行第一位

LCD_date('pi');

LCD_date('l');

LCD_date('e');

LCD_date('a');

LCD_date('s');

LCD_date('e');

LCD_date(' ');

LCD_date('c');

LCD_date('h');

LCD_date('e');

LCD_date('c');

LCD_date('k');

LCD_date(' ');

LCD_date('t');

LCD_date('h');

LCD_date('e');

LCD_command(0x80+0x40); //LCD地址指针指向第二行第一个位置

LCD_date('c');

LCD_date('o');

LCD_date('n');

LCD_date('n');

LCD_date('e');

LCD_date('c');

LCD_date('t');

LCD_date('i');

LCD_date('o');

LCD_date('n');

LCD_date('!');

LCD_date('!');