欢迎访问杭州精显科技有限公司液晶显示屏网站! 设为首页 | 收藏本站| 网站地图
全国统一服务热线
19157671329


技术知识

您只需一个电话我们将推荐性价比高的液晶屏产品选型,让您花合理的价格,达到预期的效果

全国统一服务热线
19157671329

产品动态

联系我们

全国统一服务热线:

19157671329

客服QQ:3234659108

手机:19157671329

地址:浙江省杭州市西湖区文一西路830号蒋村商务中心B楼2-8007室

当前位置: 主页 > 资讯中心 > 技术知识 > >

段码LCD屏幕的驱动方法

文章出处:原创 人气:发表时间:2022-05-30

     大家平常在生活之中见到最多的可能就是段码液晶屏了,它有着普通数码管的特征,又有着点阵液晶屏的特征,已经固定的图形,既省成本而且又好看,那么,我们今天来一起试一试!

     首先,大家都不要以为使用单片机来驱动,就以为是断码屏直流驱动的了,其实呢,段码屏它是交流驱动的,什么是交流驱动呢?例如矩形波、正弦波等等。大家可能会经常的使用驱动芯片来玩,例如HT1621等等,但是有一些段式屏的IO口是比较少的,或者说是IO口充足的情况之下,也懒得在再去写控制器的驱动了。但是,IO的模拟驱动,段式液晶是有一个前提条件的,就是IO必须要是三态,

     为什么?下面我们就一起细细的道来:
     第一步:段码液晶屏最重要的参数:占空比、工作电压、偏压比。这三个参数都是非常重要的,都必须要满足。

     第二步:驱动的方式:我们根据 LCD 的驱动原理可以知道,LCD的像素点上面只能够加上 AC的电压,LCD显示器的对比度则是由 COM脚上的电压值减去 SEG 脚上的电压值来决定,当这个电压差在大于 LCD 饱和电压时就能够打开像素点,小于 LCD 阈值电压时就能关闭像素点了,LCD 型的MCU 已经由内建的 LCD 驱动电路自动产生出LCD驱动信号了,因此只需要 I/O 口能仿真输出该驱动的信号,就能够完成 LCD 的驱动了。

     段码液晶屏主要是有两种引脚,COM和SEG,和数码管比较像,但是,压差必须要是交替变化的,例:第一时刻是正向的3V,那么第二时刻就必须要是反向的3V,注意一点,如果你给段码液晶屏通直流电,那么不用多久这个屏幕就会报废,所以千万要注意。下面我们就来考虑如何模拟COM口的波形,我们以1/4D,1/2B为例子:

     段码LCD屏的驱动方法
     只要模拟出以上的波形,你的液晶屏就已经成功了一大半。
void display_sub(u8 y)              //lcd display subroutine
{
        switch(y)                              //4*com,VDD and -VDD LCD display,so 8 timebase interrupt one sacn period
        {
                case 1:
                        {com1_output_high();break;}
                case 2:
                        {com1_output_low();break;}
                case 3:
                        {com2_output_high();break;}
                case 4:
                        {com2_output_low();break;}
                case 5:
                        {com3_output_high();break;}
                case 6:
                        {com3_output_low();break;}
                case 7:
                        {com4_output_high();break;}
                case 8:
                        {com4_output_low();break;}
                default:
                        {LCDPluseStep=0;
                         get_display_code(AD_Value,KeyScanRetVal);
                         break;}
        }
}
复制代码
如上图代码所示,定时到2ms,让4个COM交替的输出波形就可以了。
同时我们还要注意,在COM的输出较高的时候,如果要屏幕亮,那么SEG就要输出低,那么在COM输出低的时候,SEG就要输出高了,保证COM和SEG的压差大于1/2B工作电压就可以正常显示了
下面我们看其中一个com口输出时的函数
static void seg1_output(void)                        //seg1 output subroutine
{
        if(1 == (LCDPluseStep%2))                        //com_pulse is odd,com output high (VDD)
        {
                if(0 == (DisplayCode1&0x10))
                {SEG1=1;}
                else
                {SEG1=0;}
        }
        else                                        //com_pulse is even,com output low (VSS)
        {
                if(0 == (DisplayCode1&0x10))
                {SEG1=0;}
                else
                {SEG1=1;}
        }
}
复制代码
必须时刻让SEG电平跟COM的电平成反向,那么驱动段式液晶就不会有多大的难度了



群创液晶屏 友达液晶屏 京东方液晶屏 京瓷液晶屏 龙腾液晶屏 天马液晶屏 奇美液晶屏 三菱液晶屏