數(shù)字電位器在液晶顯示模塊溫度補(bǔ)償電路中的應(yīng)用
圖2 硬件接口電路
4 程序設(shè)計(jì)
軟件采用嵌入式C語言開發(fā),溫度補(bǔ)償程序流程圖如圖3所示。
圖3 溫度補(bǔ)償程序流程圖
數(shù)字電位器程序主要包括三個(gè)部分:調(diào)節(jié)阻值至零,調(diào)節(jié)阻值至所需位置和保存阻值。根據(jù)X9313的模式選擇和時(shí)序波形圖,控制MCU的I/O口輸出,選擇數(shù)字電位器不同的工作模式,輸出不同的阻值,調(diào)節(jié)LCM偏壓輸入。具體通用程序如下:
void X9313_SetVol(uchar R_Num)
{
uchar i;
_DINT();
P2OUT |= BIT0;
_NOP();_NOP();
P2OUT |= BIT1;
_NOP();_NOP();
P2OUT = (~BIT0);
_NOP();
//調(diào)節(jié)阻值到零
P2OUT = (~BIT2);
_NOP();_NOP();
for(i=0;i32;i++)
{
P2OUT |= BIT1;
Delay(2);
P2OUT = (~BIT1);
Delay(2);
}
//調(diào)節(jié)阻值到R_Num
P2OUT |= BIT2;
_NOP();_NOP();
for(i=0;iR_Num;i++)
{
P2OUT |= BIT1;
Delay(2);
P2OUT = (~BIT1);
Delay(2);
}
//保存電阻值
P2OUT |= BIT1;
Delay(2);
P2OUT |= BIT0;
Delay(2);
P2OUT |= BIT2;
Delay(2);
P2OUT |= BIT1;
_EINT();
}
數(shù)字電位器輸出電阻分辨率為總阻值的1/32,程序中R_Num表示模擬開關(guān)的位置,電位器輸出電阻即為總阻值的R_Num/32。void Delay(int x)為延時(shí)函數(shù),延時(shí)時(shí)間約Xms。
結(jié)語
將設(shè)計(jì)好的系統(tǒng)放入溫度箱,進(jìn)行溫度實(shí)驗(yàn),結(jié)果表明:在不同溫度下,數(shù)字電位器輸出不同的電阻值,液晶顯示模塊對(duì)比度穩(wěn)定,顯示良好。
評(píng)論