微控制器數碼管顯示一位亮,其它三位能亮,但是很暗,沒有那一位那麼亮

2021-04-21 21:00:29 字數 3290 閱讀 3151

1樓:

你電路數碼管每段位沒有加限流電阻,每個數碼管沒有加三極體,比較容易燒微控制器。

把你切換每乙個數碼管陰極io的那段**發一下,我們幫你分析一下

2樓:匿名使用者

有可能是程式中第一位掃瞄的次數比其它位多

或者是掃瞄時間比其它的長

3樓:匿名使用者

你是用掃瞄方式進行現實的,用示波器看看,掃瞄脈寬是否相同。

使用微控制器驅動4位數碼管,亮度不一樣,第一位很亮,其他很暗,為什麼?

4樓:匿名使用者

程式裡沒有做鬼影處理。你每次顯示一位數碼管之後,在delay之後都將p1和p3口清空,當然是按照你的電路來寫,目的就是讓數碼管什麼也不顯示。然後再次賦值顯示下一位的值。

建議使用定時器來顯示,這樣能保證每一位的亮度完全相同。

5樓:匿名使用者

數碼管的片選是低電平選中,還是高電平選中,你確認一下.

微控制器數碼管顯示.為什麼會乙個亮其他的都暗

6樓:匿名使用者

你這麼問,誰能知道是什麼原因。問是神馬玩意?是**圖?具體情況都 不知道,怎麼知道為什麼?

還是自己焊接的板子?還這買的開發板?還是什麼板子?

是你寫程式後,就亮乙個,還是什麼時候亮乙個?

具體情況說明白。

7樓:苗涵瑤貳聖

你這個不完整..看不出所有的..

不過就你這個**.肯定實現不了你

數碼管動態顯示的目的

如果你的p2

的0,1,2,3,4,5,6

腳控制數碼管的公共端的話.

你這個**.只會導致最後乙個腳也就是6腳的led亮.

其他的都不亮了..

因為..顯示led後面肯定還有其他**.

那些**在執行的時候只有6腳的公共端選通了.

因為前面的5個led都是只通電一下.很短時間..根本沒用..

要實現數碼管都亮,,並需6個數碼管選通的時間基本一樣才行.

比如都導通5ms

10ms之類的..

你這樣.想到相當於

01234導通x(us),5導通

x(ms)

導通時間不是乙個數量級的.

但願你能明白,**我就不寫了,祝你好運

如果你要修改的話.

最好是用乙個中斷..

隔5ms選通乙個數碼管就好了.

5ms0

10ms

115ms

2這樣迴圈就好了.

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

8樓:

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

9樓:k放縱

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

10樓:匿名使用者

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

微控制器控制數碼管為什麼顯示很暗

11樓:煙火夜空

長期點亮就是 數碼管最亮 的時候。

但動態顯示中做不到長期點亮,那麼就要換種說法:最大可能讓它長期亮,就是 數碼管最亮的時候。也就是說,數碼管亮的時間越長,它就越亮。

又但是,動態顯示中,數碼管亮的時間越長,幾個數碼管就會變得一閃一閃的,甚至是,乙個亮完另乙個亮,跟流水燈似的。這就是所謂的:刷屏!

因此,又得換一種說法:在保證不閃的情況下,最大可能讓它長期亮。

這就是主題了——重新整理率。這個名詞不陌生,以前的顯示器,特別是台式顯示器上就要調這個引數。調高了(75hz),顯示器支援不了,調低了(50hz),螢幕忽閃忽閃的。

但用在數碼管上,估計比較難入座。

從以前的顯示器上,可以得到經驗,50hz對人而言,會閃爍。75hz已經完全看不出來了。降低一點要求,60hz絕大多數人已經感覺不到閃爍了。這個重新整理率怎麼用在數碼管上?

為了方便計算,以50hz為例,則週期t=1/f=20ms,也就是20ms重複一周。假設你有4個數碼管,則每個數碼管有 5ms 的時間。也就是說,這就是「最大可能的時間」了。

每隔這「最大時間」切換一位數碼管,就能讓數碼管到達 最大輝度(亮度)了。

當然,最大亮度也不可能超出硬體設計範圍,如果硬體設計驅動電流不夠,那麼軟體怎麼弄都是白扯!

12樓:匿名使用者

驅動電流不夠,或者你的動態掃瞄程式有問題

13樓:匿名使用者

太暗了就增加輸入電壓,太亮了就加乙個電阻

數碼管動態顯示的時候不該亮的地方也亮了,比該亮的地方暗一點,是怎麼回事???

14樓:高山入雲

原因是你你沒有加上「消影」。

解釋:當你顯示第乙個數碼管,這時段碼和位碼都是開啟的,當顯示完第乙個數碼管,由於段碼連在一起,沒有關閉段碼,這時開啟第二位位碼,在交替的瞬間第二個數碼管上就顯示第乙個的數字,於是就出現第一位的暗影,假如第一位是2,第二位是1,這樣顯示1的數字不該亮的部分出現了2的暗亮,如果多個數碼管掃瞄的快,顯示的數字又都不同,那麼所有不該亮的地方都亮了。

解決的辦法是,在開啟下乙個數碼管之前,送乙個數碼管全熄滅的資料,即可。

15樓:匿名使用者

在每乙個位選後面加乙個消影,如:

是p2 口做輸出,數碼管共陰,p0.0是斷選訊號時mov p2,#00h

setb p0.0

clr p0.0

加了消影亮度會減小很多。。。。自己慢慢調延時吧。。。

16樓:匿名使用者

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

我用51微控制器做了乙個秒錶,使用四位共陰數碼管顯示,但是數碼管很暗,怎麼是數碼管增加亮度 10

17樓:匿名使用者

用51微控制器做了乙個秒錶,使用四位共陰數碼管顯示,但是數碼管很暗,要想數碼管增加亮度,可減小限流電阻阻值。最好把你現在的電路圖貼上來,幫你修改。

微控制器做萬年曆數碼管太多,掃瞄顯示最後一位數總顯示不對

是不是最後一位數碼管沒有 設定延時關閉啊?微控制器執行完數碼管掃瞄程式後,執行其它程式,比如計算時間等等,如果最後一位數碼管延時後沒有關閉它的片選,就會出現最後一位顯示時間長亮度高的現象,如果數碼管的段選訊號還有復用功能的話,肯定會引起顯示亂碼了。你是怎麼驅動數碼管的?直接動態掃瞄驅動還是164晶元...

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

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

微控制器數碼管段選位選是什麼

位選,就是選擇你想要點亮哪個數碼管 段選,就是選擇你想要點亮哪個數碼管的哪個一段。數碼管的段選和位選是什麼意思?打個比方吧,比如你要控制8個數碼管,依次是1 2.8。你要選擇控制哪個數碼管 比如第1個 這就是位選,有選擇位置的意思。然後呢,你要讓第1個數碼管顯示 1 你就要控制第乙個數碼管的 a b...