查看: 15|回复: 0

HT1621显示

[复制链接]
  • TA的每日心情

    2024-11-15 16:19
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    292

    主题

    26

    回帖

    2978

    积分

    管理员

    积分
    2978
    发表于 2024-11-12 15:34:14 | 显示全部楼层 |阅读模式
    代码

    #include <iom128v.h>
    #include <macros.h>


    #define uchar unsigned char
    #define uint unsigned int


    #define DA_1  PORTD |= BIT(6)//RS置1
    #define DA_0  PORTD &= ~BIT(6)//RS置0

    #define WR_1  PORTD |= BIT(2)//RS置1
    #define WR_0  PORTD &= ~BIT(2)//RS置0

    #define CS_1  PORTD |= BIT(4)//RS置1
    #define CS_0  PORTD &= ~BIT(4)//RS置0


    #define Smg_a 0x80

    #define Smg_b 0x40

    #define Smg_c 0x20

    #define Smg_d 0x01

    #define Smg_e 0x02

    #define Smg_f 0x08

    #define Smg_g 0x04

    #define Smg_dp 0x10



    #define Bmp0Map Smg_a | Smg_b | Smg_c | Smg_d | Smg_e | Smg_f

    #define Bmp1Map Smg_b | Smg_c

    #define Bmp2Map Smg_a | Smg_b | Smg_d | Smg_e | Smg_g

    #define Bmp3Map Smg_a | Smg_b | Smg_c | Smg_d | Smg_g

    #define Bmp4Map Smg_b | Smg_c | Smg_f | Smg_g

    #define Bmp5Map Smg_a | Smg_c | Smg_d | Smg_f | Smg_g

    #define Bmp6Map Smg_a | Smg_c | Smg_d | Smg_e | Smg_f | Smg_g

    #define Bmp8Map Smg_a | Smg_b | Smg_c | Smg_d | Smg_e | Smg_f | Smg_g

    #define Bmp9Map Smg_a | Smg_b | Smg_c | Smg_d | Smg_f | Smg_g

    #define Bmp7Map Smg_a | Smg_b | Smg_c

    #define BmpAMap Smg_a | Smg_b | Smg_c | Smg_e | Smg_f | Smg_g

    #define BmpBMap Smg_c | Smg_d | Smg_e | Smg_f | Smg_g

    #define BmpCMap Smg_a | Smg_d | Smg_e | Smg_f

    #define BmpDMap Smg_b | Smg_c | Smg_d | Smg_e | Smg_g

    #define BmpEMap Smg_a | Smg_d | Smg_e | Smg_f | Smg_g

    #define BmpFMap Smg_a | Smg_e | Smg_f | Smg_g









    const unsigned char SegCode[] = {Bmp0Map,Bmp1Map,Bmp2Map,Bmp3Map,Bmp4Map,Bmp5Map,Bmp6Map,Bmp7Map,Bmp8Map,Bmp9Map,BmpAMap,BmpBMap,BmpCMap,BmpDMap,BmpEMap,BmpFMap};

    unsigned char DpyNum[6] = {Smg_g,Smg_g,Smg_g,Smg_g,Smg_g,Smg_g}; //?????



    unsigned int i;

    void COMMAND_HT1621(unsigned char comm)

    {

    //unsigned char i;

    CS_0;



    WR_0;

    for(i=0;i<3;i++)//???

    {

    if((0x04<<i)&0x04)
                                                       DA_1; //100
    else
                                        DA_0;

    WR_0;

    WR_1;

    }

    for(i=0;i<9;i++)//?????

    {

        if((comm<<i)&0x80) DA_1; //100

        else DA_0;

        WR_0;

        WR_1;

    }

    CS_1;



    }



    void HT1621_Display(void)

    {

    //unsigned char i;

    CS_0;//??CS

    WR_0;

    for(i=0;i<3;i++) //???

    {

        if((0x05<<i)&0x04) DA_1;

        else DA_0;

        WR_0;

        WR_1;

    }

    for(i=0;i<6;i++) //???

    {

        if((20<<i)&0x20) DA_1;//20?? SEG??

        else DA_0;

        WR_0;

        WR_1;

    }

    for(i=0;i<8;i++) //???

    {

        if((DpyNum[5]<<i)&0x80)
                                                       DA_1;

        else DA_0;

        WR_0;

        WR_1;

    }

    for(i=0;i<8;i++) //???

    {

    if((DpyNum[4]<<i)&0x80)DA_1;

    else DA_0;

    WR_0;

    WR_1;

    }

    for(i=0;i<8;i++) //???

    {

    if((DpyNum[3]<<i)&0x80) DA_1;

    else DA_0;

    WR_0;

    WR_1;

    }

    for(i=0;i<8;i++) //???

    {

    if((DpyNum[2]<<i)&0x80)DA_1;

    else DA_0;

    WR_0;

    WR_1;

    }

    for(i=0;i<8;i++) //???

    {

    if((DpyNum[1]<<i)&0x80)DA_1;

    else DA_0;

    WR_0;

    WR_1;

    }

    for(i=0;i<8;i++) //???

    {

    if((DpyNum[0]<<i)&0x80) DA_1;

    else DA_0;

    WR_0;

    WR_1;

    }

    CS_1;//??CS

    }



    void LCD_Init(void)

    {

    COMMAND_HT1621(0x01);//SYS EN

    COMMAND_HT1621(0x03);//LCD ON

    COMMAND_HT1621(0x29);//4 COM牋1/3 BIAS

    HT1621_Display(); //clear screen

    }





    void main(void)
    {
    DDRD=0xff;
    LCD_Init();

    DpyNum[0] = Smg_a|Smg_d|Smg_g;//"?"

    DpyNum[1] = SegCode[2];

    DpyNum[2] = SegCode[4];

    DpyNum[3] = SegCode[6];

    DpyNum[4] = SegCode[8];

    DpyNum[5] = SegCode[0];



    HT1621_Display();
    while(1)
    {
      
    }
    }

    效果图

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    友情链接:

    返回顶部 返回列表