找回密码
 立即注册
楼主: qep***

请教STC32G怎么带TM1640驱动数码管先分享我成功的在STC15W408AS上的成功经验

[复制链接]
  • TA的每日心情
    开心
    昨天 08:58
  • 签到天数: 42 天

    [LV.5]常住居民I

    11

    主题

    112

    回帖

    232

    积分

    中级会员

    积分
    232
     楼主| 发表于 2024-4-17 22:44:52 | 显示全部楼层
    再分享一下不成功的例请懂的给看看哪里有问题。STC8H8K下 LQFP32

    1. //本例程基于STC8H8K64U为主控芯片的实验箱9进行编写测试,STC8G、STC8H系列芯片可通用参考.
    2. #include "stc8h.h"       //包含此头文件后,不需要再包含"reg51.h"头文件
    3. #include "intrins.h"
    4. //1.TM1640显示基本程序
    5. sbit DIN=P3^5;                                   //定义DIN数据端口
    6. sbit CLK=P3^4;                                   //定义CLK数据端口
    7. unsigned int  CODE[16]={0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,};  //共阴数码管0~F字型码,需根据硬件接法定义               
    8. //1.TM1640显示基本程序
    9. //2.TM1640显示基本程序
    10. /********************Start函数*************************/
    11. void I2CStart()
    12. {
    13.     DIN=1;
    14.     CLK=1;
    15.         _nop_();
    16.         _nop_();
    17.         DIN=1;
    18.         _nop_();
    19.         _nop_();
    20.         DIN=0;
    21.         _nop_();
    22.         _nop_();
    23.         _nop_();
    24.         _nop_();
    25.         CLK=0;
    26.         _nop_();
    27.         _nop_();
    28. }
    29. /********************Stop函数*************************/
    30. void I2CStop()
    31. {
    32.         CLK=1;
    33.         _nop_();
    34.         _nop_();
    35.         DIN=0;
    36.         _nop_();
    37.         _nop_();
    38.         DIN=1;
    39.         _nop_();
    40.         _nop_();
    41.         CLK=0;
    42.         DIN=0;
    43. }
    44. /***************发送8bit数据,从低位开始**************/
    45. void I2CWritebyte(unsigned char oneByte)
    46. {
    47.   unsigned char i;
    48.   for(i=0;i<8;i++)
    49.   {
    50.     CLK=0;
    51.         if(oneByte&0x01)
    52.           DIN=1;
    53.         else
    54.           DIN=0;
    55.         _nop_();
    56.         _nop_();
    57.         _nop_();
    58.         CLK=1;
    59.         oneByte=oneByte>>1;
    60.         }
    61.         CLK=0;
    62.         _nop_();
    63.         _nop_();
    64.         _nop_();
    65.         _nop_();
    66.         DIN=0;
    67.         _nop_();
    68.         _nop_();
    69. }
    70. /************显示函数,数码管1~16位显示0~F************/
    71. void disp()
    72. {
    73. unsigned char i;
    74. I2CStart();
    75. I2CWritebyte(0x40);        //数据命令设置:普通模式,地址自动加一
    76. I2CStop();
    77. I2CStart();
    78. I2CWritebyte(0xc0);        //地址命令设置:初始地址00H
    79. for(i=0;i<16;i++)                //发送16位显示数据
    80. {
    81.    I2CWritebyte(CODE[i]);
    82. }
    83. I2CStop();
    84. I2CStart();
    85. I2CWritebyte(0x8c);        //显示控制:显示开,脉冲宽度设为11/16
    86. I2CStop();
    87. }
    88. //2.TM1640显示基本程序
    89. void main()
    90. {
    91.        
    92.     P0M0 = 0x00; P0M1 = 0x00;
    93.     P1M0 = 0x00; P1M1 = 0x00;
    94.     P2M0 = 0x00; P2M1 = 0x00;
    95.     P3M0 = 0x00; P3M1 = 0x00;
    96.     P4M0 = 0x00; P4M1 = 0x00;
    97.     P5M0 = 0x00; P5M1 = 0x00;
    98.     P6M0 = 0x00; P6M1 = 0x00;
    99.     P7M0 = 0x00; P7M1 = 0x00;
    100.        
    101. while (1);
    102. {
    103.          
    104. //3.TM1640显示基本程序
    105. //重新定义数码管显示的数据
    106. //取数据
    107. CODE[0]=5;
    108. //取数据
    109. //取数据
    110. //取数据
    111. //数据比较
    112. //第1位
    113. switch(CODE[0]){       
    114.         case 0: CODE[0]=0x3F; break;
    115.         case 1: CODE[0]=0x06; break;
    116.         case 2: CODE[0]=0x5B; break;
    117.         case 3: CODE[0]=0x4F; break;       
    118.         case 4: CODE[0]=0x66; break;
    119.         case 5: CODE[0]=0x6D; break;
    120.         case 6: CODE[0]=0x7D; break;
    121.         case 7: CODE[0]=0x07; break;
    122.         case 8: CODE[0]=0x7F; break;
    123.         case 9: CODE[0]=0x6F; break;       
    124. }
    125. //第1位
    126. disp();                         //显示
    127. //3.TM1640显示基本程序
    128.          
    129. }
    130. }
    复制代码
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 13:49
  • 签到天数: 144 天

    [LV.7]常住居民III

    10

    主题

    276

    回帖

    968

    积分

    高级会员

    积分
    968
    发表于 2024-4-18 00:20:16 | 显示全部楼层
    我有1637的,感兴趣的话我可以贴下
    自信就会温和,温和就会坚定!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 04:01
  • 签到天数: 162 天

    [LV.7]常住居民III

    17

    主题

    280

    回帖

    410

    积分

    中级会员

    积分
    410
    发表于 2024-4-21 20:36:54 | 显示全部楼层
    嵌入式之路 发表于 2024-4-18 00:20
    我有1637的,感兴趣的话我可以贴下

    贴上来学习一下,谢谢
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 13:49
  • 签到天数: 144 天

    [LV.7]常住居民III

    10

    主题

    276

    回帖

    968

    积分

    高级会员

    积分
    968
    发表于 2024-4-21 22:41:03 | 显示全部楼层
    jackfangxq 发表于 2024-4-21 20:36
    贴上来学习一下,谢谢

    我本周整理下
    自信就会温和,温和就会坚定!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 04:01
  • 签到天数: 162 天

    [LV.7]常住居民III

    17

    主题

    280

    回帖

    410

    积分

    中级会员

    积分
    410
    发表于 2024-4-22 07:36:19 | 显示全部楼层

    非常感谢
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:24
  • 签到天数: 160 天

    [LV.7]常住居民III

    67

    主题

    838

    回帖

    2792

    积分

    金牌会员

    积分
    2792
    发表于 2024-4-22 09:02:42 | 显示全部楼层
    截图202404220900414279.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:58
  • 签到天数: 42 天

    [LV.5]常住居民I

    11

    主题

    112

    回帖

    232

    积分

    中级会员

    积分
    232
     楼主| 发表于 2024-4-24 14:36:44 来自手机 | 显示全部楼层
    xxkj2010 发表于 2024-4-22 09:02

    代码就是人家给的例子。在stc15w可以用。stc32也可以用。stc8让我直接放弃1640
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:24
  • 签到天数: 160 天

    [LV.7]常住居民III

    67

    主题

    838

    回帖

    2792

    积分

    金牌会员

    积分
    2792
    发表于 2024-4-24 15:02:00 | 显示全部楼层
    用逻辑分析仪看一下波形。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:58
  • 签到天数: 42 天

    [LV.5]常住居民I

    11

    主题

    112

    回帖

    232

    积分

    中级会员

    积分
    232
     楼主| 发表于 2024-4-24 22:21:12 来自手机 | 显示全部楼层
    xxkj2010 发表于 2024-4-24 15:02
    用逻辑分析仪看一下波形。

    该解决的问题已解决,解决不了的。就算了,波形什么的就算了吧。
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:58
  • 签到天数: 42 天

    [LV.5]常住居民I

    11

    主题

    112

    回帖

    232

    积分

    中级会员

    积分
    232
     楼主| 发表于 2024-4-25 21:27:47 | 显示全部楼层
    STC32G12K128 发表于 2024-3-23 09:48
    stc32G驱动数码,其他客户测试的分享:
    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=5604&high ...

    https://www.stcaimcu.com/forum.php?mod=viewthread&tid=7602  在9楼
    这个是我刚分离好的好理解的STC直接驱动PCB的例子。有需要可以参考一下
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-5-6 01:54 , Processed in 0.083996 second(s), 66 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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