Ⅰ 為什麼單片機上第一個發光二極體是0xfe還有其他的燈呢分別是什麼
和發光二極體的接法有關,二極體陰極端連單片機,輸出低電平0就會點亮,0xfe對應的引腳信號為11111110,其中的0就是輸出給第一個發光二極體陰極端的低電平信號。其他的燈對應的輸出低電平編碼信號同樣點亮。
例如:假設單片機的P0口接了八個LED,其中JPP0接的是高電平5V,而L0.0到L0.7接的分別是P0.7到P0.0這樣的話如果P0.7到P0.0上電平是高電平,那麼這個led的壓降就是0,led不亮,如果P0.7到P0.0上電平是低電平,那麼led上就會產生壓降,led就會亮。
#include<reg51.h> /*包含單片機寄存器的頭文件*/
void main(void){while(1){P0=0xfe; /*第一個燈亮*/ P0=0xff; /*第一個燈滅*/}}
P0=0xfe,相當於P0=11111110,這時候P0.0=0,燈L0.7亮,然後P0=0xff,相當於P0=11111111,這時候P0.0=1,燈L0.7滅,然後由於這兩句是放在while(1)中的由於其中1是while{}中的語句執行的條件,由於1始終為真,所以這兩句循環執行。燈L0.7就在不斷閃爍,亮滅。
(1)單片機二極體點亮擴展閱讀:
相關發光二極體引腳點亮編碼:
原理:給二極體陽極和陰極加上正向電壓時,二極體導通。 當給陽極和陰極加上反向電壓時,二極體截止。 因此,二極體的導通和截止,則相當於開關的接通與斷開。
0XFE=1111 1110 表示一個燈亮。0xfd = 1111 1101 第二個燈亮。0xfb = 1111 1011 第三個燈亮。0xf7 = 1111 0111 第四個燈亮。0xef = 1110 1111 第五個燈亮。0xdf = 1101 1111 第六個燈亮。0xbf = 1011 1111 第七個燈亮。0x7f = 0111 1111 第八個燈亮。
Ⅱ 51單片機二極體延時點亮的室驗原理
51單片機控制二極體延時點亮的實驗原理是基於51單片機的內部計時器和IO口控制二極體的電流流動。具體步驟如下:
將一個二極體連接到51單片機的IO口上,使得該IO口可以控制二極體的電流開關狀態。
使用51單片機的內部計時器來延時,計時器可以通過編寫程序控制其開始和結束的時間。
在程序中設定一個時間延時,然後將IO口設置為高電平,使得電流可以通過二極體流動,點亮二極體。
延時結束後,將IO口設置為低電平,關閉電流,二極體熄滅。
通過這種方法,可以控制二極體的電流開關狀態和延時時間,從而實現延時點亮二極體的效果。同時,由於51單片機的計時器具有較高的精度和可編程性,因此可以實現各種不同的延時效果。