- 入駐時間: 2009-09-15
- 聯系人:白
- 電話:021-64788392
-
聯系時,請說明易展網看到的
- Email:1094966834@qq.com
HT1621驅動程序
void SendBit(uchar dat,uchar bitcnt)
{
uchar i;
for(i=0;i<bitcnt;i++)
{
Ht1621_WR = 0; /*置時鐘線為高通知被控器開始接收數位*/
if(( dat & 0x80 ) == 0)
Ht1621_Data = 0;
else
Ht1621_Data = 1; /*發送數據由高位到低位傳送*/
DelayUS(1);
Ht1621_WR = 1; /*鉗住總線準備下一個數據位*/
DelayUS(1);
dat=dat<<1; /*發送數據左移一位*/
}
}
void HT1621_init(void)
{
Ht1621_CS = 1; /*CS 端口為1*/
Ht1621_WR = 1; /*WR 端口為1*/
Ht1621_RD = 1; /*WR 端口為1*/
Ht1621_Data = 1; /*DATA端口為1*/
}
void HT1621_WriteCmd(unsigned char Cmd,unsigned char Cmd_Data)
{
Ht1621_CS = 0;
DelayUS(1);
SendBit(Cmd,4);
SendBit(Cmd_Data,8);
Ht1621_CS = 1;
DelayUS(1);
}
void HT1621_WriteData(unsigned char Waddr,unsigned charWdata,unsigned char Wnum)
{
Ht1621_CS = 0;
DelayUS(1);
SendBit(0xA0,3);
Waddr = Waddr << 2;
SendBit(Waddr,6);
Wdata = Wdata << (8-Wnum);
SendBit(Wdata,Wnum);
Ht1621_CS = 1;
DelayUS(1);
}
void HT1621_Cmd_init(void)
{
HT1621_WriteCmd(Cmd8,SYSEN); //打開系統振蕩器命令
HT1621_WriteCmd(Cmd8,LCDON); //打開LCD偏壓發生器命令
HT1621_WriteCmd(Cmd8,WDTDIS); //WDT 溢出標志輸出失效命令
HT1621_WriteCmd(Cmd8,TIMEREN); //時基輸出使能命令
HT1621_WriteCmd(Cmd8,RC256 ); ///系統時鐘源片內RC振蕩器命令
HT1621_WriteCmd(Cmd8, BIAS ); //LCD1/3偏壓選項4個公共口命令
HT1621_WriteCmd(Cmd9, F1 ); /*時基/WDT 時鐘輸出1Hz WDT設置為4秒溢出*/
HT1621_WriteCmd(Cmd9, IRQEN ); /*時基/WDT 時鐘輸出1Hz WDT設置為4秒溢出*/