标题: 8段6位数码管用TM1637芯片来驱动,8段3位用TM啥芯片来驱动? [打印本页]

作者: univers    时间: 2022-1-7 21:58
标题: 8段6位数码管用TM1637芯片来驱动,8段3位用TM啥芯片来驱动?
8段6位 我用TM1637芯片来驱动,8段3位 用TM啥芯片来驱动?在天微官网titanmec找不到。

1.jpg (122.87 KB, 下载次数: 31)

1.jpg

作者: lwq1947    时间: 2022-1-8 06:06
还用TM1637芯片来驱动,高三位不接线。
作者: wulin    时间: 2022-1-8 06:29
TM系列品种较多,只要超过8段3位的芯片都可以用来驱动8段3位,多余位闲置即可。曾经用TM1640驱动8段8位共阴数码管,相关函数如下:

  1. sbit SCK_Pin = P3^3;                        //TM1640时钟端口
  2. sbit DOUT_Pin= P3^6;                        //TM1640数据端口

  3. uchar data dis_buf[8];                        //显示缓存

  4. /************TM1640开始函数*************/
  5. void TM1640_Start()
  6. {
  7.         TM1640_SCK_HIGH;
  8.         TM1640_DOUT_HIGH;
  9.         TM1640_DOUT_LOW;
  10.         TM1640_SCK_LOW;
  11. }
  12. /************TM1640停止函数*************/
  13. void TM1640_Stop()
  14. {
  15.         TM1640_DOUT_LOW;
  16.         TM1640_SCK_HIGH;
  17.         TM1640_DOUT_HIGH;
  18. }
  19. /************TM1640写字节*************/
  20. void TM1640_Write_Byte(uchar date)
  21. {
  22.         uchar i;
  23.         TM1640_SCK_LOW;
  24.         TM1640_DOUT_LOW;
  25.         for(i=0;i<8;i++)
  26.         {
  27.                 TM1640_SCK_LOW;
  28.                 if(date&0x01)
  29.                         TM1640_DOUT_HIGH;
  30.                 else
  31.                         TM1640_DOUT_LOW;
  32.                 TM1640_SCK_HIGH;
  33.                 date>>=1;
  34.         }
  35.         TM1640_SCK_LOW;
  36.         TM1640_DOUT_LOW;
  37. }
  38. /****************TM1640发送命令字*******************/
  39. void TM1640_Write_Com(uchar date)
  40. {
  41.         TM1640_Start();                                        //TM1640开始
  42.         TM1640_Write_Byte(date);                //TM1640写字节
  43.         TM1640_Stop();                                        //TM1640停止
  44. }
  45. /************TM1640清屏函数*************/
  46. void TM1640_Cls()
  47. {
  48.         uchar i;       
  49.         TM1640_Write_Com(0x40);                        //地址自动加1模式
  50.         TM1640_Start();                                        //TM1640开始
  51.         TM1640_Write_Byte(0xc0);                //从第一个地址开始连续写字节命令
  52.         for(i=0;i<16;i++)
  53.                 TM1640_Write_Byte(0x00);        //清空寄存器
  54.         TM1640_Stop();                                        //TM1640停止
  55. }
  56. /************TM1640初始化函数*************/
  57. void TM1640_Init()
  58. {
  59.         TM1640_Cls();                                        //TM1640清屏
  60.         TM1640_Write_Com(0x8c);                        //亮度控制范围0x88~0x8F
  61. }
  62. /************TM1640指定地址连续写入数据*************/
  63. void TM1640_Write_DATA()
  64. {
  65.         uchar i;               
  66.         TM1640_Write_Com(0x40);                 //44固定地址命令 40连续地址命令
  67.         TM1640_Start();                                        //TM1640开始
  68.         TM1640_Write_Byte(0xc0);                //从第一个地址开始连续写字节
  69.         for(i=0;i<8;i++)
  70.                 TM1640_Write_Byte(dis_buf[i]);//写最多16字节数据
  71.         TM1640_Stop();                                        //TM1640停止
  72. }

复制代码

作者: 188610329    时间: 2022-1-8 12:27
从经济角度讲,依然用tm1637,闲置高3位,是比较划算的,虽然有8段4位的芯片,但是并不比1637便宜,,
作者: 123456ZXC1    时间: 2022-1-8 15:09
tm1637 便宜
作者: gpdt3209    时间: 2022-2-11 16:59
TM1650
作者: singrain    时间: 2022-2-13 23:43
TM系列和max7219有啥区别,都有教程没?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1