51單片機中,有4個組I/O口,分別是P0、P1、P2、P3;I/O(Input/Output)口,Input表示輸入電平信號,Out表示輸出電平信號。在數(shù)字電路中,電平有高低電平兩種,也就是說I/O口,這個端口可以輸入或者輸出高低電平。
不同數(shù)字電路系統(tǒng)中,對于電平的定義的電壓不一樣。而在STC89C52中5V的系統(tǒng)中(如下圖所示),低于0.8V被識別為低電平,而高于2.0V被識別為高電平。
在51單片機系統(tǒng)中,LED正極接電源VCC(5V),負極接串聯(lián)一個470歐電阻,連接到單片接P2。
LED點亮原理 :
以P20口為例說明,LED可以點亮的原理。
當單片機P20口的引腳為高電平,LED連接的VCC為端高電平,沒有形成回路,形成不了電流,LED1不會亮。當單片機P20口的引腳為低電平,LED連接的VCC為端高電平,形成回路,形成電流從VCC流向P20口,LED1亮。
C51代碼:
新建工程,編寫程序。
#include "reg52.h"
sbit led0 = P2^0;
void main(){
led0 = 0;
}
代碼解析:
(1)#include "reg52.h",包含頭文件,添加51單片機特殊定義
(2)sbit led0 = P2^0, 聲明位變量,并賦值。聲明位變量,將P2的第0口賦值給 led0;可以通過,控制led0變量控制P2的第0口電平。
(3)void main(),C語言入口函數(shù),代碼執(zhí)行的入口。
(4)led0 = 0,將P2的第0口電平輸出低電平。
注意事項:
編譯后可能沒有錯誤,但是沒有生成執(zhí)行文件或者執(zhí)行文件會沒有效果。
(1)新建工程后,并沒有選擇生成hex文件,需要到下面位置進行設(shè)置。
(2)新建文件.c文件,寫入代碼后沒有,將.c文件添加到項目中。需要雙擊項目文件夾(如箭頭所示),將.c添加進入項目。
-
led
+關(guān)注
關(guān)注
242文章
23362瀏覽量
663224 -
單片機
+關(guān)注
關(guān)注
6043文章
44621瀏覽量
638586 -
電路原理圖
+關(guān)注
關(guān)注
40文章
348瀏覽量
38456 -
51單片機
+關(guān)注
關(guān)注
274文章
5705瀏覽量
124304 -
數(shù)字電路
+關(guān)注
關(guān)注
193文章
1629瀏覽量
80823
發(fā)布評論請先 登錄
相關(guān)推薦
評論