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就夠了,共陽極數碼管的共陽極藉口看看有沒有譯碼器 數碼管動態顯示總是會閃爍,無論怎麼延時,請問怎麼處理?參考一下這個題目 數碼管動態顯示不穩定...