1.0 .7z
(5.18 KB, 下載次數: 0)
究竟什么是上拉電阻?它有何作用呢?簡而言之,上拉電阻是一種電阻元件。在作為輸入使用時,它能夠將輸入端的電位拉高;若輸入為低電平狀態,則上拉電阻能提供必要的電流源。因此,當P0口作為輸入端且處于高阻抗狀態時,通過外接上拉電阻可以確保其有效工作。
由圖2可見,每個P0口都包含以下元件:一個鎖存器,兩個三態輸入緩沖器以及一個輸出驅動電路。在訪問外部存儲器時,P0口扮演著雙向角色的關鍵部分。當P0口輸出地址/數據信息時,CPU內部的法控制電平“1”會激活與門,同時通過模擬開關MUX將地址/數據信息經反相器和T1接通。這里,我們稱上面的場效應晶體管FET為T1,下面的場效應管FET為T2。
輸出的地址/數據信息既會通過與門驅動T1,也會通過反相器驅動T2,從而構成一個推拉輸出電路。當P0口作為外部擴展存儲器的數據地址總線時,其操作方式如下:
若地址數據信息為“0”,則信號會使T1截止而T2導通。經過反相器的作用,T2接收到的信號變為“1”,根據場效應晶體管的特性,T2導通后,其上下N極導通,發射極接地信號為“0”,這使得P0口相當于接收到了“0”信號。
若地址數據信息輸入為“1”,則信號會使T2截止而T1導通。在T1導通狀態下,其上下N極導通,使得VCC與P0相同,從而輸出高電平,即“1”信號。
當從P0口輸入信號時,信號會通過引腳和輸入緩沖器進入內部總線。
此外,當P0口作為一般I/O口使用時,其操作方式也有所不同:
CPU內部發布控制信號“0”,該信號會封鎖與門并使T1截止。同時,模擬開關MUX將鎖存器的非Q端與T2端的柵極接通。
在P0口作為輸出時,由于非Q端和T2的倒相作用,內部總線上的信息與到達P0口上的信息是同相的。只要寫脈沖加到鎖存器的CL端,內部總線上的信息就會出現在P0的引腳上。
需要注意的是,由于此時T2為漏極開路輸出,因此需要外接上拉電阻以確保正常工作。
當P0口作為輸入時,由于信號同時作用于T2和下方的三態緩沖器,若我們剛剛輸出的信號為“0”,即鎖存器數據為“0”,則經過非Q反相后驅動T2導通,從而將P0引腳信號鉗制在“0”電平,導致無法讀入“1”信號。為了避免這種情況,我們需要在輸入信號前,先向鎖存器的Q端寫入“1”,使非Q端為“0”,從而切斷T2的導通,這就是準雙向口的運作原理。但在訪問外部存儲器時,CPU會自動向鎖存器Q寫入“1”,因此對于用戶而言,P0口在作為數據/地址總線時,實際上是一個真正的雙向口。接下來,我們進一步探討為何需要上拉電阻。
由于P0口內部未配備上拉電阻,其驅動能力依賴于外部電路,因此在多數情況下,為確保P0口能正常工作,需要外接上拉電阻。當P0口用于驅動PNP管子時,低電平有效,此時無需上拉電阻;而驅動NPN管子時,則需要上拉電阻來確保后端導通。
簡而言之,上拉電阻的作用是將不確定的信號鉗位在高電平,同時起到限流作用。它從電源高電平引出,接到輸出端。對于OC或OD輸出,上拉電阻是必需的,否則無法輸出高電平。此外,若輸出電流較大導致電平降低,上拉電阻可以提供額外的電流分量,提高電平。
在51系列單片機中,P0口作為通用I/O口使用時,內部輸出電路為OD,必須外接上拉電阻才能輸出高電平;而PPP3口內部已具備上拉電阻,因此無需額外接上。但請注意,在某些情況下(如需減小壓降),仍需適當添加上拉電阻以確保電路正常工作。
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |