51單片機中,有4個組I/O口,分別是P0、P1、P2、P3;I/O(Input/Output)口,Input表示輸入電平信號,Out表示輸出電平信號。在數字電路中,電平有高低電平兩種,也就是說I/O口,這個端口可以輸入或者輸出高低電平。
不同數字電路系統中,對于電平的定義的電壓不一樣。而在STC89C52中5V的系統中(如下圖所示),低于0.8V被識別為低電平,而高于2.0V被識別為高電平。
在51單片機系統中,LED正極接電源VCC(5V),負極接串聯一個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語言入口函數,代碼執行的入口。
(4)led0 = 0,將P2的第0口電平輸出低電平。
注意事項:
編譯后可能沒有錯誤,但是沒有生成執行文件或者執行文件會沒有效果。
(1)新建工程后,并沒有選擇生成hex文件,需要到下面位置進行設置。
(2)新建文件.c文件,寫入代碼后沒有,將.c文件添加到項目中。需要雙擊項目文件夾(如箭頭所示),將.c添加進入項目。
-
led
+關注
關注
242文章
23252瀏覽量
660580 -
單片機
+關注
關注
6035文章
44554瀏覽量
634653 -
電路原理圖
+關注
關注
40文章
347瀏覽量
38318 -
51單片機
+關注
關注
274文章
5702瀏覽量
123493 -
數字電路
+關注
關注
193文章
1605瀏覽量
80580
發布評論請先 登錄
相關推薦
評論