第三節 趣講51單片機之P1P2P3口深入講解
一、P1口
P1口是4組Parallel Ports中最簡單的。其結構圖如下:
本文引用地址:http://www.104case.com/article/201611/318350.htm與P0口的區別是:由于沒有端口復用功能,所以,P0口的V1變成了一個上拉電阻。
由于內部就有上拉電阻,所以,作為GPIO時,P1口不需要接上拉電阻,當然,您接了也沒關系啦,就相當于兩個上拉電阻并聯嘛。
讀端口、讀引腳、寫功能在P0中已經講得非常詳細了,此處略個一萬字。
二、P2口
P2口的原理圖如下圖:
咋一看,和P0口有點像,都有控制信號,選擇作為“地址/數據”總線還是作為GPIO;又和P0口有些不同,P2口沒有推挽式輸出的結構,即沒有V1 MOS管。
我們說過,P0在作為“地址/數據”總線時,之所以會被稱為雙向口而非準雙向口,就是因為推挽式結構的存在,那么,難道P2口不需要成為雙向口?
的確如此,其實,上圖中說的“地址/數據”線的說法不太準確,因為,P2口在進行外部存儲器讀寫時,只是作為地址線的高8位,按理來講,應該稱為“地址高8位”線。
當控制信號為0時,與P1口完全一樣,當控制信號為1時,與P0口的分析一致,而且更簡單。此處不再重復說明。
三、P3口
P3口為多功能口,其結構如下圖所示:
先羅列一下P3口的第二功能:
P3.0:RXD 串行通信數據接收引腳
P3.1:TXD 串行通信數據發送引腳
P3.2:/INT0 外部中斷0輸入引腳
P3.3:/INT1 外部中斷1輸入引腳
P3.4:T0 定時/計數器0外部事件計數輸入引腳
P3.5:T1 定時/計數器1 外部事件計數輸入引腳
P3.6:/WR 外部數據存儲單元寫選通信
P3.7:/RD 外部數據存儲單元讀選信號
當P3口作為第二功能使用時,Q始終為1,此時,引腳與第二功能輸出端的電平相同。
那是使用第一功能還是第二功能是誰來控制的呢?還是指令集的微構架,比如你通過串口指令向外傳送數據,P3.1自動選擇第二功能,您就不用操心了。
作為GPIO的情況和P1完全相同,此處不再贅述。
評論