定制液晶偏压问题

2019-03-24 11:26发布

由于定制液晶资料丢失,请大家帮我看看代码中设置的偏压和占空比是多少?
不要回复说问厂家要;
#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 偏压发生器


}
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
sint27
1楼-- · 2019-03-24 18:20
< 你也没说用哪个单片机,这种情况偏压应该是由相应的寄存器设置的,查查datasheet和程序对比下就知道了
huixianfxt
2楼-- · 2019-03-24 21:58
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章