搜索
bottom↓
回复: 30

TM1650芯片驱动共阴极数码管问题:位之间干扰

[复制链接]

出0入24汤圆

发表于 2016-1-18 21:44:29 | 显示全部楼层 |阅读模式
本帖最后由 ycwjl728 于 2016-1-18 23:22 编辑

后来编辑:问题已经锁定,详见8楼。

故障现象:不论是送0x00还是0xFF,数码管的C和小数点总是常亮,也就是a,f,e,d,和dp段总是常亮。

感觉TM1650驱动数码管挺简单的,没想到遇到问题了。。

单片机是ATmega16L,系统3.3V供电,两个IO模拟I2C,程序是某宝上买数码管模块的发的资料,号称亲测有效,我看好像也没啥问题,直接拿来用的。开显示和关显示的命令是好使。

原理图:



数码管型号:LDS-5202FX,力创商城买的,单片机也是。
数码管是共阳极的,数据手册上写的是共阴极例子,有关系吗?

哪位大神遇到过这种情况吗?

附上程序,为了简便我都压缩到一个函数里面了。

void TM1650Full(uchar addr1,uchar data1)
{
         uchar i,t;
         DIO_OUT;
         CLK_OUT;
         CLK_H;
         DIO_H;
         Delay_us(5);
         DIO_L;
         Delay_us(5);
         CLK_L;
         Delay_us(5);
         
         for(i=0;i<8;i++)
        {       
                t  = addr1 & 0x80;
                addr1 = addr1<<1;
                if(t == 0x80)
                {
                 DIO_H;
                }
                else
                {
                 DIO_L;
                }
                Delay_us(5);
                CLK_H;
                Delay_us(5);
                CLK_L;
        }
       
        DIO_IN;
        DIO_H;
       
        while((PINC&(1<<PC1)==(1<<PC1)));
       
        CLK_H;
        Delay_us(5);
       
        CLK_L;
        Delay_us(5);
        DIO_OUT;
        Delay_us(5);
       
         for(i=0;i<8;i++)
        {       
                t  = data1 & 0x80;
                data1 = data1<<1;
                if(t == 0x80)
                {
                 DIO_H;
                }
                else
                {
                 DIO_L;
                }
                Delay_us(5);
                CLK_H;
                Delay_us(5);
                CLK_L;
        }
       
        DIO_IN;
        DIO_H;
       
        while((PINC&(1<<PC1)==(1<<PC1)));
       
        CLK_H;
        Delay_us(5);
       
        CLK_L;
        Delay_us(5);
        DIO_OUT;
        Delay_us(5);
       
        CLK_H;
        Delay_us(5);
        DIO_H;
        Delay_us(5);
       
       
         

}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2016-1-18 21:47:57 | 显示全部楼层
数码管的管脚是不是短路了?

出0入24汤圆

 楼主| 发表于 2016-1-18 21:57:09 | 显示全部楼层
lisingch 发表于 2016-1-18 21:47
数码管的管脚是不是短路了?

看了您的回复,我用酒精棉擦了一下TM1650的管脚,现在变成8.8.全亮了...
这管脚间距挺大的啊。。。

出0入24汤圆

 楼主| 发表于 2016-1-18 22:36:51 | 显示全部楼层
现在变成8.8.全亮了,如果想显示一个1,那么就是1这两段比其他的更亮一点点。
晕。。。

出20入70汤圆

发表于 2016-1-18 22:39:18 | 显示全部楼层
拿示波器查看段码管脚电压
有可能是上拉电压不够,或者不能拉到地导致!

出0入0汤圆

发表于 2016-1-18 22:50:02 | 显示全部楼层
用共阴极的程序去驱动共阳极的数码管,能正常才怪。

出0入4汤圆

发表于 2016-1-18 23:08:24 | 显示全部楼层
特意下了数据手册,该芯片不支持共阳数码管

出0入24汤圆

 楼主| 发表于 2016-1-18 23:12:23 | 显示全部楼层
techbaby 发表于 2016-1-18 22:39
拿示波器查看段码管脚电压
有可能是上拉电压不够,或者不能拉到地导致! ...

现在问题已经基本锁定了:出在位选信号上。

详细描述:

如电路图所示,我只接了DIG1,DIG2,两位数码管,DIG3,DIG4两位我悬空的什么也没接。位选信号之间有干扰。
下图很能说明问题,我让第一位的a段亮,结果第一位的a段大亮,第二位的a段小亮。同理,让第二位的b段亮,则第二位b段大亮,第一位a段小亮。
如果让什么也没接的第三位或者第四位的某一段(比如c段)亮,则第一位和第二位的c段都会大亮。



怎么解决这个问题呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入24汤圆

 楼主| 发表于 2016-1-18 23:13:28 | 显示全部楼层
luybpotter 发表于 2016-1-18 23:08
特意下了数据手册,该芯片不支持共阳数码管

说了吗?能否截图看看?

出0入24汤圆

 楼主| 发表于 2016-1-18 23:16:35 | 显示全部楼层
KongQuan 发表于 2016-1-18 22:50
用共阴极的程序去驱动共阳极的数码管,能正常才怪。

大师,可否详解?

出0入0汤圆

发表于 2016-1-18 23:25:39 | 显示全部楼层
换数码管,根本就不是位选的问题

出0入4汤圆

发表于 2016-1-19 08:19:27 | 显示全部楼层
ycwjl728 发表于 2016-1-18 23:13
说了吗?能否截图看看?

你去下TM1640数据手册就清楚了,支持共阴或共阳2种接法的话,数据手册都会说明
还有你就2个数码管  10个单片机口就能解决问题,用芯片驱动  好奢侈

出0入0汤圆

发表于 2016-1-19 09:58:21 | 显示全部楼层
ycwjl728 发表于 2016-1-18 23:16
大师,可否详解?

共阳极是公共极输出1, 段(a,b,c,d,e,f,g)输出0,对应的段点亮,共阴极相反。

出0入24汤圆

 楼主| 发表于 2016-1-19 11:01:31 | 显示全部楼层
KongQuan 发表于 2016-1-19 09:58
共阳极是公共极输出1, 段(a,b,c,d,e,f,g)输出0,对应的段点亮,共阴极相反。 ...

现在问题不是亮不亮的问题。可否麻烦看一下8楼?

出0入24汤圆

 楼主| 发表于 2016-1-19 11:23:17 | 显示全部楼层
little_Monkey 发表于 2016-1-18 23:25
换数码管,根本就不是位选的问题

刚才我用万用表连了一下,数码管没问题啊。。。
是连哪位的哪段就哪段亮,没有另一位也跟着亮的问题。

出0入0汤圆

发表于 2016-1-19 11:27:40 | 显示全部楼层
ycwjl728 发表于 2016-1-19 11:01
现在问题不是亮不亮的问题。可否麻烦看一下8楼?

共阴驱动芯片接共阳数码管,不出问题才怪。不要去纠结了,换共阴数码管就搞定了,我用1650时也遇到过这种情况

出0入24汤圆

 楼主| 发表于 2016-1-19 11:37:14 | 显示全部楼层
winfuture 发表于 2016-1-19 11:27
共阴驱动芯片接共阳数码管,不出问题才怪。不要去纠结了,换共阴数码管就搞定了,我用1650时也遇到过这种 ...

OK,谢谢!我一会儿去买一个试试,数码管都焊上了,拆下来估计得挺麻烦。。。
1650的数据手册里面没写不能接共阳,楼上的网友让我看1640的数据手册,那里面写了段、位是开漏输出什么的。

出0入24汤圆

 楼主| 发表于 2016-1-19 11:39:29 | 显示全部楼层
luybpotter 发表于 2016-1-19 08:19
你去下TM1640数据手册就清楚了,支持共阴或共阳2种接法的话,数据手册都会说明
还有你就2个数码管  10个 ...

谢谢提醒,1640的手册里面提到开漏输出的事,1650一个字也没说,无奈了。。
这个芯片1块钱,我换一个腿多的单片机肯定不止1块钱,还是合适的。

出0入0汤圆

发表于 2016-1-19 11:51:10 | 显示全部楼层
ycwjl728 发表于 2016-1-19 11:39
谢谢提醒,1640的手册里面提到开漏输出的事,1650一个字也没说,无奈了。。
这个芯片1块钱,我换一个腿多 ...

153便宜啊,你可以自己整个LED驱动芯片,只是驱动能力应该差一些影响亮度.

出0入0汤圆

发表于 2016-1-19 14:31:18 | 显示全部楼层
ycwjl728 发表于 2016-1-19 11:37
OK,谢谢!我一会儿去买一个试试,数码管都焊上了,拆下来估计得挺麻烦。。。
1650的数据手册里面没写不 ...

看楼主那么纠结好辛苦,TM1650手册最后面的电路是共阴的;
好吧,它没说不能接共阳的;
那么,我测SIG1~4给你看;



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入93汤圆

发表于 2016-1-19 15:06:06 | 显示全部楼层
ycwjl728 发表于 2016-1-19 11:37
OK,谢谢!我一会儿去买一个试试,数码管都焊上了,拆下来估计得挺麻烦。。。
1650的数据手册里面没写不 ...

基本上所有这类LED驱动芯片都可以接共阴、共阳,但是能达到什么样的效果就看你的需求了。
这个片子既然能驱动8段*4位的共阴数码管,自然就能驱动4段*8位的共阳数码管,这是毫无疑问的。
比如驱动RGB三色灯,则共阴共阳都是可以的。但是,只能显示4段的数码管有什么用途你就得自己考虑清楚了,万一真有这种需求呢。

出0入0汤圆

发表于 2016-1-19 15:28:57 | 显示全部楼层
楼主就别把标题改成位之间干扰了,TM1650芯片用着好得很,你数码管买错了而已

出0入0汤圆

发表于 2016-1-19 15:38:53 | 显示全部楼层
没有你出现的问题

出0入24汤圆

 楼主| 发表于 2016-1-19 16:13:31 | 显示全部楼层
122402902 发表于 2016-1-19 15:38
没有你出现的问题

你用TM1650驱动共阳极的数码管没有问题?

出0入24汤圆

 楼主| 发表于 2016-1-19 16:15:41 | 显示全部楼层
takashiki 发表于 2016-1-19 15:06
基本上所有这类LED驱动芯片都可以接共阴、共阳,但是能达到什么样的效果就看你的需求了。
这个片子既然能 ...

楼上几位网友都说TM1650只能共阴,不能共阳。
刚才去市场买了几个共阴的,晚上回去试试,看看是不是这样。

出0入24汤圆

 楼主| 发表于 2016-1-19 16:18:26 | 显示全部楼层
little_Monkey 发表于 2016-1-19 15:28
楼主就别把标题改成位之间干扰了,TM1650芯片用着好得很,你数码管买错了而已 ...

如果是只能共阴的,那只能怪我不仔细揣摩TM1650的数据手册,没说可以共阳就是不能共阳。。。

出0入24汤圆

 楼主| 发表于 2016-1-19 16:19:15 | 显示全部楼层
xiaowu191 发表于 2016-1-19 14:31
看楼主那么纠结好辛苦,TM1650手册最后面的电路是共阴的;
好吧,它没说不能接共阳的;
那么,我测SIG1~4 ...

咋测的?逻辑分析仪?

出0入24汤圆

 楼主| 发表于 2016-1-19 21:00:25 | 显示全部楼层
得到结论了,换成共阴极的数码管就好了。
太坑了,不能用共阳的数据手册里面应该说一声,或者哪怕说一下驱动结构也行。一点提示也不给。。。

出0入0汤圆

发表于 2017-8-22 15:55:22 | 显示全部楼层
ycwjl728 发表于 2016-1-19 21:00
得到结论了,换成共阴极的数码管就好了。
太坑了,不能用共阳的数据手册里面应该说一声,或者哪怕说一下驱 ...

共阳只能用1651,规格书说的很清楚了,我也是打电话给技术支持才知道

出0入0汤圆

发表于 2019-1-29 08:08:20 | 显示全部楼层
谢谢楼主,刚也解决了我的问题,我没有用上拉电阻,受干扰严重,谢谢了

出0入0汤圆

发表于 2021-3-20 13:08:57 来自手机 | 显示全部楼层
TM1650需要470uf的电容,不然电源上有很大的毛刺
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 23:17

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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