標(biāo)題: 學(xué)51單片機(jī)-數(shù)碼管的動(dòng)態(tài)顯示 [打印本頁(yè)]
作者: jiajiamei 時(shí)間: 2015-3-24 22:54
標(biāo)題: 學(xué)51單片機(jī)-數(shù)碼管的動(dòng)態(tài)顯示
昨天說(shuō)的是數(shù)碼管的靜態(tài)顯示,和靜態(tài)顯示對(duì)應(yīng)的就是動(dòng)態(tài)顯示。什么是動(dòng)態(tài)顯示?
先來(lái)考慮一個(gè)問(wèn)題,用靜態(tài)顯示的方法驅(qū)動(dòng)一位數(shù)碼管用了多少資源?
一個(gè)鎖存器控制段選,另一個(gè)鎖存器的一個(gè)引腳控制位選。也就是9個(gè)引腳,如果用這種方式控制兩位數(shù)碼管要占用多少資源?18個(gè)引腳!8位數(shù)碼管呢?不敢想了。所以要另一種方式來(lái)解決這個(gè)問(wèn)題。于是就出現(xiàn)了動(dòng)態(tài)顯示的方法。
我不知道大家對(duì)于動(dòng)態(tài)顯示的原理是不是能透徹理解,先插播一個(gè)故事。我小的時(shí)候很愛(ài)玩,喜歡看動(dòng)畫(huà)片(海爾兄弟)。當(dāng)?shù)弥獎(jiǎng)赢?huà)片里的人物動(dòng)作發(fā)生的原理時(shí),很興奮,自己畫(huà)了兩個(gè)小人,一個(gè)筆直站立,另一個(gè)擺出踢腿的動(dòng)作,然后疊在一起,兩張紙片快速來(lái)回翻動(dòng),竟然就出現(xiàn)了動(dòng)畫(huà)的效果。這么高科技的玩具不知道你們誰(shuí)玩過(guò)~~~
于是當(dāng)我看到數(shù)碼管動(dòng)態(tài)顯示的原理時(shí),很自然就懂了。
通常情況下,人眼識(shí)別圖像的速度是24幀每秒,也就是說(shuō)24幀/1000毫秒,平均一幀40毫秒左右。當(dāng)你的刷新頻率高于這個(gè)速度的時(shí)候,那些斷斷續(xù)續(xù)的圖片就連貫成了動(dòng)作。
說(shuō)回到數(shù)碼管上,這里有6位數(shù)碼管,我想讓它從左開(kāi)始依次顯示1、2、3、4、5、6,每次只亮一個(gè),1秒更新一次,使用昨天的靜態(tài)顯示的方法,很簡(jiǎn)單吧。只需要定時(shí)更新段選編碼以及位選引腳即可。
這樣的效果就是它們循環(huán)點(diǎn)亮,如同流水燈那樣。
在這個(gè)時(shí)候,如果我們不斷減少更新時(shí)間,突破了人眼的識(shí)別速度,將會(huì)是什么視覺(jué)效果?六個(gè)數(shù)字同時(shí)點(diǎn)亮!這就是今天要做的。
上程序,在昨天的基礎(chǔ)上進(jìn)行修改。依然共陰極,依然用CH573鎖存器,這次同時(shí)驅(qū)動(dòng)6位數(shù)碼管,顯示123456.
首先,定義了table這個(gè)數(shù)組,通過(guò)查表的方式來(lái)查詢對(duì)應(yīng)的編碼;其次,使用code的方式,把這個(gè)數(shù)組定義在ROM區(qū),節(jié)約了51單片機(jī)RAM的資源。
留個(gè)思考題,常說(shuō)的數(shù)碼管消隱是因?yàn)槭裁醇?xì)節(jié)沒(méi)處理好出現(xiàn)的問(wèn)題?
程序下載地址:
SEG_6.zip
(28.84 KB, 下載次數(shù): 47)
2015-3-24 22:54 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者: 1916750642 時(shí)間: 2018-6-28 18:21
想問(wèn)一下什么是CH573鎖存器
作者: hjc5035 時(shí)間: 2023-1-6 15:47
應(yīng)該是74HC573芯片吧
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |