《微型計算機技術》第6章 可編程并行接口芯片和串行接口芯片_第1頁
《微型計算機技術》第6章 可編程并行接口芯片和串行接口芯片_第2頁
《微型計算機技術》第6章 可編程并行接口芯片和串行接口芯片_第3頁
《微型計算機技術》第6章 可編程并行接口芯片和串行接口芯片_第4頁
《微型計算機技術》第6章 可編程并行接口芯片和串行接口芯片_第5頁
已閱讀5頁,還剩152頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2023/1/301微型計算機技術WeixinɡJisuɑnjiJishu

(第3版)

2023/1/302

第6章

可編程并行接口芯片

和串行接口芯片2023/1/303可編程并行接口芯片和串行接口芯片6.1并行接口與串行接口6.2可編程并行接口芯片8255A6.3可編程串行接口芯片82512023/1/3046.1并行接口與串行接口6.1.1可編程接口芯片概述6.1.2并行接口、串行接口和模擬接口2023/1/3056.1.1可編程接口芯片概述CPU是通過接口電路與外圍設備(簡稱外設)實現(xiàn)信息交換的。在接口電路中,必有輸入輸出數(shù)據(jù)鎖存器和三態(tài)緩沖器組成的數(shù)據(jù)端口,以便實現(xiàn)CPU與外設之間的數(shù)據(jù)傳送。在程序查詢的I/O接口電路中,還應有狀態(tài)/命令寄存器,以便CPU與接口電路或外設之間用應答方式來交換信息;2023/1/306可編程接口芯片概述在中斷控制的I/O接口電路中,還要求有中斷控制邏輯電路(通常由中斷請求觸發(fā)器、中斷屏蔽觸發(fā)器、中斷請求信號形成邏輯、中斷優(yōu)先鏈電路、中斷優(yōu)先編碼器、中斷優(yōu)先級比較器和中斷類型碼發(fā)生器等部件組成),以便CPU實現(xiàn)不同的中斷管理方式;在DMA方式的接口電路中,還需要有命令/狀態(tài)寄存器、存儲器地址寄存器和傳送字節(jié)計數(shù)器等。此外,隨著微型計算機的廣泛應用,還要求具有定時和計數(shù)功能的接口電路、具有串行輸入輸出功能的串行接口電路及具有信號轉換功能的接口電路等。2023/1/307可編程接口芯片概述隨著大規(guī)模集成電路技術的發(fā)展,針對接口電路的不同功能,芯片制造商生產(chǎn)出許多通用的可編程I/O接口電路芯片。所謂可編程I/O接口電路芯片是指用戶可通過編制相應的程序段,使一塊通用的I/O接口電路能按不同的工作方式完成不同功能的接口任務。也可在工作過程中,通過編程手段對通用的I/O接口電路芯片進行動態(tài)操作,如改變工作方式、發(fā)送操作命令、讀取接口電路內(nèi)部有關端口的現(xiàn)狀等。2023/1/308接口電路中多數(shù)具有如下電路單元(1)輸入/輸出數(shù)據(jù)鎖存器和緩沖器,用以解決CPU與外設之間速度不匹配的矛盾,以及起隔離和緩沖的作用;(2)控制命令和狀態(tài)寄存器,以存放CPU對外設的控制命令,以及外設的狀態(tài)信息;(3)地址譯碼器,用來選擇接口電路中的不同端口(寄存器);(4)讀寫控制邏輯;(5)中斷控制邏輯。 從早期的邏輯電路板到大規(guī)模集成電路芯片為主的接口芯片。2023/1/309幾個重要概念

1.片選的概念

必須要有一個地址信號選中接口芯片后,才能使該接口芯片進入電路工作狀態(tài),實現(xiàn)數(shù)據(jù)的輸入/輸出。 選通端(ChipEnable),又稱片選端(ChipSelect)。

()端是控制接口芯片進入電路工作狀態(tài)的引腳端。2023/1/3010片選概念

2023/1/30112.讀/寫概念

2023/1/3012

3.可編程接口的概念

可編程接口芯片大部分是多通道、多功能的。

多通道是指一個接口芯片一面與CPU連接,另一面可接幾個外設;

多功能是指一個接口芯片能實現(xiàn)多種接口功能,實現(xiàn)不同的電路工作狀態(tài)。2023/1/3013可編程接口的概念

2023/1/3014可編程接口的概念

在接口芯片內(nèi),各硬件單元不是固定接死的,可由用戶在使用中選擇即:

通過計算機的指令來選擇不同的通道和不同的電路功能,稱為“編程控制”。

2023/1/3015可編程接口的概念

接口電路的組態(tài)(即電路工作狀態(tài))可由計算機指令來控制的接口芯片稱為“可編程序接口芯片”。 用來存放控制電路組態(tài)的控制字節(jié)的寄存器,稱為“控制寄存器”。2023/1/3016“可編程序接口芯片”的初始化對可編程序接口芯片中的控制口(控制寄存器)寫入控制字(控制內(nèi)容),以設定接口芯片的接口功能和工作特性。通過指令MOVAL,CWOUTPORT-CNT,ALCW---ControlWord/CommandWordPORD-CNT為控制口地址2023/1/30174.“聯(lián)絡”的概念

2023/1/3018“聯(lián)絡”的概念

接口芯片常常需要和外設間有一定的“聯(lián)絡”信號,以保證信息的正常傳送。 通常采用兩個“聯(lián)絡”(Handhake)信號:(選通信號,strobe)和RDY(就緒信號,Ready)。2023/1/3019“聯(lián)絡”信號

2023/1/3020“聯(lián)絡”信號通常輸入接口中,聯(lián)絡信號是STB(或)和IBF通常輸出接口中,聯(lián)絡信號是(或ACK)和輸入的選通信號

IBF輸入緩沖器滿信號輸出緩沖器滿信號響應信號2023/1/30216.1.2并行接口、串行接口和模擬接口可編程接口芯片一邊通過CPU的三總線(或系統(tǒng)總線)同CPU連接,一邊通過三種信息即數(shù)據(jù)信息、控制信息和狀態(tài)信息同外設連接,CPU通過接口芯片同外設之間交換的信息就是這三種信息。

2023/1/3022并行接口、串行接口和模擬接口其中,數(shù)據(jù)信息可以有數(shù)字量、模擬量和開關量三種類型。根據(jù)接口芯片同外設之間交換的數(shù)據(jù)信息是數(shù)字量、模擬量還是開關量,I/O接口可分為數(shù)字接口、模擬接口和開關接口。同時在數(shù)字接口中,按接口芯片同外設之間傳送的是并行數(shù)據(jù)還是串行數(shù)據(jù),數(shù)字接口又可分為并行接口和串行接口。而一個開關量只用一位二進制碼表示,同數(shù)字接口相仿。因此本書所討論的可編程接口芯片包括并行接口、串行接口和模擬接口。但不論何種接口芯片,接口芯片同CPU之間傳送的總是并行數(shù)字量。2023/1/3023并行接口、串行接口和模擬接口對串行接口而言,接口內(nèi)必須有并行—

串行的轉換部件(輸出接口)和串行—

并行的轉換部件(輸入接口);對模擬接口而言,接口內(nèi)必須有模數(shù)轉換器(輸入接口)和數(shù)模轉換器(輸出接口)。2023/1/30246.2可編程并行接口芯片8255A

6.2.18255A的結構和引腳功能6.2.28255A的工作方式6.2.38255A的初始化6.2.48255A的應用舉例6.2.516位微型計算機系統(tǒng)中的并行接口2023/1/30256.2可編程并行接口芯片8255A8255A的結構和引腳功能8255A的工作方式8255A的初始化8255A的應用舉例16位系統(tǒng)中的并行接口2023/1/3026可編程并行接口芯片8255A

Intel8255A是一種通用的可編程序并行I/O接口芯片(ProgrammableParallelInterface)。又稱“可編程外設接口芯片”PPI(ProgrammablePeripheralInterface)。

2023/1/30276.2.18255A的結構和引腳功能

2023/1/30288255A的結構和引腳功能1.8255A的內(nèi)部結構CPU一側:數(shù)據(jù)總緩沖器、讀寫控制邏輯和控制字寄存器2個:1)方式控制寄存器(分A組4位,B組3位,1位特征位)2)C口置位/復位寄存器(4位控制位,1位特征位,3位無關位)2023/1/3029

8255A的內(nèi)部結構同CPU的連接的引腳信號有:D0~D7同CPU的D0~D7連接A1、A0同CPU的A1、A0連接同CPU的連接同CPU的連接同CPU的髙位地址連接RESET同系統(tǒng)復位信號連接2023/1/3030同外設一側

有三個8位端口PA、PB和PC,都可由程序設定為各種不同的工作方式。 通常PA口與PB口用作輸入/輸出的數(shù)據(jù)端口,

PC口用作控制或狀態(tài)信息的端口,

PC口可以分成兩個4位的端口。表6-12023/1/30312023/1/3032同外設一側PA口的8條引腳PA0~PA7PB口的8條引腳PB0~PB7PC口的8條引腳PC0~PC7PA0~PA7、PB0~PB7、PC0~PC7同所連接的外設數(shù)據(jù)線連接PC0~PC7中的各條引腳又可作為PA和PB的聯(lián)絡信號線2023/1/30336.2.28255A的工作方式1.方式0—基本輸入輸出

8255A在方式0工作時:

CPU可以采用無條件讀寫方式與8255A交換數(shù)據(jù)。 如把C口的兩個部分用作控制和狀態(tài)口,與外設的控制和狀態(tài)端相連,CPU也可通過對C口的讀寫,實現(xiàn)A口與B口的查詢方式工作。 輸出的數(shù)據(jù)被鎖存,而輸入數(shù)據(jù)是不鎖存的。2023/1/3034無條件傳送方式1)外設隨時準備好同CPU之間的數(shù)據(jù)傳輸;2)外設的定時(外設處理信息的時間關系)是固定的、而且是已知的。2023/1/3035查詢傳送方式外設的定時是不固定的、或者是不知的。則必需由外設提供反映外設工作狀態(tài)(是否能傳送數(shù)據(jù))的狀態(tài)信息,由此在I/O接口中必需有存放狀態(tài)信息的寄存器---狀態(tài)端口。為了實現(xiàn)CPU與外設之間的同步傳送,I/O接口同外設之間通常有一對聯(lián)絡信號線,一條是接口給外設的控制信號線,另一條是外設給接口的狀態(tài)信號線。2023/1/3036方式0—基本輸入輸出當工作于無條件傳送時,與外設之間不需要聯(lián)絡信號線;當工作于查詢傳送時,與外設之間需要聯(lián)絡信號線,可由接口電路設計者任選PCL和PCH中各1條線作為與外設之間的聯(lián)絡信號線。選定了聯(lián)絡信號線后,在初始化時必須據(jù)此對PCL和PCH進行設置。2023/1/3037

8255A的工作方式2.方式1—選通輸入輸出(應答式輸入輸出)

方式1可工作于查詢方式和中斷方式

C口可分成兩部分,分別作為A口和B口的聯(lián)絡信號。在8255A中規(guī)定PC中的三位作為聯(lián)絡信號和中斷請求線。

2023/1/3038方式1—選通輸入輸出1)方式1工作于輸入接口(PA口)(1):輸入的選通信號,(PC4)(2)IBF:輸入緩沖器滿信號,(PC5)(3)INTR:中斷請求信號,(PC3)2023/1/3039方式1—選通輸入輸出

方式1工作于輸入接口(PB口)(1):輸入的選通信號,(PC2)(2)IBF:輸入緩沖器滿信號,(PC1)(3)INTR:中斷請求信號,(PC0)2023/1/3040中斷允許信號(4)INTE:中斷允許信號。A端口用PC4位的置/復位控制,B端口用PC2位的置/復位控制。只有當PC4或PC2置“1”時,才允許對應的端口送出中斷請求。INTE對應于接口中的一個中斷允許觸發(fā)器,PC4或PC2=1,就是使該觸發(fā)器置1。2023/1/3041聯(lián)絡信號線1):輸入選通信號,低電平有效。由外設提供,為低電平時,就把輸入的數(shù)據(jù)信號(PA7~PA0或PB7~PB0)送入A端口(或B端口)的數(shù)據(jù)鎖存器。2)IBF:輸入緩沖器滿信號,高電平有效。由8255A輸出,有效時,用以通知外部設備輸入的數(shù)據(jù)已寫入緩沖器。2023/1/3042中斷請求線3)INTR:中斷請求信號,高電平有效。當外部設備要向CPU傳送數(shù)據(jù)或請求服務時,8255A就用INTR端的高電平向CPU提出中斷請求。當、IBF和INTE都為高電平時,表明數(shù)據(jù)鎖存器內(nèi)已寫入了數(shù)據(jù),若此時INTE=1,則使INTR成為高電平,輸出到CPU。CPU響應中斷,在控制下從8255A中讀取數(shù)據(jù)時,的下降沿使INTR復位,它的上升沿又使IBF復位,使外設知道可以進行下一字節(jié)輸入,見圖6-8(b)。2023/1/3043方式1的輸入

2023/1/30442)方式1工作于輸出接口(PA口)(1):輸出緩沖器滿信號,(PC7)(2):響應信號,(PC6)(3)INTR:中斷請求信號,(PC3)(4)INTE:中斷允許信號,(PC6)2023/1/3045方式1工作于輸出接口(PB口)(1):輸出緩沖器滿信號,(PC1)(2):響應信號,(PC2)(3)INTR:中斷請求信號,(PC0)(4)INTE:中斷允許信號,(PC2)2023/1/3046聯(lián)絡信號線1)輸出緩沖器滿信號;低電平有效。由8255A輸出,當其有效時,表示CPU已經(jīng)將數(shù)據(jù)輸出到指定的端口,通知外設可以將數(shù)據(jù)取走。2)響應信號,低電平有效。由外設送來,有效時表示8255A數(shù)據(jù)已經(jīng)為外設所接收。

2023/1/3047中斷請求線

3)INTR:中斷請求信號,高電平有效。當外設接收了由CPU送給8255A的數(shù)據(jù)后,8255A就用INTR端向CPU發(fā)出中斷請求,請求CPU再輸出后面的數(shù)據(jù)。INTR是在INTE=1的條件下,當,和INTE都為高電平時,才能被置成高電平。由的上升沿清除(見圖6-9(b))。2023/1/3048中斷允許信號(4)INTE:中斷允許信號。A端口用PC6位的置/復位控制,B端口用PC2位的置/復位控制。只有當PC4或PC2置“1”時,才允許對應的端口送出中斷請求。INTE對應于接口中的一個中斷允許觸發(fā)器,PC6或PC2=1,就是使該觸發(fā)器置1。2023/1/3049方式1的輸出

2023/1/30503.方式2—雙向選通輸入輸出

可工作于中斷方式,也可工作于查詢方式 方式2只限于A口使用。(1):輸入的選通信號,(PC4)(2)IBF:輸入緩沖器滿信號,(PC5)(3)INTR:中斷請求信號,(PC3)(4):輸出緩沖器滿信號,(PC7)(5):響應信號,(PC6)2023/1/3051方式2—雙向選通輸入輸出

2023/1/3052方式2當A組在方式2下工作時,B組可以在方式1或方式0(此時只能采用無條件傳輸)工作2023/1/30536.2.38255A的初始化

首先要由CPU對8255A

寫入控制命令字,有2種控制命令字:一個是方式選擇控制字,另一個是C口按位置位/復位控制字。2023/1/30541.方式選擇控制字(D7=1)

2023/1/30552.C口按位置位/復位控制字(D7=0)

2023/1/3056

狀態(tài)字

PC7PC6PC5PC4PC3PC2PC1PC0

方式1輸入

方式1輸出AINTE1IBFAINTE2INTRAXXX

方式2 B組,由方式0或方式1定義I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB

INTE1IBFAINTE2INTRAXXXINTEAI/OI/OINTRAINTEBINTRB2023/1/30576.2.48255A的應用舉例

開關接口

LED接口打印機接口(1)

打印機接口(2)

鍵盤接口七段LED顯示器接口打印機接口(3)LED/開關接口2023/1/3058例6-2開關接口該程序的功能是每隔5分鐘從PA口讀入8個開關的狀態(tài)存入2000H:3000H開始的數(shù)據(jù)區(qū),工作10小時結束。

MOVAX,3000HMOVDS,AXMOVBX,2000HMOVCX,120MOVAL,10010000B(90H);8255初始化

OUT63H,AL2023/1/3059開關接口LOP:INAL,60H MOV[BX],AL INCBX CALLDELAY5M;延時5分鐘的子程序

DECCX JNZLOP MOVAH,4CH INT21H2023/1/3060例6-3LED接口

2023/1/3061LED接口

MOVAL,10000000B(80H);8255初始化

OUT 63H,AL MOVCX,7200 MOV AL,7FHLOP:OUT 60H,AL ROR AL,01H CALL DELAY5S;延時5秒子程序

LOOP LOP MOV AH,4CH INT 21H 2023/1/3062LED接口該控制程序的功能是:開始時LED7點亮(發(fā)光),每隔5秒鐘,發(fā)光燈移向上一個LED,依次點亮LED6,LED5,…LED0。然后再點亮LED7…周而復始,共工作10小時結束。2023/1/3063例6-4打印機接口(1~3)

2023/1/3064打印機接口(1)

2023/1/3065打印機接口(1)圖6.16為采用8255作為打印機接口的例子,圖中,PA口作為向打印機輸出的數(shù)據(jù)口,工作于方式0,采用程序查詢的控制方式。由PC0產(chǎn)生控制信號,PC7讀取外設狀態(tài)BUSY,8255的端口地址為90H~93H。則要求從內(nèi)存2000H:3000H開始取出100個數(shù)據(jù)送打印機打印的控制程序為:2023/1/3066打印機接口(1)MOV AX,2000H MOV DS,AX MOV BX,3000H MOV CX,100 MOV AL,10001000B(88H) ;8255初始化

OUT 93H,ALLOP:IN AL,92H TEST AL,80H JNZ LOP2023/1/3067打印機接口(1)

MOV AL,[BX] ;A口輸出

OUT 90H,AL MOV AL,01H ;產(chǎn)生

OUT 93H,AL MOV AL,00H OUT 93H,AL MOV AL,01H OUT 93H,AL INC BX LOOP LOP MOV AH,4CH INT 21H2023/1/3068打印機接口(2)2023/1/3069打印機接口(2)采用中斷控制方式的打印機接口,圖中PB口作為向打印機輸出的數(shù)據(jù)口,工作于方式1采用程序中斷的控制方式。8255工作于方式1輸出時,規(guī)定8255PB口同外設之間的聯(lián)絡信號為由PC1輸出,由PC2輸入,中斷請求INTR由PC0輸出送IR2,本接口電路中未用而是選用PC7產(chǎn)生打印機所要求的

2023/1/3070打印機接口(2)設8255的口地址同圖6.14,則該接口的初始化程序段為:MOVAL,10000100B(84H);PB口方式1輸

出PCH輸出OUT93H,ALMOVAL,00000101B(05H);INTEB=PC2

置INTEB=1,(開中)OUT93H,AL2023/1/3071打印機接口(3)

2023/1/3072例6-5鍵盤接口

兩類鍵盤:編碼鍵盤和非編碼鍵盤。 編碼鍵盤能自動提供對應于被按鍵的編碼信息,如ASCII碼,并能同時產(chǎn)生一個選通脈沖通知微處理器。 非編碼鍵盤由一組開關組成,提供行和列的鍵盤矩陣。其全部工作,包括按鍵的識別、按鍵代碼的產(chǎn)生、防止串鍵和消去抖動等問題,都靠程序來實現(xiàn)。

2023/1/3073鍵盤接口鍵盤輸入信息的過程:(1)檢測是否有鍵按下;(2)查出按下的是哪一個鍵;(3)將該鍵所代表的信息翻譯成計算機能識別的內(nèi)部代碼。如ASCII碼或其他預先約定的編碼。2023/1/3074鍵盤接口2023/1/3075鍵盤接口使用行掃描方式尋找按下鍵的編號(鍵號)的程序如下:

…PORTA EQU 0FFF8HPORTB EQU 0FFFAHPORTC EQU 0FFFCHPORTCN EQU 0FFFEH MOV DX,PORTCN ;置8255A端口A,B工作在方式0;

MOV AL,10000011B;端口A為輸出口,端口B為輸入口

OUT DX,ALWAITK: MOV DX,PORTA;等待鍵閉合

MOV AL,0 ;行碼送全“0”

OUT DX,AL

2023/1/3076鍵盤接口

MOVDX,PORTB ;讀列碼

IN AL,DX CMP AL,0FFHJZWAITK ;無鍵按下,繼續(xù)等待

MOV BL,0 ;掃描鍵盤矩陣,送鍵號初值

MOV BH,11111110B;置初始掃描模式——行碼送FEH

MOV CX,8FNDROW: MOV AL,BH ;送行碼

MOV DX,PORTA OUT DX,AL ROL BH,1 ;修改行碼

MOV DX,PORTB;讀列碼

IN AL,DX 2023/1/3077鍵盤接口

CMP AL,0FFH JNZ FNDCOL;有鍵按下,查列號

ADD BL,8 ;無鍵按下,指向下一行鍵號初值

LOOP FNDROW;

8行掃描未完,送下一行掃描碼

JMP DONE ;8行掃描完,無鍵按下

FNDCOL:ROR AL,1 ;查哪一列有鍵按下

JNC RIGHT ;查到按下鍵的鍵號

INC BL ;鍵號加1,查下一列

JMP FNDCOLRIGHT: ;按下鍵的編號在BL中

… …DONE:

;無鍵閉合

…2023/1/3078例6-6七段LED顯示器接口

發(fā)光二極管是一種當外加電壓(陽極電壓接高電位)超過額定電壓時發(fā)生擊穿,并因此產(chǎn)生可見光的器件。這種數(shù)碼顯示管通常由多個發(fā)光二極管來組成7段或8段筆劃顯示器。當段組合發(fā)亮時,便可顯示某一數(shù)碼或字符。

8個7段LED顯示器上顯示8位16進制數(shù),每個顯示器顯示其中一位數(shù)。2023/1/3079七段LED顯示器接口

2023/1/3080七段LED顯示器接口

2023/1/3081七段LED顯示器接口SSEGCODE DB0C0H;定義16進制數(shù)字符的七段代碼表

DB0F9H DB0A4H DB0B0H DB99H DB92H DB82H DB0F8H DB80H DB98H DB88H DB83H DB0C6H2023/1/3082七段LED顯示器接口

DB0AlH DB86H DB8EHFOURBYTE EQUTHISBYTEDBLWORD DD12345678H … MOVAL,10000000B ;設置工作方式

MOVDX,0FFFEH OUTDX,AL … CLDAGAIN: MOVCX,4 MOVSI,OFFSETFOURBYTE2023/1/3083七段LED顯示器接口

MOVAH,11111110BLOOPDISP:LODSB MOVDI,AX AND AL,0FH MOVBX,OFFSETSSEGCODE XLATSSEGCODE;送段選碼

MOVDX,0FFFAH OUTDX,AL MOVAL,AH ;送位選碼

MOVDX,OFFF8H OUTDX,AL PUSHCX MOVCX,NDELAY;延時2ms,NDELAY—延時常數(shù)2023/1/3084七段LED顯示器接口

IDLE: NOP NOP LOOPIDLE … MOVAL,0FFH;禁止顯示

OUTDX,AL MOVAX,DI MOVCL,4 SHRAL,CL MOVBX,OFFSETSSEGCODE XLATSSEGCODE MOVDX,0FFFAH OUTDX,AL ROLAH,1 2023/1/3085七段LED顯示器接口

MOVAL,AH MOVDX,0FFF8H OUTDX,AL MOVCX,NDELAY;延時2ms

IDLE2: NOP NOP LOOPIDIE2 ROLAH,1 MOVAL,0FFH OUTDX,AL POPCX LOOPLOOPDISP JMPAGAIN … 2023/1/3086例6-7打印機接口(4)

1)并行接口標準(Centronice) 該標準規(guī)定了一個36芯的連接口。 :數(shù)據(jù)選通接口;

DATA:數(shù)據(jù)信號; :響應信號;

BUSY:忙信號。

表6-42023/1/3087表6-42023/1/30882023/1/3089打印機接口(4)2)打印機的工作過程及接口電路 打印機接口電路也稱打印機適配器,可以用鎖存器、三態(tài)緩沖器等器件實現(xiàn),也可用通用的可編程并行接口芯片實現(xiàn)。2023/1/3090打印機接口(4)

2023/1/3091打印機接口(4)(1)8255A的初始化程序段(設8255A的I/O端口地址為2C0H-2C3H):

… MOV DX,02C3H MOV AL,1010l00lB OUT DX,AL MOV AL,0000l101B OUT DX,AL MOV DX,02ClH MOV AL,00001100B OUT DX,AL …2023/1/3092(2)打印機中斷服務程序PRINT PROC NEAR PUSH AX PUSH DX MOVDX02C0H MOV AL,[BX] OUT DX,AL MOVDX,02C1H2023/1/3093

打印機中斷服務程序

IN AL,DX OR AL,01H OUT DX,AL AND AL,0FEH OUT DX,AL INC BX POP DX POP AX IRETPRINT ENDP2023/1/3094例6-8

LED/開關接口

8086CPU通過8255A同開關與7段LED顯示器的接口:2023/1/3095LED/開關接口8086CPU通過8255A同開關與7段LED顯示器的接口如圖8.23所示;開關設置的二進制信息由8255A的PB口輸入,經(jīng)程序轉換為對應的7段LED的段選碼(字形碼)后,通過PA口輸出,由7段LED顯示開關二進制狀態(tài)值,試編制其控制程序(8255A的端口地址為0FFF8H,0FFFAH,0FFFCH和0FFFEH)。2023/1/3096LED/開關接口控制程序如下:

ORG 2000H MOV AL,82H MOV DX,0FFFEH OUT DX,AL RDPORTB:MOV DL,0FAH IN AL,DX AND AL,0FH MOV BX,OFFSETSSEGCODE XLAT MOV DL,0F8H OUT DX,AL MOV AX,56CH2023/1/3097LED/開關接口DELAY: DEC AX JNZ DELAY JMP RDPORTB HLT ORG 2500HSSEGCODEDB0C0H,0F9H,0A4H,0B0H,99H,92HDB82H,0F8H80H,98H,88H,83H,0C6H,DB0A1H,86H,8EH

2023/1/3098LED/開關接口ORG 2000HMOV AL,82H (1)MOV DX,0FFFEH (2)OUT DX,AL (3)RDPORTB: MOV DL,0FAH (4)IN AL,DX (5)AND AL,0FH (6)MOV BX,OFFSETSSEGCODE (7)XLAT (8)MOV DL,0F8H (9)OUT DX,AL (10)2023/1/3099LED/開關接口MOV AX,56CH (11)DELAY:DEC AX (12)JNZ DELAY (13)JMP RDPORTB (14)HLT (15)ORG2500HSSEGCODE DB0C0H,0F9H,0A4H,0B0H99H,92H,82H,0F8HDB80H,98H,88H,83H,

0C6H,0A1H,86H,8EH2023/1/30100LED/開關接口指令⑴~⑶設置8255A工作方式,方式選擇字為82H=10000010,工作于方式0,PA口輸出、PB口輸入,控制口地址為0FFFEH;指令⑷⑸讀入PB口信息—即4位開關提供的狀態(tài)信息,這里PB口的地址為0FFFAH,修改地址寄存器DX時,只修改DL為FAH,因高8位FF與控制口0FFFEH相同;2023/1/30101LED/開關接口指令⑹屏蔽掉寄存器AL的高4位,因為從PB口讀入的信息中只有低4位有效,高4位為隨機值必須去除。指令⑺將地址指針BX指向段選碼(字形碼)表的首地址;指令⑻查表,取出對應的段選碼,XLAT的功能是[BX+AL]→AL,執(zhí)行XLAT指令后,AL中的內(nèi)容為指令⑹執(zhí)行后PB口讀入的4位二進制狀態(tài)值對應的段選碼值;2023/1/30102LED/開關接口指令⑼⑽將查表所得之段選碼送PA口由7段LED顯示器顯示。指令⑾~⒀為延時程序段,使一次讀入的信息,保持顯示一段時間;指令⒁轉到指令⑷讀入4位開關的新狀態(tài),進入新一輪的顯示操作;從ORG2500H開始為段選碼表。2023/1/30103LED/開關接口--2如果PA口與7段LED顯示器之間的驅動器改為反相器,則程序中的段選碼表必須修改為SSEGCODE DB3FH,06H,5BH,4FHDB66H,6DH,7DH,07HDB7FH,67H,77H,7CHDB39H,5EH,79H,71H而控制程序可以不變。2023/1/30104LED/開關接口--3如果要求7段LED顯示器循環(huán)顯示0-F十六個數(shù)字,每個數(shù)字顯示5秒鐘,顯示20遍。則控制程序為:

ORG 2000HMOV AL,80H ;設置8255A方式選擇字

MOV DX,0FFFEHOUT DX,ALMOV BX,20 ;循環(huán)20次DISPLOP: LEA DI,SSEGCODE ;指向段選碼表

MOV CX,16 ;顯示字符個數(shù)LOP: MOV AL,[DI] ;取顯示字符送PA口

MOV DL,0F8H2023/1/30105LED/開關接口--3

OUT DX,ALINC DI ;修改顯示指針

CALL DELAY5S ;延時5秒子程序

LOOP LOP ;每遍循環(huán)16次

DEC BX ;修改大循環(huán)指針,大循環(huán)20次

JNZ DISPLOPHLTORG 2500HSSEGCODE:DB0C0H,0F9H,0A4H,0B0HDB99H,92H,82H,0F8HDB80H,98H,88H,83HDB0C6H,0A1H,86H,8EH2023/1/301066.2.516位系統(tǒng)中的并行接口

2023/1/301076.3可編程串行接口芯片82516.3.1串行通信概述6.3.2串行接口原理6.3.3可編程通信接口8251AUSART6.3.4RS‐232C串行通信總線2023/1/301086.3.1串行通信概述并行通信和串行通信同步通信與異步通信串行通信的傳送方向信號的調制與解調異步通信規(guī)程2023/1/301091.并行通信和串行通信

串行通信能降低通信線路的價格和簡化通信設備,可以利用現(xiàn)有的通信線路。

1.并行傳送

2.串行傳送

3.并行傳送與串行傳送的比較 (1)從距離上看:近距離和遠距離; (2)從速度上看: (3)從設備、費用上看:2023/1/30110并行通信和串行通信2023/1/301112.同步通信與異步通信

兩種基本的通信方式: 異步通信ASYNC(AsynchronousDataCommunication)同步通信SYNC(SynchronousDataCommunication)

2023/1/301121)異步通信(1)字符格式 ①1位起始位,低電平; ②5-8個數(shù)據(jù)位,(如標準ASCII碼。則為7位); ③1個奇偶校驗位(作為檢錯用); ④1,1.5或2個終止位(停止位),高電平。 。2023/1/30113異步通信兩項約定

起始位后面緊跟的是要傳送字符的最低位,每個字符的結束是一個高電平的終止位,起始位至終止位構成一幀。相連兩個字符之間的間隔可以是任意長度的,兩個相鄰字符之間叫空閑位,為高電平。2023/1/30114異步通信兩項約定(2)波特率(BaudRate) 波特率是指單位時間內(nèi)傳送二進制數(shù)據(jù)的位數(shù),以位/秒為單位。每個數(shù)據(jù)位的傳送時間Td即為波特率的倒數(shù)。2023/1/30115異步通信2023/1/301162)同步通信

在數(shù)據(jù)塊開始處要用同步字符來指明, 同步傳送速度高于異步傳送速度, 要求有時鐘來實現(xiàn)發(fā)送端及接收端之間的同步, 硬件電路比較復雜。2023/1/30117同步通信

2023/1/301183.串行通信的傳送方向單工、半雙工、全雙工三種:1)單工(Simplex) 僅能進行一個方向的傳送。2)半雙工(Half-Duplex) 能交替地進行雙向數(shù)據(jù)傳送,但兩設備之間只用一根傳輸線,兩個方向的數(shù)據(jù)傳送不能同時進行。3)全雙工(Full-Duplex)

A、B之間有兩條傳輸線,能在兩個方向上同時進行數(shù)據(jù)傳送。2023/1/30119串行通信的傳送方向2023/1/301204.信號的調制與解調

計算機通信傳送的是數(shù)字信號,數(shù)字信號直接進行通信,經(jīng)過傳輸線后必然會產(chǎn)生畸變。 在發(fā)送端必需采用調制器把數(shù)字信號轉換為模擬信號,在接收端又必需用解調器檢出發(fā)送來的模擬信號,恢復為原來的數(shù)字信號。

2023/1/30121信號的調制與解調2023/1/30122信號的調制與解調2023/1/30123信號的調制與解調2023/1/30124PSK調制法原理圖2023/1/301255.異步通信規(guī)程

微型計算機中主要使用三種通信控制規(guī)程:異步控制規(guī)程(ASYNC),同步控制規(guī)程(BISYNC)和高級數(shù)據(jù)鏈路控制規(guī)程(HDLC)。 對每一種通信控制規(guī)程,都有相應的大規(guī)模集成電路的接口芯片去實現(xiàn)。2023/1/301266.3.2串行接口原理組成與功能波特率因子差錯檢測2023/1/301271.組成與功能1)組成 由三部分組成:

“接收器”—用來把串行碼轉換為并行碼;

“發(fā)送器”—用來把并行碼轉換為串行碼;

“控制器”—用來接收CPU的控制信號,執(zhí)行CPU所要求的操作,并輸出狀態(tài)信息和控制信息。2)功能

UART的功能是接收異步串行輸入碼并將其轉換為CPU所需要的并行碼,并將CPU內(nèi)部的并行碼轉換為串行碼輸出。UART(UniversalAsynchronousReceiver/Transmitter,異步收發(fā)器)2023/1/30128UART中發(fā)送和接收部分2023/1/301292.波特率因子

UART是用外部時鐘來和接收的數(shù)據(jù)進行同步的。外部時鐘的周期Tc和每個數(shù)據(jù)位的周期Td有以下關系:

Tc=Td/K K=16或64(K為波特率因子) 外部時鐘和接收數(shù)據(jù)的同步如圖所示:2023/1/30130波特率因子2023/1/30131奇偶校驗位的產(chǎn)生

為了檢測長距離傳送中可能發(fā)生的錯誤,通常增加一個奇偶校驗位。 發(fā)送時,自動在奇偶校驗位上添上“1”或“0”; 接收時,UART檢查字符的每一位以及奇偶校驗位的“1”的個數(shù),以確定是否發(fā)生傳送錯誤。2023/1/30132奇偶校驗位的產(chǎn)生

2023/1/30133奇偶校驗位的檢測2023/1/301343.三種出錯標志UART中還設立了各種出錯標志:1.奇偶錯誤(Parityerror):在接收時。UART檢查接受到的每一個字符的“1”的個數(shù),若不符合要求,則置這個標志,發(fā)出奇偶校驗出錯信息。2.幀錯誤(Frameerror):若接受的字格式不符合規(guī)定(例如缺少停止位等),則置位幀出錯標志,發(fā)出幀錯誤信息。2023/1/30135三種出錯標志3.溢出(丟失)錯誤(Overrunerror)上述的UART是一種雙緩沖器結構。例如在接收時,接收的數(shù)據(jù)先由移位寄存器移位,把串行的變?yōu)椴⑿械?,然后送到接收?shù)據(jù)寄存器,由CPU的輸入指令傳輸?shù)紺PU中。若數(shù)據(jù)已變?yōu)椴⑿星乙阉椭两邮諗?shù)據(jù)寄存器中時,UART就可以接收另一個新的字符。但是,當接收到第二個字符的終止位,且要把第二個字符傳送到接收數(shù)據(jù)寄存器中,而CPU還未取走上一個數(shù)據(jù)時,于是就會出現(xiàn)數(shù)據(jù)丟失,則置位溢出錯誤標志。由此可見,若數(shù)據(jù)緩沖器的級數(shù)越多,則溢出錯誤的幾率就越少。2023/1/301366.3.3可編程通信接口8251A(USART)

8251A的基本性能

8251A的結構與引腳功能初始化

8251A應用舉例2023/1/301371.8251A的基本性能

Intel8251AUSART是通用同步/異步接收發(fā)送器。

USART即UniversalSynchronous/AsynchronousReceiver/Transmitter。

8251A的基本性能(1)可用于同步和異步傳送。(2)波特率:DC-19.2K(異步);DC-64K(同步)。(3)完全雙工、雙緩沖器發(fā)送器接收器。(4)誤差檢測。2023/1/301382.8251A的結構與引腳功能2023/1/301398251A的結構與引腳功能

包括8251A同CPU的接口部分—數(shù)據(jù)總線緩沖器和讀寫控制邏輯;發(fā)送器和接收器及其控制電路。 產(chǎn)生RS-232C有關信號的MODEM控制電路。

1)同CPU的連接信號 (1)RESET (2)CLK (3), (4)C/

(5) (6)D0

D7C/2023/1/301402)MODEM控制信號

與MODEM相連的控制信號:(1)(DataTerminalReady)—

數(shù)據(jù)終端準備好(輸出,低電平有效)(2)(DataSetReady)—

數(shù)據(jù)裝置準備好(輸入,低電平有效)(3)(RequestToSend)—

請求發(fā)送(輸出,低電平有效)(4)(ClearToSend)—

清除發(fā)送信號(輸入,低電平有效) 2023/1/301413)發(fā)送器有關信號(

1)TXD:發(fā)送數(shù)據(jù)(2)TXRDY:發(fā)送器準備好信號(3)TXE:發(fā)送緩沖器空標志(4)

溫馨提示

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

評論

0/150

提交評論