单片机(三)__lcd1602显示屏
来源:互联网 发布:java工程师岗位工作 编辑:程序博客网 时间:2024/05/04 12:33
lcd显示屏,大家可以上找一下相关手册,我这边不细讲,它的写时序图:
根据时序图,我们可以写出程序:
void lcd_write(unsigned char byte,unsigned char flag)//
{
if(flag)
{
RS = 1;
}
else
{
RS = 0;
}
RW = 0;//д
E = 1; //Ñ¡ÖÐlcd
LCDPORT = byte;//
delay_us(5);
E = 0;
}
它写进去的东西分两种,一个是各种数字符号之类的,还有一种是命令。
void lcd_dis_char(unsigned char x,unsigned char y,unsigned char byte)//显示一个字符
{
if((x > 15) || (y > 1))//lcd1602一行只有15个位置可以写数字符号
{
return ;
}
if(0 == y)
{
lcd_write(0x80 + x,LCD_WRITE_COM);//lcd第一行的地址是从0x80开始
}
else
{
lcd_write(0x80 + 0x40 + x,LCD_WRITE_COM);//lcd第二行地址是从0x80+0x40开始
}
lcd_write(byte,LCD_WRITE_DATA);//写数据
}
上面写入一个字节,注意注释,下面看一下显示字符串。
void lcd_str(unsigned char x,unsigned char y,unsigned char *s)//显示字符串
{
if((x > 15) || (y > 1))
{
return ;
}
if(0 == y)//只有两行
{
lcd_write(0x80 + x,LCD_WRITE_COM);
}
else
{
lcd_write(0x80 + 0x40 + x,LCD_WRITE_COM);
}
while(*s != '\0')
{
lcd_write(*s,LCD_WRITE_DATA);
s++;
}
}
下面我们再来看一下lcd的初始化,根据手册就可知道:
根据手册我们可知:
void lcd_init()//lcd 初始化
{
delay_ms(15);
lcd_write(0x38,LCD_WRITE_COM);//
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);//
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);//
delay_ms(5);
lcd_write(0x38,LCD_WRITE_COM);//
delay_ms(5);
lcd_write(0x08,LCD_WRITE_COM);//
delay_ms(5);
lcd_write(0x01,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x06,LCD_WRITE_COM);
delay_ms(5);
lcd_write(0x0c,LCD_WRITE_COM);
delay_ms(5);
}
到此,差不多lcd都讲完了,还有一些命令的含义,请大家自己查看lcd1602手册,若还有疑问,很高兴和大家讨论。
- 单片机(三)__lcd1602显示屏
- 51单片机 驱动显示屏
- 单片机_LCD显示屏
- 单片机笔记之LCD1602显示屏
- PIC单片机控制LED点阵显示屏
- 2011_10_27单片机(三)
- STM32单片机学习(9) LCD1602显示屏输出实验
- 单片机小白学步系列(三) 偶遇51单片机
- 计算机的大脑-单片机(三)
- 51单片机学习笔记(三)
- 单片机关键技术基础详解(三)
- 51单片机的中断系统(三)
- 超大型LED显示屏(模拟)
- 单片机系列(三)
- EMC单片机学习三
- 单片机实验三
- 狠狠爱——L结构单片机与传统单片机的比较(三)
- Cocoa 关闭显示屏 (dim the display)
- three.js入门基本知识,教你十分钟做出一个旋转的图形
- 寻找假币
- 工科研究生如何选导师的一点点建议
- JQuery validate验证规则
- ABP项目搭建实例教程[1]--ABP框架搭建
- 单片机(三)__lcd1602显示屏
- Three.js 中文手册-创建场景
- C#中的Delegate和event
- java实例时的内存调用
- Retrofit框架基本封装
- CentOS配置Samba与Windows共享文件
- 毛超帅 画图工具。亿图。超级棒。请下载。______软件开发-帮助类
- PHP扩展模块Pecl、Pear以及Perl的区别
- ec++ 的笔记(2) ----- 构造/析构/赋值运算