微控制器數碼管動態顯示的過程中,怎麼實現讓其中閃爍,其他的

2021-05-12 22:06:23 字數 3642 閱讀 1956

1樓:容哲聖丘納

你好!持續重新整理,常亮的保持不變,閃爍的一次輸出1,一次輸出0

僅代表個人觀點,不喜勿噴,謝謝。

2樓:厲修雅買韞

嘿嘿bai

俺來幫你嘍

1微控制器數碼管動態du顯zhi示的過程中,設定一個閃爍寄dao存器,專門版儲存要權閃爍顯示的位子,再增加一個閃爍顯示碼的暫存器。

2每次呼叫顯示程式時,先要判斷需要顯示閃爍的位子的顯示碼,是不是等於「滅」的顯示碼,

不是的話,將該位的顯示碼送閃爍顯示碼的暫存器進行儲存,將「滅」的顯示碼送入相應的顯示緩衝區的位子,呼叫顯示程式;如果等於「滅」的顯示碼,則將儲存在閃爍顯示碼的暫存器中的顯示碼再送回相應的顯示緩衝區的位子,呼叫顯示程式。

呵呵只給出實現的演算法

**就自己編嘍。

滿意的話

就給加分吧

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

3樓:胖大海君

嘿嘿 俺來幫你嘍

1 微控制器數碼管動態顯示的過程中,設定一個閃爍暫存器,專門儲存要閃爍顯示的位子,再增加一個閃爍顯示碼的暫存器。

2 每次呼叫顯示程式時,先要判斷需要顯示閃爍的位子的顯示碼,是不是等於「滅」的顯示碼,

不是的話,將該位的顯示碼送閃爍顯示碼的暫存器進行儲存,將「滅」的顯示碼送入相應的顯示緩衝區的位子,呼叫顯示程式;如果等於「滅」的顯示碼,則將儲存在閃爍顯示碼的暫存器中的顯示碼再送回相應的顯示緩衝區的位子,呼叫顯示程式。

呵呵 只給出實現的演算法 **就自己編嘍。

滿意的話 就給加分吧

4樓:

持續重新整理,常亮的保持不變,閃爍的一次輸出1,一次輸出0

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

5樓:匿名使用者

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

下例是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次一輪}

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

6樓:做而論道

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

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

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

7樓:匿名使用者

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

8樓:匿名使用者

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

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

9樓:

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

10樓:k放縱

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

11樓:匿名使用者

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

關於微控制器數碼管動態顯示的問題。題目是:第一個數碼管顯示1,0.5s後關閉,立即讓第二個數碼管顯示

12樓:匿名使用者

你怎麼問了兩個?呵呵

交換顯示沒有影響,但是都要消隱,都要使用的。

比如:你先送位0x01;

再送段:0x02;

下一次迴圈回來送位的時候,假如你送位選0x04,上一次的段選訊號0x02是不是還在?

干擾就出現了,0x02和0x04的交叉,數碼管會亮,這是你不需要的。

微控制器程式設計怎麼實現數碼管動態顯示資料時,也要執行其他程式?怎麼實現啊??謝謝! 100

13樓:**飄渺迷人

這就要用到單來片機的中斷源這個功能了...還要用到bai微控制器的定時器dut0或t1.

原理就是讓定時器產生一

zhi個固定的時間間隔dao,每次間隔定時到了就產生中斷,,微控制器收到中斷就自動去執行你的資料顯示程式,,平時主程式就執行你的其它程式,,,,,

擴充定時器.

一個定時器就夠了,,,可以擴充幾個軟定時器使 用.

方法是:設定一個重新整理定時,例如:20毫秒.作中斷定時,,然後,在中斷程式中設幾個計數器,作為軟定時器,每中斷一次,計數加1,,判斷計數器次數就知道定時了多長時間了..

這個你應該懂的.

14樓:匿名使用者

用定時器,沒隔一段時間產生一個定時器中斷,然後重新整理數碼管

15樓:匿名使用者

只有一個定時器?最好想個辦法把定時器的中斷用在led重新整理顯示上,如果實在沒轍,那就在外部中斷上外接一個定時重新整理的訊號吧。

51微控制器實現數碼管動態顯示兩位不同的數,求程式!!!

16樓:技術宅男摩羯

1、先實現對一個數碼管顯示數字的控制

2、兩個數碼管顯示需要掃描,掃描頻率自己控制

3、兩個數碼管分別顯示數字

數碼管的問題數碼管的動態顯示的消隱問題

你這樣理解是錯誤的,就以你舉的例子 ox3f 為例,3f表示的為16進位制,我們把它表示為二進位制就是00111111。這8位二進位制碼的最高位第8位通常表示小數點的有無,而餘下的7位表示7段數碼管要顯示的數字。二進位制碼位由1 7位低到高分別對應7段數碼管段位為a b c d e f g。0x3f...

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 消隱...

微控制器ADC的值怎麼處理才能顯示到數碼管上

你用的是幾位的ad,ad的資料是二進位制的,一般是經公式計算轉換成十進位制來實現的。轉換成資料然後送數碼管顯示啊 start 0 start 1 add a 1 add b 1 add c 0 oe 1 start 0 while eoc 0 display 顯示 void delayms unsi...