微控制器中數碼管動態顯示掃瞄時間問題

2021-04-20 12:58:00 字數 4041 閱讀 9784

1樓:匿名使用者

我也遇到copy過同樣的問題,仿bai真時顯示刷

2樓:匿名使用者

proteus 是電腦**的,led的閃爍速度和真實的是不一樣的,一般數碼管延時20ms沒問題的,最好是搭電路看,電腦螢幕重新整理速度太慢。

3樓:

這個問題我也碰到過,proteus裡的時間不是很準確的,在實際電路板上做只要重新整理時間在5ms以內就可以的。

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

4樓:匿名使用者

要根據數碼來管的數量

源來定的。

但是,一般bai來說,每一位數碼管需要du一定的顯示時間zhi,也dao就是說,你輸出一位數碼管的資料點亮這個數碼管之後,需要一定的時間才能熄滅它並點亮下乙個數碼管,而不能一輸出就馬上熄滅它,否則亮度會非常低。

另外,全部數碼管全部掃瞄一遍的總時間最好不要超過25ms,否則閃爍會比較嚴重,通常總的掃瞄頻率要在60hz以上,才看不到閃爍。

比如說你要掃瞄8位數碼管,那麼可以讓每一位數碼管點亮1ms,這樣全部顯示一遍就大約是8ms或稍微多一點點(算上顯示處理的指令執行時間),此時的總掃瞄頻率就是125hz左右,這樣的話,即能保證亮度,又看不到閃爍。

5樓:心角慧

一般間隔10ms就可以了。

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

6樓:匿名使用者

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

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

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

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

7樓:匿名使用者

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

8樓:匿名使用者

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

9樓:靜雨月軒

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

微控制器數碼管動態顯示程式最後一位很亮是怎麼回事?

10樓:

因為在有參呼叫中,程式開頭有一些計算過程,例如計算要顯示的每一位數值,要占用較長的時間,動態掃瞄到最後乙個數碼管後重新迴圈時再次計算程式開頭的計算過程,這段時間都是最後乙個數碼管在顯示,所以最後乙個數碼管顯示時間較其他數碼管長,比較亮。或者是在主程式中,display()前有一段**要執行,占用較長時間,效果和前面講的相同。

11樓:k放縱

可以把最後一位數碼管先讓它顯示再設為熄滅 使用延時函式設定適合的時間就可以了

12樓:匿名使用者

你把延時設對了,就可以了!不過也有其他問題(包括你的上拉電阻,自己測一下硬體電路,測完就剩軟體了)

數碼管顯示的動態掃瞄原理

13樓:匿名使用者

利用人體的視覺暫留特性,只要每秒掃瞄次數大於25次,就感覺數碼管一直在亮。暫留特性的時值是二十四分之一秒

14樓:匿名使用者

利用數碼管的餘輝效應。動態數碼管的確是個好地方,它用很少的io口控制了很多的數碼管。

微控制器數碼管動態顯示浪費資源怎麼辦

15樓:匿名使用者

你的問題挺常見的 多集中在新手

咱們算一下

數碼管要掃瞄 每秒100趟 不低了吧? 4個要400次

鍵盤的值我們每20ms查一下io口的狀態 也就可以了

實際算一下啊就算一次數碼管要50條指令 按鍵要100條指令(其實沒這麼多) 每秒不過才22000個指令 如果12m晶振 那麼 每秒微控制器可以跑1000000條指令

這兩個任務的cpu才占用了2.2%!!!!

那麼你為什麼時間不夠呢 因為你把cpu全耗在無謂的延時上了

其實是這樣的 這兩個掃瞄程式 不要放在主程式 放在定時器中斷裡面 到一定時間 自動執行 而不是讓cpu幹耗著等著時間到來

比如你把定時時間長度設定為2.5ms 正好可以掃數碼管 再把這個長度累計8次 就是20ms 正好掃瞄鍵盤(這個累計是軟體實現的 這就兩個事情只用了乙個定時器)

那麼他們之間怎麼溝通呢 就是用全域性變數 主程式只負責協調這些全域性變數 其他時間完全可以幹別的

我說的已經非常非常詳細了 希望能酌情給多點分 謝謝

16樓:匿名使用者

完全可以。

你把數碼管顯示的程式放在定時器中斷裡,每中斷一次只點亮一位數碼管,然後下一次中斷時點亮下乙個數碼管……就這樣,在主程式中只需要一次修改顯示的資料即可,不用死迴圈加延時的方法來顯示。

17樓:a糖炒栗子

把顯示放在中斷裡面?純粹扯淡! 這個問題很好解決 把需要迴圈執行的程式都放到while(1)裡面 比如:

while(1)

這樣就可以了。

18樓:機上操作

放在中斷應該是比較好的選擇。

為什麼微控制器數碼管的動態顯示要有迴圈次數為8

19樓:匿名使用者

程式呢,估計是有8個數碼管

一次要掃完8個數碼管,若對這8 個數碼管反覆進行數十次上百次掃瞄,就其可使持續顯示數s,若無限迴圈,則一直維持顯示,但實際在掃瞄的間隔,中間還有大量的閒置時間,可以進行其它工作,例如獲得新的計算結果,來更新顯示內容

20樓:匿名使用者

為什麼微控制器數碼管的動態顯示要有迴圈次數為8?這問題怎麼回答?猜吧。

當使用序列介面器件(比如74hc595)驅動數碼管時,輸出資料只能一位一位的序列輸出,為了送出乙個完整位元組資料,就得迴圈送8次,所以微控制器數碼管的動態顯示要有迴圈次數為8的迴圈。

21樓:匿名使用者

不一定吧,應該是不斷掃瞄無條件迴圈啊

c51微控制器數碼管動態顯示工作原理是什麼?

22樓:匿名使用者

數碼管要正常顯示,就要用驅動電路來驅動數碼管的各個段碼,從而顯示出我們要的數字,因此根據數碼管的驅動方式的不同,可以分為靜態式和動態式兩類。

23樓:匿名使用者

1:數碼管如果是8位的話,一般是由靜態工作方式與掃瞄工作方式

靜態工作方式 與led單燈工作一樣 只不過是把多個led燈泡放在一塊了,安裝位置組成了數碼形式

它引出了很多腳,有極性之分 ,把全部led的正極連線到一塊為共陽極,負極則為共陰極,

把他們各個管腳都同電源 則都亮,所有用微控制器管腳對應每乙個數碼管管腳,然後進行 通斷的轉換 顯示出字元,

濰坊05368938908

2.掃瞄 是在靜態工作原理基礎上迴圈 8位的改變 人眼有餘光 看起來都亮,其實輪著亮的,掃瞄方式是為了節省 微控制器io口

24樓:匿名使用者

工作原理就是利用人眼的視覺暫留效應。

25樓:匿名使用者

多位數碼管按從左到右或從右到左順序分時顯示,顯示的重新整理速率不低於人的暫留視覺,讓人感覺不出數碼管的顯示有先後順序,就像所有的數碼管同時顯示一樣,這就是數碼管動態顯示的基本原理。

51微控制器八位共陰數碼管動態掃瞄顯示時間

你控制順序寫錯了,應該先寫位碼,再寫段碼。你寫反了。主迴圈那一大圈執行的時間大於10ms。最後一位 段碼 與 位碼 反了,並且有點亂。是做實物,還是 這 的話,程式是有區別 的。另外,圖太小,看不清楚,那個晶元是74hc573嗎?用51微控制器八位共陰極數碼管三極體,設計微控制器動態掃瞄顯示系統,八...

51微控制器如何利用七段數碼管採用動態顯示顯示4位數字,如

顯示函式 函式名 display56 變數定義 unsigned char qian,bai,shi,ge 定義顯示緩衝區 unsigned char table 表 共陽數碼管 0 1 2 3 4 5 6 7 8 9 c 延時子函式,短暫延時 void delay56 void display56...

8位數碼管同時動態顯示09程式

不知道你具體什麼要求,先提供乙個類似的給你參考,是實現0 9迴圈顯示。附件是 和 文件。不清楚的地方可追問。先說明你用的顯示電路。微控制器,求程式?數碼管動態顯示驅動,有八個數碼管,要求先顯示0 7,然後顯示8 f。怎麼寫啊?急 你用什麼微控制器的,用動態掃瞄啊,就是八個數碼管乙個乙個的顯示數字,然...