單片機原理:9-2擴展輸入輸出82C55_第1頁
單片機原理:9-2擴展輸入輸出82C55_第2頁
單片機原理:9-2擴展輸入輸出82C55_第3頁
單片機原理:9-2擴展輸入輸出82C55_第4頁
單片機原理:9-2擴展輸入輸出82C55_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第9章AT89S51單片機

的I/O擴展19.2AT89S51擴展I/O接口芯片82C55的設計先介紹可編程并行I/O接口芯片82C55的應用特性,然后介紹AT89S51與82C55的接口電路以及軟件設計。9.2.182C55芯片簡介Intel公司的可編程并行I/O接口芯片,3個8位并行I/O口,3種工作方式,單片機與多種外設連接時的中間接口電路。引腳及內部結構如圖9-1和圖9-2所示。..\資料\PDF\82C55_datasheet.pdf23圖9-182C55的引腳圖圖9-282C55的內部結構1.引腳說明共40個引腳,引腳功能如下:D7~D0:三態(tài)雙向數(shù)據線,與單片機的P0口連接,用來與單片機之間傳送數(shù)據信息。

:片選信號線,低有效,表示本芯片被選中。

:讀信號線,低有效,讀82C55端口數(shù)據的控制信號。

:寫信號線,低電平有效,用來向82C55寫入端口數(shù)據的控制信號。VCC:+5V電源。4PA7~PA0:端口A輸入/輸出線。PB7~PB0:端口B輸入/輸出線。PC7~PC0:端口C輸入/輸出線。A1、A0:地址線,用來選擇82C55內部的4個端口。RESET:復位引腳,高電平有效。2.內部結構如圖9-2所示,3個并行數(shù)據輸入/輸出端口,兩種工作方式的控制電路,一個讀/寫控制邏輯電路和一個8位數(shù)據總線緩沖器。各部件的功能如下:5(1)端口PA、PB、PC3個8位并行口PA、PB和PC,都可以選為輸入/輸出工作模式,功能和結構上有差異。PA口:一個8位數(shù)據輸出鎖存器和緩沖器;一個8位數(shù)據輸入鎖存器。PB口:一個8位數(shù)據輸出鎖存器和緩沖器;一個8位數(shù)據輸入緩沖器。PC口:一個8位的輸出鎖存器;一個8位數(shù)據輸入緩沖器。通常PA口、PB口作為輸入/輸出口,PC口既可作為輸入/輸出口,也可在軟件控制下,分為兩個4位的端口,作為端口PA、PB選通方式操作時的狀態(tài)控制信號。6(2)A組和B組控制電路是兩組根據AT89S51寫入的“命令字”控制82C55工作方式的控制電路。A組控制PA口和PC口的上半部(PC7~PC4);B組控制PB口和PC口的下半部(PC3~PC0),并可用“命令字”來對端口PC的每一位實現(xiàn)按位置“1”或清“0”。(3)數(shù)據總線緩沖器數(shù)據總線緩沖器是一個三態(tài)雙向8位緩沖器,作為82C55與系統(tǒng)總線之間的接口,用來傳送數(shù)據、指令、控制命令以及外部狀態(tài)信息。7(4)讀/寫控制邏輯電路接收AT89S51單片機發(fā)來的控制信號

、RESET、地址信號A1、A0等,然后根據控制信號的要求,端口數(shù)據被AT89S51單片機讀出,或者將AT89S51單片機送來的數(shù)據寫入端口。各端口工作狀態(tài)與控制信號的關系見表9-1。899.2.2工作方式選擇控制字及端口PC置位/復位控制字 可向82C55控制寄存器寫入兩種不同的控制字。1.工作方式選擇控制字 82C55有3種基本工作方式: (1)方式0—基本輸入/輸出; (2)方式1—選通輸入/輸出; (3)方式2—雙向傳送(僅PA口有此工作方式)。 3種工作方式方式控制字來決定。格式如圖9-3所示。最高位D7=1,為本方式控制字的標志,以便與另一控制字相區(qū)別(最高位D7

=

0)。1011圖9-3

82C55的方式控制字格式1-4-3PC口分兩部分,隨PA口稱為A組,隨PB口稱為B組。其中PA口可工作于方式0、1和2,而PB口只能工作在方式0和1?!纠?-1】

AT89S51向82C55的控制字寄存器寫入工作方式控制字95H,根據圖9-3,將82C55編程設置為:PA口方式0輸入,PB口方式1輸出,PC口的上半部分(PC7~PC4)輸出,PC口的下半部分(PC3~PC0)輸入。MOV DPTR,#××××H ;控制字寄存器端口地址

;××××H送DPTRMOV A,#95H ;方式控制字95H送AMOVX @DPTR,A ;控制字95H送控制字寄存器95H=1-0010-10112

圖9-4

PC口按位置位/復位控制字格式132.PC口按位置位/復位控制字為另一控制字。即PC口中任何一位,可用一個寫入82C55控制口的置位/復位控制字來對PC口按位置“1”或清“0”。用于位控。格式如圖9-4所示。

1-3-4(3-1)【例9-2】AT89S51向82C55的控制字寄存器寫入工作方式控制字07H,則PC3置1;08H寫入控制口,則PC4清0。程序段如下:07H=0000011108H=00001000MOV DPTR,#××××H ;控制寄存器端口地址

;××××H送DPTRMOV A,#07H ;方式控制字07H送A14MOVX @DPTR,A;控制字07H送控制寄存器,把PC3置1…………MOV DPTR,#××××H;控制字寄存器端口地址送DPTRMOV A,#08H ;方式控制字08H送AMOVX @DPTR,A ;08H送控制字寄存器,PC4清0159.2.382C55的3種工作方式1.方式0是基本輸入/輸出方式。T89S51可對82C55進行I/O數(shù)據的無條件傳送。例如,AT89S51單片機從82C55的某一輸入口讀入一組開關狀態(tài),從82C55輸出控制一組指示燈的亮、滅。并不需要任何條件,外設I/O數(shù)據可在82C55的各端口得到鎖存和緩沖。因此,方式0稱為基本輸入/輸出方式。方式0下,3個端口都可以由軟件設置為輸入或輸出,不需要應答聯(lián)絡信號。方式0的基本功能如下:16(1)具有兩個8位端口(PA、PB)和兩個4位端口(PC的上半部分和下半部分)。(2)任何端口都可以設定為輸入或輸出,各端口的輸入、輸出共有16種組合。PA口、PB口和PC口均可設定為方式0,并可根據需要,向控制寄存器寫入工作方式控制字,規(guī)定各端口為輸入或輸出方式。17【例9-3】

假設82C55的控制字寄存器端口地址為FF7FH,令PA口和PC口的高4位為方式0輸出,PB口和PC口的低4位為方式0輸入,初始化程序:MOV DPTR,#0FF7FH ;端口地址#0FF7F送DPTRMOV A,#83H ;方式控制字83H送AMOVX @DPTR,A ;控制字83H送控制字寄存器..\范例\8255-ASM182.方式1是一種采用應答聯(lián)絡的輸入/輸出工作方式。PA口、PB口皆可設成這種工作方式。在方式1下,82C55的PA口和PB口通常用于I/O數(shù)據的傳送,PC口用作PA口和PB口的應答聯(lián)絡信號線,以實現(xiàn)采用中斷方式來傳送I/O數(shù)據。PC口的PC7~PC0的應答聯(lián)絡線是規(guī)定好的,其各位分配如圖9-5和圖9-7所示,圖中,標有I/O的各位仍可用作基本輸入/輸出,不作應答聯(lián)絡用。下介紹方式1輸入/輸出時的應答聯(lián)絡信號與工作原理。19(1)方式1輸入 方式1輸入應答聯(lián)絡信號如圖9-5所示。其中

與IBF為一對應答聯(lián)絡信號。各應答聯(lián)絡信號的功能如下。

:是由輸入外設發(fā)給82C55的選通輸入信號,低有效。IBF:輸入緩沖器滿,應答信號。82C55通知外設已收到外設發(fā)來的且已進入輸入緩沖器的數(shù)據,高有效。INTR:由82C55向AT89S51單片機發(fā)出的中斷請求信號,高有效。INTEA:控制PA口是否允許中斷的控制信號,由PC4的置位/復位來控制。20INTEB:控制PB口是否允許中斷的控制信號,由PC2的置位/復位來控制。方式1輸入如圖9-6所示。下面以PA口的方式1輸入為例,介紹方式1輸入的工作過程。①當外設向82C55輸入一個數(shù)據并送到PA7~PA0時,外設自動在

上向82C55發(fā)送一個低電平選通信號。②82C55收到

后,先把PA7~PA0輸入的數(shù)據存入PA口的輸入數(shù)據緩沖/鎖存器,然后使輸出應答線IBF變?yōu)楦?,通知輸入外設,PA口已收到它送來的數(shù)據。③82C55檢測到

由低電平變?yōu)楦唠娖?、IBFA(PC5)為“1”狀態(tài)和中斷允許INTEA(PC4)=1時,使21INTRA(PC3)變?yōu)楦唠娖?,向單片機發(fā)出中斷請求。INTEA的狀態(tài)可由用戶通過指令對PC4的單一置位/復位控制字來控制。④單片機響應中斷后,進入中斷服務子程序來讀取PA口的外設發(fā)來的輸入數(shù)據。當輸入數(shù)據被單片機讀走后,82C55撤銷INTRA上的中斷請求,并使IBFA變低,通知輸入外設可傳送下一個輸入數(shù)據。2223圖9-5

方式1輸入應答聯(lián)絡信號24圖9-6

PA口方式1輸入工作過程示意圖(2)方式1輸出 方式1輸出時,應答聯(lián)絡信號如圖9-7所示。

構成一對應答聯(lián)絡信號,應答聯(lián)絡信號功能如下。

:端口輸出緩沖器滿信號,低有效,它是82C55發(fā)給外設的聯(lián)絡信號,表示外設可以將數(shù)據取走。

:外設應答信號,低有效。表示外設已把82C55發(fā)出的數(shù)據取走。INTR:中斷請求信號,高有效。表示該數(shù)據已被外設取走,向單片機發(fā)出中斷請求,如果AT89S51響應該中斷,在中斷服務子程序中向82C55寫入要輸出的下一數(shù)據。25INTEA—控制PA口是否允許中斷,由PC6控制。INTEB—控制PB口是否允許中斷,由PC2控制。方式1輸出工作示意如圖9-8所示。以PB口的方式1輸出為例,介紹工作過程。①AT89S51可以通過“MOVX@Ri,A”指令把輸出數(shù)據送到B口的輸出數(shù)據鎖存器,82C55收到后便令輸出緩沖器滿引腳

(PC1)變低,以通知輸出設備輸出的數(shù)據已在PB口的PB7~PB0上。②輸出外設收到

上低電平后,先從PB7~PB0上取走輸出數(shù)據,然后使

B

變低電平,以通知82C55輸出外設已收到82C55輸出的數(shù)據。2627圖9-7

方式1輸出應答聯(lián)絡信號

圖9-8

PB口方式1輸出工作過程示意圖28③82C55從應答輸入線

B收到低電平后就對

B

和中斷允許控制位INTEB狀態(tài)進行檢測,若皆為高電平,則INTRB變?yōu)楦唠娖蕉騿纹瑱C請求中斷。④AT89S51單片機響應INTRB上中斷請求后便可通過中斷服務程序把下一個輸出數(shù)據送到PB口的輸出數(shù)據鎖存器。重復上述過程,完成數(shù)據的輸出。3.方式2(掌握以上兩種方式后,自讀)只有PA口才有方式2。圖9-9為工作示意圖。方式2是方式1輸入和輸出組合。PA7~PA0為雙向I/O總線。當作為輸入口使用,PA7~PA0受STBA

和IBFA控制;當作輸出端口使用,PA7~PA0受

A、

A

控制。2930圖9-9

PA口在方式2下的工作示意圖方式2特別適用于像鍵盤、顯示器一類的外部設備,因為有時需要把鍵盤上輸入的編碼信號通過PA口送給單片機,有時又需把單片機發(fā)出的數(shù)據通過PA口送給顯示器顯示。9.2.4AT89S51單片機與82C55的接口設計1.硬件接口電路如圖9-10為AT89S51擴展一片82C55的電路。P0.1、P0.0經74LS373與82C55的A1、A0連接;P0.7經74LS373與片選端

相連,其它地址線懸空;82C55的控制線

直接與單片機

端相連;單片機數(shù)據總線P0.0~P0.7與82C55數(shù)據線D0~D7連接。312.確定82C55端口地址圖9-10中82C55只有3條線與AT89S51地址線相接,片選端

、端口地址選擇端A1、A0,分別接于P0.7、P0.1和P0.0,其他地址線全懸空。顯然只要保證P0.7為低電平時,即可選中82C55;若P0.1、P0.0再為“00”,則選中82C55的PA口。同理P0.1、P0.0為“01”、“10”、“11”分別選中PB口、PC口及控制口。若端口地址用16位表示,其他無用端全設為“1”(也可把無用端全設為“0”),則82C55的A、B、C及控制口地址分別為FF7CH、FF7DH、FF7EH、FF7FH。3233圖9-10AT89S51單片機擴展一片82C55的接口電路如果沒有用到的位取“0”,則4個端口地址分別為0000H、0001H、0002H、0003H,只要保證

、A1、A0的狀態(tài),無用位設為“0”或“1”均可。3.軟件編程在實際設計中,須根據外設的類型選擇82C55的操作方式,并在初始化程序中把相應控制字寫入控制口。下面根據圖9-10,介紹對82C55進行操作的編程。【例9-4】要求82C55工作在方式0,且PA口作為輸入,PB口、PC口作為輸出,程序如下:MOV A,#90H ;控制字送AMOV DPTR,#0FF7FH;控制寄存器地址FF7FH→DPTR34MOVX @DPTR,A ;方式控制字→控制寄存器MOV DP

溫馨提示

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

評論

0/150

提交評論