微控制器數碼管動態掃描顯示,時間這樣設定才能更好的顯示一連串數在螢幕上,有沒有數碼規律

2021-04-20 12:58:00 字數 3930 閱讀 7127

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...