找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

关于单片机MAX7219控制点阵屏鬼影闪烁的问题有没有遇到过的

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

正文摘要:

如图,总有F的鬼影 单片机源程序如下: #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit din=P2^2; sbit cs =P2^1; sbit clk=P2^0; ...

回复

ID:526543 发表于 2022-1-9 13:46
建议多看看数据手册
ID:978416 发表于 2022-1-8 20:02
188610329 发表于 2022-1-8 19:08
你最好,好好看看手册,究竟需要发些什么, 你上面的代码,很多操作都是无意义的。

初始化,定义亮度 ...

好的。谢谢了
ID:624769 发表于 2022-1-8 19:08
egsresrhtrhrtst 发表于 2022-1-8 16:25
谢谢,把while放到后边确实没有了,这是我参考论坛里的动态显示的程序改的,想着静态显示一下,弄了好久 ...

你最好,好好看看手册,究竟需要发些什么, 你上面的代码,很多操作都是无意义的。

初始化,定义亮度,这些都是只需要做一次的,然后就是定义每一个位的亮灭,当你显示不需要变化的时候,就不用再操作7219,产生变化的时候,其实也只需要更新发生变化的地址的数据而已。而不是所有的地址数据全都更新
ID:978416 发表于 2022-1-8 16:25
本帖最后由 egsresrhtrhrtst 于 2022-1-8 16:27 编辑
188610329 发表于 2022-1-8 13:41
MAX7219, 是显示驱动器。
他只需要你把点阵数据发给他,他就会自动显示,换句话说,你数据不发生变化的前 ...

谢谢,把while放到后边确实没有了,这是我参考论坛里的动态显示的程序改的,想着静态显示一下,弄了好久都不行,你说的莫名其妙的程序是说的write_7219_byte(0x00);;这些发送空值得程序吗,这些不是要传送的嘛。
ID:624769 发表于 2022-1-8 13:41
MAX7219, 是显示驱动器。
他只需要你把点阵数据发给他,他就会自动显示,换句话说,你数据不发生变化的前提下,是不需要,也不应该去反复的刷 7219的,
所以,你在while(1) 里面 不停的发是什么鬼? 你只要去掉while(1),把它放在main的结尾, while(1); 就不会有那所谓的“鬼影”。

然后顺带说一下, 那所谓的“鬼影”, 就是你在发送 数据一的时候,后面莫名其妙增加的那些数据,发送数据二的时候,被正确的数据覆盖,所以只显示一小会儿,就成了所谓的鬼影,换言之你的这种数据发送方法是有问题的。
ID:912398 发表于 2022-1-8 10:48
消影时间不够吧
ID:405840 发表于 2022-1-8 10:02
这个算法的效率太低了 可以参考论坛某个帖子 里面的程序很简洁

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

Powered by 单片机教程网

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