標(biāo)題: 學(xué)51單片機(jī)-數(shù)碼管的動(dòng)態(tài)顯示 [打印本頁]

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



   




作者: 1916750642    時(shí)間: 2018-6-28 18:21
想問一下什么是CH573鎖存器
作者: hjc5035    時(shí)間: 2023-1-6 15:47
1916750642 發(fā)表于 2018-6-28 18:21
想問一下什么是CH573鎖存器

應(yīng)該是74HC573芯片吧




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1