段码液晶屏实现原理和需要注意的事项

断码液晶显示屏和普通的液晶显示屏的区别就是像素点比较少,比如这样的额,

(图片来自百度百科)

液晶屏显示的的原理大家自己可以去百度,简单地说就是电压差改变了屏幕的透光度,就显示出了图案,断码液晶屏通常是使用驱动芯片例如HT1622/1621/16220等,这样的驱动芯片可以扩展MCU的IO,同时产生正向和逆向的电压差点亮屏幕,

下面的历程就是我在STM32上,使用HT1621点亮断码液晶屏的程序代码,仅供参考。

void SendBit_1621(int sdata,int cnt) 
    int i; 
    
    for(i=0;i<cnt;i++) 
    { 
        Wr = 0;
        delay_us(30);
        if(sdata&0x80) Data = 1; 
        else Data= 0; 
        Wr = 1;
        delay_us(30);
        sdata<<=1; 
    } 
    

void Alldispay_1621()
{
    u8 i;
    delay_ms(1);
    Cs = 0;
    SendBit_1621(0xa0,3);     
    SendBit_1621(0x0,6);    
    for(i =0; i <32; i ++) 
    {
        SendBit_1621(0x0f<<4,4);
    }
    Cs = 1;
    delay_ms(1);
}

void AllClear_1621(char num)
{
    u8 i;
    delay_ms(1);
    Cs = 0;
    SendBit_1621(0xa0,3);     
    SendBit_1621(0x0,6);    
    for(i =0; i <num; i ++) 
    {
        SendBit_1621(0x00,4);
    }
    Cs = 1;
    delay_ms(1);
}

void SendCmd_1621(unsigned char command) 

    delay_ms(1);
    Cs = 0; 
    SendBit_1621(0x80,4);    //
    SendBit_1621(command,8); //
    Cs = 1;                     //
    delay_ms(1);


void HT1621_init(){
    SendCmd_1621(ComMode0);
    SendCmd_1621(Sys_en);
    SendCmd_1621(LCD_on);
    AllClear_1621(32);

    Alldispay_1621();
}

扫描二维码关注公众号,回复: 5749488 查看本文章

猜你喜欢

转载自blog.csdn.net/farsight_2098/article/details/85338287