相信大家都知道用IO口驱动段式LED(数字管)的方法,但是用IO口直接驱动段式LCD的方法比较复杂。我在网上搜索了单片机IO口驱动段式LCD的方法,大部分数据都不够清晰。具体,简单,问题复杂。现在根据LCD的显示原理,结合网上相关数据,简单介绍一下如何用单片机驱动段式LCD液晶显示屏:
1.LCD和LED的显示原理不同:LED加正电压发光,LCD必须交替加正。反向电压将继续显示(可以进行实验,如果将恒定电压添加到LCD部分,该部分将显示,但不能立即显示,恒定电压将加速LCD的老化和损坏)
2.经常听说1/2bias和1/3biasLCD是什么意思?对于1/2biasLCD,如果LCD显示电压为3V,则1/2bias为1.5V,即LCD显示在±3V电压下;±1.5V及以下电压未显示。
3.普通单片机IO口不能直接输出半高电平(1.5V),但可以通过相等的上下拉电阻实现。当IO口设置为输入(高电阻)时,由于上下拉电阻的分压,会产生半高电平(1.5V)
知道以上三点后,动态驱动LCD并不难。对于4*8段的LCD(4COM,8SEG,显示电压为3V,1/2bias),驱动方法如下:
1.四个COM交替扫描,每个COM在两次相邻扫描时交替电压。
2.如果扫描到COM,COM输出3V(0V):
SEG输出与COM相反,δV=±3V,则相连点亮;
与COM相连的SEG输出与COM相同,δV=0,则相连点不亮。
3.其他未扫描的COM,单片机IO口为输入,产生1/2bias(1.5V),无论SEG为什么值,δV±1.5V,所以点不亮。
例如,用4*8段LCD自制数字钟表,验证上述方法的可行性,现将生产过程列出如下:
1.原理图。
注:由于管脚不足,时钟芯片DS1302的RST和LCD的SEG被重复使用,只要SEG无效时读取时间。此外,ISP下载程序使用3PIN串口。
2.备料
3.焊接
4.实验结果。
5.缺点。
通过实验结果可以发现,不显示的SEG也有阴影。
原因分析:纽扣电池电压为3.7V,1/2bias为1.85V,大于1.5V。
解决方案:选择工作电压小于3V的单片机和电压等于3V的电池(如2节干电池)