找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机数码管笔划跑马灯程序怎样实现?

查看数: 2995 | 评论数: 17 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-9-23 23:28

正文摘要:

本人初学51单片机,最近在搞一个步进电机的小制作,主要功能就是用51控制A4988模块,驱动步进电机实现正反转,加减速,存储当前速度等功能。拜论坛各位前辈所赐,下了些代码拼到一块,磕磕绊绊倒也实现了主要功能。 ...

回复

ID:384109 发表于 2022-9-26 14:40
最简单的是根据要显示的内容直接对显示变量进行位操作,就不用考虑数组了
ID:1044091 发表于 2022-9-26 14:17
yzwzfyz 发表于 2022-9-26 11:15
很简单的事:
台面上无论有多少个LED灯,只要你能将特定的一些LED灯,轮流亮、灭就达成了跑马了。
举一反 ...

谢大师指点,B站上有高手做了一个数码管跑马灯视频,正反流水、斜跑、追光等等很多复杂效果,很是酷炫。我刚学51,C语言基础不扎实,属于现学现卖的程度,现在是一看数组就头晕的状态

https://www.bilibili.com/video/BV1fJ411b7cU/?spm_id_from=333.337.search-card.all.click

ID:123289 发表于 2022-9-26 11:15
很简单的事:
台面上无论有多少个LED灯,只要你能将特定的一些LED灯,轮流亮、灭就达成了跑马了。
举一反三:滚字、闪动、闪光标、斜走字都一样。
下面教你一个通用的方式:
本例你有4个数码管,计8*4个LED灯。
1、用一个数组来表达每一个LED的明暗,本例:一个数组=4个字节,计32位,每位的0/1对应一个LED灯的暗/明。
2、将每一种显示状态用一个这个数组用表达:例如:全亮={FFH,FFH,FFH,FFH};全暗={00H,00H,00H,00H},如此你有100个状态,就建立100数组。
本例转一圈,共状态,建8个数组就行了。
3、写个程序,每间隔一段时间依序取出一组数据,送至IO口去显示LED……,循环重复。
以上思路简单、清晰、还易实现。显示机动灵活,修改数组就玩转了各种显示方式了。
如果是点阵LED,做个红心,弄个灯塔,摆个方阵,上移、下跳、斜跑……随意,全在数组中编辑(EXCEL表中排排,导入到数组中),程序都不用改动。
ID:1044091 发表于 2022-9-25 13:05
wulin 发表于 2022-9-25 06:37
给你补充正反转显示,纠正s的数据类型。

多谢大师指导,感觉您代码里有好多技巧,C语言控制单片机已经用的得心应手了,我还得继续学习提高啊!
ID:213173 发表于 2022-9-25 06:37
ningsy 发表于 2022-9-24 23:44
感谢各位前辈指导,尤其感谢8楼wulin大师,您这个代码容我好好消化下,脑子已经绕晕了

给你补充正反转显示,纠正s的数据类型。
示例程序 仿真.rar (126.79 KB, 下载次数: 14)

ID:332444 发表于 2022-9-25 03:58
15,14,13,11,7,57,49,41,25,56
ID:1044091 发表于 2022-9-24 23:44
感谢各位前辈指导,尤其感谢8楼wulin大师,您这个代码容我好好消化下,脑子已经绕晕了
ID:1034262 发表于 2022-9-24 22:30
像显示数字那样,搞个字形,按数字那样显示。
ID:137736 发表于 2022-9-24 21:26
看原理图,找到每段对应代码,做个数组,按顺序读出数字中数字输出到端口。
ID:1007932 发表于 2022-9-24 21:15
你的想法没错,就是万能的状态机嘛,一个个写倒是没必要,又不是Verilog,完全可以用数组存储状态,然后循环调用
你的P0不复位确定不会影响下一个状态?
ID:213173 发表于 2022-9-24 21:05

示例程序 仿真.rar (126.08 KB, 下载次数: 14)



ID:384109 发表于 2022-9-24 20:51
把现在代码里的显示数据取个反
ID:1044091 发表于 2022-9-24 20:26
遇到一个新问题:把代码带入主程序,也许是delay时间太长,主程序都不干活了,电机不转了调短delay时间,电机转了,显示效果又太差了
ID:16255 发表于 2022-9-24 18:43
先显示 [ ] ,再逐段熄灭。
ID:94031 发表于 2022-9-24 18:20
先想办法让指定的段亮起来,然后按顺序执行,就实现了数码管笔划跑马灯。
ID:824490 发表于 2022-9-24 17:10
不规则的、万能的码表!

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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