串并行通信及其接口技術(shù)市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第1頁
串并行通信及其接口技術(shù)市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第2頁
串并行通信及其接口技術(shù)市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第3頁
串并行通信及其接口技術(shù)市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第4頁
串并行通信及其接口技術(shù)市公開課一等獎(jiǎng)省賽課獲獎(jiǎng)?wù)n件_第5頁
已閱讀5頁,還剩93頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第7章串并行通信

及其接口技術(shù)串并行通信及其接口技術(shù)第1頁

§7.1串行通信和串行接口

§7.2可編程串行通信接口8251A

§7.3并行通信和并行接口

§7.4可編程并行通信接口8255A

教學(xué)重點(diǎn)為:

串并行接口用途;

8251A功效結(jié)構(gòu)與工作原理、初始化流程;

8255A控制字;

8255A工作方式;第7章串并行通信及其接口技術(shù)串并行通信及其接口技術(shù)第2頁串并行通信及其接口技術(shù)第3頁4串并行通信及其接口技術(shù)第4頁ISA插槽PCI插槽AGP插槽北橋芯片組南橋芯片組內(nèi)存插槽CPU插槽IDE接口軟驅(qū)接口并口連接器串口連接器ROMBIOS鼠標(biāo)鍵盤USB接口主板電源插座串并行通信及其接口技術(shù)第5頁6PCI插槽北橋芯片組南橋芯片組內(nèi)存插槽CPU插槽IDE接口鼠標(biāo)鍵盤USB接口主板電源插座Intel“4”系列原裝主板串并行通信及其接口技術(shù)第6頁

微機(jī)與I/O設(shè)備接口按照數(shù)據(jù)傳送方式不一樣,可分為:并行接口和串行接口兩種。7.0串行通信接口與并行接口概述CPUI/O接口外設(shè)串或并圖(a)并行和串行概念串并行通信及其接口技術(shù)第7頁CPU并行接口串行外設(shè)數(shù)據(jù)輸出串行接口譯碼器與邏輯控制ABCB并行外設(shè)DBDB(8根)圖(b)并行接口和串行接口結(jié)構(gòu)、功效示意圖數(shù)據(jù)輸入地串并行通信及其接口技術(shù)第8頁7.1.1串行通信包括幾個(gè)問題7.1串行通信和串行接口串行通信:將數(shù)據(jù)分解成二進(jìn)制位用一條信號(hào)線,一位一位次序傳送方式。在傳輸過程中,每一位數(shù)據(jù)占據(jù)一個(gè)固定時(shí)間長度。數(shù)據(jù)各位依次由源抵達(dá)目標(biāo)地→慢數(shù)據(jù)線少、抗干擾能力強(qiáng)→遠(yuǎn)程,費(fèi)用低01101010

RD目TD源串行通信適于長距離、中低速通信串并行通信及其接口技術(shù)第9頁1.按傳輸方式分:全雙工、半雙工、單工全雙工:雙根傳輸線,能夠同時(shí)發(fā)送和接收半雙工:單根傳輸線,不能同時(shí)發(fā)送和接收單工:單根傳輸線只用作發(fā)送或只用作接收2.按時(shí)鐘定時(shí)分:同時(shí)、異步同時(shí)通信:收發(fā)雙方采取同一個(gè)時(shí)鐘信號(hào)來定時(shí)

多個(gè)字符組成一個(gè)數(shù)據(jù)塊(或稱信息幀、信息組),在每一個(gè)數(shù)據(jù)塊前附加一個(gè)或兩個(gè)同時(shí)字符或標(biāo)識(shí)符,最終以校驗(yàn)字符結(jié)束在傳送過程中發(fā)送端和接收端使用同一時(shí)鐘信號(hào)進(jìn)行控制使每一位數(shù)據(jù)均保持位同時(shí)。同時(shí)通信一個(gè)信息幀含有多個(gè)或上千字符。同時(shí)字符字符1字符2……字符n校驗(yàn)字符數(shù)據(jù)塊串并行通信及其接口技術(shù)第10頁異步通訊:收發(fā)雙方不用統(tǒng)一時(shí)鐘來定時(shí)

每個(gè)字符一位一位地傳輸,傳輸一個(gè)字符時(shí),以起始位開始,然后傳輸字符本身各位,接著傳輸校驗(yàn)位,最終以停頓位結(jié)束該字符傳輸。所以一次傳輸起始位、字符各位、校驗(yàn)位、停頓位組成一組完整信息,稱為異步通信一個(gè)信息幀(Frame),只含一個(gè)字符。幀與幀之間可有任意個(gè)空閑位。為了確保異步通信正確,必須在收發(fā)雙方通信前約定字符格式、傳送速率、時(shí)鐘和校驗(yàn)方式等。

普通以若干位表示一個(gè)字符,收發(fā)是以字符為獨(dú)立通信單位,一個(gè)字符一個(gè)字符地傳輸,兩個(gè)字符之間傳輸間隔是任意。這么,為確保正確區(qū)分字符,每個(gè)字符前后要用若干位作為分隔位來進(jìn)行識(shí)別。串并行通信及其接口技術(shù)第11頁起始位——每個(gè)字符開始傳送標(biāo)志,起始位采取邏輯0電平數(shù)據(jù)位——數(shù)據(jù)位緊跟著起始位傳送。由5~8個(gè)二進(jìn)制位組成,低位先傳送校驗(yàn)位——用于校驗(yàn)是否傳送正確;可選擇奇檢驗(yàn)、偶校驗(yàn)或不傳送校驗(yàn)位停頓位——表示該字符傳送結(jié)束。停頓位采取邏輯1電平,可選擇1、1.5或2位空閑位——傳送字符之間邏輯1電平,表示沒有進(jìn)行傳送圖7.1標(biāo)準(zhǔn)異步通信數(shù)據(jù)格式串并行通信及其接口技術(shù)第12頁異步通信數(shù)據(jù)格式總結(jié)說明:①無信息傳輸(或間隔)時(shí),輸出必須為“1”狀態(tài)(標(biāo)識(shí)態(tài));②1到0跳變作為字符開始——起始位;③起始位后為5~8位數(shù)據(jù)位,低位在前,高位在后;④數(shù)據(jù)位后為奇偶校驗(yàn)位,可設(shè)為奇或偶校驗(yàn),也可不設(shè);⑤最終有1、1.5或2位停頓位,均為“1”串并行通信及其接口技術(shù)第13頁傳輸速率

在串行通訊中,用波特率來描述數(shù)據(jù)傳輸速率。即每秒鐘傳送二進(jìn)制位數(shù),簡寫為bps

串行通信不論收發(fā)都必須有時(shí)鐘脈沖信號(hào)對傳送數(shù)據(jù)進(jìn)行定位和同時(shí)控制。接收時(shí)鐘/發(fā)送時(shí)鐘是波特率倍數(shù)——波特率因子。【例】:波特率=9600bps,波特率因子=16,則接收時(shí)鐘和發(fā)送時(shí)鐘頻率=9600×16=153600Hz波特率因子=16,表明16個(gè)時(shí)鐘脈沖傳送1位。3.串行通信傳輸率國際上要求標(biāo)準(zhǔn)波特率:110、300、600、1200、1800、2400、4800、9600、19200。串并行通信及其接口技術(shù)第14頁設(shè)每個(gè)字符對應(yīng)1個(gè)起始位、7個(gè)信息位、1個(gè)奇偶校驗(yàn)位和1個(gè)停頓位,假如波特率為1200bps,那么,每秒鐘能傳輸最大字符數(shù)為1200/10=120個(gè)。以1200bps波特率工作,用4個(gè)同時(shí)字符作為信息幀頭部,但不用奇偶校驗(yàn),那么,傳輸100個(gè)字符所用時(shí)間為7(100+4)/1200=0.6067s,這就是說,每秒鐘能傳輸字符數(shù)可到達(dá)100/0.6067=165個(gè)。例1:異步傳輸過程

例2:同時(shí)傳輸過程可見,在一樣傳輸率下,同時(shí)傳輸時(shí)實(shí)際字符傳輸率要比異步傳輸時(shí)高。串并行通信及其接口技術(shù)第15頁7.1.2串行接口圖7.2可編程串行接口經(jīng)典結(jié)構(gòu)串并行通信及其接口技術(shù)第16頁7.2可編程串行通信接口8251A7.2.08251A基本性能①經(jīng)過編程,8251A能夠工作在同時(shí)方式,波特率0~64K,也能夠工作在異步方式,波特率0~19.2K;②同時(shí)方式下能夠用5~8位來表示字符,允許增加1位奇偶校驗(yàn)位,能自動(dòng)檢測同時(shí)字符,實(shí)現(xiàn)收發(fā)同時(shí);③異步方式下用5~8位來表示字符,1位可選奇偶校驗(yàn)位,1位開啟位,依據(jù)需要可設(shè)置1、1.5或2位停頓位;④全雙工、雙緩沖發(fā)送器和接收器;⑤含有奇偶、溢出和幀錯(cuò)誤檢測功效;⑥輸入輸出電路為TTL電平。串并行通信及其接口技術(shù)第17頁8251A功效結(jié)構(gòu)7.2.18251A基本工作原理圖7.3串并行通信及其接口技術(shù)第18頁模式存放器決定工作于同時(shí)或異步模式以及接收和發(fā)送字符格式同時(shí)字符存放器存放同時(shí)模式下同時(shí)字符偶地址端口奇地址端口串并行通信及其接口技術(shù)第19頁3.8251A發(fā)送和接收(1)檢測起始位1)異步接收方式設(shè)數(shù)據(jù)接收時(shí)鐘頻率是數(shù)據(jù)傳輸頻率16倍。起始檢測確定已檢測到起始位起始位RXCRXDT16T8T串并行通信及其接口技術(shù)第20頁采樣數(shù)據(jù)起始檢測確定已檢測到起始位起始位RXCRXDT16T16T8T每隔一字符傳輸時(shí)間,對RxD進(jìn)行一次采樣,數(shù)據(jù)送移位存放器移位,并進(jìn)行奇偶校驗(yàn)和去掉停頓位,得到并行數(shù)據(jù)。(2)8251A進(jìn)行常規(guī)采樣并進(jìn)行字符裝配串并行通信及其接口技術(shù)第21頁注:對于少于8位數(shù)據(jù),8251A將高位補(bǔ)0。

(3)通知CPU接收數(shù)據(jù)并行數(shù)據(jù)經(jīng)過內(nèi)部數(shù)據(jù)總線送接收數(shù)據(jù)緩沖器,并置RxRDY有效,通知CPU已收到一個(gè)數(shù)據(jù),能夠取用。8251A異步接收數(shù)據(jù)傳輸格式串并行通信及其接口技術(shù)第22頁2)8251A異步發(fā)送方式(2)8251A由TxD線把串行數(shù)據(jù)送出。8251A從CPU接收到一個(gè)數(shù)據(jù),移位形成串行數(shù)據(jù),再加上起始位、奇偶校驗(yàn)位以及停頓位,由TxD把數(shù)據(jù)送出。注:數(shù)據(jù)及起始位、校驗(yàn)位、停頓位總是在發(fā)送時(shí)鐘TxC下降沿從8251A發(fā)出,數(shù)據(jù)傳輸波特率為發(fā)送時(shí)鐘頻率1、1/16或者1/64,詳細(xì)決定于編程時(shí)給出波特率因子。(1)程序置TxEN(允許發(fā)送)有效。

檢測到外設(shè)送來CTS(請求發(fā)送信號(hào)響應(yīng)信號(hào))有效,開始發(fā)送。

串并行通信及其接口技術(shù)第23頁8251A異步發(fā)送數(shù)據(jù)傳輸格式注:對于少于8位數(shù)據(jù),8251A將高位補(bǔ)0。

串并行通信及其接口技術(shù)第24頁3)8251A同時(shí)接收方式單同時(shí)字符8251檢測RxD線,當(dāng)RxD線出現(xiàn)一數(shù)據(jù)位時(shí),接收送移位存放器移位,并與同時(shí)字符存放器內(nèi)容比較,如不等,繼續(xù)接收,比較。相等時(shí),8251ASYNDET引腳為高電平,表示同時(shí)已經(jīng)實(shí)現(xiàn)。(1)搜索同時(shí)字符雙同時(shí)字符檢測到第一個(gè)同時(shí)字符后,再繼續(xù)檢測今后輸入移位存放器內(nèi)容是否與第二個(gè)同時(shí)字符存放器內(nèi)容相同,不一樣重新比較第一個(gè)同時(shí)字符;相同,則認(rèn)為同時(shí)已經(jīng)實(shí)現(xiàn)。內(nèi)同時(shí)(a)串并行通信及其接口技術(shù)第25頁(b)外同時(shí)

經(jīng)過在同時(shí)輸入端SYNDET加一高電位實(shí)現(xiàn)同時(shí)。當(dāng)SYNDET端出現(xiàn)一個(gè)高電平,而且維持一時(shí)鐘接收周期,8251A認(rèn)為已經(jīng)完成同時(shí)。(2)數(shù)據(jù)同時(shí)傳輸

接收器利用時(shí)鐘信號(hào)對RxD采樣,把收到數(shù)據(jù)送移位存放器。當(dāng)收到數(shù)據(jù)位到達(dá)要求一個(gè)字符位數(shù)時(shí),將移位存放器內(nèi)容送輸入緩沖存放器,且發(fā)出RxRDY信號(hào),表示收到一數(shù)據(jù)。

串并行通信及其接口技術(shù)第26頁8251A同時(shí)接收數(shù)據(jù)傳輸格式串并行通信及其接口技術(shù)第27頁4)8251A同時(shí)發(fā)送方式(2)發(fā)送同時(shí)字符

依據(jù)編程要求,發(fā)送器先發(fā)送一個(gè)或兩個(gè)同時(shí)字符。注:如發(fā)送數(shù)據(jù)時(shí),CPU來不及提供新數(shù)據(jù),8251A發(fā)送器會(huì)自動(dòng)插入同時(shí)字符,由TxD送出。(3)發(fā)送數(shù)據(jù)塊

發(fā)送數(shù)據(jù)塊時(shí),發(fā)送器依據(jù)要求對數(shù)據(jù)塊中數(shù)據(jù)加上奇偶校驗(yàn)位或不加。(1)程序置TxEN(允許發(fā)送)有效

檢測到外設(shè)送來CTS(請求發(fā)送信號(hào)響應(yīng)信號(hào))有效,開始發(fā)送。

串并行通信及其接口技術(shù)第28頁8251A同時(shí)發(fā)送數(shù)據(jù)傳輸格式串并行通信及其接口技術(shù)第29頁30

8251A芯片共有28個(gè)引腳,其中:有17個(gè)引腳是與系統(tǒng)相連接,有6個(gè)是與外部設(shè)備相連接,另外,還有3個(gè)時(shí)鐘輸入端,1個(gè)電源端,1個(gè)接地端。

7.2.28251A外部信號(hào)TXRDY為“1”條件是:發(fā)送緩沖器空CTSTXEN=1串并行通信及其接口技術(shù)第30頁

1.用錯(cuò)位連接結(jié)合軟件方法實(shí)現(xiàn)8位接口芯片與16位CPU總線連接

在硬件上將地址總線A1與8251AA0(即C/D)引腳相連接,在軟件設(shè)計(jì)時(shí)用連續(xù)偶地址代替端口奇/偶地址,就處理了8位接口芯片與16位數(shù)據(jù)總線連接;即就是將8位接口芯片與16位數(shù)據(jù)總線低8位數(shù)據(jù)線相連接。

(見前8251A與系統(tǒng)連接示意圖)

7.2.38位接口芯片與CPU總線連接串并行通信及其接口技術(shù)第31頁表7.1CPU總線與8位接口錯(cuò)位連接小結(jié)CPU字長數(shù)據(jù)線位數(shù)選最低字節(jié)錯(cuò)位連接低位地址初值相鄰地址差值8088168A0-A0A0=0180861616A0=0A1-A0A1A0=002803863232A1A0=0A2-A0A2A1A0=0004Pentium3264A2A1A0=0A3-A0A3A2A1A0=00008軟件上,用連續(xù)偶地址代替奇偶地址串并行通信及其接口技術(shù)第32頁

2.用硬件方法實(shí)現(xiàn)8位外設(shè)與16位數(shù)據(jù)總線連接

兩個(gè)硬件電路:(1)檢測控制電路:檢測并識(shí)別奇地址端口輸入/輸出指令,確認(rèn)是奇地址I/O指令時(shí)開啟高/低字節(jié)復(fù)制器,并控制數(shù)據(jù)復(fù)制方向。(2)高/低字節(jié)復(fù)制器:執(zhí)行IN指令時(shí),將外設(shè)來數(shù)據(jù)復(fù)制至數(shù)據(jù)總線高8位;執(zhí)行OUT指令時(shí),將CPU高8位數(shù)據(jù)復(fù)制至數(shù)據(jù)總線低8位。串并行通信及其接口技術(shù)第33頁347.2.48251A存放器及其初始化流程8251A初始化約定: ①復(fù)位后,第一次給奇地址端口寫入值作為模式字 ②如要求為同時(shí)模式,那么,接下來往奇地址端口寫入是同時(shí)字符。假如是雙同時(shí),則先后兩次寫入同時(shí)字符。

③接下來,只要不是復(fù)位命令,CPU給奇地址寫入是控制字,給偶地址端口寫入是要發(fā)送數(shù)據(jù)。

1.8251A初始化8251A使用前必須進(jìn)行初始化,以確定工作方式、傳送速率、字符格式以及停頓位長度等;改變8251A工作方式時(shí)必須再次進(jìn)行初始化編程;串并行通信及其接口技術(shù)第34頁2.模式存放器格式8251A編程包含兩個(gè)方面內(nèi)容:由CPU發(fā)出控制字,即模式命令字和操作命令控制字

由8251A向CPU送出狀態(tài)字

模式字是在對8251A進(jìn)行初始化時(shí),用程序命令寫入且只需寫一次。用于要求8251A工作方式:串并行通信及其接口技術(shù)第35頁3.控制存放器格式

控制字是在模式字之后寫入,用來控制8251A工作,使其處于要求狀態(tài)以及準(zhǔn)備發(fā)送或接收數(shù)據(jù),可進(jìn)行屢次寫入操作。控制字和模式字共用一個(gè)奇地址端口,且又無特征標(biāo)志,8251A是依據(jù)寫入先后次序來加以區(qū)分,即先寫入是模式字,后寫入是控制字。串并行通信及其接口技術(shù)第36頁比如:

由控制字格式可知,8251A復(fù)位命令是給奇地址端口寫入40H。即復(fù)位命令程序段是:MOVAL,40HOUT奇地址端口,AL串并行通信及其接口技術(shù)第37頁4.狀態(tài)存放器格式

狀態(tài)存放器用來存放8251A狀態(tài)字,用來反應(yīng)8251A狀態(tài)信息,可供CPU讀取查詢。串并行通信及其接口技術(shù)第38頁【例】假設(shè)8251A端口地址為:82H、80H,按以下要求對8251A進(jìn)行初始化。(1)異步工作方式,1個(gè)停頓位,采取偶校驗(yàn),7個(gè)數(shù)據(jù)位,波特率因子為16。(2)允許接收和發(fā)送數(shù)據(jù),使錯(cuò)誤位全部復(fù)位。(3)查詢8251A狀態(tài)字,當(dāng)接收準(zhǔn)備就緒時(shí)則從8251A輸入數(shù)據(jù),不然等候。7.2.58251A編程舉例1.異步方式舉例串并行通信及其接口技術(shù)第39頁 MOV AL, 40H OUT 82H, AL ;對8251A進(jìn)行復(fù)位 MOV AL, 01111010B OUT 82H, AL ;寫模式字 MOV AL, 00010101B OUT 82H, AL ;寫控制字WAIT: IN AL, 82H ;讀取狀態(tài)字 AND AL, 02H ;檢驗(yàn)RxRDY是否為1 JZ WAIT ;RxRDY不為1,等候 IN AL, 80H ;RxRDY為1,讀取數(shù)據(jù)初始化程序段:串并行通信及其接口技術(shù)第40頁7.2.58251A編程舉例2.同時(shí)方式舉例【例】假設(shè)8251A端口地址為:42H、40H,按以下要求對8251A進(jìn)行初始化。(1)同時(shí)工作方式,2個(gè)同時(shí)字符16H,內(nèi)同時(shí),采取偶校驗(yàn),7個(gè)數(shù)據(jù)位。(2)使8251A對同時(shí)字符進(jìn)行搜索,使錯(cuò)誤位全部復(fù)位,開啟發(fā)送器和接收器,通知調(diào)制/解調(diào)器CPU已準(zhǔn)備好進(jìn)行數(shù)據(jù)傳輸。串并行通信及其接口技術(shù)第41頁 MOV AL, 01000000H OUT 42H, AL ;對8251A進(jìn)行復(fù)位 MOV AL, 00111000B OUT 42H, AL ;寫模式字 MOV AL, 00010110B OUT 82H, AL ;寫同時(shí)字符 MOV AL, 00010110B OUT 82H, AL ;寫同時(shí)字符 MOV AL, 10110111B OUT 82H, AL ;寫控制字初始化程序段:串并行通信及其接口技術(shù)第42頁【練習(xí)】對8251A進(jìn)行初始化。

1.

設(shè)8251A工作于內(nèi)同時(shí)方式,8個(gè)數(shù)據(jù)位,無校驗(yàn),一個(gè)同時(shí)字符(均為24H);

2.同時(shí)要求8251A進(jìn)行同時(shí)字符搜索,允許接收和發(fā)送數(shù)據(jù),使錯(cuò)誤位全部復(fù)位。

3.假設(shè)8251A端口地址為:00E2H、00E0H。串并行通信及其接口技術(shù)第43頁答案初始化程序段: MOV AL,40H OUT 0E2H,AL ;對8251A進(jìn)行復(fù)位 MOV AL,10001100H OUT 0E2H,AL ;寫模式字 MOV AL,24H OUT 0E2H,AL ;寫第一個(gè)同時(shí)字符 OUT 0E2H,AL ;寫第二個(gè)同時(shí)字符 MOV AL,10010101B OUT 41H,AL ;寫控制字

串并行通信及其接口技術(shù)第44頁7.2.58251A編程舉例3.利用狀態(tài)字舉例編程實(shí)現(xiàn)CPU接收80個(gè)字符,字符輸入后放在BUFFER所指內(nèi)存緩沖區(qū)。8251A工作于異步方式,波特率因子為16,7個(gè)數(shù)據(jù)位,偶校驗(yàn),2個(gè)停頓位。8251A端口地址:50H,52H。MOVAL,0FAH;11111010BOUT52H,AL;設(shè)置模式字MOVAL,35H;00110101BOUT52H,AL;設(shè)置控制字MOVDI,0;變址存放器初始化MOVCX,80;計(jì)數(shù)器初始化BEGIN:INAL,52H

;讀狀態(tài)字TESTAL,02H

;測試JZBEGIN

;RXRDY=0轉(zhuǎn)INAL,50H;讀取字符MOVBX,OFFSETBUFFERMOV[BX+DI],AL;保留字符INCDI ;修改緩沖區(qū)指針I(yè)NAL,52H;讀取狀態(tài)字TESTAL,38H;測試有沒有錯(cuò)誤JNZERRORLOOPBEGIN

;無錯(cuò)且不夠80個(gè)繼續(xù)接收J(rèn)MPEXIT

;如滿80個(gè)字符,則結(jié)束ERROR:CALLERR_OUT;調(diào)用犯錯(cuò)處理程序EXIT:串并行通信及其接口技術(shù)第45頁8251A與CPU之間通常采取查詢或中止方式傳輸數(shù)據(jù)。若采取中止方式,兩個(gè)狀態(tài)信號(hào)TxRDY和RxRDY經(jīng)過一個(gè)或非門接到CPU外中止輸入。其余

、

、RESET都是同名端相連。在編程時(shí),先對8251A初始化,輸入命令字后就能夠進(jìn)行數(shù)據(jù)傳送。在得到中止申請后,經(jīng)過調(diào)用狀態(tài)字來檢測是接收申請(RxRDY=1)還是發(fā)送申請(TxRDY=1),然后轉(zhuǎn)至對應(yīng)中止服務(wù)程序進(jìn)行處理即可。在接收處理時(shí),若要判定傳輸是否犯錯(cuò),也只需讀取狀態(tài)字,檢測錯(cuò)誤標(biāo)志位PE等。這么,能夠很方便地實(shí)現(xiàn)雙工通信。7.2.68251A使用實(shí)例【例】試用8251A為8086CPU與CRT終端設(shè)計(jì)一串行通信接口。假設(shè):8251A端口地址為52H、50H。要求:(1)異步工作方式,1個(gè)停頓位,8個(gè)數(shù)據(jù)位,采取奇校驗(yàn),波特率因子為16;(2)CPU用查詢方式將顯示緩沖區(qū)字符“GOOD”送CRT顯示。顯示緩沖區(qū)在數(shù)據(jù)段,首地址為H。串并行通信及其接口技術(shù)第46頁8251與CPU數(shù)據(jù)交換查詢方式/中止方式采取查詢方式,在數(shù)據(jù)交換前應(yīng)讀取狀態(tài)存放器。

狀態(tài)存放器D0=1,CPU能夠向8251數(shù)據(jù)端口寫入數(shù)據(jù),完成串行數(shù)據(jù)發(fā)送狀態(tài)存放器D1=1,CPU能夠從8251數(shù)據(jù)端口讀出數(shù)據(jù),完成一幀數(shù)據(jù)接收采取中止方式,8251沒有單獨(dú)中止請求引腳:

TxRDY引腳能夠作為發(fā)送中止請求

RxRDY引腳能夠作為接收中止請求收發(fā)均采取中止方式時(shí),TxRDY、RxRDY能夠經(jīng)過或門與系統(tǒng)總線中止請求線連接。在CPU響應(yīng)中止轉(zhuǎn)到ISP中時(shí),再對狀態(tài)存放器進(jìn)行查詢,以區(qū)分是發(fā)送中止還是接收中止串并行通信及其接口技術(shù)第47頁(1)硬件連接:8086CPU與CRT終端接口連接如圖所表示。

8251A信號(hào)都是TTL電平,而CRT信號(hào)為RS-232-C電平,故經(jīng)過1488將8251A輸出變?yōu)镽S-232-C電平,再送給CRT;反過來,CRT輸出信號(hào)經(jīng)過1489將變?yōu)門TL電平,再送給8251A。串并行通信及其接口技術(shù)第48頁DATA SEGMENTDISBUF DB

47H,4FH,4FH,44H,0DH,0AH;GOOD字符ASCⅡ碼COUNT DB$-DISBUFDATA ENDS ┋ MOV AL,

40H OUT 52H,AL ;對8251A進(jìn)行復(fù)位 MOV AL,01011110B ;寫入模式字 OUT 52H,AL MOV AL,00110011B ;寫控制字 OUT 52H,AL MOV BX,OFFSET

DISBUF ;顯示緩沖區(qū)首址 MOV CX,COUNTWAIT: IN AL,52H

AND AL,01H ;判斷TxRDY是否為1,不為1,等候 JZ WAIT MOV AL,ES:[BX] ;為1,則輸出數(shù)據(jù) OUT 50H,AL INC BX DEC CX JNZ WAIT HLT(2)軟件設(shè)計(jì)首次對8251A初始化,先送3個(gè)00H,再送1個(gè)40H串并行通信及其接口技術(shù)第49頁【例】經(jīng)過8251A實(shí)現(xiàn)兩臺(tái)微機(jī)相互通信硬件連接圖如圖所表示。利用兩片8251A經(jīng)過標(biāo)準(zhǔn)串行接口RS-232C實(shí)現(xiàn)兩臺(tái)8086微機(jī)之間異步串行通信。設(shè)兩臺(tái)微機(jī)中8251A命令端口地址均為3F9H,數(shù)據(jù)端口地址均為3F8H。

串并行通信及其接口技術(shù)第50頁分析:設(shè)系統(tǒng)采取查詢方式控制串行通信過程。初始化程序由兩部分組成:①將一方定義為發(fā)送方,發(fā)送方CPU查詢到TxRDY有效時(shí),則CPU向8251A并行輸出一個(gè)待發(fā)送字節(jié)數(shù)據(jù);②將對方定義為接收方,接收方CPU查詢到RxRDY有效時(shí),則從8251A輸入一個(gè)已接收到字節(jié)數(shù)據(jù),直到全部數(shù)據(jù)傳送完成為止。串并行通信及其接口技術(shù)第51頁L1: MOV DX,3F9H

IN

AL,DX AND AL,01H ;查詢TxRDY是否有效

JZ L1 ;無效則等候

MOV DX,3F8H MOV

AL,[DI] ;向8251A輸出一個(gè)字節(jié)數(shù)據(jù)

OUT

DX,AL

INC

DI ;修改地址指針

LOOP L1

;未傳送完,則繼續(xù)下一個(gè)

HLTSTART: MOV DX,3F9H MOV AL,7FH ;模式字(異步方式,8位數(shù)據(jù),一位停頓位

OUT DX,AL ;偶校驗(yàn),波特率因子為64,允許發(fā)送) MOV AL,11H ;操作命令字(錯(cuò)誤復(fù)位,發(fā)送允許)

OUT DX,AL MOV DI,1000H ;設(shè)置地址指針

MOV CX,40H ;設(shè)置計(jì)數(shù)器初值發(fā)送程序以下:串并行通信及其接口技術(shù)第52頁BEGIN: MOV

DX,3F9H MOV AL,7FH ;異步方式,8位數(shù)據(jù),1位停頓位

OUT

DX,AL ;偶校驗(yàn),波特率因子64,允許接收

MOV AL,14H ;操作命令字(錯(cuò)誤復(fù)位,接收允許)

MOV

DX,AL MOV SI,H ;設(shè)置地址指針

MOV CX,40H ;設(shè)置計(jì)數(shù)器初值L2: MOV DX,3F9H IN AL,DX ;讀取狀態(tài)字 TEST AL,38H ;查詢接收器是否有錯(cuò)

JNZ ERR ;有錯(cuò)則轉(zhuǎn)錯(cuò)誤處理

AND AL,02H

;無誤則查狀態(tài)位D1(RxRDY)

JZ L2

;接收未準(zhǔn)備好則等候

MOV DX,3F8H IN AL,DX

;接收準(zhǔn)備好,則接收1個(gè)字節(jié)數(shù)據(jù)

MOV [SI],AL INC SI ;修改接收數(shù)據(jù)區(qū)地址

LOOP L2 JMP L3ERR: CALL ERR-OUT(略)L3: MOV AX,4C00H ;已接收完,返回DOS

INT 21H接收程序串并行通信及其接口技術(shù)第53頁并行通信并行通信:是指將組成一組數(shù)據(jù)各位同時(shí)進(jìn)行傳送一個(gè)通信方式。比如一組8位數(shù)據(jù)或16位數(shù)據(jù)同時(shí)傳入或傳出。并行通信優(yōu)點(diǎn)是傳輸速度快,信息率高;缺點(diǎn)是電纜耗損高。并行通信適合用于數(shù)據(jù)傳輸率較高、傳輸距離較短場所。適合場所:

(1)外部設(shè)備與微機(jī)之間進(jìn)行近距離、大量和快速信息交換比如:微機(jī)與并行接口打印機(jī)、磁盤驅(qū)動(dòng)器(2)微機(jī)系統(tǒng)中最基本信息交換方法比如:系統(tǒng)板上各部件之間,接口電路板上各部件之間7.3并行通信和并行接口串并行通信及其接口技術(shù)第54頁并行接口:實(shí)現(xiàn)并行通信接口稱為并行接口。按照信息傳送方向,分為:輸入接口、輸出接口和輸入/輸出接口按照可編程性分類:不可編程并行接口和可編程并行接口。不可編程并行接口:接口工作方式及功效由硬件連接來設(shè)定,不能用軟件編程方法改變,接口工作方式固定不變。比如8位雙向三態(tài)緩沖驅(qū)動(dòng)器74LS245、8位三態(tài)數(shù)據(jù)鎖存器74LS373等。多用于組成功效比較簡單接口電路??删幊滩⑿薪涌冢浩胀ㄓ煽删幊掏ㄓ媒涌谛酒M成,這些芯片除了含有硬件連接接口性能外,最主要就是可由編程人員經(jīng)過編程來進(jìn)行設(shè)定芯片性能。如有Zilog企業(yè)Z80PIO,Intel8255A等。因而可編程接口含有廣泛適應(yīng)性和很高靈活性,在微機(jī)系統(tǒng)中得到廣泛應(yīng)用。2.并行I/O接口串并行通信及其接口技術(shù)第55頁3.并行接口與外設(shè)連接圖7.10并行接口連接外設(shè)示意圖串并行通信及其接口技術(shù)第56頁并行接口輸入數(shù)據(jù)過程外設(shè)將數(shù)據(jù)送到“數(shù)據(jù)輸入線”,經(jīng)過“輸入數(shù)據(jù)準(zhǔn)備好”狀態(tài)線通知并行接口,接口將數(shù)據(jù)鎖存到“輸入緩沖器”,經(jīng)過“數(shù)據(jù)輸入響應(yīng)”線通知外設(shè),接口數(shù)據(jù)緩沖器已滿,不要再送數(shù)據(jù),同時(shí)將“狀態(tài)存放器”對應(yīng)位置1,便于CPU查詢和接口向CPU發(fā)中止請求之用。CPU從接口將數(shù)據(jù)取走后,接口將“數(shù)據(jù)輸入準(zhǔn)備好”、“數(shù)據(jù)輸入回答”信號(hào)去除,方便外設(shè)輸入下一個(gè)數(shù)據(jù)。

并行接口輸出數(shù)據(jù)過程接口“數(shù)據(jù)輸出緩沖器”空,置“數(shù)據(jù)輸出準(zhǔn)備好”狀態(tài)線為1,收到CPU發(fā)數(shù)據(jù),將之復(fù)位清0,數(shù)據(jù)經(jīng)過“數(shù)據(jù)輸出”線送外設(shè),由“數(shù)據(jù)輸出準(zhǔn)備好”線通知外設(shè)取數(shù)據(jù)。外設(shè)取走數(shù)據(jù),將“數(shù)據(jù)輸出準(zhǔn)備好”信號(hào)線置1,方便CPU輸出下一個(gè)數(shù)據(jù)。4.并行接口工作原理串并行通信及其接口技術(shù)第57頁7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號(hào)1.數(shù)據(jù)端口A、B、C

8255A三個(gè)數(shù)據(jù)端口都是8位,而各有特點(diǎn)。(1)端口A

是一個(gè)獨(dú)立8位數(shù)據(jù)I/O口,它內(nèi)部有對數(shù)據(jù)輸入/輸出鎖存功效。(2)端口B

是一個(gè)獨(dú)立8位數(shù)據(jù)I/O口,對輸入數(shù)據(jù)不鎖存,僅對輸出數(shù)據(jù)鎖存。串并行通信及其接口技術(shù)第58頁(3)端口C

能夠看作是一個(gè)獨(dú)立8位I/O口;也能夠看作是兩個(gè)獨(dú)立4位I/O口。還能夠用作A口和B口控制信號(hào)。對輸出數(shù)據(jù)進(jìn)行鎖存,對輸入數(shù)據(jù)不鎖存。7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號(hào)串并行通信及其接口技術(shù)第59頁2.A組控制和B組控制

這兩組控制部件有兩個(gè)功效:即一是接收芯片內(nèi)部總線上控制字;二是接收來自讀/寫控制邏輯電路讀/寫命令,據(jù)此而決定兩組端口工作方式和讀/寫操作。7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號(hào)串并行通信及其接口技術(shù)第60頁3.讀/寫控制邏輯電路

負(fù)責(zé)管理8255A數(shù)據(jù)傳輸過程。它接收CS及來自地址總線信號(hào)A1、A0和控制總線信號(hào)RESET、RD、WR,將它們組合后,得到對A組控制部件和B組控制部件控制命令,并將命令送給這兩個(gè)部件,再由它們完成對數(shù)據(jù)、狀態(tài)和控制信息傳輸。7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號(hào)串并行通信及其接口技術(shù)第61頁4.數(shù)據(jù)總線緩沖器是一個(gè)雙向三態(tài)8位數(shù)據(jù)緩沖器。8255A正是經(jīng)過它與系統(tǒng)數(shù)據(jù)總線相連。輸入數(shù)據(jù)、輸出數(shù)據(jù)、CPU發(fā)給8255A控制字都是經(jīng)過該部件傳遞。7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號(hào)串并行通信及其接口技術(shù)第62頁7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號(hào)串并行通信及其接口技術(shù)第63頁8255A復(fù)位后,全部I/O均處于輸入狀態(tài),內(nèi)部存放器都被去除7.4可編程并行通信接口8255A7.4.1

8255A內(nèi)部結(jié)構(gòu)和外部信號(hào)串并行通信及其接口技術(shù)第64頁7.4可編程并行通信接口8255A7.4.2

8255A控制字控制字分為兩類方式選擇控制字C端口按位置1/置0控制字8255A有三種基本工作方式:方式0、方式1、方式2圖7.158255A方式選擇控制字串并行通信及其接口技術(shù)第65頁端口C置1/置0控制字

端口C置1/置0例子MOV AL,0FH ;對PC7置1控制字MOV DX,00EEH ;控制口地址送DXOUT DX,AL ;對PC7進(jìn)行置1操作MOV AL,06H ;對PC3置0控制字OUT DX,AL ;對PC3進(jìn)行置0操作圖7.13端口C置1/置0控制字串并行通信及其接口技術(shù)第66頁7.4.38255A工作方式1.方式0

也叫基本輸入輸出方式。

特點(diǎn):

(1)三個(gè)端口都可作為獨(dú)立輸入或輸出口,各端口間沒有必定關(guān)系。(2)由端口A、端口B和端口C高4位、低4位,這4個(gè)端口能夠有16種不一樣組合。(3)這種方式下,輸出可鎖存數(shù)據(jù),輸入是不鎖存。方式0使用場所: 同時(shí)傳輸和查詢式傳輸。串并行通信及其接口技術(shù)第67頁使用場所

同時(shí)傳送時(shí),發(fā)送方和接收方由同一時(shí)序信號(hào)來管理,所以雙方相互知道對方動(dòng)作,不需要應(yīng)答信號(hào)。即CPU不需要查詢外設(shè)狀態(tài),對接口要求很簡單,只要能傳送數(shù)據(jù)就行,此時(shí)8255A三個(gè)數(shù)據(jù)端口能夠?qū)崿F(xiàn)三路數(shù)據(jù)傳送。

查詢傳送時(shí),普通將A、B口常作為數(shù)據(jù)口,把C口兩部分用來輸出一些控制信號(hào)和接收一些狀態(tài)信號(hào),這么端口C用來配合端口A和B工作。串并行通信及其接口技術(shù)第68頁方式1又稱為選通輸入/輸出方式。特點(diǎn):

(1)端口A和端口B能夠分別作為輸入端口或輸出端口。(2)假如端口A和端口B只有一個(gè)工作于方式1,端口C中就有3位被要求為配合方式1工作信號(hào),這時(shí),另一個(gè)端口和端口C其它位可工作于方式0。(3)假如端口A和B都工作在方式1,那么端口C則有6位分別作為A口和B口應(yīng)答聯(lián)絡(luò)信號(hào),而且其排列是固定,剩下2位可工作于方式0。串并行通信及其接口技術(shù)第69頁方式1時(shí)輸入端口對應(yīng)控制信號(hào)圖7.14串并行通信及其接口技術(shù)第70頁STB:選通信號(hào)輸入端。它是由外設(shè)送往8255A,當(dāng)STB有效時(shí)8255A端口A或B輸入緩沖器接收到一個(gè)來自外設(shè)8位數(shù)據(jù)。方式1輸入組態(tài)和應(yīng)答信號(hào)功效

IBF:“輸入緩沖器滿”信號(hào)。它是8255A輸出狀態(tài)信號(hào),當(dāng)IBF有效時(shí),表示當(dāng)前已經(jīng)有一個(gè)新數(shù)據(jù)進(jìn)入端口A或B緩沖器中。此信號(hào)是對STB響應(yīng)信號(hào),它能夠由CPU經(jīng)過查詢C口PC5或PC1位取得。當(dāng)CPU查PC5(或PC1)=1時(shí),便能夠從A口(或B口)讀入數(shù)據(jù)。IBF信號(hào)是由STB信號(hào)使其置位,而由讀信號(hào)RD上升沿使其復(fù)位。

INTR:是8255A送往CPU中止請求信號(hào)。當(dāng)選通信號(hào)STB=1,置IBF=1,且端口處于中止允許狀態(tài)(INTE=1)時(shí),將INTR端置位高電平,向CPU發(fā)出中止請求信號(hào)。當(dāng)CPU響應(yīng)中止讀入數(shù)據(jù)端口數(shù)據(jù)時(shí),由RD信號(hào)下降沿使INTR復(fù)位。串并行通信及其接口技術(shù)第71頁方式1時(shí)輸出端口對應(yīng)控制信號(hào)串并行通信及其接口技術(shù)第72頁方式1使用場所

對方式1,要求一個(gè)端口作為輸入口同時(shí),自動(dòng)要求了相關(guān)控制信號(hào),尤其要求了對應(yīng)中止請求信號(hào)。這么,在許多采取中止方式進(jìn)行輸入輸出場所,假如外設(shè)能為8255A提供選擇信號(hào)或數(shù)據(jù)接收應(yīng)答信號(hào),那么,常使8255工作于方式1。用方式1工作比用方式0愈加方便有效。串并行通信及其接口技術(shù)第73頁

3.方式2

也叫雙向傳輸方式,含有以下特點(diǎn):(1)只適合用于端口A,相當(dāng)于雙向方式1傳輸。(2)端口C用5條線作為A口聯(lián)絡(luò)信號(hào),而且排列是固定。串并行通信及其接口技術(shù)第74頁方式2使用場所

方式2是一個(gè)雙向工作方式,假如一個(gè)并行外部設(shè)備既能夠作為輸入設(shè)備,又可作為輸出設(shè)備,而且輸入輸出動(dòng)作不會(huì)同時(shí)進(jìn)行,那么,將這個(gè)外設(shè)和8255A端口A相連,并使它工作在方式2,就非常適當(dāng)。比如,軟盤驅(qū)動(dòng)器就是這么一個(gè)外設(shè)。串并行通信及其接口技術(shù)第75頁(1)要求

為某應(yīng)用系統(tǒng)配置一個(gè)并行打印機(jī)接口,而且經(jīng)過接口CPU采取查詢方式把存放在BUF緩沖區(qū)256個(gè)字(ASCII碼)送去打印。(2)分析因?yàn)榇蛴〗涌谥苯用嫦驅(qū)ο笫谴蛴C(jī)接口標(biāo)準(zhǔn),而不是打印機(jī)本身,所以打印機(jī)接口要按照接口標(biāo)準(zhǔn)要求進(jìn)行設(shè)計(jì)。相關(guān)打印機(jī)接口標(biāo)準(zhǔn)信號(hào)線定義和工作時(shí)序以下。DATA0~DATA7STROBEBUSYACK并行打印機(jī)接口數(shù)據(jù)傳送時(shí)序7.4.4

8255A應(yīng)用舉例1.8255A工作于方式0例子

串并行通信及其接口技術(shù)第76頁

采取查詢方式時(shí),打印機(jī)與CPU之間傳送數(shù)據(jù)過程是:①首先查詢BUSY。若BUSY=1,打印機(jī)忙,則等候;若BUSY=0,打印機(jī)不忙,則送數(shù)據(jù)。②經(jīng)過并行接口把數(shù)據(jù)送給標(biāo)準(zhǔn)插座DATABIT1~DATABIT8數(shù)據(jù)線上,此時(shí)數(shù)據(jù)并未送入打印機(jī)。③再送出一個(gè)數(shù)據(jù)選通信號(hào)DATASTROBE-(負(fù)脈沖)給標(biāo)準(zhǔn)插座1號(hào)引腳,把數(shù)據(jù)線上數(shù)據(jù)打入到打印機(jī)內(nèi)部緩沖器。④打印機(jī)在收到數(shù)據(jù)后,經(jīng)過插座11號(hào)引肢發(fā)出“忙”(BUSY=1)信號(hào),表明打印機(jī)正在處理輸入數(shù)據(jù)。⑤最終在10號(hào)引腳上送出一個(gè)回答信號(hào)ACK-給主機(jī),表示上一個(gè)字符已經(jīng)處理完成。串并行通信及其接口技術(shù)第77頁(3)設(shè)計(jì)接口電路設(shè)計(jì)包含硬件接口電路和軟件驅(qū)動(dòng)程序兩部分。①打印機(jī)接口電路。打印機(jī)接口電路原理框圖如圖所表示。該電路設(shè)計(jì)思緒是:按照并行打印接口標(biāo)準(zhǔn)對打印機(jī)接口信號(hào)線定義,最基本信號(hào)線需要8根數(shù)據(jù)線(DATABIT1~8)CPU

PA0~7PC7PC2地

地BUSYSTBDATA0~71112~98255A打印機(jī)插座8255A并行打印機(jī)接口電路框圖串并行通信及其接口技術(shù)第78頁1根控制線(STB),1根狀態(tài)線(BUSY)和1根地線。選取8255APA口作數(shù)據(jù)口輸出8位打印數(shù)據(jù),工作方式為0方式。②接口驅(qū)動(dòng)程序。其程序流程圖如右圖所表示。驅(qū)動(dòng)程序程序段以下:結(jié)束8255A初始化BUSY=0?送數(shù)送STB內(nèi)存+1字節(jié)數(shù)-1送完?開始YNYN串并行通信及其接口技術(shù)第79頁CODE SEGMENT ASSUMECS:CODE,DS:CODE ORG 100HSTART:

MOVAX,CODE MOVCS,AX MOVDS,AX MOVDX,203H ;8255A命令口 MOVAL,10000001B ;工作方式字 OUTDX,AL ;(A口0方式,輸出,C4~C7輸出,C0~C3輸入)串并行通信及其接口技術(shù)第80頁MOV AL,00001111B ;PC7位置高,使STB--=1OUTDX,ALMOV SI,OFFSETBUF ;打印字符內(nèi)存首地址MOV CX,OFFH ;打印字符個(gè)數(shù)MOV DX,202H ;PC口地址IN AL,DX ;查BUSY=0?(PC2=0)AND AL,04H ;00000100BJNZ L ;忙,則等候;不忙,則向A口送數(shù)MOV DX,200H ;PA口地址MOV AL,[SI] ;從內(nèi)存取數(shù)OUT DX,AL ;送數(shù)據(jù)到A口MOV AL,203H ;8255A命令口MOV AL,00001110B ;置STB-信號(hào)為低(PC7=0)串并行通信及其接口技術(shù)第81頁 OUT DX, AL NOP ;負(fù)脈沖寬度(延時(shí)) NOP MOV AL, 00001111B ;置STB-為高 OUT DX, AL INC SI ;內(nèi)存地址加1 DEC CX ;字符數(shù)減1 JNZ L ;未完,繼續(xù) MOV AX, 4C00H ;已完,退出 INT 21HBUF DB 256個(gè)ASCII字符代碼CODE ENDS END START串并行通信及其接口技術(shù)第82頁

設(shè)8255A工作于方式0,A端口地址0D0H,B端口地址0D2H,C端口地址0D4H,控制端口,0D6H。PP: MOV AL,81H OUT 0D6H,AL ;方式字

MOV AL,0DH OUT 0D6H,AL ;PC置0/置1方式字LPST: IN AL,0D4H ;查狀態(tài)

AND AL,04HJNZ LPST MOV AL,CLOUT 0D0H,AL ;輸出字符送緩沖區(qū)

MOV AL,0CHOUT 0D6H,AL ;STB產(chǎn)生負(fù)脈沖INC ALOUT 0D6H,AL ;STB置1串并行通信及其接口技術(shù)第83頁2.8255A工作于方式1例子1

圖7.188255A作為中止方式打印機(jī)接口示意圖串并行通信及其接口技術(shù)第84頁8255A工作于方式1輸出方式,A端口地址0C0H,B端口地址0C2H,C端口地址0C4H,控制端口地址0C6H;中止IR3類型號(hào)為0BH,中止向量地址0002CH。程序以下:MAIN: MOV AL,0A0H OUT 0C6H,AL ;A口輸出 MOV AL,01 OUT 0C6H,AL ;PC0為1 XOR AX,AX MOV DS,AX MOV AX,H MOV WORDPTR[002CH],AX MOV AX,1000H MOV WORDPTR[002EH],AX;設(shè)置中止向量1000: MOV AL,0DH OUT 0C6H,AL ;PC6為1,允許中止 STI

串并行通信及其接口技術(shù)第85頁中止處理子程序主要程序段:TINTR: MOV AL, [DI] ;取字符送接口緩沖區(qū) OUT 0C0H,AL MOV AL, 00 OUT 0C6H,AL ;PC0為0產(chǎn)生選通信號(hào) INC AL OUT 0C6H,AL ;PC0為1撤消選通信號(hào) … IRET 串并行通信及其接口技術(shù)第86頁(1)要求在甲乙兩臺(tái)微機(jī)之間并行傳送1K字節(jié)數(shù)據(jù)。甲機(jī)發(fā)送,乙機(jī)接收。甲機(jī)一側(cè)8255A采取1方式工作,乙機(jī)一側(cè)8255A采取0方式工作。兩機(jī)CPU與接口之間都采取查詢方式交換數(shù)據(jù)。(2)分析

雙機(jī)均采取可編程并行接口芯片8255A組成接口電路,只是8255A工作方式不一樣。此時(shí),雙方8255A把對方視為I/O設(shè)備。(3)設(shè)計(jì) 硬件連接: 依據(jù)上述要求,接口電路連接如圖所表示。 軟件編程: 接口驅(qū)動(dòng)程序包含發(fā)送與接收兩個(gè)程序。2.8255A工作于方式1例子2

串并行通信及其接口技術(shù)第87頁0方式1方式8255APA0~7PC7PC3PC4~6PC0~2PB0~7PA0~7PC7PC6PC3PC0~2、4~5PB0~7未用8255A甲(發(fā)送)CPU乙(接收)CPUACKOBF兩種方式并行傳送接口電路框圖串并行通信及其接口技術(shù)第88頁甲機(jī)發(fā)送程序段:MOV DX,203H ;8255A命令口MOV AL,10100000B ;初始化工作方式字OUT DX,ALMOV AL,00001101B ;置發(fā)送中止允許INTEA=1OUT DX,AL ;PC6=1MOV SI,OFFSETBUFS ;設(shè)置發(fā)送數(shù)據(jù)區(qū)指針MOV CX,3FFH ;發(fā)送字節(jié)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論