搜索
bottom↓
回复: 13

TM1640

[复制链接]

出0入0汤圆

发表于 2010-12-28 14:51:20 | 显示全部楼层 |阅读模式
各位大侠有谁用过TM1640这个国产的16位8段的数码管显示IC,效果如何。
又有谁能推荐个比较好的16位8段的数码管显示IC呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2011-4-7 16:47:29 | 显示全部楼层
我也在找这种

出0入0汤圆

发表于 2012-2-17 17:32:43 | 显示全部楼层
我看它的说明书,编写了一段程序去驱动数码管,能显示出来,但是有时显示的数字不完整。比如显示“8”,它有时显示“8”,有时显示“6”,有时显示“A”。
有人知道它的显示程序吗?帮忙发来看看啊!

出0入0汤圆

发表于 2012-6-30 13:38:12 | 显示全部楼层
深圳梓晶微科技有限公司是一家以电子IC产品研发设计,生产,销售一条龙服务的高科技民营企业.
公司主导及热卖产品有:

1.红外线遥控IC:LT3399(省晶振遥控IC),LT6222ICT(可变码),LT6122-OOFF/01FE/807F(固码),LT6122CT-X,LT7461CT-1,LT9028CT-1,LT3010CT-1,LT0773CT-1一系列16脚位IC(中九,中六遥控IC内置三极管和所有电容)。已全线量产,兼容客户现手上的PCB板,大小板通用,无需改板。

2.LED数码管驱动IC:LT1640A直接替代TM1640.

3.LCD显示驱动IC:1621,1622.

4.闪灯控制IC:单闪IC,红蓝双闪IC,七彩快慢闪IC,蜡烛闪IC,多灯多段闪灯IC,头灯IC,迷你 (闪字)风扇程序驱动IC.

5.LED红外人体传感信号处理IC:LP0001,8072.

6.LED手电筒按键换段(闪法)控制IC.

7.承接各种LED闪灯闪法,灯条跑法及RGB灯具方案开发(单片机开发),MCU开发,MASK开发.


传呼:13425193733 QQ:290423820 Q群:74777532(电子与电器)

E-MAIL:strong_cwr@163.com

联系人:陈伟荣

出0入0汤圆

发表于 2012-6-30 13:50:03 | 显示全部楼层
home 发表于 2012-2-17 17:32
我看它的说明书,编写了一段程序去驱动数码管,能显示出来,但是有时显示的数字不完整。比如显示“8”,它 ...

#include<intrins.h>
#include<reg51.h>


#define uint unsigned int
#define uchar unsigned char

sbit sda=P1^0;           //TM1640时钟线
sbit scl=P1^1;           //TM1640数据线
uchar date[16] = {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};

//*************************************************************
//*********START***********************************************
void start()                  //1640开始
{
        //scl=0;
        sda=1;
        _nop_();
        _nop_();
        scl=1;       
        _nop_();
        _nop_();
        sda=0;
        _nop_();
        _nop_();
        scl=0;
        _nop_();
        _nop_();
}



//**************************************************************
void stop()                         //1640结束
{
        scl=0;
        _nop_();
        _nop_();
        sda=0;
        scl=1;
        _nop_();
        _nop_();
        sda=1;
        _nop_();
        _nop_();
        scl=1;
        _nop_();
        _nop_();       
}




//***********************************************************
void write(uchar date)                  //1640写字节
{
        uchar i,aa;
        aa=date;
        //sda=0;
        //scl=0;
        for(i=0;i<8;i++)
        {         
                scl=0;
                if(aa&0x01)               
                  {
                        sda=1;
                        _nop_();
                _nop_();
                  }
                else
                  {
                        sda=0;
                        _nop_();
                    _nop_();  
                    }
                scl=1;
                _nop_();
                aa=aa>>1;
        }
        //scl=0;
        //sda=0;                       
}




//**************向TM1640发送显示数据***************************
/*void send(uchar date1)
//void send()                  
{
     uchar ii;
         start();
         write(0x40);       //设置数据,地址加1模式
         stop();

         start();
         write(0xC0);
         for(ii=0;ii<16;ii++)
         {
         write(date1);
         }      
         stop();

         start();
         write(0x8f);       //控制显示,开显示,脉冲宽度为14/16
         stop();
                  
}  
*/

void send()                  
{
     uchar i;
         start();
         //write(0x40);       //设置数据,地址加1模式
         write(0x44);  //固定地址模式
         stop();

         start();
         write(0x00);      
         write(0xff);
         stop();

         start();
         write(0x01);
     write(0x01);
         stop();

         start();
         write(0x02);      
         write(0x01);
         stop();

         start();
         write(0x03);
     write(0x01);
         stop();


         start();
         write(0x04);
     write(0x01);
         stop();

         start();
         write(0x05);      
         write(0x01);
         stop();

         start();
         write(0x06);
     write(0x01);
         stop();


          

         start();
         write(0x8f);       //控制显示,开显示,脉冲宽度为14/16
         stop();
                  
}  


//************************************************************
void delay(uint z)                  //延时子程序
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=487;y>0;y--);
}





void main()
{
         while(1)
         {
     send();
         }
}


出0入0汤圆

发表于 2012-6-30 13:54:31 | 显示全部楼层

出0入0汤圆

发表于 2012-6-30 13:55:03 | 显示全部楼层
plb83 发表于 2012-6-30 13:50
#include
#include

出0入0汤圆

发表于 2012-7-5 11:59:36 | 显示全部楼层
您好,还有在用1640数码管驱动IC没,加下我Q:290423820,大家详谈一下,谢谢

出0入0汤圆

发表于 2012-7-5 12:00:08 | 显示全部楼层
qgbgzp 发表于 2011-4-7 16:47
我也在找这种

您好,还有在用1640数码管驱动IC没,加下我Q:290423820,大家详谈一下,谢谢

出0入0汤圆

发表于 2012-7-5 12:00:27 | 显示全部楼层
home 发表于 2012-2-17 17:32
我看它的说明书,编写了一段程序去驱动数码管,能显示出来,但是有时显示的数字不完整。比如显示“8”,它 ...

您好,还有在用1640数码管驱动IC没,加下我Q:290423820,大家详谈一下,谢谢

出0入0汤圆

发表于 2012-8-19 00:07:20 | 显示全部楼层
前段时间我在做一款产品时用过TM1640,后来换方案了,这款芯片不太稳定,经常会出现少笔划或者不该显的显了,或者显的笔划淡,后来改用TM1620,TM1620很稳定,看来TM1640的稳定性有待提高!

出0入0汤圆

发表于 2013-8-20 14:12:38 | 显示全部楼层
mark            

出0入0汤圆

发表于 2013-11-4 17:55:54 | 显示全部楼层
我在两个产品上批量使用了,没发现有问题吗

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-7-23 22:11

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

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