1樓:匿名使用者
要根據數碼來管的數量
源來定的。
但是,一般bai來說,每一位數碼管需要du一定的顯示時間zhi,也dao就是說,你輸出一位數碼管的資料點亮這個數碼管之後,需要一定的時間才能熄滅它並點亮下一個數碼管,而不能一輸出就馬上熄滅它,否則亮度會非常低。
另外,全部數碼管全部掃描一遍的總時間最好不要超過25ms,否則閃爍會比較嚴重,通常總的掃描頻率要在60hz以上,才看不到閃爍。
比如說你要掃描8位數碼管,那麼可以讓每一位數碼管點亮1ms,這樣全部顯示一遍就大約是8ms或稍微多一點點(算上顯示處理的指令執行時間),此時的總掃描頻率就是125hz左右,這樣的話,即能保證亮度,又看不到閃爍。
2樓:心角慧
一般間隔10ms就可以了。
微控制器中數碼管動態顯示掃描時間問題 15
3樓:匿名使用者
我也遇到copy過同樣的問題,仿bai真時顯示刷
4樓:匿名使用者
proteus 是電腦**的,led的閃爍速度和真實的是不一樣的,一般數碼管延時20ms沒問題的,最好是搭電路看,電腦螢幕重新整理速度太慢。
5樓:
這個問題我也碰到過,proteus裡的時間不是很準確的,在實際電路板上做只要重新整理時間在5ms以內就可以的。
數碼管動態顯示原理 (如何讓數碼管的動態掃描慢一點)
6樓:匿名使用者
不用中斷也可:
1,初始化
2,顯示第一位
3,延時(2ms)
4,顯示第二位
5,延時(2ms)
6,顯示第三位
7,延時(2ms)
8,顯示第四位
9,延時(2ms)
10,增加數字(這裡設定一個暫存器加1,只有計數到1000顯示數值才增加,這樣就是4秒顯示數值增加1)
11,跳轉到第2步
7樓:
我覺得位選不要一起開啟。
延時加的太長了,超過人眼視覺停留時間,燈才會閃的。
8樓:匿名使用者
掃描在定時中斷內執行,秒脈衝可以用軟體延時,也可以用定時中斷產生,最好用定時中斷,儘量少佔用cpu的資源。
9樓:匿名使用者
//簡單的寫一個,自己參考一下
#include
#define uchar unsigned char#define uint unsigned intsbit k1 = p1^0;
sbit k2 = p1^1;
sbit k3 = p1^2;
sbit k4 = p1^3;
uchar a,b,c,d;
uint e;
uchar code tab_num = ;//共陽數碼管void delay(uchar k) //延時函式
;if(c>9);
if(b>9);
if(a>9);
}void main()}
數碼管動態顯示時,位掃描間隔時間是多少
10樓:匿名使用者
先廢話一下:掃描頻率太低數碼管會出現閃爍的現象,頻率太高則亮度不夠甚至無法看清,所以一般掃描間隔多為幾毫秒。
一般間隔1ms就差不多了,如果不夠亮可以適當地增大間隔時間,不會有影響。但是,有一點需要注意,從點亮第一支數碼管到最後一隻數碼管被點亮,整個過程最好不要超過20ms,一旦超過則會出現閃爍的現象。
另外,點亮一隻數碼管後,在點亮第二支數碼管之前需要先關斷第一支數碼管,否則會出現顯示混亂的情況。
51微控制器數碼管動態顯示12345,我為了讓它掃描更快,去掉了延時,結果沒有達到預期效果,請問為什麼會這樣
11樓:匿名使用者
去掉延時估計就該閃了,連數字都顯示不清楚。你給他電,他還沒亮起來呢你就斷電了
12樓:匿名使用者
一方面動態掃描顯示7段led是利用人眼的視覺暫留原理來實現的,如果你不延時,那麼暫留也就留不住了,所以要讓人眼捕捉到顯示的led,必須有足夠的延時時間,另一方面要保證led顯示的亮度,也必須有足夠的時間讓led將電壓建立起來,畢竟,從0到1實際上不是瞬時達到的,有一個漸變過程。
13樓:靜雨月軒
動態顯示數碼管,延時是必須的哦,延時個5到10ms就夠了,而且要想顯示效果好,最好還是清屏一下,
微控制器初學,數碼管動態掃描,顯示問題
14樓:
微控制器做數碼抄管和led一類的掃描時,要注意掃描的頻率,迴圈一週的時間不要超過20ms,也不要太快掃描,否則會使得數碼管出現閃爍的情況,另外在每組數碼管的切換前,需要將全部的控制公共端先關閉,然後再送數碼管要顯示的資料,然後再開起對應的控制端,然後再延時。建議迴圈一週的時間放在10ms左右。
另外,如果除了數碼管顯示外,還有其他控制要做的,建議不要用delay一類的迴圈來延時,這樣你的延時時間不好控制,掃描時間不均勻的同樣會有閃爍的問題,建議採用微控制器的定時器來控制掃描時間。
15樓:匿名使用者
dula=1;
p0=table[shi];
dula=0;
p0=0xff;
wela=1;
p0=0xfe;
wela=0;
p0=0xff;
//delayms(1); //有延時和沒有為什麼不一樣,有延時時顯示正常,沒有時就會顯專示8.8.隱隱約約有數字跳動
延時要放屬在p0=0xff;之前
動態顯示是顯示1~5ms,關顯示再下一位
16樓:匿名使用者
動態顯示的原理,就是一位一位的顯示,需要重新整理頻率的
51微控制器八位共陰數碼管動態掃描顯示時間
17樓:匿名使用者
你控制順序寫錯了,應該先寫位碼,再寫段碼。你寫反了。
18樓:匿名使用者
主迴圈那一大圈執行的時間大於10ms。
19樓:匿名使用者
最後一位 段碼 與 位碼 反了,並且有點亂。
20樓:匿名使用者
是做實物,還是**,這**的話,程式是有區別 的。
另外,圖太小,看不清楚,那個晶片是74hc573嗎?
關於用微控制器實現數碼管動態掃描顯示
21樓:匿名使用者
那是因為
抄你第一個掃襲描的時間比較長,原因bai是你第du一個的掃描時間zhi=顯示函式中的延時
dao+其他程式迴圈的時間;
解決的方法有兩個:
一、除了在顯示函式裡面顯示外,其他地方都關閉顯示,也就是說,在返回顯示函式的時候,關閉所以的顯示;
二、就是在定時中斷裡面顯示
22樓:匿名使用者
單獨做個顯示函式,其他地方只是呼叫。還有掃描時間延長到20ms ,其他中斷頻率是不是太高了!數碼管顯示掃描最好用定時器控制,
23樓:匿名使用者
如果是數碼bai管動態顯示,du那麼就是重新整理頻率造zhi成的。dao
可以調整一下頻版率。也就是每個筆段的權顯示(點亮)時長。
這個是比較繁瑣的。
頻率太慢,看起來會有閃爍的感覺,或者不能形成有效數字,只是單個顯示的迴圈了。
如果太快就會造成顯示為全亮(但亮度不是很高),但是有個別亮度會大一些。那麼亮度大的就一定是保持時間長的。
掌握數碼管動態顯示的原理,動態掃描方法五位數的管上顯示出穩定的95043
51微控制器數碼管動態顯示從右往左
這是四位數碼管從右從左流動顯示,像滾動字幕一樣的。用不著矩陣按鍵哪版。其實程式很簡單權,沒那麼複雜。程式如下 include define uchar unsigned char define uint unsigned intuchar code tab 共陰段碼碼,0x00為滅void dela...
求助51微控制器高手數碼管動態顯示問題要求是數碼管動態顯示
把一個多位抄數 大於9的數襲 分別顯示在兩個數碼 管上面就是把這個數的每一位拆開,用數碼管的動態掃描進行顯示。至於閃動,不就是一亮一滅嗎?就用個定時器定時,在一秒的時間內,一半時間是亮的,一半時間是滅的,不就閃爍了嘛 沒有if成立的條件時數碼管的的位選保持最後下次狀態,然後j一直加到最大值,再從0開...
如何利用微控制器讓4位數碼管顯示
程式如下 用的是stc89c52晶片 include 52系列微控制器標頭檔案 define uchar unsigned char define uint unsigned int uint x,y uchar code table 共陰極數碼管編碼 void display uchar,ucha...