发 帖  
原厂入驻New

[经验] 6P 三位数码管 USB表头

2019-3-2 11:18:07  698 数码管
分享
0
如果你CPU速度可以。。那你可以试一下6P数码管,生产更简单快捷
说说供应商的资料
6P数码管.png

6P数码管电路图.png
测试到这个电路图是有问题的,然后自己画了一个
6P.jpg
有些正确的资料。。那我们开始写驱动吧
void SMG1_Output_Duan(unsigned char lcd_data1)           //Êý¾ÝÊä³ö
{
        unsigned char lcd_data = lcd_data1;
        //SMG_ABCDEFG_ON;
        IF(lcd_data&SMA_A_)
        {
                SMG_6P_EN2_ON;SMG_6P_EN3_OFF;
        }


        Delay_us(SMG_6P_Delay_time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_B_)
        {
                SMG_6P_EN2_ON;SMG_6P_EN4_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_D_)
        {
                SMG_6P_EN2_ON;SMG_6P_EN6_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_E_)
        {
                SMG_6P_EN2_ON;SMG_6P_EN5_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_DP_)
        {
                SMG_6P_EN2_ON;SMG_6P_EN1_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_C_)
        {
                SMG_6P_EN5_ON;SMG_6P_EN2_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_F_)
        {
                SMG_6P_EN3_ON;SMG_6P_EN2_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_G_)
        {
                SMG_6P_EN4_ON;SMG_6P_EN2_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        
}


void SMG2_Output_Duan(unsigned char lcd_data1)           //Êý¾ÝÊä³ö
{
        unsigned char lcd_data = lcd_data1;
        //SMG_ABCDEFG_ON;
        if(lcd_data&SMA_A_)
        {
                SMG_6P_EN5_ON;SMG_6P_EN4_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_B_)
        {
                SMG_6P_EN3_ON;SMG_6P_EN5_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_D_)
        {
                SMG_6P_EN3_ON;SMG_6P_EN4_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_E_)
        {
                SMG_6P_EN6_ON;SMG_6P_EN3_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_DP_)
        {
                SMG_6P_EN3_ON;SMG_6P_EN1_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_C_)
        {
                SMG_6P_EN4_ON;SMG_6P_EN5_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_F_)
        {
                SMG_6P_EN4_ON;SMG_6P_EN3_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_G_)
        {
                SMG_6P_EN5_ON;SMG_6P_EN3_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
}
void SMG3_Output_Duan(unsigned char lcd_data1)           //Êý¾ÝÊä³ö
{
        unsigned char lcd_data = lcd_data1;
        //SMG_ABCDEFG_ON;
        if(lcd_data&SMA_A_)
        {
                SMG_6P_EN1_ON;SMG_6P_EN6_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_B_)
        {
                SMG_6P_EN3_ON;SMG_6P_EN6_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_D_)
        {
                SMG_6P_EN6_ON;SMG_6P_EN4_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_E_)
        {
                SMG_6P_EN4_ON;SMG_6P_EN6_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
//        if(lcd_data&SMA_DP_)
//        {
//                SMG_6P_EN3_ON;SMG_6P_EN1_OFF;
//        }


//        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_C_)
        {
                SMG_6P_EN5_ON;SMG_6P_EN6_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_F_)
        {
                SMG_6P_EN6_ON;SMG_6P_EN5_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
        if(lcd_data&SMA_G_)
        {
                SMG_6P_EN1_ON;SMG_6P_EN5_OFF;
        }


        Delay_us(SMG_6P_Delay_Time);
        SMG_ABCDEFG_OFF;
}



简单的驱动程序,方便参考
USB表.png
USB表2.png
产品图片   
以上仅供参考学习,如需要合作讨论也可以与我联系 QQ570542229
大雪2016 2019-3-4 07:47:34
谢谢楼主分享,大家一起进步!
1 回复

举报

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发经验
关闭

站长推荐 上一条 /7 下一条

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