數碼管動態掃描的延時時間設為多少人眼才不會感覺到閃爍,具體的

2021-04-20 12:59:02 字數 2701 閱讀 4394

1樓:匿名使用者

人眼的視覺暫留時間大概在二十四分之一秒左右(所以一般電視電影至少是24幀以上,回才會看起答來是連續的動作),延時的時間設定小於40ms即可。延時太短會加重cpu的負擔,所以具體數值要自己權衡。

寫延時函式有兩個方法:

1.如果有用到實時作業系統(rtos),可以用os的api,比如: sleep(20)

2.沒有用rtos時,一般用迴圈語句來實現延時。具體迴圈次數需要通過系統的主頻來計算。

**例子(迴圈次數 100x500 = 50000次,延時時間=單次迴圈的時間 x 50000):

int i = 0, j = 0;

for(i = 0; i < 100; i++)}

2樓:匿名使用者

每位顯示的間隔不超過20 ms

數碼管動態掃描中的delay 函式有什麼作用?

3樓:匿名使用者

時間延遲的作用,其實有些程式中可以直接省略,這是因為延時會導致數碼管掃屏頻率降低,延時稍長便會導致人眼可識別的閃動。

4樓:做而論道

用於控制每個數碼管的發光時間。

數碼管動態顯示原理 (如何讓數碼管的動態掃描慢一點)

5樓:匿名使用者

不用中斷也可:

1,初始化

2,顯示第一位

3,延時(2ms)

4,顯示第二位

5,延時(2ms)

6,顯示第三位

7,延時(2ms)

8,顯示第四位

9,延時(2ms)

10,增加數字(這裡設定一個暫存器加1,只有計數到1000顯示數值才增加,這樣就是4秒顯示數值增加1)

11,跳轉到第2步

6樓:

我覺得位選不要一起開啟。

延時加的太長了,超過人眼視覺停留時間,燈才會閃的。

7樓:匿名使用者

掃描在定時中斷內執行,秒脈衝可以用軟體延時,也可以用定時中斷產生,最好用定時中斷,儘量少佔用cpu的資源。

8樓:匿名使用者

//簡單的寫一個,自己參考一下

#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()}

數碼管動態顯示程式設計時,延時程式有什麼作用,延時時間的長短對其顯示效果有什麼影響

9樓:匿名使用者

延時程式的作bai用是du

保持當前顯示數碼管足夠zhi時間,同時dao穩定顯示效果,以形成視內

覺暫留。延容時時間長短視具體情況而定,一般要大於2毫秒,所有數碼管一次掃描完成總時間不能大於40毫秒,40毫秒基本上是人眼視覺暫留的極限了。

51微控制器數碼管動態顯示12345,我為了讓它掃描更快,去掉了延時,結果沒有達到預期效果,請問為什麼會這樣

10樓:匿名使用者

去掉延時估計就該閃了,連數字都顯示不清楚。你給他電,他還沒亮起來呢你就斷電了

11樓:匿名使用者

一方面動態掃描顯示7段led是利用人眼的視覺暫留原理來實現的,如果你不延時,那麼暫留也就留不住了,所以要讓人眼捕捉到顯示的led,必須有足夠的延時時間,另一方面要保證led顯示的亮度,也必須有足夠的時間讓led將電壓建立起來,畢竟,從0到1實際上不是瞬時達到的,有一個漸變過程。

12樓:靜雨月軒

動態顯示數碼管,延時是必須的哦,延時個5到10ms就夠了,而且要想顯示效果好,最好還是清屏一下,

數碼管動態閃爍不能正常顯示,是重新整理時間的問題嗎?程式感覺沒有錯誤啊????求幫助 5

13樓:夏小睿

語句「| flash」應該改為"& flash",還有就是在每一句的delay(2);後增加"p0 = 0;"另外delay可以增加到10毫秒

14樓:nice藍波波

數碼管動態顯示掃描頻率2oohz就夠了,共陽極數碼管的共陽極藉口看看有沒有譯碼器

數碼管動態顯示時,位掃描間隔時間是多少

15樓:匿名使用者

先廢話一下:掃描頻率太低數碼管會出現閃爍的現象,頻率太高則亮度不夠甚至無法看清,所以一般掃描間隔多為幾毫秒。

一般間隔1ms就差不多了,如果不夠亮可以適當地增大間隔時間,不會有影響。但是,有一點需要注意,從點亮第一支數碼管到最後一隻數碼管被點亮,整個過程最好不要超過20ms,一旦超過則會出現閃爍的現象。

另外,點亮一隻數碼管後,在點亮第二支數碼管之前需要先關斷第一支數碼管,否則會出現顯示混亂的情況。

89c52微控制器無論在做動態數碼管的掃描時,無論怎樣消影,都有一定的重影,這是怎麼回事

1.顯示前先將所有數碼管熄滅,然後再顯示。2.除了顯示數碼外,其他時間都是熄滅的。3.檢查是否存在交替顯示不同數字。4.掃描速度要足夠快。應該是你延時時間太短所致,兩個段碼之間的延時時間大於3毫秒就應該沒有重影了。89c52微控制器的靜態顯示和動態顯示消影問題 汗!你都知道 動態需要消影了,那你咋沒...

微控制器動態掃描數碼管問題,關於用微控制器實現數碼管動態掃描顯示

電路問題不大,不需要在集電極加上拉電阻。用proteus 和抄實際電路有區別的,數碼管在軟體裡是二極體性質,在有電位差情況下才能導通,而三極體導通需要集電極和發射極之間有電位差,在 開始時,二極體和三極體都是截止的,二極體因為三極體沒有導通而無法開通,三極體因為二極體沒有導通而建立不了集電極電位,或...

數碼管動態閃爍不能正常顯示,是重新整理時間的問題嗎?程式感覺沒有錯誤啊求幫助

語句 flash 應該改為 flash 還有就是在每一句的delay 2 後增加 p0 0 另外delay可以增加到10毫秒 數碼管動態顯示掃描頻率2oohz就夠了,共陽極數碼管的共陽極藉口看看有沒有譯碼器 數碼管動態顯示總是會閃爍,無論怎麼延時,請問怎麼處理?參考一下這個題目 數碼管動態顯示不穩定...