打印

请教一个HT1621的问题

[复制链接]
2041|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chenczy|  楼主 | 2008-8-25 15:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1621里面有A0-A5、D0-D3这几个位是不是32和4的地址数?即当A5A4A3A2A1A0=000000时,是不是数据就在SEG0口,当D0D1D2D3=0000时,是不是COM口都是零?例如我想点亮SEG1和COM1这个位时,是不是要往162里写101 000001 0100这个数就行了?第一次用1621,看DATASHEET也没看明白

相关帖子

沙发
sz_longyue| | 2008-8-25 16:48 | 只看该作者

建议楼主先理解一下LCD RAM的影射先

使用特权

评论回复
板凳
iammercy| | 2008-8-26 15:50 | 只看该作者

參考:硬件上只用到SEG0~SEG11

/*---------------------------------------------------------------------------------------------
 *                            lcd registers
 *--------------------------------------------------------------------------------------------*/
Byte     data   SEG[6];
    // bit7        bit6    bit5    bit4     bit3    bit2    bit1    bit0
    // PLASMA    COMP    Turbo    Freq_1     Freq_5    Freq_4    Freq_3    Freq_2    0
    // Clock    Auto    Run        N/A         FanL    FanL    N/A        N/A        1
    // FanM        FanM    N/A        N/A         FanH    FanH    N/A        N/A        2
    // N/A        N/A        N/A        N/A         N/A    N/A        N/A        N/A        3
    // 1D        1E        1F        1A         1C        1G        1B        N/A        4
    // 2D        2E        2F        2A         2C        2G        2B        N/A        5

/*-----------------------------------------------------------------------------------------
*
*                          LCD driver HT1621
*                        ----------------------------
*
*----------------------------------------------------------------------------------------*/
#define ID            3
#define COMMAND     9
#define ADDR        6
#define DATA        4
void WriteHT1621(Byte bitLen,Byte value)
{
    Byte i;
    for(i=bitLen;i>0;i--)
    {    
        LCDSCK_PIN = 0;
        value = value<<1;
        LCDSDA_PIN = CY;
        _nop_();
        _nop_();
        LCDSCK_PIN = 1;    
    }    
}
void Driver_RefreshHT1621(void)
{
    Byte i;
    LCDCS_PIN = 0;
    WriteHT1621(ID,Bin(10000000));        //command operation
    WriteHT1621(COMMAND,Bin(00011000));    //  -- RC256K
    WriteHT1621(COMMAND,Bin(00000001));    //  -- Turn on OSC
    WriteHT1621(COMMAND,Bin(00101001));    //    -- 1/3Bias 1/4Duty
    WriteHT1621(COMMAND,Bin(00000011));    //    -- Turn On LCD
    LCDCS_PIN = 1;
    _nop_();
    _nop_();
    _nop_();
    _nop_();
    LCDCS_PIN = 0;
    WriteHT1621(ID,Bin(10100000));        //data operation
    WriteHT1621(ADDR,Bin(00000000));        //    -- Address
    for(i=0;i<6;i++)
    {
        WriteHT1621(DATA,SEG);            //    -- SEG00 ~11
        WriteHT1621(DATA,(SEG<<4));
    }
    LCDCS_PIN = 1;    
}

使用特权

评论回复
地板
chenczy|  楼主 | 2008-8-26 16:01 | 只看该作者

看不大懂C啊

   我用的是汇编,虽然在学C,不过还是看不懂。还是谢谢LS

使用特权

评论回复
5
radome| | 2008-8-27 13:08 | 只看该作者

这里有应用范例, 要学会"找"啊~

http://www.holtek.com.cn/china/tech/appnote/appnote.htm

DISPLAY DRIVER的那一栏

使用特权

评论回复
6
sz_longyue| | 2008-9-19 09:28 | 只看该作者

我敢打赌

 C9999的IC不会便宜

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

141

主题

791

帖子

0

粉丝