/*---------------------------------------------------------------------------------------------<br /> * lcd registers<br /> *--------------------------------------------------------------------------------------------*/<br />Byte data SEG[6];<br /> // bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0<br /> // PLASMA COMP Turbo Freq_1 Freq_5 Freq_4 Freq_3 Freq_2 0<br /> // Clock Auto Run N/A FanL FanL N/A N/A 1<br /> // FanM FanM N/A N/A FanH FanH N/A N/A 2<br /> // N/A N/A N/A N/A N/A N/A N/A N/A 3<br /> // 1D 1E 1F 1A 1C 1G 1B N/A 4<br /> // 2D 2E 2F 2A 2C 2G 2B N/A 5<br /><br />/*-----------------------------------------------------------------------------------------<br />*<br />* LCD driver HT1621<br />* ----------------------------<br />*<br />*----------------------------------------------------------------------------------------*/<br />#define ID 3<br />#define COMMAND 9<br />#define ADDR 6<br />#define DATA 4<br />void WriteHT1621(Byte bitLen,Byte value)<br />{<br /> Byte i;<br /> for(i=bitLen;i>0;i--)<br /> { <br /> LCDSCK_PIN = 0;<br /> value = value<<1;<br /> LCDSDA_PIN = CY;<br /> _nop_();<br /> _nop_();<br /> LCDSCK_PIN = 1; <br /> } <br />}<br />void Driver_RefreshHT1621(void)<br />{<br /> Byte i;<br /> LCDCS_PIN = 0;<br /> WriteHT1621(ID,Bin(10000000)); //command operation<br /> WriteHT1621(COMMAND,Bin(00011000)); // -- RC256K<br /> WriteHT1621(COMMAND,Bin(00000001)); // -- Turn on OSC<br /> WriteHT1621(COMMAND,Bin(00101001)); // -- 1/3Bias 1/4Duty<br /> WriteHT1621(COMMAND,Bin(00000011)); // -- Turn On LCD<br /> LCDCS_PIN = 1;<br /> _nop_();<br /> _nop_();<br /> _nop_();<br /> _nop_();<br /> LCDCS_PIN = 0;<br /> WriteHT1621(ID,Bin(10100000)); //data operation<br /> WriteHT1621(ADDR,Bin(00000000)); // -- Address<br /> for(i=0;i<6;i++)<br /> {<br /> WriteHT1621(DATA,SEG); // -- SEG00 ~11<br /> WriteHT1621(DATA,(SEG<<4));<br /> }<br /> LCDCS_PIN = 1; <br />}
|