我用51微控制器實現數碼管動態顯示時不同步

2021-04-20 12:57:59 字數 2913 閱讀 5590

1樓:匿名使用者

延時太長bai,一般0.5~1ms左右。du另外,你這是共陰的zhi,程式一般這dao樣:開位選,

版送欄位碼,延時1ms,關位選,下一位權開位選,送欄位碼,延時1ms,關位選 。。。

clr p2.0

mov p0,a

lcall delay :1ms

setb p2.0

clr p2.1

mov p0,a

lcall delay

setb p2.1

51微控制器,數碼管動態顯示,不影響其它程式

2樓:做而論道

動態顯示程式,必須不停的、反覆的呼叫。

稍有停頓,就只能看見最後顯示的一位字元。

解決方法,可以參考我以前回答的問題:

3樓:匿名使用者

就在主程式裡反覆呼叫 改變變化數字,用暫存最好 要改變的時候改變暫存就可以了 不影響其他程式 如果閃就可以改變顯示子程式的延時子程式時間

4樓:匿名使用者

動態掃描程式放定時器中斷裡面做,nms進一中斷。

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

5樓:匿名使用者

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

6樓:匿名使用者

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

7樓:靜雨月軒

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

求助51微控制器高手一個數碼管動態顯示問題 要求是數碼管動態顯示

8樓:最近的天涯海角

你的位選是你最後一次的位選值,雖然j大於5以後沒有和jj相匹配的if語句,但是你的段碼還是在不停的變化,所以會出現最後一個數碼管總是從0-7變化,另外數碼管動態顯示需要一定的延時,否則就會出現如你所說閃一下的情況,個人愚見僅供參考

9樓:手機使用者

乾脆你發程式 我給你改吧~~

都不知道 你那些按鍵跟數碼管 要體現的功能顯示00 那時你段選 p0口的段選 問題且~ 你到底要讓數碼管這麼顯示 (要顯示多少)

10樓:匿名使用者

沒有if成立的條件時數碼管的的位選保持最後下次狀態,然後j一直加到最大值,再從0開始加,所以最後一個管一直亮,因為其他位選情況你沒有加延時,所以只會閃一下

11樓:匿名使用者

先搞清楚什麼叫動態顯示

一個51微控制器問題!我是初學者!led數碼管動態顯示!

12樓:匿名使用者

用動態掃描,你程式應該是鎖存沒控制好吧。

13樓:匿名使用者

你想問什麼,問題呢?

51微控制器數碼管動態顯示的過程中,怎麼實現讓最後一個閃爍,其他的不受影響?

14樓:匿名使用者

閃爍原理,別的數碼管都是反覆重新整理,需要閃爍的那一位則重新整理幾十次後再有幾十次不顯示

下例是20次亮 20次滅

uchar modtable[6][4]=,,,,, };

//有1的那一位數碼管不亮 不閃爍 4位全閃爍

uchar ia;

uchar bai,shi,ge;

uchar flag=0;

uint a=0;

//共陰數碼管七段碼,轉成共陽的需取反,程式中已這樣做了

uchar code table=;

void delay1ms(uint i) //1ms延時程式}}

void display(uint m,uchar mode )//4位顯示子程式 帶某位閃爍功能

//mode=0,都不閃爍 mode=1 千位閃爍 mode=2 百位閃爍 mode=3 十位閃爍 mode=4 個位閃爍

//mode=5 全部閃爍

else

dataport=~(table[a1]);

sm1=modtable[modeaa][0]; delay1ms(2);sm1=1;

dataport=~(table[a2]);

sm2=modtable[modeaa][1]; delay1ms(2);sm2=1;

dataport=~(table[a3]);

sm3=modtable[modeaa][2]; delay1ms(2);sm3=1;

dataport=~(table[a4]);

sm4=modtable[modeaa][3]; delay1ms(2);sm4=1;

ia++;

if(ia==40) ia=0;//40次一輪}

我在用proteus進行51微控制器的**。但是做到數碼管動態顯示時,數碼管顯示的數字是亂碼。這個怎麼解決

15樓:渢

你仔細觀察一下數碼管顯示的情況,是沒有穩定顯示還是顯示的不正常。

是不是把共陰共陽弄反了,造成欄位碼錶和電路不對應。還有就是檢查走線。

16樓:匿名使用者

◑﹏◐你的**看不清啊

微控制器數碼管動態掃描,微控制器動態掃描數碼管問題?

你的bai延時函式時間太短了 下面du 說工作流程 第一個管子zhi 的位選開啟,選dao中第一個管,關位版選,段選開啟,送權資料,關段選延時delay 5 注意這裡,人的眼睛有視覺暫留,大約0.1 0.4秒,如果你延時很短,這兩個數碼管分先後,第一個亮,然後第二個亮,迴圈往復,但是你的眼睛分辨不出...

51微控制器怎麼通過串列埠通訊在數碼管的顯示大於255的值

不管十進位制,還是16進位制,在記憶體中都是以二進位制的形式儲存的 十六進位制專ff 和十進位制 255 在記憶體 中都是 1111 1111 這種分離個屬十百的方法邏輯上沒什麼值得懷疑的 寫成十進位制還是十六進位制不影響計算結果 bai x 100 你將100換成0x64結果是一樣的 我們應用10...

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

長期點亮就是 數碼管最亮 的時候。但動態顯示中做不到長期點亮,那麼就要換種說法 最大可能讓它長期亮,就是 數碼管最亮的時候。也就是說,數碼管亮的時間越長,它就越亮。又但是,動態顯示中,數碼管亮的時間越長,幾個數碼管就會變得一閃一閃的,甚至是,一個亮完另一個亮,跟流水燈似的。這就是所謂的 刷屏!因此,...