求指导 单片机三位数码管显示,设置时如何让显示的数字闪烁?

2025-12-04 10:00:39 世界杯冠军最多

查看: 2547|回复: 12

求指导 单片机三位数码管显示,设置时如何让显示的数字闪烁?

[复制链接]

ID:686513

当前离线

积分1224

ID:686513

发表于 2022-4-8 09:01

|

显示全部楼层

|阅读模式

三位数码管显示,设置时如何让显示的数字闪烁?退出设置时稳定显示,只是在按下加减键设置时闪烁。最好有例程参考一下。先谢谢各路大神!

回复

使用道具

举报

ID:772513

当前离线

积分212

ID:772513

发表于 2022-4-8 16:16

|

显示全部楼层

设置一个标志位,按键按下,if判断标志位成立,数字闪烁

回复

使用道具

举报

ID:123289

当前离线

积分80426

ID:123289

发表于 2022-4-9 09:43

|

显示全部楼层

1、做三个标记,B_100,B_10,B_1。分别表示百十个位的闪=1,与不闪=0。如果你想闪哪个就将哪个置1。

2、做0.3秒的定时中断,每次中断将。B_FLASH求反。

3、扫描显示:当你取出LED的段码(如:D_N),准备送至端口显示时,将送出的D_N改一下,改成:D_N_F吧:

以个位为例:

D_N_F = D_N *(/B_1 + B_1 * B_FLASH) ,将D_N_F送至端口,这样就要以了。注:/B_1是非逻辑。

如此你可以,决定任何一位的闪与不闪,只需将B_100,B_10,B_1置1清0即可实现。

回复

使用道具

举报

ID:401564

当前离线

积分52348

ID:401564

发表于 2022-4-9 10:10

|

显示全部楼层

设置三个标志

一个是设定模式标志

一个是设置位置标志

一个定时器标志

显示的时候先检测是不是在设置模式,如果是在,就检测设置位置,0.5秒定时器标志位取反一次

当检测到设置标志,设置位标志,定时器标志,三者都符合的时候,这个位就不显示了

等到定时器标志位两次取反,条件就不成立了,这个位就显示了

这就是一个闪的效果了

代码要远比我打的字少,不给代码是想让你思考

回复

使用道具

举报

ID:139866

当前离线

积分3941

ID:139866

发表于 2022-4-10 17:07

|

显示全部楼层

先让一个数码管闪烁,再让其他正常其中一个闪烁,再做可以任意选择哪个数码管闪烁,再做检测按键的部分,根据检测结果设置标志位来确定让哪个闪烁,或者根据检测结果来确定是否让他闪烁,最后把他们组合到一起。

代码比我打的字多,花费时间也更多,不给代码是想让你思考,而不是我懒

回复

使用道具

举报

ID:686513

当前离线

积分1224

ID:686513

发表于 2022-4-28 10:55

|

显示全部楼层

hcf007 发表于 2022-4-8 16:16

设置一个标志位,按键按下,if判断标志位成立,数字闪烁

谢谢 ,已经搞定了

回复

使用道具

举报

ID:686513

当前离线

积分1224

ID:686513

发表于 2022-4-28 10:56

|

显示全部楼层

yzwzfyz 发表于 2022-4-9 09:43

1、做三个标记,B_100,B_10,B_1。分别表示百十个位的闪=1,与不闪=0。如果你想闪哪个就将哪个置1。

2、做0 ...

谢 谢 ,已通过定时中断求反搞定了

回复

使用道具

举报

ID:686513

当前离线

积分1224

ID:686513

发表于 2022-4-28 10:56

|

显示全部楼层

Y_G_G 发表于 2022-4-9 10:10

设置三个标志

一个是设定模式标志

一个是设置位置标志

谢 谢 ,已通过定时中断求反搞定了

回复

使用道具

举报

ID:686513

当前离线

积分1224

ID:686513

发表于 2022-4-28 10:57

|

显示全部楼层

天ノ忆 发表于 2022-4-10 17:07

先让一个数码管闪烁,再让其他正常其中一个闪烁,再做可以任意选择哪个数码管闪烁,再做检测按键的部分,根 ...

谢 谢 ,已通过定时中断求反搞定了

回复

使用道具

举报

ID:382454

当前离线

积分7629

ID:382454

发表于 2022-4-28 17:03

|

显示全部楼层

加入LED灭代码即可,大概如下:

显示数字

延时200毫秒

显示灭灯200毫秒

显示数字

延时200毫秒

回复

使用道具

举报

ID:686513

当前离线

积分1224

ID:686513

发表于 2022-4-29 14:42

|

显示全部楼层

univers 发表于 2022-4-28 17:03

加入LED灭代码即可,大概如下:

显示数字

延时200毫秒

谢 谢 ,已通过定时中断求反搞定了

回复

使用道具

举报

ID:278457

当前离线

积分2239

ID:278457

发表于 2022-5-3 03:43

|

显示全部楼层

用延时函数,多延时几秒就可以实现你需要功能了!需要代码?

回复

使用道具

举报

ID:686513

当前离线

积分1224

ID:686513

发表于 2022-5-5 15:51

|

显示全部楼层

shenqiwei 发表于 2022-5-3 03:43

用延时函数,多延时几秒就可以实现你需要功能了!需要代码?

已经搞定了,谢 谢 了

回复

使用道具

举报