求指导 单片机三位数码管显示,设置时如何让显示的数字闪烁?
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
用延时函数,多延时几秒就可以实现你需要功能了!需要代码?
已经搞定了,谢 谢 了
回复
使用道具
举报