輸入輸出端口_第1頁
輸入輸出端口_第2頁
輸入輸出端口_第3頁
輸入輸出端口_第4頁
輸入輸出端口_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

MCS-51單片機的輸入/輸出端口主要內(nèi)容1P1口 2P2口3P3口 4P0口5端口的負載能力 和接口要求I/O口概述

MCS-51單片機的4個8位端口:

均可作一般I/O口,都是準(zhǔn)雙向口。

每個端口都可以按位作輸入或輸出

端口結(jié)構(gòu):每個端口都有一個(1)輸出鎖存器;(2)輸出驅(qū)動器;(3)輸入緩沖器。

輸出時鎖存數(shù)據(jù),輸入時數(shù)據(jù)緩沖。

4個端口的差別:功能不盡相同、內(nèi)部結(jié)構(gòu)有區(qū)別

1P1口

P1口是唯一的靜態(tài)準(zhǔn)雙向口,用作通用I/O口。

P1口的結(jié)構(gòu):主要由(1)輸出鎖存器;(2)輸出驅(qū)動器(場效應(yīng)管FET);(3)兩個三態(tài)緩沖器;(4)端口上拉電阻(實為FET)等部分組成。

P1口相對來說是最簡單的,其電路結(jié)構(gòu)如圖2-10所示。P1口

讀引腳內(nèi)部總線寫鎖存器DQ鎖存器CLQVcc讀鎖存器P1.xT圖2-15P1口某一位的原理結(jié)構(gòu)R12引腳輸入緩沖器輸出驅(qū)動器上拉電阻輸出鎖存器端口輸入緩沖器P1口

一、P1口輸出

輸出1:將1寫入P1口某一位的鎖存器,使輸出驅(qū)動器的場效應(yīng)管T截止,該位的引腳由內(nèi)部上拉電阻拉成高電平,輸出為1。

輸出0:將0寫入鎖存器,使場效應(yīng)管導(dǎo)通,則輸出引腳為低電平。

不需要外接上拉電阻:因P1口內(nèi)各位有上拉電阻,所以在輸出高電平時,能向外提供拉電流負載。

1P1口

二、P1口輸入

輸入通道建立:當(dāng)P1口的某位用作輸入時,該位的鎖存器必須鎖存輸出1(該位先寫1),使輸出場效應(yīng)管T截止,才能夠正確輸入。

輸入:這時從引腳輸入的值決定于外部信號的高低,引腳狀態(tài)經(jīng)“讀引腳”信號打開的三態(tài)緩沖器2,送入內(nèi)部總線。1P1口

準(zhǔn)雙向口特點

輸入時必須向?qū)?yīng)位先寫1:因為有可能前面的操作使引腳輸出0,場效應(yīng)管T處于導(dǎo)通狀態(tài),引腳被箝位為0,這樣,不管外部信號為何狀態(tài),從引腳輸入的永遠為0,不能夠正確輸入。

單片機端口輸入前必須先向端口輸出1這種特性,稱為準(zhǔn)雙向口。

MCS-51單片機的P0~P3口作為通用I/O口使用時,都是準(zhǔn)雙向口。1P1口

三、P1口作“讀—修改—寫”操作

“讀—修改—寫”操作概念:在CPU執(zhí)行某些指令時,需要先從P1口讀入數(shù)據(jù),經(jīng)過某些操作后,再從P1口輸出,這樣的操作稱為“讀—修改—寫”操作。

例如:指令“INCP1”,其操作先把P1口原來的值讀入(讀入的是鎖存器中的值,而不是引腳的值),然后加上1,最后把結(jié)果再從P1口輸出。 表2-7給出了P0~P3口所有的“讀—修改—寫”指令。1P1口表Px口的“讀—修改—寫”指令助記符功能實例INC增1INCP0DEC減1DECP1ANL邏輯與ANLP2,AORL邏輯或ORLP3,AXRL邏輯異或XRLP1,ADJNZ減1,結(jié)果不為0轉(zhuǎn)DJNZP2,LABELCPL位求反CPLP3.0JBC測試位為1轉(zhuǎn)并清0JBCP0.1,LABEL2P2口

P2口是一個雙功能口,一是通用I/O口,二是以總線方式訪問外存時的高8位地址口。

端口結(jié)構(gòu):與P1口的結(jié)構(gòu)類似,但比P1口多了一個多路切換開關(guān)MUX和反相器3。讀引腳內(nèi)部總線寫鎖存器讀鎖存器12VccP2.xTRMUX地址控制3DQ鎖存器CLQ2P2口

一、P2口作通用I/O口

一般I/O讀/寫操作指令:如執(zhí)行“MOVA,P2”指令、執(zhí)行“MOVP2,B”指令。

I/O口通道:由內(nèi)部硬件自動使開關(guān)MUX撥向下邊,與鎖存器的輸出端Q接通,這時P2口為通用I/O口,與P1口一樣。

I/O口讀/寫操作:可以隨時做輸出,輸入時要考慮其準(zhǔn)雙向口,先輸出1。

2P2口

二、P2口輸出高8位地址

高8位地址輸出通道:當(dāng)進行總線讀/寫操作(執(zhí)行“MOVX”指令)時,

MUX開關(guān)在硬件控制下自動撥向上邊,P2口輸出高8位地址。

總線操作指令:

“MOVXA,@Ri”或“MOVX@Ri,A”

“MOVXA,@DPTR”、 “MOVX@DPTR,A”

“MOVCA,@A+DPTR” P2口始終輸出高8位地址。 此時,P2口不能作為一般I/O口使用。2P2口

使用片外程序存儲器:

CPU從片外程序存儲器每讀一條指令,P2口就輸出一次高8位地址。 由于CPU需要一直讀取指令,P2口始終要輸出高8位地址。 在這種情況下P2口不能夠作為通用I/O口使用。

3P3口

P3口是一個多功能口,某位結(jié)構(gòu)如圖2-17

P3口的結(jié)構(gòu):與P1口比較,多了“與非門”3、緩沖器4。 正是這兩個部分,使得P3口具有第2功能

“與非門”3的作用:實際上是一個開關(guān),決定是輸出鎖存器Q端數(shù)據(jù),還是輸出第2功能(W)的信號。

3P3口

圖2-17P3口某一位的原理結(jié)構(gòu)第2功能輸入讀引腳內(nèi)部總線寫鎖存器DQ鎖存器CLQVcc讀鎖存器P3.xTR第2功能輸出3W124&第2功能輸出TXDWRRD

第2功能輸入RXDINT0INT1T0、T13P3口

一、P3口用作通用I/O口

I/O通道:當(dāng)通過P3口進行I/O讀/寫操作(執(zhí)行MOV等指令)時,“與非門”3的W信號自動變高,為Q信號輸出打開“與非門”,輸出信號經(jīng)過FET從P3引腳輸出,且為輸入做準(zhǔn)備。

輸入:其準(zhǔn)雙向特性應(yīng)該先輸出1;P3口引腳的外部信號,經(jīng)緩沖器4(常開)到緩沖器2,讀引腳時打開緩沖器2,引腳狀態(tài)進入內(nèi)部總線。3P3口

二、P3口用作第2功能 當(dāng)使用P3口的第2功能時,8個引腳有不同的意義(見表)。

1)第2功能輸出

第2功能輸出通道:輸出位的鎖存器被內(nèi)部硬件自動置1,使與非門3對第2功能的輸出是打開的。

第2功能輸出可以是:

TXD、WR、RD。 例如,P3.7第二功能為RD。

3P3口

2)第2功能輸入

第2功能輸入通道:某位作第2功能輸入時,該位的鎖存器輸出端被硬件自動置1,并且W保持為1,則與非門3輸出低,F(xiàn)ET截止,該位引腳為高阻輸入。

P3口的第2輸入功能可以是:

RXD、INT0、INT1、T0、T1。 此時端口不作通用I/O口,三態(tài)緩沖器2不導(dǎo)通。

3P3口

表P3口各引腳多功能定義引腳第二、第三功能P3.0RXD:串行口輸入P3.1TXD:串行口輸出P3.2INT0/GATE0

:外部中斷0請求輸入/定時器/計數(shù)器0運行外部控制輸入P3.3INT1/GATE1

:外部中斷1請求輸入/定時器/計數(shù)器1運行外部控制輸入P3.4T0:定時器/計數(shù)器0外部計數(shù)脈沖輸入P3.5T1:定時器/計數(shù)器1外部計數(shù)脈沖輸入P3.6WR:外部數(shù)據(jù)存儲器寫控制信號輸出P3.7RD:外部數(shù)據(jù)存儲器讀控制信號輸出4P0口 P0口是一個即可做總線口、也可以做一般I/O口使用。 作為總線操作時,分時地輸出低8位地址和傳輸數(shù)據(jù)、指令。 作為一部I/O口操作時,是準(zhǔn)雙向口。

P0口的結(jié)構(gòu)比其它口復(fù)雜。4P0口讀引腳內(nèi)部總線寫鎖存器DQ鎖存器CLQ讀鎖存器VccP0.xT2MUX地址數(shù)據(jù)控制C3&T1412

P0口結(jié)構(gòu):與P1口比較,多了

(1)一路總線輸出(地址/數(shù)據(jù))、(2)總線輸出控制電路(反相器3和與門4)、(3)兩路輸出切換開關(guān)MUX及開關(guān)控制C。并且上拉電阻換成了場效應(yīng)管T1。圖2-18P0口某一位的原理結(jié)構(gòu)VccR104P0口

一、P0口用作通用I/O口(C=0)

I/O通道:當(dāng)通過P0口進行I/O讀/寫操作(執(zhí)行MOV等指令)時,由硬件自動使控制線C=0,封鎖與門4,使T1截止。MUX撥向Q輸出端,把輸出場效應(yīng)管T2與鎖存器的Q端接通。

P0口可以作通用I/O口使用,但輸出級是開漏電路,外接上拉電阻,才能輸出高電平。

P0口作為通用I/O口時,也是準(zhǔn)雙向口。4P0口

二、P0口作為地址/數(shù)據(jù)總線使用(C=1)

1、總線操作通道 當(dāng)CPU對片外存儲器(程序、數(shù)據(jù))進行讀/寫(執(zhí)行MOVX指令,或EA=0時執(zhí)行MOVC指令)時,使控制線C=1,MUX撥向總線輸出端。

P0口的總線操作:分時地輸出地址和傳輸數(shù)據(jù)、指令。 具體有兩種情況。4P0口

2、P0口作為總線輸出地址或數(shù)據(jù) 在擴展的程序存儲器或數(shù)據(jù)存儲器系統(tǒng)中,對于P0口分時地輸出地址和輸出數(shù)據(jù),端口的操作是一樣的。

總線輸出通道:MUX開關(guān)把CPU內(nèi)部的地址或數(shù)據(jù)經(jīng)反相器3與驅(qū)動場效應(yīng)管T2的柵極接通。

總線輸出操作:輸出1時,T1導(dǎo)通而T2截止,從引腳輸出高電平;輸出0時,T1截止而T2導(dǎo)通,從引腳輸出低電平。

4P0口

3、P0口作為總線輸入數(shù)據(jù)或指令

總線輸入通道:

1)控制線C=1,總是將開關(guān)MUX撥向反相器3的輸出端,總線輸入時也是如此。

2)為了能夠正確讀入引腳的狀態(tài),地址/數(shù)據(jù)自動輸出1,使T2截止,T1導(dǎo)通。

總線輸入操作: “讀引腳”信號有效,三態(tài)緩沖器2打開,引腳上的信號進入內(nèi)部總線。

5端口負載能力和接口要求

一、P0口

1、負載能力

(1)一般I/O口的負載能力 每一位輸出可以驅(qū)動4個LS型TTL負載

(2)用作總線時的負載能力

P0口作總線時,每一位輸出可以驅(qū)動8個LS型TTL負載。

LS型TTL:L表示低功耗;S表示肖特基技術(shù)(超高速)

肖特基(Schottky)二極管是一種快恢復(fù)二極管,它屬一種低功耗、超高速半導(dǎo)體器件。5端口負載能力和接口要求 2、接口要求 (1)一般I/O口的接口要求

P0口的輸出級無上拉電阻,當(dāng)把它用作通用I/O口時,輸出級是開漏電路。

用其輸出驅(qū)動NMOS電路時,要外接上拉電阻。

(2)用作總線時的接口要求 把P0口用作地址/數(shù)據(jù)總線時(系統(tǒng)擴展有ROM或RAM),則無須外接上拉電阻。

作總線輸入時,不必先向端口寫1。5端口負載能力和接口要求

二、P1~P3口

1、負載能力

P1~P3口的輸出級接有上拉電阻,它們的每一位輸出可以驅(qū)動4個LS型TTL負載。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論