OpenEdv-开源电子网

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

STM32 数码管显示

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-7-9
在线时间
4 小时
发表于 2016-7-9 16:17:08 | 显示全部楼层 |阅读模式
1金钱
各位好,本人想用STM32的RTC实现数字钟,通过数码管来显示,但是程序通过编译后下载到硬件,只能显示秒低位的数字,希望各位大神抽空帮我看看数码管显示程序哪里的逻辑出错了呢!
下面是数码管的显示程序;
//---------------------数码管显示子函数-------------------------------------
void display()  /*数码管显示子函数*/  
  {
   sec_h=timer.sec/10;     /*求出秒高位需要显示的字符*/
   sec_l=timer.sec%10;   /*求出秒低位需要显示的字符*/
   min_h=timer.min/10;
   min_l=timer.min%10;
   hour_h=timer.hour/10;
   hour_l=timer.hour%10;  


    GPIO_Write(GPIOA, 0x0100); /*位选*/
    GPIOD->ODR=shuma[sec_l];  /*显示秒低位*/  
    delay_init(100);  


    GPIO_Write(GPIOA, 0x0200);
    GPIOD->ODR=shuma[sec_h];  /*显示秒高位*/           
    delay_init(100);


   GPIO_Write(GPIOA, 0x0400);
   GPIOD->ODR=shuma[min_l];   /*分*/
   delay_init(100);

   GPIO_Write(GPIOA, 0x0800);
   GPIOD->ODR=shuma[min_h];  
   delay_init(100);

   GPIO_Write(GPIOA, 0x1000);
   GPIOD->ODR=shuma[hour_l];    /*时*/  
   delay_init(100);

   GPIO_Write(GPIOA, 0x2000);
   GPIOD->ODR=shuma[hour_h];
   delay_init(100);

  }

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-7-9 20:39:14 | 显示全部楼层
没有扫描?你是几位数码管啊。
回复

使用道具 举报

0

主题

18

帖子

0

精华

新手上路

积分
41
金钱
41
注册时间
2016-6-28
在线时间
7 小时
发表于 2016-7-9 21:36:04 | 显示全部楼层
   GPIO_Write(GPIOA, 0x0100); /*位选*/
   GPIO_Write(GPIOA, 0x0200);
   GPIO_Write(GPIOA, 0x0400);
   GPIO_Write(GPIOA, 0x0800);
   GPIO_Write(GPIOA, 0x2000);
你这个是几个位选指令,建议采用GPIO_SetBits();函数进行对该位置位或复位(根据你的硬件连接),采取置位复位选择。




回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2016-7-10 22:19:36 | 显示全部楼层
延时函数写错了把,如果没写错100us太短 100ms太长。不过估计你延时写错了,应该是死在延时那了,否则应该是只显示小时
我有故事,你有酒吗
回复

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-7-9
在线时间
4 小时
 楼主| 发表于 2016-7-13 13:15:10 | 显示全部楼层
正点原子 发表于 2016-7-9 20:39
没有扫描?你是几位数码管啊。

6位数码管,没用扫描函数
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-7-15 23:45:45 | 显示全部楼层
yiqi 发表于 2016-7-13 13:15
6位数码管,没用扫描函数

不扫描?
你电路设计的不是扫描模式么?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-11 06:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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