1602 LCD,从它的名字就可以看出它的显示能力,即可以显示两行,每行16个字符。电路图如下所示。LCD1602的任务电压是4 5V~5 5V在这方面,
1602 LCD,从它的名字就可以看出它的显示能力,即可以显示两行,每行16个字符。电路图如下所示。
LCD1602的任务电压是4.5V~5.5V在这方面,我们在设计电路的时候,直接按照5V的位片来设计,但是我们可以保证我们的5V位片最低不低于4.5V。在5V工作电压下测量其工作电流为2mA。大家要注意,这个2mA只是指液晶,它的黄绿色背光多为LED,所以功耗不会太小,还是会有一二十毫安。1602 LCD共有16个管脚,每个管脚的功能可以在其数据手册中获得。在我们设计电路和编写代码之前,必须清楚地阅读这些基本信息。1602 LCD引脚的功能如下表所示。
LCD1602的主要技术参数:
显示容量:162个字符
芯片工作电压:4.5-5.5v
工作电流:2.0毫安(5.0伏)
模块的最佳工作电压:5.0V
字符尺寸:2.954.35(宽高)毫米
备注:实验过程中可能会遇到3.3V无法驱动的问题。其实3.3V可以驱动,只是显示不清晰。你可以通过调整三针LCD显示器的偏置电压来正常显示。
1602LCD指令集如下:
LCD1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程实现的。1为高电平,0为低电平。详细解释说明。
指令1:清除显示,指令代码01H,光标复位到地址00H。
指令2:光标复位,光标回到地址00H。
指令三:光标和显示模式设置I/D:光标移动方向,高电平向右移动,低电平向左移动S:都在屏幕上。文本是向左移动还是向右移动。高电平表示有效,低电平表示无效。
指令4:显示开关控制。d:控制整个显示的开和关,高电平表示开显示,低电平表示关显示C:控制光标的开和关,高电平表示有光标,低电平表示没有光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位S/C:将显示的文本在高位移动,光标在低位移动。
指令6:功能设置命令DL:高电平4位总线,低电平8位总线。n:低电平单线显示,高电平双线显示。f:低级5x7点阵字符,高级5x10点阵字符。
指令7:字符发生器的RAM地址设置。
指令8: DDRAM地址设置。
指令9:读取忙信号和光标地址BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果低电平表示不忙。
指令10:写入数据。
指令11:读取数据。
如何显示LCD1602
LCD模块是一个慢速显示器件,所以在执行每条指令之前要确保模块的busy标志为低,表示不忙,否则指令无效。要显示字符,必须先输入显示字符地址,也就是告诉模块在哪里显示字符。下图显示了LCD1602的内部显示地址。
比如第二行第一个字符的地址是40H,可以直接写40H把光标定位在第二行第一个字符的位置吗?这个不行,因为写显示地址时要求最高位D7恒定在高电平1,所以实际写的数据应该是
01000000 b(40小时)10000000 b(80小时)=11000000 b(0小时)
1602LCD的一般初始化(复位)过程:
延迟15毫秒
写指令38H(未检测到忙信号)
延迟5毫秒
写指令38H(未检测到忙信号)
延迟5毫秒
写指令38H(未检测到忙信号)
以后每次写指令,读/写数据,都需要检测忙信号:
写指令38H:显示模式设置
写指令08H:显示关闭
写指令01H:显示清晰屏幕
写指令06H:显示光标移动设置。
写命令0CH:显示开和光标设置。
总结两个问题
51单片机直接输出5V,所以可以直接驱动1602,STM32系列输出3.3v,所以不能正常驱动1602。我的解决方案是连接两个引脚VCC用5V,其他引脚仍然用3.3v驱动,所以结果可以正常显示。还有一个问题,就是LCD显示偏差。上面说接地对比度最高,VCC对比度最低,或者用可变电阻调节。一开始,这种显示偏见与VCC有关,但我从未看清楚,因为我没有仔细阅读这份文件。
声明本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们