让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('!')
1、首先我们打开Keil μVision编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并启动器添加STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。
2、导入51单片机的头文件以及LCD1602的头文件。
3、创建一个延时函数,可以传入想要具体延时的时长,其内部实现是由一个二重循环,两个循环的次数悔知芦相乘积。
4、然后创建写命令的函数,指定RS和E同时为0时,才可以写入命令,设定完成后,将com写入输出端口,规定写命令时,E为正脉冲,然后空 *** 作一个机器周期等待机器反应。
5、然后创建写数据的函数,规定写数据时,E为正脉冲,规定当RS=1和RW=0时才可以写入数据,然后将数据从输出端口输出,最后让碧带E产生正跳变。
6、然后创建初始化LCD1602的函数,指定显示模式位两行显示,5*7,8位数据、整体显示,无光标,无闪烁、写入一个字符后地址指针加1,最后进行清屏 *** 作。
7、最后在主函数中首先执行LCD1602的初始化函数,首先创猛唤建一个无限循环,然后添加两个字符串,这里以两行显示百度经验的网址为例,再进行延时以及使用清屏函数进行刷新。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)