由于定制液晶资料丢失,请大家帮我看看代码中设置的偏压和占空比是多少?
不要回复说问厂家要;
#define BIAS 0x28
#define SYSDISABLE 0x00
#define SYSENABLE 0x01
#define LCDOFF 0x02
#define LCDON 0x03
#define RC256 0X18
//P1.4
#define CSEnableLow() (PORT14_OUT = 0)
#define CSDisableHigh() (PORT14_OUT = 1)
//p1.2
#define DATAOutHign() (PORT12_OUT = 1)
#define DATAOutLow() (PORT12_OUT = 0)
#define DATAInput( ) (PORT12_STATE )
//p1.0
#define RDLow() (PORT10_OUT = 0)
#define RDHigh() (PORT10_OUT = 1)
//p1.1
#define WRLow() (PORT11_OUT = 0)
#define WRHigh() (PORT11_OUT = 1)
void HT1621BusStart(void)
{
CSDisableHigh();//cs_port=1;
Delay(1);
CSEnableLow();
}
/*****************************************************************************
功能描述 :发送非数据信息
*****************************************************************************/
void HT1621BitsSendCMD(unsigned char ucData, unsigned char ucLength)
{
unsigned int i;
for(i = 0; i < ucLength; i ++)
{
if((ucData & 0x80) > 0)
{
DATAOutHign();
}
else
{
DATAOutLow();
}
WRLow();
udelay(3);
WRHigh();
udelay(3);
ucData <<= 1;
}
}
/*****************************************************************************
功能描述 :发送数据
*****************************************************************************/
unsigned char HT1621BitsReadDAT(unsigned char ucLength)
{
unsigned int i;
unsigned char ucTemp = 0;
for(i = 0; i < ucLength; i ++)
{
WRLow();
udelay(3);
WRHigh();
udelay(3);
if(DATAInput())
{
ucTemp |= (1 << i);
}
}
return ucTemp;
}
/*****************************************************************************
功能描述 :发送命令到HT1621
*****************************************************************************/
void HT1621SendCMD(unsigned char command)
{
HT1621BusStart();
//写入标志码"100"
HT1621BitsSendCMD(0x80, 3);
//写入9 位数据,其中前8 位为command 命令,最后1 位任意
HT1621BitsSendCMD(command, 9);
CSDisableHigh();
}
/*****************************************************************************
功能描述 :初始化HT1621B控制脚
*****************************************************************************/
void HWHT1621BPortInit(void)
{
//RD
PORT10_MODE_GPIO();
PORT10_DIR_OUT();
PORT10_REN_DISABLE();
RDHigh();
//WR
PORT11_MODE_GPIO();
PORT11_DIR_OUT();
PORT11_REN_DISABLE();
WRHigh();
//DATA
PORT12_MODE_GPIO();
PORT12_DIR_OUT();
PORT12_REN_DISABLE();
DATAOutHign();
//CS
PORT14_MODE_GPIO();
PORT14_DIR_OUT();
PORT14_REN_DISABLE();
CSDisableHigh();
HT1621SendCMD(BIAS); //设置偏压和占空比
HT1621SendCMD(SYSENABLE); //打开系统振荡器
HT1621SendCMD(RC256);
HT1621SendCMD(LCDON); //打开LCD 偏压发生器
}
此帖出自
小平头技术问答
一周热门 更多>