显示模块的工作原理(个人理解):我一个单片机,给你说一个地主家的位置,告诉你地主欠了我多少钱,然后你去找到地主家,拉横幅要钱!
我作为单片机,传输信息,;你作为显示模块,接收信息,确定并显示位置和内容。
1.串口连接大概:
2.名称含义
1+.LCD1602-----L=Liquid;
C=Crystal; D=Display;
16=每一行,可以显示16个字符;
02=显示屏显示两行;
2+.1602的操作步骤:
初始化(固定)–写命令(位置)–写程序(内容)
3+.如果你在网上搜索,学习1602的模块显示,大部分情况都会给你展示出一个操作时序图,其实说简单点就是RS,RW在单片机传出信号后,开始运动检测单片机的信息传递出的意思,同时给一个类似能量的东西,让他这个显示模块进入一个循环,最后在D0~D7里输入你想要的东西。
3.管脚功能:
1+.接地
2+.接VCC
3+.接在一个10K的电阻上再接地 。用来消除显示屏幻影。
4+.接RS到单片机输出端,接收判断指令
5+.接地
6+.判断高低电平
7-14+.输入数据
15+.接VCC
16+.接地
4.LCD1602模块显示的时候,第四管脚(管脚功能建议搜索百度,有详细介绍。)高电平即RS=0时,模块读取位置,RS=1时,模块读取内容。
5.初始化函数(如果你在其他地方看到初始化的解释说明,里边的80H,38H说的都是十六进制中的80,38。自行转换然后对比实物位置即可)
6.初始化:(38H结合1602的指令码进行观看,一目了然。属于模块设定,不需要纠结,而且1602的初始化代码一般都是一个固定模式,代码及解释如下)
延时
写指令38H
延时
写指令38H
延时
写指令38H
(每次写指令、读/写数据操作之前均需检测信号)
写指令38H:显示模式设置
写指令08H:显示关闭
写指令01H:显示清屏
写指令06H:显示光标移动设置
写指令0CH:显示开及光标设置
void LcdInit()
{
delay1ms(15);
lcdWriteCom(0x38);
delay1ms(15);
lcdWriteCom(0x38);
delay1ms(15);
lcdWriteCom(0x38);
//详细对比上述延时指令
LcdWriteCom(0x38); //设置显示模式
LcdWriteCom(0x0c