西安网站建设培训,wordpress难,wordpress开启多站点模式,海外运营渠道的推广LCD1602介绍
LCD1602#xff08;Liquid Crystal Display#xff09;液晶显示屏是一种字符型液晶显示模块#xff0c;可以显示ASCII码的标准字符和其它的一些内置特殊字符#xff08;比如日文的片假名#xff09;#xff0c;还可以有8个自定义字符
显示容量#xff1a;…LCD1602介绍
LCD1602Liquid Crystal Display液晶显示屏是一种字符型液晶显示模块可以显示ASCII码的标准字符和其它的一些内置特殊字符比如日文的片假名还可以有8个自定义字符
显示容量16×2个字符每个字符为5*7点阵其实是5*8的点阵只不过字符只占了5*7 引脚及应用电路 D0~D7口是数据口代表一个字节的8位是并行的传输接口 RSRWE控制数据是干什么的或者控制什么时候改传输数据 我们开发板上的LCD1602的原理图 D0~D7接在单片机的P0口 内部结构框图 字模库就相当于数码管的段码表其中CGRAM是可写的是我们自定义字符的一个数据存储区。CGROM是不可写的是内部固定的一个字模区。
我们想要它显示的数据实际上是写在DDRAM这一个存储单元里面去然后再通过DDRAM里面的这个数据来向字模库找到相应字符的显示点阵的字模然后再在屏幕的对应位置上显示我们的数据。DDRAM中虽然有40列但是只有前16列才能映射到屏幕中。后面多出那么长可以利用内部指令向左移平左边移出去的数据会重新回到右边来。如果我们循环使用移平指令的话就可以实现流动字幕的效果。
AC光标位置和我们前面将的AT24C02的这个地址计数器是一个东西操作后会自动增加。我们可以把它想象成一个AT24C02我们可以把光标位置设置在某个存储器的地址然后写数据那这个光标位置会自动加1向下这样我们就可以连续写就可以写一串数据了。
那这个AC的地址是怎么确定的呢它也是我们的指令来确定的。 存储器结构
DDRAM数据显示区 CGRAMCGROM字模库 它最多只能定义8个自定义字符。后面8个和前面8个地址是重复的地址一样的。 后面都是ROM区是固定的不能改的字符比如想要显示A那它的索引码就是0100 0001换成16进制就是0x41。 并且这个索引码和ASCII码值是一样的所以我们在写索引码的时候可以直接用单引号把大写的A引出来’A’就相当于写一个0x41 时序结构
写数据/指令 我们主要是给LCD1602写数据所以读的时序就不管了。 LCD1602指令集 第一个指令指令码0x01清除AC就是光标复位清除DDRAM就是清屏
第二个指令中*号是代表无关位
第三个指令输入方式设置我们常用的是0x06那个指令码
第四个指令显示开关控制我们常用的是0x0C那个指令码
第五个指令中的0x18指令码可以用来做流动字幕
第六个指令我们常用的是0x38那个指令码
第七个指令是可以用来设置自定义字符
第八个指令是很关键的一条指令1固定在最高位。PS比如如果想要把光标设置在第一行第一列我们应该发的指令是0x80因为最高位表示设置光标位置剩下7个0就代表它的实际地址如果想要设置在第二行第一列那我们就设置成1100 00000xC0 我们一般不用读所以先不管第九条指令 LCD1602操作流程
初始化
发送指令0x38 //八位数据接口两行显示5*7点阵
发送指令0x0C //显示开光标关闪烁关
发送指令0x06 //数据读写操作后光标自动加一画面不动
发送指令0x01 //清屏 显示字符
发送指令0x80|AC //设置光标位置原因请看前面第八条指令的举的例子就明白了
发送数据 //发送要显示的字符数据
发送数据 //发送要显示的字符数据
…… 以上就是本节的内容下一节开始代码演示