一看就懂——DIY单片机开发板教程
定义。
那么如何对DDRAM 的内容和地址进行具体操作呢,下面先说说HD44780 的指令集及其设置说明,请浏览该指令集,并找出对DDRAM 的内容和地址进行操作的指令。
共11 条指令:
1.清屏指令
功能:
<1> 清除液晶显示器,即将DDRAM 的内容全部填入"空白"的ASCII 码20H;
<2> 光标归位,即将光标撤回液晶显示屏的左上方;
<3> 将地址计数器(AC)的值设为0。
2.光标归位指令
功能:
<1> 把光标撤回到显示器的左上方;
<2> 把地址计数器(AC)的值设置为0;
<3> 保持DDRAM 的内容不变。
3.进入模式设置指令
功能:设定每次定入1 位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。参数设定的情况如下所示:
位名设置
I/D 0=写入新数据后光标左移 1=写入新数据后光标右移
S 0=写入新数据后显示屏不移动 1=写入新数据后显示屏整体右移一个字符
4.显示开关控制指令
5.设定显示屏或光标移动方向指令
6.功能设定指令
7.设定CGRAM 地址指令
功能:设定下一个要存入数据的CGRAM 的地址。
8.设定DDRAM 地址指令
功能:设定下一个要存入数据的CGRAM 的地址。
9.读取忙信号或AC 地址指令
功能:
<1> 读取忙碌信号BF 的内容,BF=1 表示液晶显示器忙,暂时无法接收单片机送来的数据或指令;当BF=0 时,液晶显示器可以接收单片机送来的数据或指令;
<2> 读取地址计数器(AC)的内容。
10.数据写入DDRAM 或CGRAM 指令一览
功能:
<1> 将字符码写入DDRAM,以使液晶显示屏显示出相对应的字符;
<2> 将使用者自己设计的图形存入CGRAM。
11.从CGRAM 或DDRAM 读出数据的指令一览
(2)……LCD1602的驱动
具体电路的制作是很简单的,就接了两个电阻,一个是10 欧姆的背光限流电阻,另一个是2K 的LCD 极板电压调节电阻。这两个电阻的阻值怎么定呢?背光比较简单,它就相当于在后面接了几个发光二极管,任何时候你只要在15、16 脚串上个100 欧的电位器接上电源,调节电位器,觉得亮度合适。此时的阻值便可。LCD 液晶极板驱动电压调节电阻的确定就稍微麻烦一点。在各数据线,控制线接好关通上电源的前提下在第3 脚(VEE)和地之间接一个10K 的电位器。调节电位器。当3 脚电压高时为全亮,电压为0 时为全暗(液晶全显示为黑块)。你用电位器把屏幕从全暗刚好调到变亮。这时便可调试程序。待屏幕能正确显示后再细调电位器,使对比度合适。这时的阻值便可确定,然后换成等值的固定电阻焊上便可。
我们接着上次的系统板制做:
新买的1602LCD,20 元,贵不?
反面:
组装后:
具体电路图:
接口说明:
运行:
用户自定义字符的应用:
我们从CGROM 表上可以看到,在表的最左边是一列可以允许用户自定义的CGRAM,从上往下看着是16 个,实际只有8 个字节可用。它的字符码是00000000-00000111 这8 个地址,表的下面还有8 个字节,但因为这个CGRAM 的字符码规定0-2 位为地址,3 位无效,4-7 全为零。因此CGRAM 的字符码只有最后三位能用也就是8 个字节了。等效为0000X111,X 为无效位,最后三位为000-111共8 个。
如果我们要想显示这8 个用户自定义的字符,操作方法和显示CGROM 的一样,先设置DDRAM 位置,再向DDRAM 写入字符码,例如"A"就是41H。现在我们要显示CGRAM 的第一个自定义字符,就向DDRAM 写入00000000B(00H),如果要显示第8 个就写入00000111(08H),简单吧!
好!现在我们来看怎么向这八个自定义字符写入字模。有个设置CGRAM 地址的指
令大家还记得吗?赶快再找出来看看。
从这个指令可以看出指令数据的高2 位已固定是01,只有后面的6 位是地址数据,而这6 位中的高3 位就表示这八个自定义字符,最后的3 位就是字模数据的八个地址了。例如第一个自定义字符的字模地址为01000000-01000111 八个地址。我们向这8 个字节写入字模数据,让它能显示出"℃"
下面我们写一段程序让这8 个自定义字符显示出一个心的图案:
实际效果如图:
6.自制单片机之六……LCD12864的驱动
LCD12864 的驱动
LCD12864 在市面上主要分为两种,一种是采用st7920 控制器的,它一般带有中文字库字模,价格略高一点。另一种是采用KS0108 控制器,它只是点阵模式,不带字库。很可惜,我的这块就是KS0108 控制器不带汉字库的,不过不打算用它专
下一篇:Optosafe将把Quanergy公司的LiDAR传感器集成进入产品——Opto-Q-Guard快速部署视频监视塔
- 单片机在电源设计中的应用(06-07)
- 基于单片机的锅炉液位控制装置设计(07-22)
- 基于SPWM的交流稳压电源设计方案(09-15)
- 基于单片机的电池保护电路系统设计(02-24)
- 晶闸管三相全控桥式整流电路的直流电源设计(02-08)
- 智能充电设备控制系统的硬件设计方案(02-14)