独闷闷网
标题:
段码液晶芯片HT1621的C语言驱动程序
[打印本页]
作者:
ligang
时间:
2014-1-29 14:06
标题:
段码液晶芯片HT1621的C语言驱动程序
#define BIAS 0X52 //LCD 1/3 bias option 1/3 bais . 4 duty
#define RC256 0X30 //System clock source, on-chip RC oscillator
#define SYSTEN 0X02 //Turn on system oscillator
#define SYSDIS 0X00 //Turn off both system oscillator and LCD bias generator
#define LCDON 0X06 //Turn on LCD bias generator
void SendBitToHT1621(UCHAR nbit,UCHAR n)
{
UCHAR i;
for(i=0;i<n;i++)
{
ht162x_wr=0;
if(nbit>=0x80) //判断最高位
ht162x_data=1;
else
ht162x_data=0;
_nop_();
_nop_();
_nop_();
ht162x_wr=1;
_nop_();
_nop_();
_nop_();
nbit<<=1;
}
}
void SendCommandToHT1621(UCHAR command)
{
ht162x_cs=0; //选通HT1621
_nop_();
_nop_();
SendBitToHT1621(0x80,4);
SendBitToHT1621(command,8);
_nop_();
_nop_();
ht162x_cs=1;
_nop_();
_nop_();
_nop_();
}
void SetupHT1621() //送命令字
{
SendCommandToHT1621(SYSTEN); //Turn on system oscillator
SendCommandToHT1621(RC256); //启动内部256KRC 振荡器
SendCommandToHT1621(BIAS); // 1/3 bais . 4 duty
SendCommandToHT1621(LCDON); //开启LCD
}
void SendByteToHT1621(UCHAR addr,UCHAR byte)
{
addr<<=2;
// addr=addr*2;
ht162x_cs=0; //选通HT1621
_nop_();
_nop_();
SendBitToHT1621(0xA0,3); //发送写数据模式101
SendBitToHT1621(addr,6); //发送地址
SendBitToHT1621(byte,4); //发送数据
ht162x_cs=1;
_nop_();
_nop_();
}
void HT1621_all_off(void)
{ UCHAR i;
UCHAR addr=0;
for(i=0;i<32;i++)
{
SendByteToHT1621(addr,0x00);
addr=addr+1;
}
}
欢迎光临 独闷闷网 (http://dumenmen.com/)
Powered by Discuz! X3.2