打印

2串LED液晶屏背光用单片机直接驱动之超简招式显掰

[复制链接]
427|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
      2串LED背光的液晶屏需要超过6V的起辉电压,在3.3V-5V的单片机应用中需要升压才能点亮,若采用规范制式电路和器件来驱动会很嫌麻烦。但是你若不耻引用俺的招式,就会懵地回转到简单易行、轻松愉快的搞定。



多次的科学实验证明了第一图最为简易而且实用靠谱。过亮时可以通过代码调整输出方波空宽比,还有条件设置程序中的亮度调整。这得益于STC之PWN功能很好玩。



波形显示:脉冲周期180uS、上为LED端波形,其直流幅值4,8V+2.2V脉冲、下为STC的输出端波形波幅4.1V,空宽比2:1。





在电池供电时二极管压降损耗不能忽略,加3极管后充电压降减小,实验证明效率提升明显。





双口同步驱动进一步减低STC推挽管损耗。



有的屏若方便引出中点连线的话则更为简单,适合于对称方波,这时可能会太亮需要电阻限流。



需要多倍升压时的电路,2口互为反相。但这时驱动电流小、效率比计较低。





若为STC单片机而且有PWM功能则用以下代码就可用P2.7直接通过电容和二极管驱动背光。

void PWM_Init(void)                        //算法为f = fosc/12/256
{    PCA_USE_P24P25P26P27();         //切换输出引脚
    CCON = 0;                                   //初始化PCA控制寄存器
    PCA_CLK_12T();                 //fosc/12   
    PCA_PWM2 = 0x00;                     //PCA模块2工作于8位PWM,
    CCAP2H = CCAP2L = 0xb0;         //0x80时输出对称方波,增减可调空宽比。
    CCAPM2 = 0x42;                           //PCA模块2为6位PWM模式
    CR = 1;                                        //PCA定时器开始工作
}


若单片机没有PWM功能,可用定时器中断来翻转I\O口驱动背光。
(若单片机没有推挽输出功能,则还需要加推挽输出管。)

timer0()interrupt 3 using 1
{    TR1 = 0;
     TL1 = 0x00;            //重设定时初值
        TH1 = 0xC4;              //重设定时初值
    TR1 = 1;                 //定时器1开始计时
        LCD_BG=~LCD_BG;  
}
void main()   
{      P4M0 =0x10;
    P3M0=0x20;
       AUXR &= 0xBF;                 //定时器时钟12T模式
    TMOD &= 0x0F;        //设置定时器模式
    TMOD |= 0x10;    //设置定时器模式
    TL1 = 0x00;             //设置定时初值
    TH1 = 0xC4;            //设置定时初值
    EA=1;                          //CPU开中断*/
        ET1=1;                                   //T0开中断*/
    TF1= 0;                     //清除TF1标志
    TR1 = 1;                      //定时器1开始计时
    。。。。。








一个二极管和一个电容就搞掂背光电路





如果LED中引出焊线,会更简单,但你会注意到此法用空宽比改变不了亮度。只能用电阻调整





使用STC的PWM最低方波周率5-6KHz,人眼觉不出闪烁,效率很高,还有利于使用小电容。








相关帖子

沙发
lfc315| | 2017-7-28 10:08 | 只看该作者
好吧,IO口驱动能力很强
加个电感不就能升压好几倍了么。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

3

帖子

0

粉丝