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