应用STM32单片机实现8段数码管的动态刷新显示

1电路实现

在这里插入图片描述

2实现原理

如上图所示的电路中,使用S1~S4来选择需要点亮的数码管模块,而将需要显示的数字送到总线上,选中的数码管模块被点亮,未选中的不会点亮,依次我们将数字从各位开始依次送入总线,而显示时从S1到S4依次选中,即可实现从个位到千位的依次显示。当同时显示8765这个数字时,就会一个位一个位显示,并没有同时显示,要让这个数字同时显示且无任何闪烁时,我们就需要加快整个数显时的切换频率,到切换频率足够快时,我们看起来就像是同时显示一样。主要实现函数实现如下:

/*******************************************************************************
* Function Name  : uTask_display
* Description    : 数字显示,共2组,每组数字使用4个数码管组成,最大9999
* Input          : *para
* Output         : void
* Return         : NONE
*******************************************************************************/
void uTask_display(void *para)
{
	while(1)
	{
		if(isDisplay==1)//显示数字
		{
			DIS1_off_Display();//先关闭所有
			DIS2_off_Display();
			vTaskDelay(1);
			DIS1_Display_float(i,DIS1_VALUE);//显示第一个
			DIS2_Display_float(i,DIS2_VALUE);//显示第二组数字
			i++;
			if(i>3)i=0;
		}
		else
		{
			DIS1_off_Display();
			DIS2_off_Display();
		}
		vTaskDelay(3);
	}
}

3详细代码

详细实现的子函数代码参考链接:STM32实现8段数码管动态刷新显示

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C bug专业户

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值