找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机16x32点阵左右移动的程序问题

查看数: 4288 | 评论数: 10 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2021-2-19 17:43

正文摘要:

最近自己在学习点阵,点阵显示也可以显示自己想要的,可是左右移动实在是搞得不明不白,参考了许多的网上资料,还是丈二的和尚摸不着头脑,自己的知识水平还是欠缺,自己写的程序还是有问题的,希望大神给予文献资料 ...

回复

ID:839835 发表于 2021-2-23 09:46
让上一次的灯光等于要移动的灯光的数组就可以实现移动。比如lcd[i+1]=lcd[i]
ID:390416 发表于 2021-2-22 17:19
ID:390416 发表于 2021-2-22 17:12
ID:592807 发表于 2021-2-22 09:25
黄youhui 发表于 2021-2-22 08:31
你定义一个二维数组记录每一个每一个灯的状态,根据灯的改变数组,然后再读出数组给595赋值,这是最简单 ...

说错了,Y轴不变X变
ID:592807 发表于 2021-2-22 08:31
1P1P 发表于 2021-2-21 10:45
行是两个74HC595级联,列是4个74HC595级联,点阵是16x32的,行是阳极列是阴极,自己对程序还不是很理解无 ...

你定义一个二维数组记录每一个每一个灯的状态,根据灯的改变数组,然后再读出数组给595赋值,这是最简单有效的方法。可能延时会比较大。
复杂点的方法就是,你左右移动也就是Y轴不变LED在X轴移动,这时候你Y轴的595可以变,然后计算你的X轴的595要移动几个单位。
ID:785191 发表于 2021-2-21 23:28
1、程序中定义函数变量应该在第一行。2、你的点阵没有消隐。(用数码管消隐的方法)3、个人觉得学习点阵只是为了了解一下其工作原理,了解595的用法。4、如果你想实现左移右移有许多其它好用的外设(例如OLED)5、个人建议不要学51太长时间,学会定时器、中断、串口通信、就行了,至于外设主要的是它的思想,程序上问题是自己的问题需要积累,个人建议买本C primier Plus,学着查着,慢慢就会了。之后就直接上手ARM内核的芯片(个人推荐STM32),你会对单片机有全新的理解。
ID:709561 发表于 2021-2-21 14:21
xianfajushi 发表于 2021-2-21 11:16
程序位置不对引起的,上一半与下一半对调试看

按你说的已经尝试过了,但还是不对出现了错误,还请大神给予帮助!!!
ID:332444 发表于 2021-2-21 11:16
程序位置不对引起的,上一半与下一半对调试看
ID:709561 发表于 2021-2-21 10:45
黄youhui 发表于 2021-2-20 13:55
这东西要看硬件才知道怎么改软件

行是两个74HC595级联,列是4个74HC595级联,点阵是16x32的,行是阳极列是阴极,自己对程序还不是很理解无法写出左右移动程序,望请大神给予帮助!!!
ID:592807 发表于 2021-2-20 13:55
这东西要看硬件才知道怎么改软件

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

Powered by 单片机教程网

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