并行通信接口课件_第1页
并行通信接口课件_第2页
并行通信接口课件_第3页
并行通信接口课件_第4页
并行通信接口课件_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1

並行通信介面28.1概述

並行通訊就是將一個字元的8位用8根線來傳輸,速度快,線路成本增加,適合外設與微機之間通訊、主板各部件之間近距離通訊。能夠實現並行通訊的介面就是並行介面。8.1.1典型的雙向並行介面與外設連接

1.並行介面與CPU的連接,見圖8.1

(1)數據匯流排:是CPU與並行介面進行數據交換的通道。

(2)讀出寫入信號線:控制數據流向,確定操作是讀還是寫。

(3)複位線、準備好狀態線:並行介面數據準備就緒。

(4)中斷請求線:並行介面向CPU進行中斷請求。

(5)地址解碼電路:進行選擇不同的介面電路,選擇介面電路內部不同的寄存器。

32.並行介面與外設的連接,

見圖8.1。(1)輸入設備:數據輸入線、設備數據準備就緒狀態線和介面接收數據回答線。(2)輸出設備:數據輸出線、介面數據準備就緒狀態線和外設接收數據回答線。

3.並行介面(1)控制寄存器:接收CPU發來的控制命令。(2)數據輸入緩衝器、數據輸出緩衝器:進行數據的輸入、輸出。(3)狀態寄存器:提供介面電路工作狀態供CPU查詢。48.1.2並行介面的工作原理

1.並行介面輸入數據的過程外設將數據送到“數據輸入線”,通過“輸入數據準備好”狀態線通知並行介面取走,介面將數據鎖存到“輸入緩衝器”,通過“數據輸入回答”線通知外設,介面數據緩衝器已滿,不要再送數據,介面在其內“狀態寄存器”的相應位置1,便於CPU查詢和介面向CPU發中斷請求之用。

CPU從介面將數據取走後,介面將“數據輸入準備好”、“數據輸入回答”信號清除,以便外設輸入下一個數據。

2.並行介面輸出數據的過程介面“數據輸出緩衝器”空,“數據輸出準備好”狀態線送1,收到CPU發的數據,將之複位清0,數據通過“數據輸出”線送外設,由“數據輸出準備好”線通知外設取數據。外設取走數據,將“數據輸出準備好”信號線置1,以便CPU輸出下一個數據。5一般地並行介面有3個方面的功能:

(1)實現與系統匯流排的連接:提供數據的輸入輸出功能。

(2)實現與外設連接:確保與外設間有效進行數據的接收和發送。

(3)具有中斷請求處理功能:外設輸入輸出採用中斷的方法來實現。8.1.3並行介面的功能

返回本章目錄68.2可編程的並行介面晶片8255A

8.2.1並行介面8255A的內部結構

8255A由數據匯流排緩衝器、讀寫控制邏輯、A組B組控制邏輯、並行輸入輸出端口等4個部分組成,見圖8.2。

1.數據匯流排緩衝器雙向三態的8位數據緩衝器,是8255A與CPU之間的數據接口,用於傳送控制命令和傳送數據。

2.讀寫控制邏輯接收CPU的A0、A1、、和RESET引腳發來的控制命令,並向A組B組控制部件發送控制。

3.A組B組控制部件

A組控制部件用來控制端口PA及端口PC的高4位PC4-PC7。B組控制部件控制端口PB及端口PC的低4位PC0-PC3,控制電路根據CPU發來的控制字,確定各端口的工作方式進行讀寫操作。7

4.並行輸入輸出端口,見圖8.2。

8255A內部有3個8位並行端口:A、B和C端口,均可獨立地作為輸入、輸出資訊的端口,對CPU與外設交換的數據進行緩存或鎖存。

(1)端口PA:內有1個8位的“數據輸入鎖存器”和1個8位的“數據輸出鎖存/緩衝器”。

(2)端口PB:內有1個8位的“數據輸入鎖存器”和1個8位的“數據輸入、輸出鎖存/緩衝器”。(3)端口PC:內有1個8位的“數據輸入鎖存器”和1個8位的“數據輸出鎖存/緩衝器”。

PA、PB作為數據的輸入、輸出端口,端口PC作為控制或狀態資訊端口。在方式控制字下,PC可分高4位、低4位來使用,高4位PC4-PC7與端口PA配合使用,而低4位PC0-PC3與端口PB配合使用,作為輸出控制信號或輸入狀態信號。88255A有40根引腳,與外設連接24根,與CPU連接16根,見圖8.3。

1.8255A與外設相連的引腳,共24根分3組(1)A端口PA0-PA7:8根可設定為輸入或者輸出方式,也可設定為輸入/輸出雙向方式,通常作為輸入端口。

(2)B端口PB0-PB7:8根可設定為輸入或者輸出方式,也可設定為輸入/輸出雙向方式,通常作為輸出端口。

(3)C端口PC0-PC7:8根可設定為輸入或者輸出方式,也可設定為輸入/輸出雙向方式,常用作為輸出端口和控制端口來配合A端口、B端口工作。8.2.2並行介面8255A晶片引腳

92.8255A與CPU相連的16根引腳,見圖8.3。

(1)數據匯流排D0-D7:CPU與8255A間傳送數據、命令和控制字。

(2)地線GND:1根。

(3)電源線VCC:接+5V電源。

(4)RESET複位線:高電平時有效時,將8255A的控制寄存器、A端口、B端口和C端口所設置的工作方式清0。

(5)片選信號線:低電平有效時選中8255A。

(6)讀信號線:低電平有效時8255A處於讀資訊的狀態。

(7)寫信號線:低電平有效時8255A處於寫信息的狀態。

(8)地址線A0、A1:A0、A1的編碼與、、引腳電平的組合,形成對8255A的基本讀寫操作,見表8.1。108255A可編程並行介面晶片,用指令方式初始化,決定端口是輸入方式還是輸出方式。其工作狀態、工作方式通過向控制端口寫入控制字完成。控制字有兩類:A、B、C工作方式選擇字和C按位設置“0”或“1”。

1.工作方式選擇字設置8255A的A、B、C這3個端口數據傳輸方向是輸入/輸出,工作方式有3種:方式0、方式1和方式2,A口可以3種方式中的任一種,B口能工作在方式0、方式1這2種,C口只能工作在方式0。常將3個端口分2組設定,A與C的高4位為A組,B與C的低4位為B組。

8.2.3並行介面8255A的控制字

11

控制字格式,見圖8.4。(1)D0是C口低4位輸入/輸出控制位:D0=0時,PC0-PC3用於輸出數據,D0=1時,PC0-PC3用於輸入數據。(2)D1是B口輸入/輸出控制位:D1=0時,PB0-PB7用於輸出數據,D1=1時,PB0-PB7用於輸入數據。(3)D2B組方式選擇位:D2=0時,為方式0,D2=1時,為方式1。(4)D3是C口高4位輸入/輸出控制位:D3=0時,PC4-PC7用於輸出數據,D3=1時,PC4-PC7用於輸入數據。

(5)D4A口輸入/輸出控制位:D4=0時,PA0-PA7用於輸出數據,D4=1時,PA0-PA7用於輸入數據。

(6)D6、D5為A組方式選擇位:D6D5=00時,A組設為方式0,D6D5=01時,A組設為方式1,D6D5=1×時,A組設為方式2。

(7)D7控制字標誌位:D7=0為方式控制字,D7=1為C口控制字。

12

例如:端口地址為04A0H-04A6H的8255A並行介面,A口設為輸出數據,工作方式0,B口設為輸入數據,工作方式1,C口高4位輸入,低4位輸出,進行初始化。程式段為:

MOVDX,04A6H;控制端口地址

MOVAL,8EH;工作方式控制字8EH=10001110B

OUTDX,AL;控制字送控制口,對照圖8.4格式來讀132.C口置“0/1”控制字

C的各位常作控制位,用置“0/1”控制字設置,見圖8.5。

(1)D0置“0/1”控制位:D0=0時,使C口的D3D2D1編碼位清“0”複位,D0=1時,使C口的D3D2D1編碼位設置“1”,如D7=0(控制字的特徵位),D3D2D1=010即對第2位設置,D0=1,則PC2置“1”。

(2)D3D2D1用於控制PC0-PC7某位置“0/1”:D3D2D1編碼為操作的位編號,如D3D2D1=101,則對第5位PC5進行置“0/1”操作。

(3)D6D5D4位:不影響置字操作,0、1均可。

(4)D7控制字的特徵位:D7=0時才有效。

14

而對C口的置“0/1”操作,其控制字寫入“控制寄存器”。例如:8255A控制器端口地址為00EEH,對C口進行操作,將PC6位置“1”,PC2位置“0”。程式段為:

MOVDX,00EEH;控制端口地址

MOVAL,07H

;PC6置“1”,7H=00001101B

OUTDX,AL

;控制字送控制端口,對照圖8.5

MOVAL,05H;PC2置“0”,5H=00000101B

OUTDX,AL;進行設置15實例:端口地址00EEH的8255A,使C口的PC1位產生一個脈衝。對照圖8.5。程式段為:MOVDX,00EEH

;控制端口地址MOVAL,02H

;對PC1位置“0”OUTDX,AL

;控制字送到控制端口MOVAL,03H

;PC1置“1”OUTDX,ALCALLDELAY

;調用延時副程式MOVAL,02H

;對PC1位置“0”OUTDX,AL16A端口能工作在方式0、方式1和方式2中的任一種,B端口能工作在方式0、方式1兩種,C口只能工作在方式0。

1.方式0:基本輸入輸出方式任何一個端口可以作為輸入端口,也可作為輸出端口,各個端口之間沒有必然的聯繫。端口A、端口B與端口C的高4位端口和低4位端口,它們的輸入、輸出,可以有16種不同的組合,適用於多種場合使用;

2.方式1:選通的輸入輸出方式

A端口、B端口作數據傳輸口,通過工作方式控制字來設定輸入數據或者輸出數據,方式1適用於查詢方式、中斷方式來進行數據傳輸。C端口用作控制用,配合A端口、B端口進行數據傳輸,有2種情況:

8.2.4並行介面8255A的工作方式17

(1)方式1的輸入方式

C端口配合A端口、B端口輸入數據,為它們各規定3條線作為外設和CPU之間的應答信號線。見圖8.6。

1)

(PC2、PC4)選通輸入:低電平有效,PC4對應A口、PC2對應B口,輸入有效低電平時,將外設輸入的數據送到數據鎖存器。

2)

IBF(PC1、PC5)輸入緩衝滿:高電平有效,PC5對應A口、PC1對應B口,IBF=1時緩衝滿,外設不應送數據;IBF=0時緩衝空,外設可以送數據。

3)

INTR(PC0、PC3)中斷請求:高電平有效,PC3對應A口、PC0對應B口,INTR=1時,產生一個高電平的中斷請求給CPU,要求CPU取走外設輸入的數據。

4)

INTE中斷遮罩信號:INTE=1時,A端口、B端口允許申請中斷;INTE=0時,A端口、B端口禁止申請中斷。PC4是A端口允許申請中斷控制信號,PC2是B端口允許申請中斷控制信號。

C端口的PC6、PC7未用於控制,可用於數據輸入輸出,由方式控制字D3位決定,且具有置位功能。18

(2)方式1的輸出方式

C端口配合A端口、B端口輸入數據,為它們各規定3條線作為外設和CPU之間的應答信號線,見圖8.7。

1)

(PC1、PC7)外設應答信號:PC7對應A口、PC1對應B口,輸出有效低電平時,表示8255A端口的數據已經被外設取走。

2)

(PC2、PC6)輸出緩衝器裝滿信號:PC6對應A口、PC2對應B口,輸入有效低電平時,CPU將數據輸入到8255A的端口,外設可以來取數據。

3)

INTR(PC0、PC3)中斷請求信號:PC3對應A口、PC0對應B口,INTR=1時,允許中斷請求,此時,輸出緩衝器為空,=1,向CPU發一高電平中斷請求,CPU可繼續向輸出緩衝器輸入數據。

19

見圖8.7

4)

INTE中斷遮罩信號:高電平有效,INTE=1時,A端口、B端口允許申請中斷,INTE=0時,A、B端口禁止申請中斷,PC6是A端口允許申請中斷控制信號,PC2是B端口允許申請中斷控制信號。在方式1輸出方式中,C端口的PC4、PC5未用於控制,可用於數據輸入輸出,由方式控制字D3位決定,且具有置位功能。20

3.方式2:雙向傳送方式可作為輸入又可作為輸出的設備,A口可採用方式2,8根數據線與CPU之間進行分時數據輸入/輸出,工作時採用查詢方式,可採用中斷方式,此時,B口工作在方式0或方式1,C口的PC3-PC7作為控制的狀態信號線,見圖8.8。

(1)(PC7)輸出緩衝器滿信號:輸出低電平表示輸出緩衝器滿。

(2)(PC6)外設接收到數據應答信號:輸出有效低電平表示外設接收到數據。

(3)(PC4)外設輸入選通信號:輸入有效低電平時表示8255A接收一個從外設輸入的數據,將數據鎖存在“輸入鎖存器”中。

21

見圖8.8

(4)IFBA(PC7)輸入緩衝器滿信號:高電平有效時,表示有一個數據已經裝入“緩衝器”。

(5)INTRA信號:在輸入時,輸入緩衝器滿,且當INTE1=1時,INTRA向CPU發一個中斷請求;在輸出時,輸出緩衝器空,且當INTE2=1時,INTRA向CPU發一個中斷請求。中斷允許觸發器INTE1,由C口的PC6來置“0/1”,中斷允許觸發器INTE2,由C口的PC4來置“0/1”。返回本章目錄228.3並行介面8255A應用舉例

並行介面8255A的應用於印表機介面,與印表機相連,連接見圖8.9。以方式0工作,印表機介面在低電平有效時,表示印表機“空閒”,接收數據,在BUSY高電平有效時,表示印表機“很忙”,不能接收數據,需列印的數據存放在記憶體BUF區域。C口按位“置位/複位”控制字用來產生印表機控制信號,控制印表機的“啟動/停止”,列印程式為:

DATASEGMENTBUFDB“HOWAREYOU!”,”$”DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA23MOVDS,AXMOVSI,OFFSETBUF;列印資訊的偏移地址

MOVAL,88H;88H=10001000BMOVDX,63H;A口方式0,C口上半部輸入

OUTDX,AL;8255A初始化

MOVAL,01H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论