官术网_书友最值得收藏!

3.1 單片機的并行接口

課件 單片機的并行接口-P0口

視頻 單片機的并行接口-P0口

51單片機有4個并行接口,分別為P0、P1、P2、P3,每個接口均包括8條I/O口線,總共有32條I/O口線(引腳)。每個并行接口包含1個鎖存器、1個輸出驅動器和輸入緩沖器,但是這4個并行接口的具體結構和功能卻不完全相同。下面分別介紹它們的內部結構和工作原理。

1.P0口

P0口是一個8位漏極開路的雙向三態I/O口,這是一個多功能接口,除了作為通用的I/O口外,還可以作為地址/數據總線,在單片機進行系統擴展時用作系統總線來使用。

P0口的8個引腳的位結構都是相同的,這里通過分析其中一個位結構來了解一下P0口的組成結構及工作原理。

由圖3-1可以看到,P0口的位結構包括1個鎖存器、2個三態緩沖器、1個輸出驅動電路和1個輸出控制電路。其輸出控制電路由1個與門、1個反相器和1個多路轉換開關組成;輸出驅動電路由2個場效應管組成。

下面分別就P0口的不同功能進行工作原理的簡單介紹。

圖3-1 P0口一個引腳的位結構

1)P0口用作通用的I/O口

對照圖3-1,當P0口作為普通的I/O口時,控制信號為低電平(即0),則控制電路中與其相連的與門輸出必定為低電平,因此與輸出驅動電路相連的場效應管V1處于截止狀態。又因為控制信號為低電平,控制多路轉換開關MUX向下閉合,與輸出鎖存器的端相連。這種情況下當寫鎖存器的信號CL有效時,內部連通的線路是:內部數據總線→鎖存器的D端→鎖存器的反相輸出端→多路轉換開關MUX→場效應管V2的柵極→P0口的某一位引腳。

P0口作為輸出口時是漏極開路,因此后級電路必須外接上拉電阻。只有外接了上拉電阻,才能輸出高電平,同時也加大了輸出引腳的驅動能力。

當P0口作為輸出引腳時,其工作原理如下:

(1)當內部總線輸出1,且鎖存器的CL引腳獲得寫脈沖時,鎖存器的D端與Q端值相同為1,端對輸入取反為0,而通過轉換開關MUX與場效應管V2的柵極相連,此時V2截止,則P0的這個引腳變為高電平1,與總線上的輸出相同,實現了高電平輸出。

(2)當內部總線輸出0,寫鎖存器信號CL有效時,鎖存器的D端與Q端值相同為0,端對輸入取反為1,而通過轉換開關MUX與場效應管V2的柵極相連,此時V2導通,則P0的這個引腳變為低電平0,與總線上的輸出相同,實現了低電平輸出。

當P0口作為輸入引腳時,需要考慮讀引腳還是讀鎖存器。

讀取P0口某一引腳上的數據時,讀引腳緩沖器打開,此時引腳上的數據直接通過緩沖器到達內部數據總線和鎖存器,完成數據讀取。此時通過打開讀鎖存器緩沖器,也可以讀取鎖存器的輸出Q的值,一般情況下,讀引腳與讀鎖存器獲得的值是一樣的,直接讀取就可以獲得輸入的數據。

但也有例外情況,比如,剛剛從內部總線輸出低電平時,鎖存器Q=0,,此時場效應管V2導通,引腳呈低電平。此時無論端口線上外接的信號是低電平還是高電平,從引腳讀進來的都會是低電平,導致不能正確讀取引腳信號。因此在讀取數據前,該引腳需要先置1,使V2截止,這樣才能正確讀取外部輸入的信號。

2)P0口用作地址/數據復用口

P0口在訪問外部存儲器時作為地址/數據復用端口。這時控制電路中的控制信號固定為高電平,并控制使多路轉換開關MUX與反相器的輸出端相連,此時與場效應管V2相連的與門狀態是由數據/地址線來控制的。此刻內部連通的線路也有兩條,分別是:

(1)地址/數據線→反相器→多路轉換開關→場效應管V2→P0口某一位的引腳。

(2)地址/數據線和控制信號線→與門→場效應管V1→P0口某一位的引腳。

這兩條線路在同一時刻只能有一條是連通的。

當地址/數據信號為0時,與門輸出低電平,場效應管V1截止,而與地址/信號線相連的反相器得到高電平,通過多路轉換開關后,場效應管V2導通,此刻通過該引腳輸出的是低電平,與地址/數據信號輸出相同,實現了輸出地址/數據信號。

當地址/數據信號為1時,與之相連的反相器得到低電平,通過多路轉換開關后,使與之相連的場效應管V2截止;與此同時,與門獲得高電平輸出,場效應管V1導通,此刻通過該引腳輸出的是高電平。

由此可見,在輸出地址/數據信號時,V1與V2是交替導通的,是一種推挽結構,負載能力很強,可以直接與外部存儲器相連,無須再增加總線驅動器。

2.P1口

課件 單片機的并行接口-P1、P2口

視頻 單片機的并行接口-P1、P2口

P1口是一個8位準雙向并行口,它是所有4個并行口中結構最簡單、功能最單一的接口。與P0口明顯不同的是,P1口內置了上拉電阻。其位結構如圖3-2所示。

圖3-2 P1口一個引腳的位結構

1)P1口用作輸入端口

P1口作為輸入端口時,為了準確讀取引腳的信息,必須先向鎖存器寫1,此時鎖存器的Q=1,,場效應管V截止。這時引腳上輸入的高電平信號就可以通過讀引腳緩沖器進入內部總線和鎖存器中。

2)P1口用作輸出端口

P1口作為輸出端口時,當寫鎖存器信號CL有效時,內部總線上的數據進入鎖存器中。如果內部總線為0,則鎖存器的Q=0,,場效應管V導通,引腳通過V連到接地上,此時引腳輸出為低電平0;如果內部總線為1,則鎖存器的Q=1,,場效應管V截止,由于上拉電阻的作用,此時該引腳輸出為高電平1。

3.P2口

P2口是一個多功能的8位準雙向I/O口,其內部結構與P1口相似,但比P1口多了一個多路轉換開關,因此P2口兼有P0口與P1口的一些特點,這主要體現在輸出功能上。當多路轉換開關向左與鎖存器的Q端相連時,內部總線上輸出的信息通過反相器與場效應管相連,此時輸出的是總線上傳遞的信息;當多路轉換開關向右與地址線相連時,地址線上的信息通過反相器與場效應管相連,此時輸出的是地址信息。其位結構如圖3-3所示。

圖3-3 P2口一個引腳的位結構

1)P2口用作輸入端口

P2口作為輸入端口時,也需要先向鎖存器寫1,使場效應管先截止。此時引腳上輸入的高電平信號,送到讀引腳緩沖器輸入端,只有當讀引腳緩沖器導通時,引腳上的高電平信號才可能送到內部總線和鎖存器中。

2)P2口用作輸出端口

P2口作為輸出端口時,內部總線上的信息通過鎖存器的D端輸出到多路轉換開關,再通過反相器后,連接到場效應管,最后到達輸出引腳。

P2口具有多功能,除了可作為普通的I/O口外,還可作為訪問外部存儲器的地址信息。在控制信號的作用下,多路轉換開關MUX與地址線相連時,地址信號就通過反相器、場效應管、引腳進行輸出。值得注意的是,P2口輸出的地址信號是外部存儲器的高8位地址,其低8位地址信號是在控制信號作用下由P0口輸出的。

4.P3口

課件 單片機的并行接口-P3口

視頻 單片機的并行接口-P3口

P3口也是多功能的8位準雙向并行口。其工作原理與P1、P2口相似,但也有不同。在作為普通I/O口時,第二功能的輸出端要保持高電平,只有這樣,鎖存器的輸出才能順利通過與非門,到達場效應管的柵級,并通過引腳輸出。其位結構如圖3-4所示。

圖3-4 3口一個引腳的位結構

P3口的每一位都具有第二功能。當使用P3口中某一位的第二功能時,要求該位的鎖存器必須置位,以使第二功能輸出端的信息能夠順利通過與非門,到達場效應管的柵極。當使用第二功能輸入引腳時,必須使鎖存器和第二功能輸出線同時為1,這樣才能使第二功能的輸入信息送達該引腳。P3口各引腳的第二功能見表3-1。

表3-1 P3口各引腳的第二功能

在P3口的引腳信號輸入通道中有兩個緩沖器,第二功能輸入信息取自第一個緩沖器的輸出端,一般輸入信號取自第二個緩沖器的輸出端。

5.雙向與準雙向I/O口

P1、P2、P3口都是準雙向I/O口,每一條口線(引腳)內部都有上拉電阻,都能獨立地作為輸出引腳或輸入引腳。作為輸入引腳時,必須先向鎖存器寫1,使場效應管截止,同時該引腳由內部的上拉電阻拉成高電平。當外部輸入1時,該引腳即為高電平;輸入0時,該引腳會被拉低為低電平。

P0口被稱為雙向口,其內部沒有上拉電阻。雙向指的是它被用作地址/數據端口時(且只有此時),P0口處于兩個場效應管的推挽狀態,當兩個場效應管都關閉時,就會出現高阻狀態,此時即為雙向狀態。

當P0口用于一般I/O口時,內部接VCC的場效應管是與引腳脫離的,此時只有接地的那個場效應管在起作用。這個時候通過P0口輸出數據,必須外接上拉電阻才能輸出高電平。如果此時P0口作為輸入端使用,那么也需要先對端口寫1,使下方場效應管先斷開,這個時候如果引腳沒有接上拉電阻,則引腳呈現的是高阻狀態;如果接了上拉電阻,則本身會輸出高電平。

雙向口與準雙向口的區別在于雙向口有高阻態,輸入的是真正的外部電信號;準雙向口沒有高阻態,但其內部有上拉電阻,所以輸入的高電平是內部給出的,并不是真正的外部電信號。其實這兩種信號在電平邏輯上是沒有區別的,但作為模擬信號采集時只能使用外部真正的電信號。所以,P0口是真正的雙向口,其余均為準雙向口。不論準雙向口還是雙向口,在輸入數據時都需要先向端口寫“1”。

P0口為漏極開路,具有較大的驅動能力,能驅動8個LS TTL負載。如果需要增加負載能力,還可在P0總線上增加總線驅動器。P1、P2、P3口各能驅動4個LS TTL負載。

主站蜘蛛池模板: 海原县| 稷山县| 广河县| 杂多县| 万源市| 普陀区| 都安| 宜都市| 灵武市| 丹阳市| 邓州市| 奉节县| 通海县| 福清市| 贵溪市| 民权县| 泌阳县| 凤阳县| 汉中市| 新化县| 修水县| 锡林浩特市| 雷州市| 大连市| 车致| 华亭县| 高邑县| 谢通门县| 鹿邑县| 昔阳县| 沐川县| 朝阳县| 长葛市| 本溪| 积石山| 蓬溪县| 清徐县| 邻水| 清徐县| 东丰县| 隆昌县|