lcd1602
1.目的:观察v0引脚所接电平高低对lcd显示屏的影响
结论:当v0接0v(接地)时效果最好,随着电压增加,lcd显示屏显示内容逐渐模糊最后直到内容消失(v0引脚电压为0.5v时基本就完全看不见内容了)
2.器材:
- 蓝色底lcd1602,
- stm32c6t6,
- 万能表(测电平),
- 面包板(+供电模块),
- 电位器(调节电平)
3.lcd1602引脚图(参考)
- 其中gnd是lcd1602上的vss。VCC接5v电源(接3.3V不行,当接5v电压时,lcd屏幕上可以看见一些小块块,这时候是可以的)
- RS,RW连接单片机引脚,通过控制引脚上输出电平的组合,以实现对lcd1602的不同操作模式;其中RS的电平控制进行指令/数据操作,RW控制进行读/写操作;
RW RS 输出模式 1 1 读指令(不常用) 0 读数据(不常用) 0 1 写指令 0 写数据
- E引脚为使能引脚。当进行写指令和写操作的时候,先通过D0-D7引脚向lcd发送对应指令/数据,这时候这些指令/数据储存在lcd中的‘缓冲区’内,然后设置E引脚高电平,再设置成低电平将指令/数据写入lcd。
- d0-d7连接stm32的8个引脚上,通过引脚的输出电平组合进行指令/数据输出。可以通过标准库函数GPIO_Write(GPIOx, u16 x)进行输出
- 这里GPIO_Write()函数相当于直接对ODR寄存器进行操作。根据想要输出的u16字符,将GPIOx端口ODR16个位设置成对应值。而对此处的lcd输出的指令/数据只能是u8类型,即可以将d0-d7引脚连接到GPIOx的低八位引脚上,那么在输出一个字节(八位)时再通过该函数便可以将低八位引脚=设置成对应电平。
- 当然也可以直接对ODR寄存器进行操作,例如要输出‘T',则可以直接这样:
GPIOx->ODR = 'T' //效果是和调用GPIO_Write()一样的
- 最后两个引脚是打开lcd背光灯电源(lcd液晶屏显示字符等跟led屏不一样,lcd是通过电流改变内部液晶的排序来控制光线是否可以通过,那么需要背光灯提供光源来显示LCD屏幕上的内容)
4.开始测试
- 这里其他引脚都正常连接,V0引脚(黄色的线)接到电位器上(注意,这里的V0引脚的电压是相对与vcc/gnd引脚而言,所以这里电位器两端是和vcc/gnd接在一起的,如此当电位器输出电压为0v时,v0引脚电压就是相对于gnd引脚为0v)
- 电位器工作原理,就是这三个引脚,两边的接输入电压,中间引脚就可以输出一个电压,该输出电压可以通过电位器后的旋钮调节,其范围为0到输入电压
- 效果很明显啊:当v0用电压表测得电压为0时
- 当v0电压为0.3v左右时,已经很难看清显示屏内容了
- 当v0为0.5v时 就着实看不见显示屏上的内容了。
ps:如有问题,还望指正,小生感激不尽!
weixin_anun-yi: 所以还不如 v0 我接地
空谷李幽: 如果V0口电压为1点几伏他会现实吗
垚 垚: 嗯 我觉得很少见