找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1739|回复: 1
打印 上一主题 下一主题
收起左侧

STM8S断码管代码

[复制链接]
跳转到指定楼层
楼主
使用HSB1622 驱动断码管
#ifndef __HSB1622_C__
#define __HSB1622_C__

void Ht1621_Init(void)
{
        /********************************************************
        CS_HIGH;                               //HT1621_CS=1;
        WR_HIGH;                               //HT1621_WR=1;
        DATA_HIGH;                             //HT1621_DAT=1;
        DelayMS(10);               
        
        Ht1621WrCmd(BIAS);
        Ht1621WrCmd(RC256);
        //Ht1621WrCmd(SYSDIS);
        //Ht1621WrCmd(WDTDIS);
        Ht1621WrCmd(SYSEN);
        Ht1621WrCmd(LCDON);
        //Ht1621WrOneNum(0x09,0x01);
        //Ht1621WrCmd(LCDOFF);
        
        *********************************************************/
        /********************************************************/
        
        CS_HIGH;                               //HT1621_CS=1;
        WR_HIGH;                               //HT1621_WR=1;
        DATA_HIGH;                             //HT1621_DAT=1;
        DelayMS(10);   
        
        Ht1621WrCmd(NORMAL);
  //Ht1621WrCmd(EXT32K);
  Ht1621WrCmd(SYS_EN);
  Ht1621WrCmd(LCD_ON);
  Ht1621WrCmd(RC256);
  // Ht1621WrCmd(EXT32K);

  //Ht1621WrCmd(IRQ_EN);
  Ht1621WrCmd(TIMER_EN);
  //Ht1621WrCmd(F16);

  //Ht1621WrCmd(TONE_ON);
  //Ht1621WrCmd(TONE_2K);

void Ht1621Wr_Data(uchar Data,uchar cnt)
{
        uchar i;
        for (i=0;i<cnt;i++)
        {
                WR_LOW;
               
                if((Data & 0x80))
                        DATA_HIGH;
                else
                        DATA_LOW;
                        
                DelayUS(5);
               
                WR_HIGH;
                DelayUS(5);
               
                Data<<=1;
                DelayUS(5);
        }
}

void Ht1621WrOneData(uchar Addr,uchar Data)
{
        CS_LOW;  
        DelayUS(5);
        Ht1621Wr_Data(0xa0,3);
        DelayUS(5);
        Ht1621Wr_Data(Addr<<2,6);
        DelayUS(5);
        Ht1621Wr_Data(Data<<4,4);
        DelayUS(5);
        CS_HIGH;
        DelayUS(5);
}

void Ht1621WrOneNum(uchar Addr,uchar num)
{
        CS_LOW;
        DelayUS(5);
        Ht1621Wr_Data(0xa0,3);
        DelayUS(5);
        Ht1621Wr_Data(Addr<<2,6);
        DelayUS(5);
        Ht1621Wr_Data(num,8);
        DelayUS(5);
        CS_HIGH;
        DelayUS(5);
}

void Ht1621WrAllData(uchar Addr,uchar *p,uchar cnt)
{
        static uchar i=0;
        CS_LOW;
        DelayUS(5);
        Ht1621Wr_Data(0xa0,3);
        DelayUS(5);
        Ht1621Wr_Data(Addr<<2,6);
        DelayUS(5);
        for (i=0;i<cnt;i++)
        {
                Ht1621Wr_Data(*p,8);
                DelayUS(1);
        }
        CS_HIGH;
        DelayUS(5);
}

void Ht1621WrCmd(uchar Cmd)
{
        CS_LOW;                     //HT1621_CS=0;
        DelayUS(5);
        Ht1621Wr_Data(0x80,4);
        DelayUS(5);
        Ht1621Wr_Data(Cmd,8);
        DelayUS(5);
        CS_HIGH;                    //HT1621_CS=1;
        DelayUS(5);
}

#endif


HSB1622.png (27.77 KB, 下载次数: 45)

HSB1622.png
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:324602 发表于 2018-5-7 22:12 | 只看该作者
HSB1622断码管驱动程序
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表