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位數碼管,亮度不一樣,第一位很亮,其他很暗,為什麼?
長期點亮就是 數碼管最亮 的時候。但動態顯示中做不到長期點亮,那麼就要換種說法 最大可能讓它長期亮,就是 數碼管最亮的時候。也就是說,數碼管亮的時間越長,它就越亮。又但是,動態顯示中,數碼管亮的時間越長,幾個數碼管就會變得一閃一閃的,甚至是,一個亮完另一個亮,跟流水燈似的。這就是所謂的 刷屏!因此,...