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

時間 2025-04-10 05:20:20

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

1樓:網友

你這個不完整。看碰沒中不出所有的。

不過就你這個**。肯定實現不察緩了你 數碼管動態顯示的目的。

如果你的p2 的 0,1,2,3,4,5,6 腳控制數碼管的公共端的話。

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

其他的都不亮了。

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

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

因為前面的5個led都是隻通電一下。很短時間。根笑山本沒用。

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

比如都導通5ms 10ms之類的。

你這樣。想到相當於 01234導通x(us),5導通 x(ms)導通時間不是乙個數量級的。

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

如果你要修改的話。

最好是用一箇中斷。

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

5ms 010ms 1

15ms 2

這樣迴圈就好了。

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

2樓:煙火夜空

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

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

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

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

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

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

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

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

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

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

3樓:網友

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

4樓:網友

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

微控制器用液晶顯示時數碼管也會亮。

5樓:匿名使用者

一、因為你的數碼管和液晶屏1602是共用了p0,p1腳,這兩個模組只會響應這兩組io口輸出的電平。

而不會判斷是否用到了這個模組。你看下可不可以斷掉數碼管的電源或輸入,一般開發板。

上是有的。二、一般,共用一組io口的模組都會新增乙個控制位的,來控制啟動和關閉的,如果沒有的話,只能手動關閉的了。

三、兩個一起用的話,會有分壓,有一些元件會出現失真,顯示的結果不對。

希望能幫到你,望。

微控制器上當點亮乙個數碼管時,其他數碼管也有微弱的點亮,為什麼?

6樓:網友

沒看到電路、程式,完全是猜測:

通常現在點亮數碼管都用分時電路,也就是跟匯流排制的資料交換類似的,共用資料線洞旦+單獨的片選訊號構成分時複用。這種分時方式,適應高速cpu跟低速外圍輸入輸出介面,可以減少i/o口的佔用,是比較划算的做法。

本來這種方案是非常成熟的,但你說會干擾其它未片選的管子,我想原因不外乎:

1.片選訊號禁止時,片選端並不乾脆,存在狀態不明確的情況(如高低電平靠近門限值、漏電流過大),導致通斷不徹底;

2.片選訊號禁止時,片選端山斗懸空,導致受幹逗顫磨擾。

對於情況1,可考慮效能引數好的管子來改善;對於情況2,則需要增加上拉或下拉電阻(按邏輯電平選用)來避免懸空,從而隔絕干擾。

7樓:雪夜風葉

點亮過程太快,中間加點延遲。

8樓:滄海海神

程式 和 電路發來啊。。

微控制器,數碼管亮度問題

9樓:網友

上拉電阻500歐左右 ,每位延時1ms

10樓:網友

我只知道可以減小上啦電阻,太大了,建議在300歐到1k之間。

11樓:網友

動態掃瞄的頻率調快一些即可。

51微控制器控制數碼管並顯示,51微控制器控制8個數碼管並顯示

啟巖 數碼管段選連線到微控制器p0口,位選連線到p2口org 0000h main call display ajmp main display mov r0,0 mov r1,0x01 mov dptr,tab loop inc r0 mov a,r0 movc a,a dptr mov p0,0...

51微控制器4 4矩陣鍵盤控制數碼管顯示,下面的程式不能實現

萬年de守護 你在switch語句裡面要加break語句,然後還要加一個default語句。你再試試。你再深入的看一下。我覺得矩陣鍵盤的程式不用這麼複雜吧?如果你只是單純的用鍵盤控制一下指示燈,直接就不用switch。直接就用0xoo資料進行控制就行。然後用一個if語句進行一下多次選擇。如果你想先識...

我想用微控制器的數碼管顯示LED的個數

用按鍵控制顯示1和5 org 0000h 復位時程式從此開始 sjmp start 跳到start進行初始化 org 0030h 初始化程式從30h開始 初始化 start mov sp,60h mov 40h,0ffh mov p2,0ffh clr p2.0 主程式 main call key ...