独闷闷网

 找回密码
 立即注册
搜索
查看: 2593|回复: 0
收起左侧

[原创] 段码液晶芯片HT1621的C语言驱动程序

[复制链接]
发表于 2014-1-29 14:06:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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;
     }

}


乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-1-22 12:03 , Processed in 0.160010 second(s), 19 queries .

快速回复 返回顶部 返回列表