愿我们的心,都能插上梦想的翅膀,无论我们身处到何方,我们都能飞到一起,
逃离这喧嚣的尘世,静心沉思,沉索,然后在MCU的路上相知相识!
——————————————————————————————————————
本小节目录:
7.1,1602液晶的简介
7.2,1602液晶连接单片机原理图
7.3,1602时序图的分析和程序编写
说起液晶,本人突然想分享这么一件有意思的事,也算是吐槽下吧,
某天,本人在人比较多的公共场合,给一位男性朋友,本打算向他借一块液晶用用的
“你的的液晶呢?下午借下我咯”
“OK,下午借给你” 然后身旁听得的人就很疑惑的看着我们俩个,眼神很奇怪很奇怪,当初我们俩个一直都没有想通为什么,直到后来,才想明白原来旁边的人都听得“月经”,二字,而这“液晶”二字啊,现在想想,当初我们也够囚呀!哈哈,,两个大男人在借月经呀!!!
7.1)1602液晶的介绍
1)1602液晶简介:
1,一种只能显示字母、数字、符号等的点阵型液晶模块
2,能够显示16x2,32个字符,即2行16列
3,有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔 每行之间也有间隔 起到了字符间距和行间距的作用
图1 1602液晶实物图
2)1602液晶接口说明:
图2 1602液晶接口
简介上图:
1,引脚3(VL):一般接一个103的电位器,用于调节液晶的亮度,。
2,引脚4(RS):RS = 1→数据寄存器;RS = 0→指令寄存器
3,引脚5(R/W):R/W = 1→读操作;R/W = 0→写操作。
4,引脚6(E):读写控制输入端,读数据:高电平有效;写数据:下降沿有效
5,引脚7—14(D0-D7):数据输入/输出端口,用于数据传输端口。
6,引脚15-16(BLA,BLK):为液晶背光正负极接口。
3)数据地址指针:
图3 液晶数据地址指针
4)1602常用指令说明
图4 液晶指令图
7.2)1602液晶连接单片机原理图
图5 麦光单片机开发板液晶连接单片机图
说明:
1,图中麦光电子RP连接一个103电位器,用于调节液晶亮度
2,RS,WR,LCDEN分别接单片机P3.5,P3.4,P3.3引脚
3,液晶COM0--COM7分别连接单片机P0引脚
7.3)1602时序图的分析和程序编写
1)读操作时序
关于1602液晶读操作,基本没有用到,这里不给于介绍,如有人想更多了解,可以去看看1602数据手册。
2)写操作时序图
图6 写操作时序图
在这里不得不说,写操作包括什么:
写操作中包括:写命令和写数据
1)写命令就是:使液晶的光标是否显示,光标是否闪烁,需不需要移屏,在液晶什么位置显示等等
2)写数据就是: 指液晶要显示的什么内容
/*************************************************
函数功能: 写命令
入口参数: Cmd
出口参数: void
**************************************************/
void Write_LCD_Command(Uchar8 Cmd) // 写命令
{
LCD_Busy(); // 忙检测
LCD_Rs = 0; // 选择写命令寄存器,其中 LCD_En = 0;LCD_RW = 0;
LCD_Rw = 0; // R/W = 0→写操作 可查上图2讲解
LCD_Date = Cmd;
LCD_En = 1; // 给使能端一高脉冲,因为初始已经置低
Delayms(1);
LCD_En = 0; // 将使能端置低,以完成高脉冲,完成命令数据的传输
}
/*************************************************
函数功能: 写数据
入口参数: Date
出口参数: void
*************************************************/
void Write_LCD_Data(Uchar8 Date) // 写数据
{
LCD_Busy();
LCD_Rs = 1; // 选择读命令寄存器 其中 LCD_En = 0;LCD_Rw = 0; 同上
LCD_Rw = 0;
LCD_Date = Date;
LCD_En = 1;
Delayms(1);
LCD_En = 0;
}
/*************************************************
函数功能: 初始化函数
入口参数: void
出口参数: void
*************************************************/
void LCD_Init()
{
Write_LCD_Command(0x38); Delayms(1); // 设置功能,8位数据接口,双行显示,
// 5*7点阵字体
Write_LCD_Command(0x06); Delayms(1);
Write_LCD_Command(0x0c); Delayms(1); // 清屏
Write_LCD_Command(0x01); Delayms(5); // 字符进入模式:屏幕不动,字符后移
Write_LCD_Command(0x0c); Delayms(1); // 显示开,关光标
}
可查 图4 液晶指令图 即可明白
由于程序太长,为了更好编辑,本人已将程序上传,需看可下载。
说明:所用开发板为:麦光电子单片机开发板
本系列《MCU之心路分享》博文,本人将尽自己所能,以菜鸟的身份,写下初学者最详细,最具体的入门博客,同时分享DIY的乐趣,如有误之处,欢迎拍砖,本人也很乐意接受各位大神的批评和指点,在此谢谢啦!
于2013年11月30日 夜
用户1809821 2015-4-13 09:08
zhujun74_602010376 2015-4-11 13:07
用户1834381 2015-4-9 17:42
644398774_263592779 2013-12-7 08:32
644398774_263592779 2013-12-7 08:29
用户1726179 2013-12-4 10:16
用户403664 2013-12-3 16:12