断码液晶显示屏和普通的液晶显示屏的区别就是像素点比较少,比如这样的额,
(图片来自百度百科)
液晶屏显示的的原理大家自己可以去百度,简单地说就是电压差改变了屏幕的透光度,就显示出了图案,断码液晶屏通常是使用驱动芯片例如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();
}