微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > LCD1602程序代码及显示流程图

LCD1602程序代码及显示流程图

时间:09-12 来源:电子发烧友网 点击:

  uint i,j;

  for(i=n;i》0;i--)

  for(j=2;j》0;j--);

  }

  void LCD_delay_50us(uint n) // - - 50微秒的延时子程序

  {

  uint i,j;

  for(i=n;i》0;i--)

  for(j=22;j》0;j--);

  }

  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(‘!’);

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top