|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
#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;
}
}
|
|