導航:首頁 > 操作系統 > 單片機發光二極體原理圖

單片機發光二極體原理圖

發布時間:2025-02-08 03:04:23

A. 單片機控制led燈的創新點是什麼

單片機控制led燈的創新點是,LED的陽極全部接到了正極(電源),當負極接到LED的陰極時就會發光,因為LED的陰極與單片機的P2口相接,如果你想點亮那一個LED就把單片機相應的引腳賦值為低電平。具體如下:1、LED基礎知識
LED是發光二極體的一種,它具有單向導電的特點,在51開發板上使用的是貼片式發光二極體,正向導電電壓在1.8-2.2v之間,工作時的電流在1-20mA。當電流在1-5mA之間變化時,肉眼可以觀測到亮度的變化,但是當電流在5-20mA之間變化時,亮度變化不太明顯。如果電流一直增大二極體可能會燒壞。其餘LED知識就不再進行敘述,其中LED原理圖如下圖所示。
LED原理圖

2、點亮第一個LED燈
由原理圖可知,LED的陽極全部接到了正極(電源),當負極接到LED的陰極時才會發光,因為LED的陰極與單片機的P2口相接,如果你想點亮那一個LED就把單片機相應的引腳賦值為低電平,具體程序如下:

#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器

sbit led=P2^0; //將單片機的P2.0埠定義為led

void main()
{

while(1)
{
led=0;//P2.0埠設置為低電平
}
}
1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
3、LED閃爍
如果想讓LED進行閃爍就要涉及到延時,針對單片機進行延時的方法有很多,在此向大家推薦一種比較簡單的程序助手—單片機小精靈,可以直接進行設置時間,並且生成相應的代碼。
將P2^0引腳的LED進行間隔一秒閃爍的程序如下:

#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
#include "intrins.h" //頭文件

sbit led=P2^0; //將單片機的P2.0埠定義為led

void delay1s() //延時1s,誤差 0us
{
unsigned char a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

void main()//主程序
{

while(1)
{
led=0;//P2.0埠設置為低電平
delay1s();//調用延時函數
led=1;//P2.0埠設置為低電平
delay1s();
}
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
為了使程序更好的進行表達,使用16進制進行表述,程序如下:

#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
#include "intrins.h" //頭文件

void delay1s() //延時1s,誤差 0us
{
unsigned char a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

void main()//主程序
{

while(1)
{
P2=0xFE;//P2.0埠設置為低電平
delay1s();//調用延時函數
P2=0xFF;//P2.0埠設置為低電平
delay1s();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
上面是針對一個LED燈進行的設計,下面針對8個LED燈依次閃爍進行設計,具體程序如下:

#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
#include "intrins.h" //頭文件

void delay1s() //延時1s,誤差 0us
{
unsigned char a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

void main()//主程序
{

while(1)
{
P2=0xFE;//1111 1110
delay1s();//調用延時函數
P2=0xFD;//1111 1101
delay1s();
P2=0xFB;//1111 1011
delay1s();
P2=0xF7;//1111 0111
delay1s();
P2=0xEF;//1110 1111
delay1s();
P2=0xDF;//1101 1111
delay1s();
P2=0xBF;//1011 1111
delay1s();
P2=0x7F;//0111 1111
delay1s();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
4、LED左右移動
上面進行描述的是利用延時並對P2口引腳進行賦值設計LED燈的閃爍,這樣程序較為繁雜,下面將利用「左移」和「右移」進行設計,crol(a,b),左循環,a是左移的值,b是左移的位數;cror(a,b),右循環,a是右移的值,b是右移的位數。包含在instrins.h庫函數中。具體程序如下:

#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器
#include "intrins.h" //頭文件,包含延時(_nop_ )和函數循環

typedef unsigned int u16;//聲明新類型名
typedef unsigned char u8;//聲明新類型名

#define led P2//宏定義

void delay1s() //延時1s,誤差 0us
{
u8 a,b,c;
for(c=46;c>0;c--)
for(b=152;b>0;b--)
for(a=70;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}

void main()//主程序
{
u8 i;//定義i的類型
led=0xFE;
delay1s() ;
while(1)
{
for(i=0;i<7;i++)//左移
{
led=_crol_(led,1);
delay1s() ;
}
for(i=0;i<7;i++)//右移
{
led=_cror_(led,1);
delay1s() ;
}

}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
5、總結
以上程序均進行了實驗驗證,完全正確。針對LED燈的控制,可以和按鍵進行聯合設計,實現更多的功能,後面會進行更新。對於沒有單片機開發板的小夥伴可以利用proteus模擬軟體進行設計。

B. 為什麼單片機上第一個發光二極體是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就在不斷閃爍,亮滅。

(2)單片機發光二極體原理圖擴展閱讀:

相關發光二極體引腳點亮編碼:

原理:給二極體陽極和陰極加上正向電壓時,二極體導通。 當給陽極和陰極加上反向電壓時,二極體截止。 因此,二極體的導通和截止,則相當於開關的接通與斷開。

0XFE=1111 1110 表示一個燈亮。0xfd = 1111 1101 第二個燈亮。0xfb = 1111 1011 第三個燈亮。0xf7 = 1111 0111 第四個燈亮。0xef = 1110 1111 第五個燈亮。0xdf = 1101 1111 第六個燈亮。0xbf = 1011 1111 第七個燈亮。0x7f = 0111 1111 第八個燈亮。

C. 單片機P1.0控制點亮一個發光二極體的電路怎麼接

電路如圖接即可(去掉右邊的按鍵和左邊的電容):

一般單片機對LED燈的接法都是如此,因為單片機IO口的電流輸出能力很弱,一般不使用單片機輸出高電平驅動LED燈,一般使用灌電流的方法驅動,即,單片機輸出低電平,吸收電流的方法。

D. 單片機單個數碼管元件名稱是什麼

數碼管,亦稱輝光管,是一種能顯示數字及其他信息的電子元件。
原理圖:
1. 顯示原理:亮為0,暗為1,數碼管從右至左顯示二進制數。
2. 控制方式:
a. 位選:如控制第1個數碼管,需選擇相應的位選信號。
b. 段選:確定要顯示的數字後,通過控制數碼管的特定段來實現。
void display(void) 函數:
P2 = ((P2&0x1F)|0xE0); // 數碼管消隱
P0 = 0xFF;
P2 &= 0x1F;
P2 = ((P2&0x1F)|0xC0); // 位選控制
P0 = 1<<dspcom;
P2 &= 0x1F;
P2 = ((P2&0x1F)|0xE0); // 段碼輸入
P0 = tab[dspbuff[dspcom]];
P2 &= 0x1F;
if(++dspcom == 8){ // 循環檢查
dspcom = 0; // 重置計數器
}
結構圖:
1. 高低電平:
a. 高電平:確保邏輯門輸入為高電平的最小電壓。
b. 低電平:確保邏輯門輸入為低電平的最大電壓。
2. 共陽極與共陰極:
a. 共陽極數碼管:八段發光二極體的陽極相連,陰極獨立控制。
b. 共陰極數碼管:八段發光二極體的陰極相連,陽極獨立控制。
真值表:
數字 真值表
0 0xC0
1 0xF9
2 0xA4
3 0xB0
4 0x99
5 0x92
6 0x82
7 0xF8
8 0x80
9 0x90
Tips:
二進制:前綴0b/0B,後綴b/B
八進制:前綴0,後綴o/O
十進制:無前綴,可有+/-後綴d/D
十六進制:前綴0x/0X,後綴h/H
特殊功能寄存器:
sbit是定義特殊功能寄存器的位變數,如sbit led1 = P1^0,用於控制P1口0位端的發光二極體。
sfr是定義特殊功能寄存器的8位寄存器,如sfr P1 = 0x90,用於訪問51單片機內部的特殊功能寄存器。

E. 請問各位,我要用單片機驅動一個發光二極體,(如圖)

電路是正確的。
樓主這種電路,是在輸出高電平的時候點亮二極體,就是給單片機加上了「拉電流」負載。
而一般的單片機,輸出高電平時,並無輸出電流的絕兆搭能力,所以需要外接「上拉電阻」來輔助。猜明
發光二極體發光的電壓較高,可以按照2V來計算,1K的上拉電阻,可以出現3mA的電流。
所以說,這個電路是正確的。
但是,輸出低電平,不讓二極體發光,1K的上拉電阻,就可以出現5mA的電流!
而且,這「更大的」電流全部灌入了單片機的引腳,雖未必燒壞,也是無謂的耗能。
從這個現象來看,這個電路並並拿不夠合理。
有可能的話,應該盡量採用「灌電流」的負載電路。
關於單片機引腳的輸出驅動等問題,可見:
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/429b5e35208e9bb9d0a2d398.html
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/d9581a5155e8f558c2d6.html

閱讀全文

與單片機發光二極體原理圖相關的資料

熱點內容
我的鹽城app怎麼添加不了家庭成員 瀏覽:493
php商城並發 瀏覽:348
熊貓繪畫app怎麼做出大佬的筆刷 瀏覽:603
雲存儲伺服器知識 瀏覽:461
伺服器cpu是什麼指令集 瀏覽:590
糖貓t10怎麼安裝app 瀏覽:992
電腦加密u盤怎麼使用 瀏覽:517
linux如何升級php版本升級 瀏覽:841
二級程序員c語言難度 瀏覽:352
批處理編譯qt 瀏覽:66
鐵友app怎麼查詢機票訂單 瀏覽:197
myeclipselinux破解版 瀏覽:417
批處理命令語法不正確 瀏覽:889
pdf合並成一個pdf在線 瀏覽:383
柱加密區構造要求 瀏覽:514
地板木龍骨標准跟加密區別 瀏覽:150
解壓放鬆的好地方河南 瀏覽:965
搜狗怎麼移動到文件夾 瀏覽:617
文件自動選擇到文件夾 瀏覽:794
贈送的app怎麼在ipad下載 瀏覽:508