找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

關(guān)于單片機(jī)MAX7219控制點(diǎn)陣屏鬼影閃爍的問題有沒有遇到過(guò)的

查看數(shù): 2791 | 評(píng)論數(shù): 7 | 收藏 1
關(guān)燈 | 提示:支持鍵盤翻頁(yè)<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2022-1-8 01:51

正文摘要:

如圖,總有F的鬼影 單片機(jī)源程序如下: #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; ...

回復(fù)

ID:526543 發(fā)表于 2022-1-9 13:46
建議多看看數(shù)據(jù)手冊(cè)
ID:978416 發(fā)表于 2022-1-8 20:02
188610329 發(fā)表于 2022-1-8 19:08
你最好,好好看看手冊(cè),究竟需要發(fā)些什么, 你上面的代碼,很多操作都是無(wú)意義的。

初始化,定義亮度 ...

好的。謝謝了
ID:624769 發(fā)表于 2022-1-8 19:08
egsresrhtrhrtst 發(fā)表于 2022-1-8 16:25
謝謝,把while放到后邊確實(shí)沒有了,這是我參考論壇里的動(dòng)態(tài)顯示的程序改的,想著靜態(tài)顯示一下,弄了好久 ...

你最好,好好看看手冊(cè),究竟需要發(fā)些什么, 你上面的代碼,很多操作都是無(wú)意義的。

初始化,定義亮度,這些都是只需要做一次的,然后就是定義每一個(gè)位的亮滅,當(dāng)你顯示不需要變化的時(shí)候,就不用再操作7219,產(chǎn)生變化的時(shí)候,其實(shí)也只需要更新發(fā)生變化的地址的數(shù)據(jù)而已。而不是所有的地址數(shù)據(jù)全都更新
ID:978416 發(fā)表于 2022-1-8 16:25
本帖最后由 egsresrhtrhrtst 于 2022-1-8 16:27 編輯
188610329 發(fā)表于 2022-1-8 13:41
MAX7219, 是顯示驅(qū)動(dòng)器。
他只需要你把點(diǎn)陣數(shù)據(jù)發(fā)給他,他就會(huì)自動(dòng)顯示,換句話說(shuō),你數(shù)據(jù)不發(fā)生變化的前 ...

謝謝,把while放到后邊確實(shí)沒有了,這是我參考論壇里的動(dòng)態(tài)顯示的程序改的,想著靜態(tài)顯示一下,弄了好久都不行,你說(shuō)的莫名其妙的程序是說(shuō)的write_7219_byte(0x00);;這些發(fā)送空值得程序嗎,這些不是要傳送的嘛。
ID:624769 發(fā)表于 2022-1-8 13:41
MAX7219, 是顯示驅(qū)動(dòng)器。
他只需要你把點(diǎn)陣數(shù)據(jù)發(fā)給他,他就會(huì)自動(dòng)顯示,換句話說(shuō),你數(shù)據(jù)不發(fā)生變化的前提下,是不需要,也不應(yīng)該去反復(fù)的刷 7219的,
所以,你在while(1) 里面 不停的發(fā)是什么鬼? 你只要去掉while(1),把它放在main的結(jié)尾, while(1); 就不會(huì)有那所謂的“鬼影”。

然后順帶說(shuō)一下, 那所謂的“鬼影”, 就是你在發(fā)送 數(shù)據(jù)一的時(shí)候,后面莫名其妙增加的那些數(shù)據(jù),發(fā)送數(shù)據(jù)二的時(shí)候,被正確的數(shù)據(jù)覆蓋,所以只顯示一小會(huì)兒,就成了所謂的鬼影,換言之你的這種數(shù)據(jù)發(fā)送方法是有問題的。
ID:912398 發(fā)表于 2022-1-8 10:48
消影時(shí)間不夠吧
ID:405840 發(fā)表于 2022-1-8 10:02
這個(gè)算法的效率太低了 可以參考論壇某個(gè)帖子 里面的程序很簡(jiǎn)潔

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表