微機原理與接口技術_第1頁
微機原理與接口技術_第2頁
微機原理與接口技術_第3頁
微機原理與接口技術_第4頁
微機原理與接口技術_第5頁
已閱讀5頁,還剩82頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第六章I/O接口技術與I/O接口芯片內容提要:

1接口的基本概念

2CPU與接口之間傳送信息的方式

3并行通信與并行接口

4可編程并行通信接口芯片8255A5可編程定時/計數器芯片82536可編程串口芯片8251A學習目標:

1.重點掌握CPU尋址外設的方式、外設端口種類、編址方式、CPU與外設間傳送信息的種類

2.理解程序控制傳送方式,中斷傳送方式

3.了解DMA方式、I/O處理機方式的特點

4.重點掌握8255A、8253編程結構、控制字和初始化編程。

5.了解可編程通信接口芯片8251A。學時:8重點與難點:接口技術和編程應用。6.1接口的基本概念

★計算機系統由主機和外部設備兩大部分組成;3、從外設管理和提高CPU的效率方面:★必須在外設和CPU三總線之間增設一個能控制外設與CPU進行信息交換的中轉電路,用來協調CPU和外設間的信息交換及工作秩序。★這個中轉電路就是接口電路

★外設不能直接和計算機系統的三總線相連接。其原因如下:1、外設的多樣性,形式復雜:電子式、電磁式、光電式等;2、外設與CPU之間交換的信息的多樣性:類型:數據信息、控制信息、狀態信息;形式:模擬信息、數字信息;傳遞形式:串行傳遞、并行傳遞;★對于不同的外部設備,其接口電路也是不同的;(見下圖)不同外設與計算機主機之間的接口一、接口的概念:

狀態信息:外設的狀態通過接口電路傳遞給CPU,使CPU了解外設當前的狀態,以便進行下一步的操作;一般采用軟件和硬件相結合的方法,設計高效、可靠的接口電路,以保證CPU與外設之間進行可靠的信息傳遞。1、接口電路是外設和CPU進行連接的橋梁和信息交換的中轉站;2、通過接口電路交換的信息:☆數據信息:通過接口電路CPU與外設間交換有效的數據信息。☆控制信息:CPU的控制信息通過接口電路傳遞給外部設備,控制外設進行有序的工作;3、接口技術是計算機應用的一個重要技術:二、接口電路的組成:它是接在計算機總線和外設之間的一個電路1、與外設相連接:(用以傳遞信息)2、與計算機總線相連接:

☆應具有暫存信息的部件---寄存器;

☆暫存信息的部件被稱為---端口;根據存放信息類型的不同,端口分為以下三種

☆在接口電路中,每個端口具有自己的地址;(1)數據端口:一般為雙向(2)控制端口:單向輸出(3)狀態端口:單向輸入★

數據總線緩沖器:連接數據總線,用于傳遞數據信息,為雙向三態。

邏輯控制電路:連接控制總線,控制端口的讀、寫狀態。

地址譯碼電路:連接地址總線,接受地址信息,尋找被訪問的端口。接口是接在計算機總線和外設之間的一個電路三、端口地址的編址方式:(2)單獨編址

---給端口單獨分配地址空間優點:不占用存儲器的地址空間缺點:訪問端口必須使用專用的指令(如IN/OUT)1、接口電路中的端口是用來暫存與CPU交換的信息,通常由接口電路中的內部寄存器構成;2、CPU可以象訪問存儲器一樣直接對端口進行讀寫操作。因此,必須對接口電路中的這些端口一一分配地址(編址);3、其分配地址(編址)的方式稱為:端口地址編址方式;4、編址方式有兩種:(1)統一編址

---和存儲器的存儲單元一起進行編址優點:訪問端口如同訪問存儲器一樣,不需專用的指令(使用MOV指令)缺點:占用了存儲器的地址空間,使存儲器的地址空間減少5、8086CPU系統采用了單獨編址方式,并通過M/IO

控制信號來區分地址線上的地址是用于訪問存儲器或是訪問端口的。四、接口電路的作用:4、總線與外設之間的隔離作用:1、鎖存、緩沖信息:解決高速CPU和低速外設之間信息傳遞所存在的問題;2、信息傳遞方式的轉換:串行轉換為并行,并行轉換為串行;3、信息類型的變換:模擬信號數字信號,電壓信號電流信號;5、聯絡與協調的作用:五、接口電路(Interface)和端口(Port)的關系:4、一個接口電路中可含有多個端口。所以,一個接口電路可具有多個屬于不同端口的地址。1、接口是接在CPU和外部設備之間進行信息交換的電路;2、端口是指在接口電路中完成信息暫存、傳遞,并可由CPU

直接尋址訪問的寄存器3、接口電路由若干端口(寄存器)和相應的控制電路、譯碼電路構成;6.2CPU與接口之間傳送信息的方式(輸入/輸出的控制方式)★因外設接收和發送信息的速度差別很大,應針對不同的外設采用不同的控制方式進行信息的傳遞。常用傳遞信息的方式有:四、DMA控制方式:

外設通過DMA控制器直接與存儲器交換信息而不通過

CPU,提高了信息交換的速度★CPU與接口之間進行信息傳遞,實際上是與外設之間進行的信息傳遞。一、無條件傳送方式:

CPU

可以沒有任何條件隨時訪問

外部設備

并與其交換信息二、查詢傳送方式:

CPU訪問外部設備,首先要查詢外設是否準備就緒,以決定是否與外設進行信息交換三、中斷控制方式:

外設與CPU交換信息時,主動向CPU發出信號(中斷請求);CPU響應中斷請求后,與外設交換一組信息然后進行其它操作;提高了CPU運行的效率一、無條件傳送方式:(無條件傳送的輸入輸出電路)★

作為外設的接口電路,應隨時做好接收或輸出數據的準備;

1、輸入設備:信息變化緩慢的外設;2、輸出設備:能對輸出的信息立即做出反應的外設;3、信息變化呈周期性、且定時的周期為已知的外設。★為保證信息的可靠傳輸,下列設備可采用此控制方式進行信息的傳送:二、查詢傳送方式:

查詢外設的狀態:當CPU需同外設交換信息時首先對外設的狀態進行查詢,得知外設已做好數據接收或發送的準備時,采進行信息交換。1、查詢輸入傳送方式:LL:INAL,02HTESTAL,01HJZLLINAL,01H2、查詢輸出傳送方式:NN:INAL,04HANDAL,80HJNZNNMOVAL,DATAOUT03H,AL查詢傳送方式的特點:不論是無條件傳送方式還是查詢傳送方式,都不能發現和處理預先無法估計的錯誤和異常情況。為了提高CPU的效率、增強系統的實時性,并且能對隨機出現的各種異常情況做出及時反應,通常采用來實現CPU與外設之間的數據傳送即中斷傳送方式。

優點:能保證主機與外設之間協調同步地工作,且硬件線路比較簡單,程序也容易實現。缺點:CPU要不斷地查詢外設,當外設沒有準備好時,CPU要等待,而許多外設的速度比CPU要慢得多,CPU的利用率不高、實時性差。三、中斷控制方式在查詢方式下,CPU主動查詢外設的狀態,占用了CPU大量的時間資源,降低了CPU的工作效率。在中斷方式下,由外設主動向CPU提出中斷請求,CPU響應外設的中斷請求并和外設進行一次信息交換后返回繼續進行其它的操作。中斷控制方式進行數據輸入時的基本電路故這種傳送方式一般適合于少量的數據傳送。對于大批量數據的輸入/輸出,可采用高速的直接存儲器存取方式,即DMA方式。優點:CPU不必查詢等待,工作效率高,CPU與外設可以并行工作;由于外設具有申請中斷的主動權,故系統實時性比查詢方式要好得多。缺點:但采用中斷傳送方式的接口電路相對復雜,而且每進行一次數據傳送就要中斷一次CPU,CPU每次響應中斷后,都要轉去執行中斷處理程序,且都要進行斷點和現場的保護和恢復,浪費了很多CPU的時間。中斷控制方式的特點:四、DMA控制方式(存儲器直接存取方式)DMA控制方式是一種成塊數據傳送的方式同時它還可以向CPU報告外設和外設控制器的狀態,對狀態進行分析,并對輸入/輸出系統的各種情況進行處理。五.I/O處理機方式I/O處理機接管了原來由CPU承擔的控制輸入/輸出操作及其他的全部功能。

I/O處理機有自己的指令系統,可以獨立地執行程序,對外設進行控制,對輸入/輸出過程進行管理,并能完成字與字之間的裝配和拆卸、碼制的轉換、數據塊的錯誤檢測和糾錯以及格式變換等操作。

8086/8088系列中,8089IOP就是常用的高性能的通用的輸入/輸出處理機,在8089內部有兩個獨立的I/O通道,每一個通道都兼有CPU功能和非常靈活的DMA控制的功能。

6.3并行通信與并行接口2、雙通道并行接口:具有兩個信息傳輸的通道,分別作為輸入及輸出接口。一、并行通信是把一個字符的各位用幾條數據線(通常8條)同時進行傳遞;★

優點:傳輸速度快,信息率高

缺點:傳輸距離短,所需的電纜多

常用在傳送距離較短和數據傳輸率較高的場合二、并行接口☆實現并行通信的接口電路稱為并行接口;1、單通道并行接口:只具有一個信息傳輸的通道,如:★輸入接口★輸出接口★輸入/輸出接口6.4可編程并行通信接口芯片8255A6.4.1可編程接口芯片的基本概念:☆一般可編程芯片的構成:見下圖☆在接口芯片工作之前,通過程序將控制命令寫入到芯片的控制寄存器中,用于確定芯片電路的不同工作方式和選擇不同的工作通道,使其按照用戶要求的工作模式進行工作;☆這種過程稱為:芯片的初始化;☆接口電路的工作狀態和功能可通過程序進行設定和控制,這樣的接口芯片稱為“可編程接口芯片”;☆可編程接口芯片具有:多通道、多功能的功能。1、內部構成:控制寄存器(端口)、狀態寄存器(端口)、輸入/輸出緩存寄存器(端口)讀寫控制邏輯電路。2、外部引腳:與CPU相連接;與外部設備相連接。系統總線控制寄存器輸入緩存寄存器狀態寄存器輸出緩存寄存器讀寫邏輯控制電路輸入設備輸出設備輸入RDYACKSTBROY輸出DB低位地址RDWR準備好INT復位OEWECSAB高位譯碼+M/IO端口地址線6.4.28255A芯片內部結構及其引腳其基本特征特點:1、40引腳雙列直插芯片,單一正5V電源;是一種通用型、應用較廣的可編程輸入/輸出接口芯片。常用來擴展控制器(CPU)的輸入/輸出接口4、三個數據端口分別稱為:A口、B口、C口;具有三種工作方式:方式0、方式1、方式2。2、具有3個相互獨立又關聯的8位并行輸入/輸出端口,各端口均具有數據輸出鎖存和輸入三態緩沖功能;3、具有1個控制端口,CPU可通過編程,設置各端口工作在某種工作方式下;6.4.28255A芯片內部結構及其引腳一、8255A的內部結構:四部分組成1、數據總線緩沖器:三態、八位雙向,它是8255A與數據總線的接口。2、A、B、C三個數據端口:輸出具有鎖存、輸入三態具有緩沖功能;A組:A口和C口的高四位;B組:B口和C口的低四位;3、A、B組控制電路:根據工作方式控制字,決定各組中各口的工作方式;4、讀寫控制邏輯電路:接收CPU經總線發出的地址和控制信號,管理接口中的信息傳送、控制字的接收和狀態信號的傳遞。二、8255A的外部引腳:40條引腳,輸入、輸出信號均為TTL電平A1

A000A端口01B端口10C端口11控制(寄存器)端口2、面向外設的信號引腳:

PA0~PA7;PB0~PB7;PC0~PC7;

各個端口的輸入、輸出線。1、面向系統總線信號的引腳:

D0~D7:雙向三態數據信號線,接系統總線;

CS:片選端,輸入低電平有效。系統高位地址經譯碼后和M/IO信號共同產生片選信號。

RD:讀信號,輸入低電平有效。

WR:寫信號,輸入低電平有效。

RESET:復位信號,輸入高電平有效。復位后,各口為輸入方式,內部寄存器被清零。

A1、A0:片內端口地址線,輸入;用于端口選擇:6.4.38255A的控制字★

8255A內部有兩個控制寄存器,共用一個端口地址:11B★

用于存放:工作方式控制字和C口按位置位/復位控制字一、工作方式控制字:D7D6D5D4D3D2D1D0D7=1是方式選擇控制字

D7=0是C口按位置位/復位控制字

在使用8255A時,首先要由CPU對8255A寫入控制命令字,有兩種控制命令字方式,8255A的三種工作方式都要由控制命令字來設定——這個設置過程稱為“初始化”D7D6D5D4D3D2D1D0D7=1A口工作方式選擇:00=方式0,01=方式1,1X=方式2A口工作狀態為:基本輸入輸出選通輸入輸出雙向選通輸入輸出

A口輸入輸出選擇:0=輸出1=輸入C口高位輸入輸出選擇:0=輸出1=輸入B口工作方式選擇:0=方式0基本輸入輸出

1=方式1選通輸入輸出

B口輸入輸出選擇:0=輸出

1=輸入C口低位輸入輸出選擇:

0=輸出1=輸入例:8255A工作在方式選擇控制字,A口是選通的輸入方式,B口基本的輸出方式。解:控制字為10111000=0B8,初始化程序:

MOV DX,PORT-C MOV AL,0B8H OUT DX,AL二、C口按位置位/復位控制字:

C口按位置位/復位控制字作用:

對C口中的某一位進行置位(置1)或復位(置0)D7=0置位/復位控制字標志三位無效D3D2D1位選擇000PC0001PC1010PC2011PC3100PC4101PC5110PC6111PC7D7D6D5D4D3D2D1D0B組:置位/復位選擇

1=置位0=復位6.4.48255A的工作方式8255A有三種工作方式:方式0

;方式

1;方式2100××0××工作方式控制字:一、方式0:基本輸入輸出方式①

基本功能為:若A口、B口都工作在方式0,則此時8255A可以有2個8位的數據輸入輸出(A口、B口),2個4位口(C口上半部、下半部),而且A口、B口、C口上半部、C口下半部共有16種不同的組合方式;輸出是鎖存的,輸入只有緩沖而無鎖存功能。

特點:系統沒有指定C口的某些線作為專門的信號聯絡線和狀態位,但是用戶可以自定義C口的某些線作為信號聯絡線。

注意點:CPU和8255AA口、B口之間傳送數據只能用程控方式(即無條件或查詢方式),不能用中斷方式。

二、方式1:選通輸入或輸出方式方式1的基本特征:★

A組和B組端口均可選用此工作方式★當A口、B口置于此工作方式時,與A口、B口同組的C口部分引腳(位)被用作A口或B口輸入輸出時的聯絡線(選通控制信號),從而不能作為I/O口使用。★在方式1時,C口作為聯絡控制信號線,CPU可以采用查詢方式或

中斷方式與8255A交換信息。★

A口、B口在作為輸入和輸出時的選通信號不同,即C口的作用不同★

C口的8位除用作選通信號外,其余位可工作于方式0下,作為輸入或輸出口1、方式1的輸入結構及時序

STB:選通信號,輸入。外設給接口的啟動信號,有效時,將PA0~PA7引腳上的數據裝入A口寄存器IBF:輸入緩存寄存器滿信號,輸出。作為外設的應答信號。

INTR:中斷請求信號,輸出。用于向CPU發出請求,CPU根據此信號,可采用中斷或查詢方式將接口中的數據取走。2、方式1的輸出結構及時序

ACK:讀輸出緩存器信號,輸入。外設給接口的讀信號,有效時,將輸出端口中的數據讀取走,同時將INTR

信號置位(有效)OBF:輸出緩存寄存器滿信號,輸出。用于通知外設接收數據。

INTR:中斷請求信號,輸出。用于向CPU發出請求,CPU根據此信號,可采用中斷或查詢方式將數據送入接口中。方式1工作模式下A口和B口的組合方式1工作方式下的狀態字:方式1下C口寄存器

為CPU與8255間采用查詢方式工作提供了狀態標志C口寄存器:三、方式2:雙向選通輸入輸出方式

★只有A口具有此工作方式,在方式2下:輸入、輸出均鎖存;★B口只具有工作方式1和工作方式0;★在方式2下,C口的PC3~PC7作為A口的聯絡控制信號端.

STB:外設輸入,選通緩存寄存器信號;IBFA:輸出應答信號,輸入緩存寄存器滿。OBFA:輸出應答信號,輸出緩存器滿;ACK:外設輸入,讀輸出緩沖器。1、方式2下的引腳定義:11I/OI/OI/OD7D6D5D4D3D2D1D0控制字PC2-01=輸入0=輸出口B1=輸入0=輸出B組方式0=方式01=方式1PC3PA7~PA0PC7PC6PC4PC5PC2~PC0&≥1INTE1INTE2&INTRA8OBFAACKASTBAIBFAI/O3RDWR2、方式2下的時序:★

其時序是方式1下輸入及輸出時序的組合。★

輸入:外設產生STB信號,將A端口的數據裝入8255A的輸入緩沖器。★

輸出:CPU將數據裝入8255A后,8255A產生OBF信號,通知外設。3、方式2下的狀態字:是方式1下輸入輸出狀態字的組合產生中斷請求時,需判別IBFA和OBFA,以區別是輸入或輸出產生的中斷。6.4.58255A的應用舉例1、8255A模擬交通燈實驗原理:★以8255的C口為輸出口,經74LS240驅動電路控制4個雙色LED(紅、綠),

模擬十字路口交通信號燈的控制。交通燈的變化規律如下:初始狀態0:為東西紅燈,南北紅燈。全部禁行,然后轉狀態1;狀態1:南北綠燈通行,東西紅燈禁行;調用延時軟件1后轉入狀態2;狀態2:南北綠燈閃爍幾次轉亮黃燈;調用延時軟件2后轉入狀態3,(此時東西向仍為紅燈);狀態3:東西綠燈通行,南北紅燈禁行;調用延時軟件1后轉入狀態4,狀態4:東西綠燈閃爍幾次轉亮黃燈;調用延時軟件2后轉入狀態1,(此時南北向仍然紅燈);★雙色LED由一個紅色LED管芯和一個綠色LED管芯封裝在一起,陰極為共用端:⑴紅色陽極加高電平時,紅燈亮。綠色陽極加高電平時,綠燈亮。⑵紅色、綠色陽極同時加高電平,顯示黃燈2、8255A模擬交通燈實驗驅動電路圖:PC0:紅燈(北)PC4:綠燈(北)PC1:紅燈(西)PC5:綠燈(西)PC2:紅燈(東)PC6:綠燈(東)PC3:紅燈(南)PC7:綠燈(南)PA或PB口可以做為輸入口設:8255的地址為:

200H~21FH3、8255A模擬交通燈實驗流程圖:設置8255各口為輸出清LED四燈全紅延時南北綠燈,東西紅燈,延時綠燈閃三次南北紅燈,東西綠燈,延時南北黃燈,延時綠燈閃三次東西黃燈,延時初始化返回DOS有鍵按下NYD1EQU20H

;延時時間常數1D2EQU200H

;延時時間常數2

DATASEGMENTPBDB?MESS2DB‘ENTERANYKEYCANEXITTODOS!’,0DH,0AH,’$’MESS1DB‘ENTERANYKEYTOBEGIN!’,0DH,0AH,’$’

DATAENDS

STACKSEGMENTSTACKSTADW50DUP(?)

TOPEQULENGTHSTA

STACKENDS

CODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATA

MOVDS,AX;裝入數據斷段基址

MOVAX,STACKMOVSS,AX;裝入堆棧斷段基址

MOVSP,TOP;裝入堆棧指針文件名:EXP2.ASMMOVDX,21BH

;送控制口地址MOVAL,10000000B;設置為全輸出OUTDX,AL;送控制字MOVDX,21AH;送C口地址MOVAL,0FFH

OUTDX,AL;LED全滅MOVAH,09HLEADX,MESS1;9號功能調用,INT21H;提示按任意鍵開始MOVAH,08H;8號功能調用INT21H;按任意鍵開始MOVAH,09HLEADX,MESS2;9號功能調用,INT21H;提示按任意鍵退出MOVDX,21AH

;送C口地址MOVAL0F0HOUTDX,AL;輸出全紅MOVBX,100H;送時間常數CALLDLY;調延時子程序BG:MOVAL,01101001B;南北綠,東西紅OUTDX,AL;輸出MOVBX,D2;送時間常數D2CALLDLY;調延時子程序MOVCX,03HXH1:MOVAL,11111001B

OUTDX,AL;南北綠滅MOVBX,D1;送時間常數D1CALLDLY;調延時子程序MOVAL,01101001B

OUTDX,AL;南北綠亮MOVBX,D1;送時間常數D1CALLDLY;調延時子程序LOOPXH1;循環三次MOVAL,01100000B

OUTDX,AL;南北黃,東西紅MOVBX,D1CALLDLY;調延時子程序MOVBX,D1CALLDLY;調延時子程序MOVAL,10010110B;南北紅,東西綠OUTDX,AL;南北紅,東西綠MOVBX,D2CALLDLY;調延時子程序MOVCX,03XH2:MOVAL,11110110BOUTDX,AL;東西綠滅MOVBX,D1;送時間常數D1CALLDLY;調延時子程序M0VAL,F6HOUTDX,AL;東西綠亮MOVBX,D1;送時間常數D1CALLDLY;調延時子程序LOOPXH2;循環三次MOVAL,90HOUTDX,AL;南北紅,東西黃MOVBX,D1;送時間常數D1CALLDLY;調延時子程序MOVBX,D1;送時間常數D1CALLDLY;調延時子程序PUSHDXMOVDL,0FFHMOVAH,06H;6號功能,直接控制臺I/O;如有字符輸入,放入AL中,ZF被置0;如無字符輸入,零標志位ZF被置1INT21HJNZDSSPOPDXJMPBG;返回DSS:MOVAX,4C00HINT21H;退出DLYPROCNEAR;子程序PUSHCXDDD:MOVCX,0FFFFHCCC:LOOPCCCDECBXCMPBX,0JNEDDDPOPCXRTEDLYENDPCODEENDSENDSTATR6.5

可編程定時/計數器芯片8253

在計算機系統中往往需要外部時鐘電路,用于實現定時、延時控制,或對外部事件的計數。2、不可編程硬件定時:通用性、靈活性差,當其電路參數決定后,無法改變定時時間。不占用CPU的時間,如:555定時電路。常用下列方法:1、軟件定時:通用性、靈活性好,不需硬件;但在定時過程中,占用了CPU的時間資源。一般用在短時間的定時,毫秒~秒。3、可編程硬件定時:通用、靈活,可和CPU同步工作,通過輸入控制字和時間常數,可以靈活修改其定時時間;可工作在計數或定時的不同工作方式下。可編程定時/計數器芯片8253是一種常用的定時、計數芯片一、8253的引腳及內部結構1、外部引腳★面向外設的引腳:

CLK0

~CLK2:

計數脈沖或時鐘輸入;

OUT0~OUT2:

計數結束輸出信號;

GATE0~GATE2:

輸入,門控信號。★面向CPU的引腳:

DO~D7:雙向數據信號線;

CS:片選信號線;

A0、A1:片內地址線;

RD、WR:讀/寫控制信號線.2、8253內部結構圖●三個獨立的16位計數器

●六種工作方式,可通過編程設置(2)讀寫控制邏輯電路:內部操作的控制電路接收CPU的讀寫信號和地址信號,完成對8253的功能操作,具體見讀寫操作表:(1)數據總線緩沖器:雙向三態,和系統總線的接口;(4)計數器:每個計數器都有自己獨立的控制寄存器,共用一個控制端口。內部結構圖(減一計數)(初值保持不變)(可讀)(3)控制寄存器:接收、存放工作方式控制字,只能寫入、不能讀出;控制字用于定義計數器的工作方式;二、8253的控制字及其編程:1、定時初值的計算:定時初值(時間常數)=預計定時時間輸入時鐘脈沖的周期2、工作方式控制字:

設定各計數器的工作方式;計數初值的讀寫順序;字節數;減一計數的數制例:8253的端口地址為:70~73H,選擇計數器0,工作方式0,計數初值為

500,采用二進制計數,初始化程序如下:8253共有四個端口,其地址見下表:A0A1端口00CNT001CNT110CNT211控制寄存器MOVAL,00110000B;工作方式控制字OUT73H,AL;寫入控制字MOVAX,500

OUT70H,AL;裝計數初值低字節MOVAL,AHOUT70H,AL;裝計數初值高字節若采用BCD碼計數,應注意控制字和計數初值的寫法!!!3、8253的編程(初始化):

8253無復位引腳,上電后各寄存器的值不定,其工作方式也是隨機的。使用前必須對其進行初始化

(1)寫入控制字:用于確定工作方式、指定初值的裝入順序及計數數制。

(2)寫入計數初值:按控制字的要求向選定的計數器寫入計數初值。三、8253的工作方式:★

每個計數器都有六種工作方式可選擇,各工作方式有不同的特點:(1)OUT端輸出波形的方式不同,電平方式或脈沖方式;(2)GATE啟動計數器開始計數的觸發方式不同;(3)計數過程中門控信號對計數操作的影響不同。軟件啟動GATE端為高電平置入計數初值后的第2個CLK脈沖的下降沿★

計數器的啟動方式:硬件啟動GATE端的上升沿后對應下一個CLK脈沖的下降沿裝入初值啟動

1、方式0(計數結束中斷方式)N+1OUT輸出的信號★軟件啟動:裝入控制字后

由CLK的下降沿進行計數,★GATK:

變低停止計數,變高繼續計數★計數過程中:

重裝計數初值,按新初值計數★計數個數:N+1個CLK脈沖★計數到零:OUT由低變高

計數過程由軟件啟動。

GATE的作用是開放計數或禁止計數。

OUT變為低,表示計數過程結束。方式0主要用于事件計數。

方式0的特點和應用:2、方式1(可編程單穩)★硬件啟動:寫入控制字,OUT變高;寫入初值,定時器不啟動;★GATK的上升沿后:由下一個

CLK的下降沿將初值裝入CE并開始計數,OUT變低,進入暫態;★計數器減到零:OUT變高;★計數過程中:GATE的上升沿將使計數器重新按初值開始計數★計數過程中:裝入新的初值,對計數無影響;★單穩時間是N

倍的CLK

周期單穩時間方式1的特點和應用:(1)

計數過程啟動只能有GATE脈沖的上升沿產生,即硬件啟動計數器。(4)

由于計數初值是由程序寫入的,所以只要改變計數初值即可產生不同輸出寬度的負脈沖,從而可以獲取變寬脈沖信號。(3)

在形成單穩態脈沖過程中,可以重觸發,使OUT輸出的負脈沖加寬。(2)

OUT的輸出為一個單穩態負脈沖,其脈沖寬度為計數初值個CLK時鐘脈沖的周期之和。(5)在微機實時控制系統中常用作監視時鐘(WatchdogTimer)。3、方式2(分頻器方式)★軟件啟動:裝入控制字,OUT變高,寫入初值后用CLK脈沖的下降沿將初值裝入CE,開始計數★GATK:計數中變低停止計數;變高初值重新裝入CE開始計數;★計數過程中:

裝入新的初值,對計數無影響;本次計數結束后按新值計數;★計數到一時:OUT輸出一個寬度同CLK周期的負脈沖,開始新計數★周期是CLK

周期的N

倍N方式2的特點和應用:CR能自動重復地裝入到CE中,所以只要CLK是周期性的脈沖序列,在OUT上就能連續地輸出周期性分頻信號。計數過程即可以軟件啟動也可以硬件啟動。對某頻率固定的CLK脈沖信號,改變計數初值,就可以獲得不同速率的OUT輸出信號。OUT的輸出正脈沖的寬度為(計數初值-1)個CLK時鐘脈沖的周期之和,而負脈沖的寬度均為1個CLK時鐘脈沖的周期。方式2主要用作分頻和時基信號,可以方便地從系統時鐘PCLK中獲得符合某種頻率要求的標準信號,供系統使用。4、方式3(方波發生器)★類似方式2:方波周期為N

倍CLK

周期★軟件啟動:裝入控制字,OUT變高,寫入初值后用CLK脈沖的下降沿將初值裝入CE,按減2

的方式開始計數(偶初值);★經N/2CLK周期:計數器到零,

OUT變低;初值重新裝入CE中繼續減2

計數,到零時OUT變高,開始下一輪計數;★初值為奇數時:按先減1,后減2的方式計數★GATK:計數中變低停止計數;變高重觸發,按初值重新計數;★計數過程中:寫入新的初值后,

OUT變高,將按新值重新計數;方波周期方式3的特點和應用:方式3中的計數過程是CE內容減2。在方式3的工作過程中,CR或CR-1的內容能自動裝入CE,所以只要CLK是周期性脈沖,OUT將輸出連續方波信號。計數器啟動過程也有軟件和硬件兩種。改變計數初值,OUT端將輸出不同頻率的方波。方式3主要應用作為方波脈沖發生器和波特率發生器。5、方式4(軟件觸發選通)與方式0相似。區別:OUT輸出負脈沖的寬度不同;計數期間的輸出極性相反。

6、方式5(硬件觸發選通方式)與方式1相似區別:CE為零時OUT端產生寬度為1個CLK脈沖周期的負脈沖選通信號。當寫入控制字CW后,OUT變為高電平;然后寫入計數初值到CR后,OUT仍然維持在高電平,僅在GATE由低變高之后的下一個CLK脈沖的下降沿才將CR裝入CE,并啟動計數器開始對CLK脈沖計數,直到CE為零時,OUT輸出一個寬度為CLK周期的負脈沖,并且又將OUT變為高電平。四、8253-5的初始化8253投入工作之前,CPU要對它進行初始化編程。初始化編程的步驟為:(1)寫入計數器的控制字,規定其工作方式及相應功能;(2)寫入計數初值。當計數初值為8位,則控制字中RL1,RL0應取01,只寫入CR的低8位,CR的高8位會自動置0;若是16位計數,而低8位是0,則應取RL1、RL0為10,只寫入高8位,低8位會自動置0。若是16位的計數初值,則LR1,LR0=11,應分兩次寫入初值,先寫低8位,再寫入高8位。由于計數器采用遞減方式計數,因此如果計數初值為0000H,則是最大的計數初值。例:若選擇0計數器,工作在方式3,計數初值為2354H,十進制計數方式;或選擇1#計數器,工作在方式2,計數初值為18H,二進制計數方式。并設8253端口地址為40~43H。則根據上述各計數器的功能,

其初始化編程如下:

;對0#計數器初始化編程

MOVAL,37H

對0#計數器送控制字。

OUT43H,

ALMOVAL,

54H

送初值的低8位。

OUT40H,

ALMOVAL,

23H

送初值的高8位。

OUT40H,

AL

;對1#計數器初始化編程。

MOVAL,

01010100B

對1#計數器送控制字。

OUT43H,

ALMOVAL,

18H

計數初值送低8位。

OUT41H,

AL;當采用“飛讀”的方法讀取1#計數器的計數值時,可采用如下程序片段:

MOVAL,

01000100B

對1#計數器送鎖存控制字。

OUT43H,

ALINAL,

41H

讀低8位。

MOVCL,

AL

讀取的計數值存于CL中。

;當計數值為16位時,

則“飛讀”時還應讀取高8位鎖存器中的計數值。

五、8253的工作方式總結:方式0:軟件啟動,不自動重復計數。裝入初值后輸出端變低電平,計數結束輸出高電平硬件啟動,不自動重復計數。裝入初值后輸出端變高電平,計數開始輸出低電平,結束后又變高方式1:方式2:軟、硬件啟動,自動重復計數。裝入初值后輸出端變高電平,計數到最后一個脈沖時輸出低電平方式3:軟、硬件啟動,自動重復計數裝入初值后輸出端變高電平輸出對稱方波方式4:軟件啟動,不自動重復計數。裝入初值后輸出端變高電平,計數結束輸出一個CLK寬度的低電平方式5:硬件啟動,不自動重復計數波形與方式4相同六、8253的應用舉例:見教材P3306.6可編程串行通信接口芯片8251A

計算機控制系統中數據通信的方式有并行和串行通信兩種方式。由于串行通信是在一根傳輸線上一位一位的傳送信息,所用的傳輸線少并且可以借助現成的電話、電視、電力網絡進行信息傳送,因此特別適合遠距離數據傳送。對于顯示器、打印機、磁盤等與計算機相距較近,但需要按位處理和串行存儲的外部設備,采用串行通信方式進行數據交換,也不在少數。在當前工廠自動化、安全保衛等需要實時控制和管理時,相互之間的數據交換也多采用串行通信。上節介紹并行通信,本節將介紹常用的串行通信原理及串行通信接口。一、串行通信

1、串行通信的特點:傳送線省,成本低,傳送時間長(NT),串行傳送適用于長距離通信系統及各類計算機網絡。

2、串行通信編碼:串行通信傳送常用ASCII與擴展的BCD交換碼EBCDIC進行信息傳送。EBCDIC:ExtendedBinaryCodedDecimalInterchengeCode3、串行通信方式:由于串行通信信息在一個方向上傳輸只占用一根傳輸線,而這根線上既傳送數據,又傳送聯絡信號,為此為區分這根線傳送的信息流中,哪一部分是聯絡信號,哪一部分是數據,就必須引出串行通信的一系列約定。于是,在串行通信中就有異步通信和同步通信兩種基本串行通信方式。

6.6.1串行通信概述

二、異步通信

異步通信ASYNC(AsynchronoueDataCommunication)以字符為單位進行傳輸,即異步傳輸方式,是非同步傳輸方式。其通信協議是起止式異步通信協議。異步通信的信息格式由起始位、數據位、校驗位、停止位與不固定的空閑位五個部分組成。起始位——每個字符開始傳送的標志,起始位采用邏輯0電平數據位——緊跟著起始位傳送。由5~8個二進制位組成,低位先傳送校驗位——校驗是否傳送正確;可選奇檢驗、偶校驗或不傳送校驗位停止位——表示該字符傳送結束。停止位采用邏輯1電平,可選擇1、1.5或2位空閑位——傳送字符之間的邏輯1電平,表示沒有進行傳送空閑起始位…...5~8數據位1/01/01/0011/0較驗位停止位11空閑起始位波特率的決定數據收發的時鐘:時鐘頻率=N×波特率波特率系數N=1/16/32/64

三、同步通信方式

以一個固定長度的字符組成的數據塊(幀)為傳輸單位,每個數據塊附加1個或2個同步字符,最后以校驗字符結束,通信的信息格式見圖。同步通信的數據傳輸效率和傳輸速率較高,但硬件電路比較復雜。串行同步通信主要應用在網絡當中。最常使用高級數據鏈路控制協議HDLC。同步字符較驗字符同步通信傳輸步驟:●傳輸開始,接受設備不停檢測傳輸線—測試同步字符是否到來。●收到同步字符(約定好的)之后,收方開始接受數據。●接受:N個字符數據+校驗字符。●處理:組合出N個數據字節,查奇偶無錯,結束一幀數據傳輸。●開始檢測同步字符,準備接受下一幀數據。注:發送與接受每位都保持完全一致,由時鐘信號統一。四、數據傳送的三種模式

1、全雙工模式:數據發送和接受由兩根不同的傳輸線傳送,通信雙方在同一時刻進行發送和接受2、半雙工模式數據的發送和接受由一根傳輸線傳送,通信雙方不能同時收發3、單工模式數據發送和接受在單一方向上傳送五、串行輸入/輸出的軟硬件實現

1、軟件實現串行數據轉換成并行數據或反之,完全可由CPU通過軟件來實現,外部只要增加簡單的電平轉換電路即可。

TTYOUT:MOV CL,0BH ;輸出位數10位

MOV AL,DL ;

OR AL,AL ;CF=0 RCL AL,1 ;CF送D0,起始位MORE:

OUT 02H,AL ;

CALL DELAY ;與波特率相配合

RCR AL,1 ;帶CF右移

STC ;CF=1,停止位

DEC CL JNE MORE RET2、UART硬件實現

UART即通用異步接收/發送器,它既能發送,又能接收,接收和發送部分都是雙緩沖結構。●功能:

接受:串行

——

并行

——

輸入; 發送:并行

——

串行

——

輸出

當輸入時,由RXD端接收到的串行數據先進入移位寄存器,接收到一個字符后然后并行輸入給輸入數據緩沖器,轉變為并行數據,由DB輸至CPU;在發送時,由CPU來的并行數據被輸出數據緩沖器接收,然后送到輸出移位寄存器,由TXD端從最低有效位開始直至最高有效位結束一位接一位串行輸出。●結構:設立有奇偶錯誤標志、幀錯誤標志、溢出錯誤標志為了檢測長距離傳送中可能發生的錯誤,通常增加一個奇偶校驗位。UART檢查每個字符及奇偶校驗位“1”的個數,若不滿足,則傳送過程中出錯。

三個出錯標志:

奇偶出錯標志:在接收時,若檢測到奇偶出錯,則置位該出錯標志;

幀出錯標志:在接收時,若檢測到字符格式不合規定,則置位該出錯標志;

溢出出錯標志:在接收時,CPU還沒從接收數據緩沖器取走上一個字符,而接收數據移位寄存器又接收到下一個字符,則上一個字符會丟失,則置位出錯標志。

6.6.2可編程串行通信接口芯片8251A

一、串行通信接口的基本任務1、進行串—并轉換:計算機處理數據是并行的,而串行傳送的數據是按位依次傳送。則數據由計算機到數據終端,接口要完成并行到串行轉換,相反數據終端到計算機的數據,由接口實現串行到并行的轉換。

2、串行數據格式化:異步通信時,在發送時,接口電路要自動生成起始位和停止位,接收時自動去除;在同步通信時;發送時自動在傳送數據塊前加同步字符,同樣接收時自動去除。3、可靠性檢驗在數據發送時自動生成奇偶校驗位,在數據接收時檢查奇偶校驗位,檢查錯誤。4、實施接口與數據通信設備之間聯絡控制:接口電路要提供計算機的串行接口到數據通信設備(DCE)間的標準邏輯電平。二、可編程串行通信接口芯片8251A的引腳

三、8251A的基本特點

1、可用于同步和異步傳送

同步傳送:5~8bit/字符,內同步或外同步,自動插入同步字符;

異步傳送:5~8bit/字符,接收/發送時鐘頻率為通信波特率的1,16或64倍;

2、可產生中止字符,可產生1,1.5,2位停止位。可檢查假啟動位,自動檢測和處理中止字符;

3、波特率:DC-19.2Kbps(異步);DC-64Kbps(同步);

4、完全雙工,雙緩沖發送和接收器;

5、具有奇偶、幀、溢出出錯檢測電路。四、8251A的內部功能結構

發送緩沖器并/串轉換發送控制電路接收緩沖器串/并轉換接收控制電路TXDTXRDYTXETXCRXDRXRDYRXCSYNDET內部總線數據總線緩沖器讀/寫控制邏輯電路調制解調電路D0~D7RESETCLKC/DRDWRCSDSRDTRCTSRTSOOOOOOO1、數據總線緩沖器:性質:三態雙向8位緩沖器,由狀態緩沖器、發送數據/命令緩沖器和接收數據緩沖器組成。功能:用作8251A和微機系統數據總線之間的接口。狀態緩沖器和接收數據緩沖器分別用來存放CPU從8251A讀取的狀態信息和數據,發送數據/命令緩沖器用來存放CPU寫入8251A的數據/控制字。

2、接收器:性質:由接收緩沖器、接收移位緩沖器及接收控制電路三部分組成。功能:接收RXD線上的串行數據并按規定的格式把它轉換為并行數據,存放在接收數據緩沖器中。其接收數據的速率取決于從RXC端輸入的接收時鐘頻率。

3、發送器性質:由發送緩沖器、發送移位緩沖器及發送控制電路三部分組成。功能:要發送數據由CPU送到發送數據緩沖器,再由發送器并行送到發送數據移位寄存器中。4、讀/寫控制邏輯

功能:讀/寫控制電路接受CPU送來的控制信號,對數據在內部總線上的傳送方向進行控制。

5、調制解調控制電路性質:由電子開關、運算放大器組成。功能:用于8251A與MODEN或外設之間的通信聯絡的控制。在遠距離通信時,8251A提供了與調制解調器聯絡的信號;在遠距離串行通信時,8251A提供了與外設聯絡的應答信號。

3、發送器

性質:由發送緩沖器、發送移位緩沖器及發送控制電路三部分組成。功能:要發送數據由CPU送到發送數據緩沖器,再由發送器并行送到發送數據移位寄存器中。4、

讀/寫控制邏輯

功能:讀/寫控制電路接受CPU送來的控制信號,對數據在內部總線上的傳送方向進行控制。

5、調制解調控制電路性質:由電子開關、運算放大器組成。功能:用于8251A與MODEN或外設之間的通信聯絡的控制。在遠距離通信時,8251A提供了與調制解調器聯絡的信號;在遠距離串行通信時,8251A提供了與外設聯絡的應答信號。

發送緩沖器接收緩沖器并串變換寄存器串并變換寄存器……...………..……..通信線路CPU發送數據CPU接收數據………...………..發送時鐘接收時鐘接收控制接收控制發

溫馨提示

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

評論

0/150

提交評論