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