51微控制器程式設計,在6位LED數碼管上顯示時間,P1口控制

2021-03-22 08:08:45 字數 2707 閱讀 8920

1樓:

你好,時間的話可以考慮使用時鐘晶片ds3231,p1口控制段碼的話,可以使用兩顆595晶片搞定,p2口也可以使用595搞定,p口就掃描按鍵輸入就行了。秒錶的話,使用微控制器內部的定時器,可以很精確的計時。。至於倒計時,什麼的話,都一個道理使用微控制器內部的定時器搞定。

如果你還不懂的話,我們可以提供有償服務。

請教51微控制器彙編程式問題,是個p1口接段碼,p2口接8位數碼管位碼,其中兩個數碼管顯示6並迴圈,單編譯警

2樓:做而論道

問這個問題,是什麼意思?

這程式,樓主不是回答下面的問題的嗎?

不是說編譯通過了嗎?

51微控制器控制的交通燈c程式,其中p1口接6個led燈模擬,p0和p2接數碼管(不用位選了),p3口接按鍵控制 5

3樓:匿名使用者

才5分,要寫這麼多。

寫個輪廓給你自己填?

unsigned char counter;

void interrupt_star();

void main()

}void timer0() interrupt 1 //定時器,counter>19時候,就為1s

void display_time() //動態顯示

4樓:匿名使用者

不知道 我只是做任務 不好意思啊

51微控制器 led燈為什麼是p1口控制,而不是用p2口控制呢,到底怎麼看用哪個口控制呢

5樓:匿名使用者

你看一下電路圖,led接在微控制器的那幾個引腳上就知道是那個口了

6樓:匿名使用者

可以用p2控制。

p0口需要接上拉電阻(10k) 電流太小,點不亮led,從程式裡面看埠定義,led一般都用低電平控制,如過某個埠在程式裡面不斷從0變為1,迴圈可定就是這個埠控制。

如果沒有源程式,可以用萬用表測電壓變化。

用51微控制器4位數碼管顯示"h38c」,"l25c",c語言程式分別怎麼寫?p1口是段碼輸出口,p2.7-p2.4口是掃描口。

7樓:匿名使用者

#include

#include

typedef unsigned char uchar;

typedef unsigned int uint;

//共陽數碼管

uchar code table = ; //l25c的編碼//延時函式

void delay(uchar t)

}void main()

}for(n = 0;n<10;n++)//顯示10次l25c}}}

8樓:匿名使用者

共陰還共陽,高電平選通還是低電平?

怎樣用51微控制器實現累加計時和倒計時,並用六個共陰極數碼管顯示出來。用兩個按鍵分別切換。

9樓:匿名使用者

剛開始上電時, system_mode不是1 也不是2,不知你初始化時是否給它賦值?另外你的按鍵檢測程式沒加入到迴圈程式中,剛上電時若沒有按鍵按下,則很快跳過兩個按鍵檢測語句,然後進入迴圈顯示程式中,這是一個死迴圈,只有中斷才可打斷其執行,所以再按什麼鍵也沒反應了,建議把按鍵檢測放入顯示迴圈中,它對顯示效果不會有什麼影響,或在初始化後加一個迴圈,若兩個按鍵都沒有按下,一直檢測按鍵

利用51微控制器,4個數碼管設計一個計時器,要求在數碼管上顯示的資料從0開始每1秒鐘加1。

10樓:匿名使用者

我正好也寫了那麼一個程式,我說一下自己的思路吧,我也剛學。

先做一個段選表和位選表,用兩個陣列儲存,如果有八個燈,位選就有8個。然後再定義一個陣列

digit[8] 裡面儲存 個位十位百位等數位。然後再定時器中斷函式裡,用一個switch語句,分別表明位選在01234567的情況。 我把它貼出來吧。

switch (num_we) //控制每一次位選的數碼管顯示

上面ledcode 是段選表 wecode 是位選表 。 num_we是位選標誌,表示選到了第幾個數碼管。

然後在除錯差不多掃描幾回為1秒,每到了一定的回數,個位數字就+1,個位數字到10,個位清零,十位+1,,以此類推。

11樓:絕種好風

那得看你的數碼管是怎麼接的,其實重要的是51微控制器定時器的使用,兩個,t0和t1,隨便選一個,就行了,只是提醒下,

51微控制器中怎樣用p1口控制兩個led數碼顯示器同時顯示不同的數,是不是得加鎖存器,請高手幫忙(動態顯示

12樓:匿名使用者

因為你是要控制兩個數碼管,所以只用一個並口是不夠的,至少還得有兩個位選,動態顯示不需要鎖存器的,如果需要幫助可** 使用者名稱

13樓:物電的小狗狗

加鎖存器的好處就是:1、51微控制器io口輸出電流很弱無法驅動數碼管,加了鎖存器可以使數碼管正常工作;2、當你的io口有限或不夠用的時候用鎖存器可以實現一組io控制最多8個數碼管。

這裡,你要只用用p1口控制多個數碼管的話,你要加鎖存器——實現段選資料和位選資料的分時傳送。

如何通過程式設計,實現51微控制器控制數碼管顯示0 9這幾個數字

while後加邏輯語句,如果值為true也就是1時就會執行下面的語句,執行完再判斷是不是true,如果是的話繼續執行,然後就迴圈了 如果為false也就是0就會停止 如果不加的話也就是執行一次,執行完後結束,燈就不亮了,按理說應該亮一次,但是執行太快你根本沒來得及看到燈亮就已經結束了 如果加迴圈語句...

微控制器大神請進,51微控制器彙編程式,程式可發至

1 p1口做輸出口,編寫程式,使p1口接的8個發光二極體l1 l8按16進位制加一方式點亮發光二極體。程式如下 org 0540h ha1s mov a,00h a初值為0 ha1s1 jb p3.3,ha1s1 如果p3.3為1則等待 有脈衝變0一次 mov r2,20h r2賦值為20 lcal...

在51微控制器c語言程式設計中如何用sbit建立陣列

首先申明一bai下 新手一du枚 我也遇到同zhi樣的問題 說 dao個比較笨的辦法 用的時候專直屬 接給p1賦值 微控制器初始時所有i o口都為高電平,比如你想要floorled1 0 你就寫p1 0xfe floorled2 0 你就寫p1 0xfd floorled1 0 floorled2 ...