找回密码
 立即注册

QQ登录

只需一步,快速开始

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

89c52单片机+TM1628+共阳数码管 显示时间闪烁的问题

[复制链接]
跳转到指定楼层
楼主
取暖器上拆下来的TM1628+共阳数码管 7段10位  现在使用其中的2个数码管显示时间 定时器0计时 显示有闪烁感,求助各位不吝赐教,谢谢!
单片机源程序如下:
  1. #include <STC89C5xRC.H>
  2. #include <intrins.h>

  3. #define u8 unsigned char
  4. #define u16 unsigned int
  5. #define u32 unsigned long

  6. sbit STB=P1^0;
  7. sbit CLK=P1^3;
  8. sbit DIO=P1^5;
  9. //BK9021共阳 硬件说明=脚位 1-7seg1-7 8-10seg10-9-8 11-12-13GRID5-6-7 14-17GRID1-2-3-4
  10. /*
  11. u8 const code DM[69][14]={
  12. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00},//分 11脚GRID5地址08 SEG1
  13. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00},//电源 12脚GRID6地址0A SEG1
  14. {0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T1 14脚GRID1地址00 SEG1
  15. {0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T2 15脚GRID2地址02 SEG1
  16. {0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T3 16脚GRID3地址04 SEG1
  17. {0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T4 17脚GRID4地址06 SEG1

  18. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00},//T5 11脚GRID5地址08 SEG2
  19. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00},//T6 12脚GRID6地址0A SEG2
  20. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00},//T7 13脚GRID7地址0C SEG2
  21. {0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T8  14脚GRID1地址00 SEG2
  22. {0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T9  15脚GRID2地址02 SEG2
  23. {0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T10  16脚GRID3地址04 SEG2
  24. {0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T11  17脚GRID4地址06 SEG2

  25. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00},//T12  11脚GRID5地址09 SEG9
  26. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00},//T13  12脚GRID6地址0B SEG9
  27. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01},//T14  13脚GRID7地址0D SEG9
  28. {0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T15   14脚GRID1地址01 SEG9
  29. {0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T16  15脚GRID2地址03 SEG9
  30. {0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T17  16脚GRID3地址05 SEG9
  31. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00},//T18  17脚GRID4地址07 SEG9

  32. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00},//T19  11脚GRID5地址08 10脚SEG8
  33. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00},//T20  12脚GRID6地址0A 10脚SEG8
  34. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00},//T21  13脚GRID7地址0C 10脚SEG8
  35. {0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T22  14脚GRID1地址00 10脚SEG8
  36. {0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T23  15脚GRID2地址02 10脚SEG8
  37. {0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//T24  16脚GRID3地址04 10脚SEG8

  38. {0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//1a  17脚GRID4地址06 SEG3
  39. {0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//1b  16脚GRID3地址04 SEG3
  40. {0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//1c 15脚GRID2地址02 SEG3
  41. {0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//1d  14脚GRID1地址00 SEG3
  42. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00},//1e 13脚GRID7地址0C SEG3
  43. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00},//1f 12脚GRID6地址0A SEG3
  44. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x00},//1g 11脚GRID5地址08 SEG3

  45. {0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//2a  17脚GRID4地址06 SEG4
  46. {0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//2b  16脚GRID3地址04 SEG4
  47. {0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//2c 15脚GRID2地址02 SEG4
  48. {0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//2d  14脚GRID1地址00 SEG4
  49. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00},//2e 13脚GRID7地址0C SEG4
  50. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00},//2f 12脚GRID6地址0A SEG4
  51. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00},//2g 11脚GRID5地址08 SEG4

  52. {0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//3a  17脚GRID4地址06 SEG5
  53. {0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//3b  16脚GRID3地址04 SEG5
  54. {0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//3c 15脚GRID2地址02 SEG5
  55. {0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//3d  14脚GRID1地址00 SEG5
  56. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00},//3e 13脚GRID7地址0C SEG5
  57. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00},//3f 12脚GRID6地址0A SEG5
  58. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00},//3g 11脚GRID5地址08 SEG5

  59. {0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//4a  17脚GRID4地址06 SEG6
  60. {0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//4b  16脚GRID3地址04 SEG6
  61. {0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//4c 15脚GRID2地址02 SEG6
  62. {0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//4d  14脚GRID1地址00 SEG6
  63. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00},//4e 13脚GRID7地址0C SEG6
  64. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00},//4f 12脚GRID6地址0A SEG6
  65. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00},//4g 11脚GRID5地址08 SEG6

  66. {0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//5a  17脚GRID4地址06 SEG7
  67. {0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//5b  16脚GRID3地址04 SEG7
  68. {0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//5c 15脚GRID2地址02 SEG7
  69. {0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//5d  14脚GRID1地址00 SEG7
  70. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00},//5e 13脚GRID7地址0C SEG7
  71. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00},//5f 12脚GRID6地址0A SEG7
  72. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00},//5g 11脚GRID5地址08 SEG7

  73. {0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//换气14脚GRID1地址01 8脚SEG10
  74. {0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//吹风15脚GRID2地址03 8脚SEG10
  75. {0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//取暖1 16脚GRID3地址05 8脚SEG10
  76. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00},//取暖2 17脚GRID4地址07 8脚SEG10
  77. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00},//s 11脚GRID5地址09 8脚SEG10
  78. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00},//°C 12脚GRID6地址0B 8脚SEG10
  79. {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02}, //照明13脚GRID7地址0D 8脚SEG10

  80. {0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff} //全显
  81. };
  82. */
  83. //d        c          b        a          g         f         e
  84. u8 const code time5[10][14]={
  85. {0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x40,0x00},//第5个数码管显示0
  86. {0x00,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//第5个数码管显示1
  87. {0x40,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x40,0x00},//第5个数码管显示2
  88. {0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00},//第5个数码管显示3
  89. {0x00,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x00,0x00},//第5个数码管显示4
  90. {0x40,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00},//第5个数码管显示5
  91. {0x40,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00},//第5个数码管显示6
  92. {0x00,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//第5个数码管显示7
  93. {0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00},//第5个数码管显示8
  94. {0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x00,0x00,0x00},//第5个数码管显示9
  95. };
  96. u8 const code time4[10][14]={
  97. {0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00},//第4个数码管显示0
  98. {0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//第4个数码管显示1
  99. {0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00},//第4个数码管显示2
  100. {0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00},//第4个数码管显示3
  101. {0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x00,0x00},//第4个数码管显示4
  102. {0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00},//第4个数码管显示5
  103. {0x20,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00},//第4个数码管显示6
  104. {0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00},//第4个数码管显示7
  105. {0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00},//第4个数码管显示8
  106. {0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00},//第4个数码管显示9
  107. };
  108. //u8 key[5]={0};//储存按键值
  109. //u8 o=0;
  110. //u8 k=0;

  111. u8 aa,bb,cc;

  112. void display_du(u8 a);

  113. void delayms(u16 z)
  114. {
  115.          u16 x;
  116.          u8 y;
  117.         for(x=z;x>0;x--)
  118.         for(y=112;y>0;y--);
  119. }

  120. //向TM1628发送数据,低位开始
  121. void send_8bit(u8 dat)
  122. {
  123.         u8 i;
  124.         for(i=0;i<8;i++)
  125.         {
  126.                 if(dat&0x01)
  127.                         DIO=1;
  128.                  else
  129.                          DIO=0;
  130.                  CLK=1;
  131.                  _nop_();_nop_();_nop_();
  132.                  CLK=0;
  133.                  dat>>=1;
  134.   }
  135. }
  136. //向TM1628发送命令
  137. void send_com(u8 com)
  138. {
  139.         STB=1;
  140.         _nop_();_nop_();_nop_();
  141.         STB=0;
  142.         send_8bit(com);
  143. }

  144. //读取按键值并存入key【】数组,从低字节开始,从低位开始
  145. /*
  146. void read_key()
  147. {
  148.         u8 i,j;
  149.         send_com(0x42);//读键盘命令
  150.         DIO=1;
  151.         for(j=0;j<5;j++)//连续读取5个字节
  152.          for(i=0;i<8;i++)
  153.         {
  154.                 key[j]=key[j]>>1;
  155.                 CLK=0;
  156.                  CLK=1;
  157.                 if(DIO)
  158.                         key[j]=key[j]|0X80;
  159.   }
  160.         STB=1;
  161. }
  162. */

  163. //显示函数,1-7位数码管显示数组0-6
  164. void display5()
  165. {
  166.         u8 i;
  167.         send_com(0x03);//设置显示模式,7位10段
  168.         send_com(0x40);//设置数据命令,采用地址自动加1模式
  169.         send_com(0xc0);//设置显示地址,从00h开始
  170.         for(i=0;i<14;i++)  //发送显示数据
  171.         {
  172.                 send_8bit(time5[aa][i]);//因为seg9-14均未用到,所以奇数地址全送0
  173.   }
  174.         send_com(0x8f);//显示控制命令。打开显示并设为最亮
  175. //        send_com(0x80);//显示控制命令。关显示
  176.         //read_key(); //读按键值
  177.         STB=1;
  178. }
  179. void display4()
  180. {
  181.         u8 i;
  182.         send_com(0x03);//设置显示模式,7位10段
  183.         send_com(0x40);//设置数据命令,采用地址自动加1模式
  184.         send_com(0xc0);//设置显示地址,从00h开始
  185.         for(i=0;i<14;i++)  //发送显示数据
  186.         {
  187.                 send_8bit(time4[bb][i]);//因为seg9-14均未用到,所以奇数地址全送0
  188.   }
  189.         send_com(0x8f);//显示控制命令。打开显示并设为最亮
  190. //        send_com(0x80);//显示控制命令。关显示
  191.         //read_key(); //读按键值
  192.         STB=1;
  193. }
  194. /*
  195. void display1()
  196. {
  197.         u8 i;
  198.        
  199.         send_com(0x03);//设置显示模式,7位10段
  200.         send_com(0x40);//设置数据命令,采用地址自动加1模式
  201.         send_com(0xc0);//设置显示地址,从00h开始
  202.         for(i=0;i<14;i++)  //发送显示数据
  203.         {
  204.                 send_8bit(DM[o][i]);//
  205.   }
  206.         send_com(0x8f);//显示控制命令。打开显示并设为最亮
  207. //        send_com(0x80);//显示控制命令。关显示
  208.         //read_key(); //读按键值
  209.         STB=1;
  210. }
  211. */

  212. //显示函数,1-7位数码管显示数组0-6
  213. //void display1()
  214. //{
  215. //        u8 i;
  216. //        send_com(0x03);//设置显示模式,7位10段
  217. //        send_com(0x44);//设置数据命令,采用固定地址模式
  218. //        send_com(0xcd);//设置显示地址0dh
  219. //        send_8bit(0x03);//显示分
  220. //        send_com(0x8f);//显示控制命令。打开显示并设为最亮
  221. //        STB=1;
  222. //}
  223. void display_du(u8 a)
  224. {
  225.         aa=a/10;
  226.   bb=a%10;       
  227.         display5();
  228.         display4();
  229. }

  230. //按键处理函数
  231. /*
  232. void key_press()
  233. {
  234.        
  235. }
  236. */
  237. void timer0init()
  238. {
  239.         TMOD|=0x01;
  240.         TH0=(65536-50000)/256;
  241.         TL0=(65536-50000)%256;
  242.         TR0=1;
  243.         ET0=1;
  244.         EA=1;
  245. }
  246. void main()
  247. {
  248.   timer0init();
  249.         while(1)
  250.         {
  251. //                read_key();
  252. //                key_press();
  253.                 display_du(k);
  254.                 if(cc==20)
  255.           {
  256.                  cc=0;
  257.                  k++;
  258.      if(k==100)
  259.                  k=0;       
  260.     }
  261.   }
  262. }

  263. void timer0isr() interrupt 1
  264. {
  265.         TH0=(65536-50000)/256;
  266.         TL0=(65536-50000)%256;
  267.         cc++;
  268. }
复制代码


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

使用道具 举报

沙发
ID:429003 发表于 2021-1-12 16:48 | 只看该作者
芯片本身就是一直在刷新显示,有一定的闪烁,但一般不仔细看,是看不得不明显!

51hei截图20210112164508.png (10.6 KB, 下载次数: 50)

51hei截图20210112164508.png
回复

使用道具 举报

板凳
ID:390416 发表于 2021-1-12 18:21 | 只看该作者
TM系列的芯片 直接使用他们官方的参考源码即可。还有就是 它不需要CPU频繁发送信号,数据被修改一次 写入一次即可
我这里有个TM1629的贴子   希望能帮到你。http://www.51hei.com/bbs/dpj-200962-1.html
回复

使用道具 举报

地板
ID:739545 发表于 2021-1-12 18:25 | 只看该作者
闪烁一般是由于延迟时间没有达到眼睛感官的要求,减少延迟时间,应该能够解决
回复

使用道具 举报

5#
ID:584814 发表于 2021-1-13 07:53 | 只看该作者
数码管用手机拍都很容易捕捉到闪,只是调整到人眼看不出来就可以了。
写过1640的只要一行就算每个共阳数码管独立安装脚位不同也只要每管一行看你前面的u8 const code DM[69][14]等这些有点密集恐惧症的感觉 推测可能是每显一位都要全刷刷得过于频繁而这个芯片显然可以独立显示每一位精减一下程序单刷就好。
回复

使用道具 举报

6#
ID:389488 发表于 2021-1-13 09:13 | 只看该作者
man1234567 发表于 2021-1-13 07:53
数码管用手机拍都很容易捕捉到闪,只是调整到人眼看不出来就可以了。
写过1640的只要一行就算每个共阳数码 ...

谢谢 但是规格书上共阳的显示确实要多行才能完成一个字符显示呀
图8给出共阳数码管的连接示意图,如果让该数码管显示“0”,那你需要在GRID1,GRID2,
GRID3,GRID4,GRID5,GRID6为低电平的时候让SEG1为高电平,在GRID7为低电平的时候让SEG1为
低电平。要向地址单元00H,02H,04H,06H,08H,0AH里面分别写数据01H,其余的地址单元全部
写数据00H。
SEG8 SEG7 SEG6 SEG5 SEG4 SEG3 SEG2 SEG1
0 0 0 0 0 0 0 1 00H
0 0 0 0 0 0 0 1 02H
0 0 0 0 0 0 0 1 04H
0 0 0 0 0 0 0 1 06H
0 0 0 0 0 0 0 1 08H
0 0 0 0 0 0 0 1 0AH
0 0 0 0 0 0 0 0 0CH
B7 B6 B5 B4 B3 B2 B1 B0
▲注意:SEG1-11为P管开漏输出,GRID1-7为N管开漏输出,在使用时候,SEG1-11只能接LED的阳极,
GRID只能接LED的阴极,不可反接。
回复

使用道具 举报

7#
ID:389488 发表于 2021-1-13 09:14 | 只看该作者
lovezjf234 发表于 2021-1-12 18:25
闪烁一般是由于延迟时间没有达到眼睛感官的要求,减少延迟时间,应该能够解决

谢谢,没有用到延时函数
回复

使用道具 举报

8#
ID:389488 发表于 2021-1-13 09:15 | 只看该作者
xstong 发表于 2021-1-12 16:48
芯片本身就是一直在刷新显示,有一定的闪烁,但一般不仔细看,是看不得不明显!

谢谢回答
回复

使用道具 举报

9#
ID:389488 发表于 2021-1-13 09:15 | 只看该作者
人人学会单片机 发表于 2021-1-12 18:21
TM系列的芯片 直接使用他们官方的参考源码即可。还有就是 它不需要CPU频繁发送信号,数据被修改一次 写入一 ...

谢谢汪总
回复

使用道具 举报

10#
ID:389488 发表于 2021-1-13 10:54 | 只看该作者
man1234567 发表于 2021-1-13 07:53
数码管用手机拍都很容易捕捉到闪,只是调整到人眼看不出来就可以了。
写过1640的只要一行就算每个共阳数码 ...

如果把显示函数改为每秒刷新一下 只能显示个位,十位闪一下 被覆盖了  因为地址都是相同的   
回复

使用道具 举报

11#
ID:389488 发表于 2021-1-14 08:14 | 只看该作者
还是没有解决,没有思路
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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