回覆列表
-
1 # 陳仙7
-
2 # 玩轉嵌入式
51微控制器的IO是準雙向IO,不需要設定方向暫存器。微控制器的IO口有輸入和輸出兩種狀態,操作也非常簡單,引腳除了基本的GPIO外,還具有功能複用引腳。
如何將51微控制器的引腳用作輸出將微控制器的引腳輸出高低電平時可以直接操作,如將微控制器的P1.1輸出高電平,P1.2輸出低電平,可以進行如下操作:1111 1001 0010
sbit Out1=P1^1;
sbit Out2=P1^2;
Out1 = 1;
Out2 = 0;
透過以上操作即可實現相關的操作。除此之外,還可以透過P1口直接進行操作,如下
P1 |= 0X02;
上面的寫法是隻改變P1.1和P1.2而不改變其他埠的值。
如何將51微控制器的引腳用作輸入將P1.0作為按鍵輸入埠,P1.7作為輸出埠用於控制LED的亮滅。當檢測到按鍵按下時點亮LED,否則LED處於熄滅狀態。電路 圖如下所示。
根據以上需求,實現程式碼如下:
對於其他的複用功能,如AD取樣埠、UART通訊埠等,需要設定相關的暫存器。建議先把普通GPIO口使用熟悉後,再去操作其他功能。
51微控制器控制引腳,是直接由指令控制的,如果做IO功能,比如P1口 寫指令 MOV P1,#AAH ,把P1.1引腳設為1 指令 SETB P1.1 , 把P1.1引腳設定為0指令CLR P1.1 等等。IO口操作控制是微控制器中最基本的。