第8章 常用接口芯片_第1頁
第8章 常用接口芯片_第2頁
第8章 常用接口芯片_第3頁
第8章 常用接口芯片_第4頁
第8章 常用接口芯片_第5頁
已閱讀5頁,還剩188頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第8章常用I/O接口芯片

..1、并行通信技術基礎知識

息據傳輸方式

■以計算機的字長,通常是8位、16位或32位為傳

輸單位,一次傳送一個字長的數據

■適合于外部設備與微機之間進行近距離、大量和

快速的信息交換

■例如:微機與并行接口打印機、磁盤驅動器

-微機系統中最基本的信息交換方法

■例如:系統板上各部件之間,接口電路板上

各部件之間

并行接口與并行通信

■在多條物理數據線上同時傳輸多位二進

制數據,那么這種傳輸就是并行傳輸、

這種接口就是并行接口。

■信息交換是通過并行接口來完成的話,

這種通信就是并行通信。

并行接口的特點

■Jbr廠并行接口最基本的特點是在多條數據線上以數據字節

(字)為單位與I/O設備或被控對象交換信息。如打印機接

口,A/D、D/A箱換器接口等。

■(2)在并行接口中,除了少數場合(無條件傳送)外,一

般都要求在接口與外設之間設置并行數據線的同時,至少還

要設置兩條聯絡(握手)信號線,以便進行互鎖異步握手方

式(即查詢方式)的通信。

■(3)在并行接口中,并行的多位二進制(8位、16位或32

位)是一起動作的,因此,當采用并行接口與外設交換數據

時,即便是只用到其中的一位,也是一次輸入/輸出所有的

并行位(8位、16位或32位)。

■(4)并行傳輸的信息,從時間順序來講一般不需要固定的

格式,由于并行通信的雙方往往是控制與被控制方式連接的。

-(5)并行接口可直接設置成用硬布線方式連接的接口,也

可用可編程接口芯片組成可編程接口。

并行接口電路8255A

-具有多種功能的可編程并行接口電路芯片

■最基本的接口電路:三態緩沖器和鎖存器

■與CPU間、與外設間的接口電路:狀態寄存器

和控制寄存器

■還有端口的譯碼和控制電路、中斷控制電路

■分3個端口,共24個外設引腳

■共三種輸入輸出工作方式

口【肚n

8255A的內泊吉福和A組

A組

端口A

控制G

A組

數據

內部數據線端口C

Do?D7O總線C上部

緩沖器

B組

B組

端口B

RD-“控制uAPB0-PB7

WR一寫

A。.制

-輯B組

A內部控制線

cs—端口C

RESET一下部

哥森那魯‘具也魯理哥■易由。■

母由V■

口紫中哥吆翠¥k'解球"巨■洋軍解■

Od03d。口顆■:3口顆.

□題辟麻沙米■,航■

Z8d?08d:fldB■汨口聊■

¥甄魯翡監'口假家麻沙案,'W■

ZVdOVdV口顆.W口顆.

口需來麻祺物?1

)2,與處理器接口

CS*AlA0I/O地址讀操作RD*寫操作WR*

00060H讀端口A寫端口A

00161H讀端口B寫端口B

01062H讀端口C寫端口C

01163H非法寫控制字

A內部端PC系

A。內容

csRDWRi口偏移統地址

讀操作

、1"一Lr"t

0_1ft——-EA■口數據總線(一CPU)數據060H

00101PB口—數據總線(-CPU)數據161H

數據或狀

00110PC口—數據總線(一CPU)262H

寫操作

01000PA口一數據總線(-CPU)數據060H

01001PB口一數據總線(.CPU)數據161H

01010PC口一數據總線(-CPU)數據262H

01011控制寄存器一數據總線控制字363H

無操作情況

011XX總線懸浮

1XXXX總線懸浮

8255A的控制字和工作方式

■1.控制字

■8255A的控制字就是從CPU寫到控制寄存器中的命令,

由8位組成。控制字的最高位為1時,控制字是工作方

式命令字;控制字最高位為。時,控制字是PC口按位置

/復位命令字。

■8255A的編程命令包括工作方式命令字和按位操作命

令兩條,使用同一個端口地址。

■8255A的編程命令控制字就是從CPU寫到控制寄存器中

的命令,由8位組成。控制字的最高位為1時,控制字

是工作方式命令字;控制字最高位為。時,控制字是PC

口按位置/復位命令字。

■(1)方式命令字

■8255A有三種不同的工作方式:方式0、方式1、

方式2。方式字指定A組、B組的各種方式以及

在不同的方式下PA、PB的數據輸入/輸出方向。

方式命令字的格式:

■*數據輸入/輸出方向:0—輸出,1—輸入。

DDDDDDiDo

765D432

特征位A組PA口PC高4B組PB口PC低4

值為工方式方向位方向方式方向位方向

■DO位控制PC口低4位的傳送方向:D0=0時是輸出,

D0=l時是輸入。

■D1位控制PB口的傳送方向:Dl=0時是輸出,Dl=l時

是輸入。

■D2位指定B組工作方式:D2=0時為方式0,D2=l時為

方式1。因此,B組只有方式0、方式1這兩種工作方式。

■D3位控制PC口高4位的傳送方向:D3=0時是輸出,

D3=l時是輸入。

■D4位控制PA口的傳送方向:D4=0時是輸出,D4=l時

是輸入。

■D6D5指定A組工作方式:D6D5=00指定

方式0,D6D5=01指定方式1,D6D5=1X

(10或11)指定方式2。因此,A組有方

式0、方式1、方式2這三種工作方式。

■D7位為特征位,本命令字處D7=l。

■例如,要把PA口指定為0方式輸出,輸入PC口上半部定

為輸入;PB口指定為1方式輸入,PC口下半部定為輸

出,則工作方式字是:10001110BBP8EHo

■將此命令字寫到8255A的控制寄存器中稱為初始化,

程序段為:

■MOVDX,8255A+3;8255A表示該芯片

PA口地址。

■MOVAL,8EH

■OUTDX,AL;送至U控制寄存器

■要把PA口指定為方式2;PB口指定為1方

式輸出,PC口下半部定為輸出。工作方

式字為11000100B即0C4H,則程序段為:

■MOVDX,8255A+3

■MOVAL,0C4H

■OUTDX,AL

■又例:某系統要求8255A工作在方式0,PA

口輸出、PB口輸入、PC輸出,則初始化程

[■段為:

■MOVAL,1000001OB

■MOVDX,8255A+3

■OUTDX,AL

■某系統要求A組工作在方式0輸入,B組工作

在方式1輸出,PC口余下的用于輸入,則初

始化程序段為:

■MOVAL,1001110IB

■MOVDX,8255A+3

■OUTDX,AL

■某系統要求A組工作在方式2,B組工作在方式0輸出,

PC口余下的用于輸入,則初始化程序段為:

■MOVAL,11000001B

■MOVDX,8255A+3

■OUTDX,AL

■某系統要求A組工作在方式2,B組工作在方式1輸入,

則初始化程序段為:

■MOVAL,11000110B

■MOVDX,8255A+3

■OUTDX,AL

■(2)PC口按位置位/復位命令字

■該命令字用于某個PC引腳輸出高/低電平

控制或軟件設定8255A的相應狀態。

-PC口按位置/復位命令字格式:

■D。置/復位選擇:0—對應位清0,1—對應位置

lo

D7D6D5D4D3DzDiDo

特征位

未用PC口位號選擇置/復位選擇

值為0

D3D2D1選擇被置/復位的位號:

口3口2口1=000選擇PC口第0位;

口3口2口1=001選擇PC口第1位;

口3口2口1=010選擇PC口第2位;

D3D2D1RI1選擇PC口第3位;

D3D2D1=100選擇PC口第4位;

口3口2口1=101選擇PC口第5位;

口3口2口1=110選擇PC口第6位;

口3口2口1=111,選擇PC口第7位。

D6D5D4沒有使用,一般讓口6口5口4=000。

D7位為特征位,該命令字處口7=0。

■例如,若要把PC口的PC5引腳置成低電平時,則命令

字應該為00001010B即OAH。

■將該命令寫入8255A的控制寄存器,就會使得從PC口

的PC5引腳輸出低電平,其程序段為:

■MOVDX,8255A+3

■MOVAL,OAH

■OUTDX,AL

■若要使引腳PC5輸出高電平,則程序段為:

■MOVDX,8255A+3

■MOVAL,OBH

■OUTDX,AL

■⑶關于控制字的幾點說明:

■使用8255之前必須初始化。方式命令是對

8255A的3個端口的工作方式及功能進行指定,

即進行初始化,初始化工作要在使用8255A之

前做;

■按位置位/復位命令只是對PC口的輸出進行控

制,使用它并不破壞已經建立的3種工作方式,

而是對它們實現動態控制的一種支持。它可放

在初始化程序以后的任何地方;

■控制字的最高位(D7)是特征位用以區別8255A的工作

方式命令和按位置/復位命令字。D7=l時,為工作方

式命令;D7=0時,為按位置位/復位命令。因此,可

以判斷,命令代碼的值等于、大于80H的,是工作方式

命令;小于80H的,是按位置位/復位命令,可以判斷,

并且奇數值是置位命令,而偶數值是復位命令;

■按位置位/復位命令代碼只能寫入命令口。PAD、PB口

也可以按位輸出高/低電平,但是,這與按位置位/復位

命令有本質的區別,并且實現的方法也不同。PC口按

位輸出是以命令的形式送到控制寄存器存器去執行的,

而PAD、PB口的按位輸出是以送數據至(JPA口、PB口來

實現的。

■A口和B口的一個有趣的使用方法:也可

以按位輸出高/低電平!

■P143

48255A的工作方式

■方式o:基本輸入輸出方式

■適用于無條件傳送和查詢方式的接口電路

■方式1:選通輸入輸出方式

■適用于查詢和中斷方式的接口電路

-方式2:雙向選通傳送方式

■適用于與雙向傳送數據的外設

■適用于查詢和中斷方式的接口電路

方式1

-方式1是一種選通輸入/輸出方式或稱為

應答方式,因此,需要置專用的聯絡信

號線或叫應答信號線,以便對I/O設備

和CPU兩側進行聯絡。這種方式通常用

于查詢(條件)傳送或中斷傳送。PA、

PB口的數據輸入輸出都有鎖存能力。

①方式1輸入

■輸入是從I/O設備向8255A送數據進來,

所以,1/0設備應先把數據準備好,并

送到8255A端口上,然后CPU再從

8255A讀取數據。這個傳送過程中需要

使用一些聯信號線。所以當PA口和PB口

作為輸入時,各指定了PC口的3條線作

為8255A與外設聯絡信號及向CPU的請

求信號。

A組方式1輸入B組方式1輸入

方式。輸入時序

RD-------------

”精體金逕蜜8255A的"

翁據俊沖行用

Do~D?

I②方式1輸出

】'式工輸出是CPU通過8255A把數據送到

1/0設備去,所以,數據要由CPU準備好,

并且先寫到8255A,然后,再從8255A把數

據輸出去。這個傳送過程中需使用一些聯絡

信號,當PA口和PB口輸出時,各指定了PC

口的3條線作為8255A與外設聯絡信號及向

CPU的請求信號。

姑且方式1輸出B組方式1輸出

方式。輸出時序

WR

“8255A對CPU通色歸”

輸出給外役的散據色/初存

Do~D?data~^>

4

中斷允許觸發器中斷請求信號

請求CPU接收數據

方式1

方式1輸入引腳:B端口

數據選通信號

表示外設已經準備好數據

PB7-PB

方式1需倦用練OC用做您修再考

閻財名奧命中斷外求彳。腐寂功能

pco

中斷允許觸發器

方式I

方式1輸入聯絡信號

■STB*——選通信號,低電平有效

-由外設提供的輸入信號,當其有效時,將輸入設備送

來的數據鎖存至8255A的輸入鎖存器

■IBF——輸入緩沖器滿信號,高電平有效

■8255A輸出的聯絡信號。當其有效時,表示數據已鎖

存在輸入鎖存器

■INTR一中斷請求信號,高電平有效

-8255A輸出的信號,可用于向CPU提出中斷請求,要

求CPU讀取外設數據

方式1

方式1輸入時序

STB

STB*如IBF蠱外役"8255A向

的一對應答聯得備考,

處的遙可■他輸入敢據

輸入端口--V~^ata〉

00~。7data>

方式1

方式工中斷控制

■8255A的中斷由中斷允許觸發器INTE控制

■置位允許中斷,復位禁止中斷

■對INTE的操作通過寫入端口C的對應位實

現,INTE觸發器對應端口C的位是作應答

聯絡信號的輸入信號的哪一位,只要對那

一位置位/復位就可以控制INTE觸發器

■選通輸入方式下

■端口A的INTEA對應PC4

■端口B的INTEB對應PC2

中斷允許觸發器

請求CPU再次輸出數據

方式1

方式工輸出聯絡信號

■OBF*——輸出緩沖器滿信號,低有效

R2KKA輸中繪外設的一小控制信號.當苴右效時.表

取走

■AC集。A的INTEA對應PC6

練的同啟

OBINTEBPG2外設接

■INTR一中斷請求信號,高有效

-當輸出設備已接受數據后,8255A輸出止匕信號向CPU

提出中斷請求,要求CPU繼續提供數據

方式1

4方式i輸出時序

WR[匚

OBF*"ACK*蠱夕卜役"8255A向

的一對應答夠得備考,

處的遙可■他輸出散據

輸出端口____?XCdata

D0~D7-----data:----------------------

《方式2雙向方式

■方式2將方式1的選通輸入輸出功能組合成一個雙

向數據端口,可以發送數據和接收數據

■只有端口A可以工作于方式2,需要利用端口C的

5個信號線,其作用與方式1相同

■方式2的數據輸入過程與方式1的輸入方式一樣

■方式2的數據輸出過程與方式1的輸出方式有一點

不同:數據輸出時8255A不是在OBF*有效時向

外設輸出數據,而是在外設提供響應信號ACK*

時才送出數據

方式2雙向引腳

PA7-PA0

INTEPC用PC6設置INTEi(輸出)

16ACKA

OBF;用PC4設置ZTE2(輸入)

輸入和輸出中斷通過

PC

INTE24STBA

或門輸出INTRA信號

PC5舊FA

PC3INTRA

方式2雙向時序

IWR|J

LOBF

INTR

ACK

STB

IBF

RD

__Jf_______Jf____________

Viata-iRA^^^iata-ou〉

D0-D7-<Cdata-ou}>

48255A的編程

-初始化編程:一個方式控制字

■采用控制I/O地址:AiAo=ll

■工作過程中:通過數據端口對外設數據

進行讀寫

■數據讀寫利用端口A、B和C的I/O地址,

A1A0依次等于00、01、10

■IBMPC/XT機上,端口A、B、C和控制

端口的I/O地址為60H、61H、62H和63H

■寫入方式控制字:控制字格式

1D61)5?4D3021)1D0

CB^TZ>

端口CCT豐甌

00方式01=輸八

010=輸出

10年立端口白

端口A-1=輸入

1=陸入0=輸出

0=稿汨3

湍口c[上半部)0^xto

1=輸.入.17^31

O=^tB

⑶關于控制字的幾點說明

■控制字的最高位(D7)是特征位用以區別8255A的工作方

式命令和按位置/復位命令字。D7=10t,為工作方式命令;

D7=0時,為按位置位/復位命令。因此,可以判斷,命令

代碼的值等于、大于80H的,是工作方式命令;小于80H的,

是按位置位/復位命令,可以判斷,并且奇數值是置位命令,

而偶數值是復位命令。

■方式命令是對8255A的3個端口的工作方式及功能進行指定,

即進行初始化,初始化工作要在使用8255A之前做。也就

是說,凡是用到8255A,就一定要行初始化。

-按位置位/復位命令只是對PC口的輸出進行控制,使用它并

不破壞已經建立的3種工作方式,而是對它們實現動態控制

的一種支持。它可放在初始化程序以后的任何地方。

⑶關于控制字的幾點說明

■按位置位/復位命令代碼只能寫入命令口。

-PAD、PB口也可以按位輸出高/低電平,但是,這與前面的按位置位/

復位命令有本質的區別,并且實現的方法也不同。PC口按位輸出是以命

令的形式送到控制寄存器存器去執行的,而PAD、PB口的按位輸出是

以送數據到PAD、PB口來實現的。其具體作法是:若要使某一位置高

電平,則先對端口進行讀操作,將讀入的原輸出值,“或”上一個字節,

字節中使該位為1,其他位為0,然后再回送到同一端口,即可使該位置

位;若要使某一位置低電平,則先讀入原輸出值字節,再將它“與”上

一個字節,字節中使該位為0,其他位為1,然后再回送到同一端口,即

可實現對該位的復位而不影響其他位的狀況。當然,能夠這樣作的條件

是8255A的輸出有鎖存能力,若定義數據口為輸出而對其執行IN指令

時,所讀到的內容就是上次輸出時鎖存的數據,而不是讀入外設送來的

數據。

地址總線

控制總統

■**..?*>

數據總線

12It

RD*WRDy-DoA^Ai

8255ACS

,PB7~PB?PCs~PCoPC7~PC*PA7-EALO

BC,L*.」j

wWw>

PB?~PBo控制或控制或P%~PAo

1/0

r^?1/oc?

方式2???AI

I/OKHOIIK-

匕~JQ二--IQ

PB0/i----PA7-FA

控制

q.L寫入方式控制字:示例

■A端口:方式1輸入

-C端口上半部:輸出,C口下半部:輸入

-B端口:方式0輸出

方式控制字:10110001B或B1H

■初始化的程序段:

movdx,Offfeh;假設控制端口為FFFEH

moval,Oblh;方式控制字

outdx,al;送到控制端口

02.讀寫數據端口

■初始化編程后:

■當數據端口作為輸入接口時,執行輸入IN指

令將從輸入設備得到外設數據

■當數據端口作為輸出接口時,執行輸出OUT指

令將把CPU的數據送給輸出設備

■8255A具有鎖存輸出數據的能力

■對輸出方式的端口同樣可以輸入

■不是讀取外設數據

■讀取的是上次CPU給外設的數據

.2,讀寫數據端口:示例

■利用8255A的輸出鎖存能力,可實現按位

輸出控制

■對輸出端口B的PB7位置位的程序段:

movdx,Offfah;B端口假設為FFFAH

inal,dx;讀出B端口原輸出內容

oral,80h;使「87=1

outdx,al;輸出新的內容

03.讀寫端口C:歸納]

■C端口被分成兩

個4位端口,兩

個端口只能以方

式0工作,可分

別選擇輸入或輸

■在控制上,C端口上半部和A端口編為A

組,C端口下半部和B端口編為B組

03.讀寫端口C:歸納2

■當A和B端口工

作在方式1或方

式2時,C端口的

部分或全部引腳

將被征用

■其余引腳仍可設定工作在方式0

土3,讀寫端口C:歸納3

-對端口C的數據輸出有兩種辦法

■通過端口C的I/O地址:向C端口直接寫入

字節數據。這一數據被寫進C端口的輸出

鎖存器,并從輸出引腳輸出,但對設置為

輸入的引腳無效

■通過控制端口:向C端口寫入位控字,使C

端口的某個引腳輸出1或0,或置位復位內

部的中斷允許觸發器

端口C的位控制字

03.讀寫端口C:歸納4

-讀取的C端口數據有兩種情況

■未被A和B端口征用的引腳:將從定義為輸

入的端口讀到引腳輸入信息;將從定義為

輸出的端口讀到輸出鎖存器中的信息

■被A和B端口征用作為聯絡線的引腳:將讀

到反映8255A狀態的狀態字

端口C的狀態字

*AHB組

________________________人________________________,A

A

D7D6D5D4D3D2DIDo

方式1輸入

I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB

方式1輸出

OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB

方式2雙向

OBFAINTEIIBFAINTE2INTRAXXX

8255A的應用

作為通用的并行接口電路芯片,

825A具有廣泛的應用

■應用在IBMPC/XT微機上

■應用于打印機接口電路

-連接簡易鍵盤

-驅動LED數碼管

8255A在IBMPC/XT上的應用

■工作在基本輸入/輸出方式0

■端口A為方式0輸入,用來讀取鍵盤掃描碼

■端口B工作于方式0輸出,例如控制揚聲器等

■端口C為方式0輸入,讀取系統狀態和配置

-系統的初始化編程:

moval,10011001b;方式控制字99H

out63h,al

打印機接口的信號與時序

D公■主機把數據送給引腳DATAO?DATA7

■同時送出數據選通信號STROBE*

STE■打印機在BUSY信號線上發出忙信號

-打印機處理好輸入的數據時

■撤消忙信號

■同時又送出一個響應信號ACK*

用8255A方式0與打印機接口

8255A打印機

8255A的初野區.

movdx,Offfeh

;控制端口地址:FFFEH

moval,10000001B

;方式控制字:91H

outdx,al

/端口方式0輸出,C端口上輸出、下輸入

moval,00001111B

;端口C的復位置位控制字,使PC7=1

outdx,al

例1

打印子程臣:查承Lj

printcproc

pushax

pushdx

prn:movdx,Offfch;讀取端口C

inal,dx;查詢打印機狀態

andal,04h;PC2=BUSY=0?

jnzprn

;PC2=1,打印機忙,則循環等待

例1

》______

movdx,0fff8h

;PC2=0,打印機不忙,則輸出數據

moval,ah

outdx5al;將打印數據從端口A輸出

打印子程更:■工Egj

movdx,Offfeh;從PC7送出控制低脈沖

moval,00001110B;gSTROBE*=0

outdx,al

nop;產生一定寬度的低電平

nop

moval,00001111B;g=l

outdx,al

撮終,STROBE*產生低脈沖信號

打印子程臣:鳴

popdx

popax

ret

printcendp

用8255A方式1與打印機接口

-8255A~」打印機

lOOOpf2K

8255A方式1與打印機接口時序配合

PA0-PA7

(DATAO?7)

OBF

STROBE

ACK

方式1◎寸序I加印機◎寸序

8255A的初始1.

V___

movdx,Offfeh

moval,OaOh

outdx,al

moval,0ch

;使1?0114(PC6)為0,禁止中斷

outdx,al

movex,counter;打印字節數送CX

movbx,offsetbuffer;取字符串首地址

callprints;調用打印子程序

8255A的初j

movdx,Offfeh

moval90a0h

outdx,al

moval,Och

(PC6)為0,禁止中斷

outdx,al

movex,counter;打印字節數送CX

movbx,offsetbuffer;取字符串首地址

callprints;調用打印子程序

打印子程序:查"

>-------

movdx,0fffch

print!:inal9dx

testal980h

;檢測(PC7)為1否?

jzprint!

;為0,說明打印機沒有響應,繼續檢測

打印子程序:返

incbx

;為1,說明打印機已接受數據

loopprintl

;準備取下一個數據輸出

popdx;打印結束,恢復寄存器

popax

ret;返回

printsendp

雙機并行通信接口

已方(接收)甲方(發送)

8255A8255A

PA0-PA7?PA0-PA7

PC4PC7

PCo一.PC6

甲機的初始1J

*movdx,Offfeh

moval90a0h

outdx,al

;工作方式字:端口A方式1輸出

moval,Odh

;?PC6(INTEA)=1,允許中斷

outdx,al

例3

甲機發送程

trsmt:movdx,Offfch

inal9dx

;查詢PC3(INTRA)=1?

andal,08h

jztrsmt

movdx,0fff8h;發送數據

moval9ah

outdx,al

乙機的初始1

movdx,Offfeh

moval,98h

outdx,al

;工作方式字:端口A方式0輸入

moval,01h

HtPCO(ACK*)=1,因尚未收到數據

outdx,al

乙機:查理趣區J

receive:movdx,Offfch

inal9dx

;查詢PC4(OBF*)=0?

andal,10h

jnzreceive

movdx,0fff8h;接收數據

inal9dx

movah,al

乙機:接嘵啜

movdx,Offfeh

moval900hHtPCO(ACK*)=0

outdx9al

nop

;適當延時,產生一定寬度的低脈沖

nop

moval901hHtPCO(ACK*)=1

outdx,al;產生低脈沖ACK*信號

例3

■8255A用于PC微機與從機之間的并行通

信。

■主機一側的程序段:

1MOVDX,303H

jMOVAirimnnOOOB

■OUTDX,AL

■MOVAL,0000100IB;INTEi有效

■OUTDX,AL

■MOVAL,0000110IBRNTE2有效

■OUTDX,AL

■MOVSI,300H

■MOVDI,410H

■MOVCX,0FFH

-...;進行輸入或者輸出

■T_RPROCFAR

■ASSUMECS:CODE,DS:DATA,SS:STACK

■PUSH...

■MOVDX,303H

■MOVAL,0000100OB

■OUTDX,AL

■MOVAL,00001100B

■OUTDX,AL

■CLI

■MOVDX,302H

■INAL,DX

■MOVAH,AL

■ANDAL,00100000B;IBF=1?

■JZOUTP

INP:MOVDX,300H

■INAL,DX

■MOV[DI],AL

■INCDI

■JMPRETURN

■OUTP:MOVDX,300H

■MOVAL,[SI]

JOUTDX,AL

^INCSI____________

于RETURN:MOVDX,303H

■MOVAL,0000110IB

■OUTDX,AL

■MOVAL,0000100IB

■OUTDX,AL

■MOVAL,62H

■OUT20H,AL

■POP…

■IRET

■T_RENDP

4工、串行通信基礎知識

■1.異步通信

■串行通信時的數據、控制和狀態信息都使

用同一根信號線傳送

■收發雙方必須遵守共同的通信協議(通信

規程),才能解決傳送速率、信息格式、

位同步、字符同步、數據校驗等問題

■串行異步通信以字符為單位進行傳輸,其

通信協議是起止式異步通信協議

1.波特率和比特率

-比特率是指二進制數碼流的信息傳輸速率,單位是:bit/s簡寫b/s或

bps,它表示每秒傳輸多少個二進制位,有些情況下,也可以用字/

秒為單位;

-波特又稱調制速率,是針對模擬數據信號傳輸過程中,從調制解調

器輸出的調制信號每秒鐘載波調制狀態改變的數值,單位是S/S,稱

為波特(baud)率。因此,調制速率也稱為波特率。發送設備和接收

設備必須工作在相同的波特率,否則會產生幀錯誤.

-在無調制的情況下,波特率精確等于比特率,采用調相技術時,波特

率不等于比特率.

■例:56K的調制解調器可以工作在36.6K,192K和9.6K等波特率下,因

此購買調制解調器時其波特率(傳輸速率)應該超前,才不會被很快淘

汰.

3.波特因子

定義:發送/接收1位數據所需要的時鐘脈沖個數,單位

是個/位。

在波特率指定后,輸入移位寄存器/輸出移位寄存器在

接收時鐘/發送時鐘控制下,按指定的波特率速度進行

移位。一般幾個時鐘脈沖移位一次。要求:接收時鐘/

發送時鐘是波特率的16、32或64倍。波特率因子就是

發送/接收1個數據(1個數據位)所需要的時鐘脈沖

個數,其單位是個/位。

-在實際應用中,可以根據要求的傳輸波特率和波特因

子來確定發送/接收時鐘的頻率。

-對于同步通信,波特因子取1。

■4,傳輸距離與傳輸速率的關系

■串行數據傳送的最大距離與傳輸速率和

傳輸線的電氣特性有關。

-傳輸距離隨著傳輸速率的增加而減小。

■在實際應用中,利用電話網進行遠距離

傳送,一般都需要使用調制解調器。

1.單工、半雙工和全雙工

①單工(Simplex)

特點:僅能進行一個方向的數據傳送

①半雙工(HalfDuplex)

特點:數據可以在兩個方向上進行傳送,但

是這種傳送絕不能同時進行。【雙向,但

不同時】

①全雙工(FullDuplex)

特點:能夠在兩個方向同時進行數據傳送。

起止式異步通信協議

低位高位

?空閑位——傳送字符之間的邏輯1電平,

表示沒有進行傳送

同步通信

■以一個數據塊(幀)為傳輸單位,每個數據

塊附加1個或2個同步字符,最后以校驗字符

結束

■同步通信的數據傳輸效率和傳輸速率較高,

但硬件電路比較復雜

■串行同步通信主要應用在網絡當中

■最常使用高級數據鏈路控制協議HDLC

同步字符數據數據數據校驗字符

—串行接口標準RS-232c

■美國電子工業協會EIA制定的通用標準串行接口

.1962年公布,1969年修訂

-1987年1月正式改名為EIA-232D

■設計目的是用于連接調制解調器

■現已成為數據終端設備DTE(例如計算機)與數

據通信設備DCE(例如調制解調器)的標準接口

■可實現遠距離通信,也可近距離連接兩臺微機

■屬于網絡層次結構中的最低層:物理層

RS-232C的弓I腳定義

■232c接口標準使用一個25針連接器

■絕大多數設備只使用其中9個信號,所以就

有了9針連接器

-232c包括兩個信道:主信道和次信道

■次信道為輔助串行通道提供數據控制和通

道,但其傳輸速率比主信道要低得多,其

他跟主信道相同,通常較少使用

RS-232C的連接

■微機利用232c接口連接調制解調器,用于

實現通過電話線路的遠距離通信

■微機利用232c接口直接連接進行短距離通

信。這種連接不使用調制解調器,所以被

稱為零調制解調器(NullModem)連接

連接調制解調器

MODEMMODEM微機

發送數據TxD

2222

接收數據RxD

3333

請求發送RTS

4444

允許發送CTS

55電話線55

數據裝置準備好DSR

66/66

7信號地GND777

8載波檢測CD888

20數據終端準備好DTR202020

22振鈴指KRI222222

RS-232c的電氣特性

■232c接口采用EIA電平

■高電平為+3V?+15V

■低電平為一3V?-15V

■實際常用±12V或±15V

■標準TTL電平

■高電平:+2.4V?+5V

■低電平:0V?0.4V

■RS-232定義了計算機和調制解調器之間

的接口標準:

■*傳輸距離小于50米.

■*+5?+15V的電壓表示0,-5?-15V的

電壓表示1

■*每次用9個bit傳輸一個字符.其中第一

個bit標志開始位,第九個bit標志結束位.

2、通用異步接收發送器8251

■串行傳輸,需要并行到串行和串行到并行

的轉換,并按照傳輸協議發送和接收每個

字符(或數據塊)

■這些工作可由軟件實現,也可用硬件實現

■通用異步接收發送器UART是串行異步通

信的接口電路芯片

■IBMPC/XT機的UART芯片是INS8251

■后來使用NS16550

1.串行數據的發送

CPU并行數據

發送保持寄存器串行數據

發送移位寄存器

WFiXlE她仙、「/板1

校驗位、停止位

同在姑生H

雙緩沖寄存器結構

保證數據的連續發送

2.起始位的檢測

I------------16T——

數據線[起始位:

(SIN)T-----------------?-----------------T

時鐘

(RCLK)???

------8T-b-------------16T--------------

[總口\Hflil本【I±口//A/-TI^T土田

數據接收時鐘頻率是數據傳輸頻率的16倍

正確識別起始位,防止因干擾引起的誤識別

3.串行數據的接收

CPU并行數據

接收緩沖寄存器

串行數據

TT

接收移位寄存器SIN0/10/1

nlll0/10/1

檢測接收錯誤

同步控制刪除起始位、

校驗位、停止位

雙緩沖寄存器結構

保證數據的連續接收,

*-----------------

■8251實現了起止式串行異步通信協議,支

持全雙工通信

■通信字符可選擇數據位為5?8位

■停止位1、1.5或2位

■可進行奇偶校驗

■具有奇偶、幀和溢出錯誤檢測電路

■8251支持的數據傳輸速率為50?9600bps

8251的工作原理

■1、異步接收方式串---并

-2、異步發送方式并---串

?3、同步接收方式搜索同步字符

?4、同步發送方式插入同步字符

8251A的命令字

■1、方式選擇命令字:同步方式和異步方

式控制

■2、工作命令字:確定8251A的實際操作,

迫使8251A處于某種工作狀態,以便接收

或發送數據

■3、狀態字IN

工、p251A方式選擇控制字

00

o1:同步方式

i0-ixK,(*1)

11:異步方式C*16)

:異步方式(*64)

005位

016位

107位

118位

xo?禺

O1:奇,曲

11:1.禹校班

00

01無意必

101個停止位

1115個停止位

2個停止住:

xo:內同步

X1:夕卜同步

OX:兩個同步字招

1X:單個同步字符

-例如,在某異步通信中,數據格式采用8位數據位,1位起始位,

2位停止位,奇校驗,波特率因子是16,則其方式命令字為

11011110B=0DEHo若將方式命令寫入命令口,則程序段為:

■bjlOVDX,8251A-C;8251A命令口地址

■、0VAL,ODEH;異步方式命令字

■TKJTDXTAL

■某同步通信中,若幀數據格式為:字符長度8位,雙同步字符,

內同步方式,奇校驗,則方式命令字是00011100B=lCH。若將

方式命令寫入命令口,則程序段為:

■MOVDX,8251A-C;8251A命令口地址

■MOVAL,1CH;同步方式命令字

■OUTDX,AL

-某同步通信中,若幀數據格式為:字符長度8位,外同步方式,

偶校驗,則方式命令字是01111100B=7CH。若將方式命令寫入

命令口,則程序段為:

■MOVDX,8251A-C;8251A命令口地址

■MOVAL,7CH;同步方式命令字

■OUTDX,AL

2、操作命令控制字

操作命令控制字直接讓8251A實現某種操

■進入規定的工作狀態,它只有在設定了方

選擇控制字后,才能由CPU寫入,8251A的

3操作命令控制字格式如圖8.17所示。

DTD6D5D4D302DIDO

EHLRRTSERSBRKR^EDTRTXEN

---------------------------------------------------------------------------------------------------1]1:空法需允4

1=徒DTR領出方盛

1一接3需允4

-中

溫馨提示

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

評論

0/150

提交評論