OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5829|回复: 6

我这TM1650数码管就是点不亮,跪求大神指导,急!!!

[复制链接]

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2020-11-17
在线时间
43 小时
发表于 2021-4-21 10:50:05 | 显示全部楼层 |阅读模式
30金钱
SMG.C
#include "smg.h"
#include "delay.h"
#include "myiic.h"
//段数码表
const volatile u8 Digital_Table[11]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x00,};
//写入数码管的四位变量
u8 Dig1_Data=0;
u8 Dig2_Data=0;
u8 Dig3_Data=0;
u8 Dig4_Data=0;
//Function:
void TM1650_SendCommand(u8 CMD1,u8 CMD2)
{
        IIC_Start();
        IIC_Send_Byte(CMD1);
        IIC_Wait_Ack();
        IIC_Send_Byte(CMD2);
        IIC_Wait_Ack();
        IIC_Stop();
}
//Function:        TM1650_SendDigData  
//note: 发送Dat到Dig
//Input:                Dig,显存地址
//                                        Dat,显示数据

void TM1650_SendDigData(u8 Dig,u8 Dat)
{
        IIC_Start();
        IIC_Send_Byte(Dig);
        IIC_Wait_Ack();
        IIC_Send_Byte(Dat);
        IIC_Wait_Ack();
        IIC_Stop();
}

void TM1650_Init(void)
{
        IIC_SCL=1;
        IIC_SDA=1;
        TM1650_SendCommand(0x48,0x71);
        TM1650_SendDigData(0x68,Digital_Table[0]);
  TM1650_SendDigData(0x6A,Digital_Table[0]);
        TM1650_SendDigData(0x6C,Digital_Table[0]);
        TM1650_SendDigData(0x6E,Digital_Table[0]);
}

void DisplayNumber_4BitDig(u16 num)
{
        Dig1_Data=Digital_Table[num/1000];
        Dig2_Data=Digital_Table[num/100%10]&0x08;
        Dig3_Data=Digital_Table[num/10%10];
        Dig4_Data=Digital_Table[num%10];
}

//=============================================================================
//Function:        DigitalScan  
//note:         数码管扫描
//=============================================================

void DigitalScan(void)
{
        TM1650_SendDigData(DIG0,Digital_Table[Dig1_Data]);
        TM1650_SendDigData(DIG1,Digital_Table[Dig2_Data]);
        TM1650_SendDigData(DIG2,Digital_Table[Dig3_Data]);
        TM1650_SendDigData(DIG3,Digital_Table[Dig4_Data]);
}
MAIN.C
int main(void)
{       
         u16 num;
         extern float ANG;
         delay_init();
         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
         uart_init(9600);
         SystemInit();
   RS485_Init();
         LED_Init();
         TIM4_Enable(5000);
         TM1650_Init();
         num=ANG*100;
  while(1)
        {
                LED_RUN=1;
                TM1650_SendDigData(0x68,Digital_Table[0]);//数码管直接显示0
                TM1650_SendDigData(0x6A,Digital_Table[0]);
                TM1650_SendDigData(0x6C,Digital_Table[0]);
                TM1650_SendDigData(0x6E,Digital_Table[0]);
                if(++num>9999)
                {
                        num=0;
                }
               
         DisplayNumber_4BitDig(num);
                DigitalScan();
                delay_us(200);
        }
}

我弄的是TM1650四路数码管模块,工控板供电后,数码管一点反应没有,用了LED试了下,LED亮了,说明程序在运行,数码管就是不亮,求大神指点


最佳答案

查看完整内容[请看2#楼]

我得程序有一部分有点问题,修改下就好了,小问题花了两三天时候,很无奈。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2020-11-17
在线时间
43 小时
 楼主| 发表于 2021-4-21 10:50:06 | 显示全部楼层
Lure白 发表于 2021-4-23 15:23
我在F103的开发板上可以正常点亮,在F107工控板上就是点不亮,换了各个IO口试了试,电压也测了没问题,两三 ...

我得程序有一部分有点问题,修改下就好了,小问题花了两三天时候,很无奈。
回复

使用道具 举报

0

主题

130

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1876
金钱
1876
注册时间
2016-10-23
在线时间
262 小时
发表于 2021-4-21 18:20:47 | 显示全部楼层
TM1650_SendCommand(0x48,0x71);   屏蔽这句试下
回复

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2020-11-17
在线时间
43 小时
 楼主| 发表于 2021-4-21 21:06:49 | 显示全部楼层
a1156284 发表于 2021-4-21 18:20
TM1650_SendCommand(0x48,0x71);   屏蔽这句试下

屏蔽了,还是没用,这句话好像是配置数据命令和数码管灰度的
回复

使用道具 举报

4

主题

87

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2019-5-11
在线时间
39 小时
发表于 2021-4-22 16:39:24 | 显示全部楼层
你是不是共阴共阳没搞对,我记得错没大多数数码管只要电源接对了,都是全亮状态。
回复

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2020-11-17
在线时间
43 小时
 楼主| 发表于 2021-4-22 19:19:43 | 显示全部楼层
ma3264175 发表于 2021-4-22 16:39
你是不是共阴共阳没搞对,我记得错没大多数数码管只要电源接对了,都是全亮状态。

没有啊,共阴的,我在开发板上试下,正常显示,但是我接到工控板上就是没反应,我用万用表测了工控板上相应引脚,供电电压是5V,电肯定是供上了
回复

使用道具 举报

5

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2020-11-17
在线时间
43 小时
 楼主| 发表于 2021-4-23 15:23:34 | 显示全部楼层
我在F103的开发板上可以正常点亮,在F107工控板上就是点不亮,换了各个IO口试了试,电压也测了没问题,两三天还没解决,急死了!!!
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 21:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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