HT1621 LCD 驱动

来源:本站
导读:目前正在解读《HT1621 LCD 驱动》的相关信息,《HT1621 LCD 驱动》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《HT1621 LCD 驱动》的详细说明。
简介:HT1621是128点内存映象和多功能的LCD驱动器,HT1621的软件配置特性使它适用于多种LCD应用场合,包括LCD模块和显示子系统。HT1621 LCD 驱动具体详解如下。

#defineLCD_ON0x03//打开偏压发生器

#defineLCD_OFF0x02//关闭偏压发生器

//#defineBIAS0x20//1/2偏压,2com口

//#defineBIAS0x24//1/2偏压,3com口

#defineBIAS0x28//1/2偏压,4com口

//#defineBIAS0x21//1/3偏压,2com口

//#defineBIAS0x25//1/3偏压,3com口

//#defineBIAS0x29//1/3偏压,4com口

#defineSYSEN0x01//打开振荡器

#defineRC256K0x18//内部256RC

#defineEXT256K0x1c

uchardisprom[32];

ucharCOM[4] = {0x01,0x02,0x04,0x08};

void SendBit_1621(uchar sdata,uchar cnt) //data 的高cnt 位写入HT1621,高位在前

{

uchar i;

for(i=0; i

{

if((sdata&0x80)==0)

{

DATA = 0;

}

else

{

DATA = 1;

}

WR = 0;

asm("nop");

asm("nop");

WR = 1;

sdata <<= 1;

}

}

voidSenddataBit_1621(ucharsdata,ucharcnt)//data的低cnt位写入1621

{

uchari;

for(i=0; i

{

if((sdata&0x01)==0)

{

DATA = 0;

}

else

{

DATA = 1;

}

WR = 0;

asm("nop");

asm("nop");

WR = 1;

sdata >>= 1;

}

}

voidSendcmd(ucharcommand)

{

CS = 0;

SendBit_1621(0x80,3);//写入标志码"100"

SendBit_1621(command,9);//写入 9 位数据,其中前 8 位为 command 命令,最后 1 位任意

CS = 1;

}

void Write_1621(uchar addr,uchar dat)

{

CS = 0;

SendBit_1621(0xa0,3);//写入标志码"101"

SendBit_1621(addr<<2,6); //写入 6 位 addr

SenddataBit_1621(dat,4); //写入 data 的低 4 位

CS = 1;

}

void WriteAll_1621(uchar addr,uchar *p,uchar cnt)

{

uchar i;

CS = 0;

SendBit_1621(0xa0,3);//写入标志码"101"

SendBit_1621(addr<<2,6); //写入 6 位 addr

for(i =0; i

{

SenddataBit_1621(*p,8);

}

CS = 1;

}

//使用说明:dispON(COM,PIN);

//dispON(1,24);使能COM1,PIN24脚的液晶显示

voiddispON(uchar com,uchar line)

{

uchartmp = 0;

disprom[line-1] = disprom[line-1]|COM[com-1];

tmp = disprom[line-1];

Write_1621(line-1,tmp);

asm("nop");

}

//使用说明:dispOFF(COM,PIN);

//dispON(1,24);关闭COM1,PIN24脚的液晶显示

voiddispOFF(uchar com,uchar line)

{

uchartmp = 0;

disprom[line-1] = disprom[line-1]&~(COM[com-1]);

tmp = disprom[line-1];

Write_1621(line-1,tmp);

asm("nop");

}

void HT1621_Init(void)

{

uchar sec = 0;

ucharj = 0;

for(j=0; j<32; j++)

{

disprom[j] = 0;

}

Sendcmd(BIAS);//设置偏压和占空比

Sendcmd(RC256K);//RC256

Sendcmd(SYSEN);//打开系统振荡器

Sendcmd(LCD_ON);//打开 LCD偏压发生器

//cleandisp();//清除显示ROM内容

// Sendcmd(LCD_OFF);//关闭 LCD显示

}

提醒:《HT1621 LCD 驱动》最后刷新时间 2024-03-14 01:10:26,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《HT1621 LCD 驱动》该内容的真实性请自行鉴别。