产品信息搜索 资料下载搜索
  
18show
军工IC网
电子元器件工厂采购网
电子元器件交易网
IC Buy网
google
上海图一实业(深圳)有限公司
世界电子元器件
电子查询网
中采网
中国国防电子网
新浪
电源网
千禧网100
English website

首页 >>> 产品目录 >>> LCD驱动芯片 >>> HT1621D
产品[合泰ht1621驱动C语言版本]资料
如果您对该产品感兴趣的话,可以
产品名称: 合泰ht1621驱动C语言版本
产品型号: Holtek HT1621D
产品展商: 上海图一实业有限公司
简单介绍
HT1621D是32×4的LCD驱动电路。封装是DIP28;因HT1621D的S/W结构特点,使它适合点阵式LCD显示。HT1621D的驱动程序编写简单,而且在毅钧网站上就有丰富的源码下载、同时还有HT1621D的中英文datasheet,文件格式为pdf和doc。
合泰ht1621驱动C语言版本的详细介绍

HT1621d驱动C语言版本

/***********************************
*MCU:AT89S51
*Freq:12M
.edit Tab:4
driver:ht1621
**********************************/

#include
#include
#include

#define uchar unsigned char
#define uint unsigned int
#define _Nop() _nop_()

#define BIAS 0x52          //0b1000 0101 0010  1/3duty 4com
#define SYSDIS 0X00   //0b1000 0000 0000  关振系统荡器和LCD偏压发生器
#define LCDOFF 0X04   //0b1000 0000 0100  关LCD偏压
#define LCDON 0X06   //0b1000 0000 0110  打开LCD偏压
#define SYSEN 0X02   //0b1000 0000 0010 打开系统振荡器
#define XTAL 0x28   //0b1000 0010 1000 外部接时钟
#define RC256 0X30   //0b1000 0011 0000  内部时钟
#define TONEON 0X12   //0b1000 0001 0010  打开声音输出
#define TONEOFF 0X10   //0b1000 0001 0000 关闭声音输出
#define WDTDIS 0X0A   //0b1000 0000 1010  禁止看门狗

//HT1621控制位(液晶模块接口定义,根据自已的需要更改)
sbit HT1621_DAT=P2^5;
sbit HT1621_CS=P2^6;    //lower enable
sbit HT1621_WR=P2^7;    //rising edge
   


//0,1,...8,9
uchar code Ht1621Tab[]={0xf5,0x05,0xb6,0x57,0x53,0xd3,0xf3,0x85,0xf7,0xd7};

//13_LED  0,1...8,9
uchar code Ht1621Tab1[]={0xeb,0x0a,0xad,0x8f,0x4e,0xc7,0xe7,0x8a,0xef,0xcf};

//uchar data DispBuffer;


//delay us
void Delay(uchar us)  //5,7,9
{
 while(--us);
}


//delay ms
void DelayMS(uint iMs)
{
 uint i,j;
   for(i=0;i    for(j=0;j<65;j++) Delay(1);
     
}
//完成写一个命令包括头(100)
void Ht1621WrCmd(uchar ucTmpCmd)
{
 uchar data i,ucCmdByte=0x80;
 HT1621_CS=0;
 _Nop();
 _Nop();
 for (i=0;i<4;i++)
 {
  if (ucCmdByte&0x80) HT1621_DAT=1;
  else  HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucCmdByte<<=1;
 }
 for (i=0;i<8;i++)
 {
  if (ucTmpCmd&0x80) HT1621_DAT=1;
  else HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucTmpCmd<<=1;
 }
 HT1621_CS=1;
 _Nop();
 _Nop();
}

//写命令+地址
void Ht1621WrDataCmd(uchar ucAddr)
{
 uchar data i,ucDataCmd=0x05;    //101
 ucDataCmd<<=5;
 for (i=0;i<3;i++)
 {
  if (ucDataCmd&0x80) HT1621_DAT=1;
  else HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucDataCmd<<=1;
 }
 ucAddr<<=2;
 for (i=0;i<6;i++)
 {
  if (ucAddr&0x80) HT1621_DAT=1;
  else HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucAddr<<=1;
 }
 
}

//完成写一个字节数据
void Ht1621WrByte(uchar ucTmpData)
{
 uchar data i;
 
 for (i=0;i<8;i++)
 {
  if (ucTmpData&0x80) HT1621_DAT=1;
  else HT1621_DAT=0;
  HT1621_WR=0;
  _Nop();
  _Nop();
  HT1621_WR=1;
  _Nop();
  ucTmpData<<=1;
 }
  
}


void CPU_Init()
{
 P0=0XFF;   //input
 P1=0xf8;
 P2=0XFF;
 P3=0XFF;  
}


void Ht1621_Init()
{
 HT1621_CS=1;
 HT1621_WR=0;
 HT1621_DAT=1;
 DelayMS(2000);     //延时使LCD工作电压稳定
 Ht1621WrCmd(BIAS);
 Ht1621WrCmd(RC256);    //使用内部振荡器
 Ht1621WrCmd(SYSDIS);
 Ht1621WrCmd(WDTDIS);
 Ht1621WrCmd(SYSEN);
 Ht1621WrCmd(LCDON);
}

void main()
{
 uchar data i;
 SP=0X60;
 CPU_Init();
 Ht1621_Init();     //上电初始化LCD
 while(1)
 {
  for (i=0;i<10;i++)
  {
   HT1621_CS=0;
   Ht1621WrDataCmd(4);    //往RAM的地址4写数据  这里的参数范围为:0-31
   Ht1621WrByte(Ht1621Tab[i]);
   HT1621_CS=1;
   DelayMS(2000);      //2S
  }
 }
}

深圳:13556886847   陈生



产品留言


相关产品
合泰ht1621驱动C语言版本 Holtek HT1621D
合泰经典LCD驱动HT1621D HT1621D
上海图一实业有限公司
电话:021-65617142,65173783,55390673  传真:021-65366771
地址:上海市宝山区逸仙路1238弄逸仙华庭6号301-401室      邮编:200439   沪ICP备07036030号   网站管理入口
仪表展览网  
主营产品:HT1621  LCD显示驱动  时钟芯片HT1381  烟雾报警器  HT7130