微機原理及應(yīng)用(鄭學(xué)堅)3_第1頁
微機原理及應(yīng)用(鄭學(xué)堅)3_第2頁
微機原理及應(yīng)用(鄭學(xué)堅)3_第3頁
微機原理及應(yīng)用(鄭學(xué)堅)3_第4頁
微機原理及應(yīng)用(鄭學(xué)堅)3_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一節(jié)第一節(jié)接口電路的作用接口電路的作用接口電路從功能上分為兩類:接口電路從功能上分為兩類: 微處理器正常工作所需輔助及控制電路微處理器正常工作所需輔助及控制電路(定時時鐘、定時時鐘、中斷控制等中斷控制等) 輸入輸入/輸出接口電路輸出接口電路(與外設(shè)交換信息的接口與外設(shè)交換信息的接口)1、使用接口電路的原因、使用接口電路的原因 微機系統(tǒng)總線時序相對統(tǒng)一。微機系統(tǒng)總線時序相對統(tǒng)一。 形式上:外設(shè)種類繁多,傳送信息形式多樣形式上:外設(shè)種類繁多,傳送信息形式多樣(數(shù)字量、數(shù)字量、模擬量、并行數(shù)據(jù)、串行數(shù)據(jù)、字長不同等等模擬量、并行數(shù)據(jù)、串行數(shù)據(jù)、字長不同等等)。 速度上:一般外設(shè)速度比速度上:一般外

2、設(shè)速度比CPU慢;各種外設(shè)速度差異慢;各種外設(shè)速度差異很大。很大。采用接口解決和處理內(nèi)部統(tǒng)一采用接口解決和處理內(nèi)部統(tǒng)一(CPU端端)與外部差與外部差異異(外設(shè)端外設(shè)端)的矛盾。的矛盾。 2、接口的主要功能如下、接口的主要功能如下(實現(xiàn)緩沖和變換處理實現(xiàn)緩沖和變換處理): 將各種不同形式的信息變換為將各種不同形式的信息變換為CPU能接收的形式。能接收的形式。 在外設(shè)與在外設(shè)與CPU間起緩沖作用間起緩沖作用I/O接口接口:是實現(xiàn)計算機與外設(shè)間信息傳送的控制部件,是實現(xiàn)計算機與外設(shè)間信息傳送的控制部件,外設(shè)通過接口與主機外設(shè)通過接口與主機(CPU)相連。相連。接口技術(shù)主要分析和研究接口技術(shù)主要分析和

3、研究CPU和外設(shè)間數(shù)據(jù)傳送方式、和外設(shè)間數(shù)據(jù)傳送方式、接口的工作原理和使用方法接口的工作原理和使用方法。第二節(jié)第二節(jié)CPU與與I/O設(shè)備之間信號設(shè)備之間信號CPU、接口與、接口與I/O設(shè)備之間信號從形式上分為四設(shè)備之間信號從形式上分為四種:種: 數(shù)字量:二進制形式數(shù)據(jù)數(shù)字量:二進制形式數(shù)據(jù) 模擬量:用模擬電壓或模擬電流表示大小的物理量模擬量:用模擬電壓或模擬電流表示大小的物理量 開關(guān)量:用開關(guān)量:用“開開”或或“關(guān)關(guān)”兩種狀態(tài)表示兩種狀態(tài)表示 脈沖量:以脈沖形式表示的信號脈沖量:以脈沖形式表示的信號CPU、接口與、接口與I/O設(shè)備之間信號從信息內(nèi)容上分為三類:設(shè)備之間信號從信息內(nèi)容上分為三類:

4、1、數(shù)據(jù)信息:實際需傳送的數(shù)據(jù)信息內(nèi)容、數(shù)據(jù)信息:實際需傳送的數(shù)據(jù)信息內(nèi)容2、狀態(tài)信息:外設(shè)工作狀態(tài),由外設(shè)關(guān)送主機。、狀態(tài)信息:外設(shè)工作狀態(tài),由外設(shè)關(guān)送主機。READY(數(shù)據(jù)準(zhǔn)備好數(shù)據(jù)準(zhǔn)備好)、BUSY(設(shè)備忙設(shè)備忙)、出錯等、出錯等3、控制信息:控制外設(shè)或接口操作的信息,通常為各、控制信息:控制外設(shè)或接口操作的信息,通常為各種命令。種命令。在微機系統(tǒng)中,數(shù)據(jù)、狀態(tài)、控制信息均采用在微機系統(tǒng)中,數(shù)據(jù)、狀態(tài)、控制信息均采用I/O指令經(jīng)由數(shù)據(jù)線傳送,接口中不同信息的識別是指令經(jīng)由數(shù)據(jù)線傳送,接口中不同信息的識別是通過在接口中分配不同的寄存器實現(xiàn)的。通過在接口中分配不同的寄存器實現(xiàn)的。在接口中通常

5、下面三類寄存器:在接口中通常下面三類寄存器:數(shù)據(jù)寄存器數(shù)據(jù)寄存器(數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器)數(shù)據(jù)信息數(shù)據(jù)信息狀態(tài)寄存器狀態(tài)寄存器狀態(tài)信息狀態(tài)信息控制寄存器控制寄存器控制信息控制信息第三節(jié)第三節(jié)接口部件的接口部件的I/O端口端口各種接口中不同的寄存器分配各種接口中不同的寄存器分配(對應(yīng)對應(yīng))不同的輸入、不同的輸入、輸出地址,我們稱之為端口地址。輸出地址,我們稱之為端口地址。 數(shù)據(jù)端口:數(shù)據(jù)緩沖數(shù)據(jù)端口:數(shù)據(jù)緩沖 狀態(tài)端口:存放狀態(tài)狀態(tài)端口:存放狀態(tài)(包含外設(shè)或接口狀態(tài)包含外設(shè)或接口狀態(tài)) 命令端口:接收或存放控制命令命令端口:接收或存放控制命令(控制信息控制信息)內(nèi)存與內(nèi)存與I/O的編址方式的編址方

6、式 統(tǒng)一編址:訪問統(tǒng)一編址:訪問I/O端口與訪問內(nèi)存一樣端口與訪問內(nèi)存一樣 單獨編址:單獨編址: I/O端口與內(nèi)存分開編址,通過端口與內(nèi)存分開編址,通過I/O指令指令訪問訪問I/O端口端口第四節(jié)第四節(jié)輸入輸出控制方式輸入輸出控制方式CPU與外設(shè)數(shù)據(jù)傳送控制方式與外設(shè)數(shù)據(jù)傳送控制方式(I/O控制方式控制方式)反映反映了了CPU與外設(shè)交換數(shù)據(jù)時控制過程。通常采用四種控與外設(shè)交換數(shù)據(jù)時控制過程。通常采用四種控制方式:程序控制方式、中斷控制方式、制方式:程序控制方式、中斷控制方式、DMA方式方式和輸入輸出處理機和輸入輸出處理機(通道通道)方式方式一、程序方式一、程序方式程序傳送方式是指在程序控制下進行

7、信息的傳送。程序傳送方式是指在程序控制下進行信息的傳送。分為無條件傳送和條件傳送兩種方式。分為無條件傳送和條件傳送兩種方式。1、無條件傳送、無條件傳送傳送時不必查詢外設(shè)狀態(tài),直接進行傳送時不必查詢外設(shè)狀態(tài),直接進行I/O傳送。傳送。只適用于簡單的外設(shè)。只適用于簡單的外設(shè)。無條件傳送保證數(shù)據(jù)傳送正確的先決條件:無條件傳送保證數(shù)據(jù)傳送正確的先決條件:每次輸入、輸出時,必須保證外設(shè)處于就緒狀態(tài),每次輸入、輸出時,必須保證外設(shè)處于就緒狀態(tài),否則就會出錯。否則就會出錯。無條件傳送方式的接口比較簡單,通常只包含數(shù)據(jù)處理無條件傳送方式的接口比較簡單,通常只包含數(shù)據(jù)處理部分部分(見見P197圖圖8-1)。2、

8、條件傳送、條件傳送CPU通過不斷檢測外設(shè)的工作狀態(tài)進行數(shù)據(jù)傳送,通過不斷檢測外設(shè)的工作狀態(tài)進行數(shù)據(jù)傳送,也稱為查詢式傳送方式。也稱為查詢式傳送方式。就緒狀態(tài):就緒狀態(tài): 輸入時,外設(shè)已準(zhǔn)備好數(shù)據(jù)輸入時,外設(shè)已準(zhǔn)備好數(shù)據(jù) 輸出時,外設(shè)處在空閑狀態(tài)輸出時,外設(shè)處在空閑狀態(tài)查詢式輸入接口查詢式輸入接口狀態(tài)變化:見狀態(tài)變化:見(P197圖圖8-2),當(dāng)外設(shè)將數(shù)據(jù)送入接口中數(shù),當(dāng)外設(shè)將數(shù)據(jù)送入接口中數(shù)據(jù)鎖存器時,同時設(shè)置準(zhǔn)備好狀態(tài)。據(jù)鎖存器時,同時設(shè)置準(zhǔn)備好狀態(tài)。CPU讀入數(shù)據(jù)時讀入數(shù)據(jù)時清除準(zhǔn)備好狀態(tài)。清除準(zhǔn)備好狀態(tài)。查詢式輸出接口查詢式輸出接口狀態(tài)變化:見狀態(tài)變化:見(P198圖圖8-3),當(dāng),當(dāng)C

9、PU向接口傳送數(shù)據(jù)后置向接口傳送數(shù)據(jù)后置為忙狀態(tài),外設(shè)將接口數(shù)據(jù)取走后置為空閑狀態(tài)為忙狀態(tài),外設(shè)將接口數(shù)據(jù)取走后置為空閑狀態(tài)(清清除忙狀態(tài)除忙狀態(tài))。查詢傳送方式的特點:查詢傳送方式的特點:接口電路簡單,接口電路簡單,CPU查詢等待浪費查詢等待浪費CPU大量的時間,不大量的時間,不具備實時處理的能力。具備實時處理的能力。查詢方式輸入輸出處理程序:查詢方式輸入輸出處理程序:進行數(shù)據(jù)輸入、輸出前,首先查詢設(shè)備進行數(shù)據(jù)輸入、輸出前,首先查詢設(shè)備(接口接口)狀狀態(tài),在就緒狀態(tài)時,進行數(shù)據(jù)的輸入輸出。態(tài),在就緒狀態(tài)時,進行數(shù)據(jù)的輸入輸出。ST_PEQU58H;狀態(tài)端口;狀態(tài)端口IN_PEQU52H;輸入

10、數(shù)據(jù)端口;輸入數(shù)據(jù)端口:CHR_IN:INAL,ST_P;讀狀態(tài);讀狀態(tài)TESTAL,02H;判斷數(shù)據(jù)準(zhǔn)備好;判斷數(shù)據(jù)準(zhǔn)備好JZCHR_IN;沒有準(zhǔn)備好,繼續(xù)判斷;沒有準(zhǔn)備好,繼續(xù)判斷INAL,IN_P;準(zhǔn)備好,輸入數(shù)據(jù);準(zhǔn)備好,輸入數(shù)據(jù)(輸入數(shù)據(jù)處理輸入數(shù)據(jù)處理)JPCHR_IN;輸入下一個數(shù)據(jù);輸入下一個數(shù)據(jù)二、中斷控制方式二、中斷控制方式1、中斷傳送方式的工作原理、中斷傳送方式的工作原理中斷控制方式中斷控制方式:當(dāng):當(dāng)CPU與外設(shè)要進行數(shù)據(jù)傳送時,由外與外設(shè)要進行數(shù)據(jù)傳送時,由外設(shè)向設(shè)向CPU發(fā)出中斷請求,使發(fā)出中斷請求,使CPU暫停當(dāng)前程序,而暫停當(dāng)前程序,而去執(zhí)行輸入、輸出的處理,完

11、成一次數(shù)據(jù)傳送,然后去執(zhí)行輸入、輸出的處理,完成一次數(shù)據(jù)傳送,然后CPU返回原程序繼續(xù)執(zhí)行。返回原程序繼續(xù)執(zhí)行。在中斷傳送方式下,外設(shè)的工作狀態(tài)是通過中斷在中斷傳送方式下,外設(shè)的工作狀態(tài)是通過中斷請求體現(xiàn)的請求體現(xiàn)的(外設(shè)就緒后就向外設(shè)就緒后就向CPU發(fā)中斷請求發(fā)中斷請求)中斷控制方式的數(shù)據(jù)傳送過程:輸入設(shè)備準(zhǔn)備好數(shù)據(jù)中斷控制方式的數(shù)據(jù)傳送過程:輸入設(shè)備準(zhǔn)備好數(shù)據(jù)(準(zhǔn)備好準(zhǔn)備好)或輸出設(shè)備可以接收數(shù)據(jù)或輸出設(shè)備可以接收數(shù)據(jù)(空閑空閑)時,外設(shè)時,外設(shè)(通通過接口過接口)向向CPU發(fā)出中斷請求,發(fā)出中斷請求,CPU響應(yīng)后,暫停當(dāng)響應(yīng)后,暫停當(dāng)前程序,進行一次前程序,進行一次I/O處理處理(通過中

12、斷處理程序?qū)崿F(xiàn):通過中斷處理程序?qū)崿F(xiàn):將外設(shè)送入接口的數(shù)據(jù)讀入將外設(shè)送入接口的數(shù)據(jù)讀入CPU或?qū)⒒驅(qū)PU數(shù)據(jù)送到數(shù)據(jù)送到接口接口),然后返回原程序繼續(xù)原來工作。,然后返回原程序繼續(xù)原來工作。中斷輸入輸出的特點:中斷輸入輸出的特點: 外設(shè)可以和外設(shè)可以和CPU并行工作并行工作 外設(shè)可隨機產(chǎn)生外設(shè)可隨機產(chǎn)生I/O 中斷請求中斷請求 每中斷一次實現(xiàn)一個數(shù)據(jù)的傳送每中斷一次實現(xiàn)一個數(shù)據(jù)的傳送 傳送一個數(shù)據(jù)需要執(zhí)行若干條指令,即執(zhí)行一段中斷傳送一個數(shù)據(jù)需要執(zhí)行若干條指令,即執(zhí)行一段中斷程序。程序。三、三、DMA(直接存儲器存取直接存儲器存取)控制方式控制方式DMA方式是一種成塊數(shù)據(jù)傳送方式,在這種方方

13、式是一種成塊數(shù)據(jù)傳送方式,在這種方式下,由式下,由DMA控制器控制數(shù)據(jù)在存儲器與外設(shè)間傳控制器控制數(shù)據(jù)在存儲器與外設(shè)間傳送。送。DMA控制方式的傳送過程:控制方式的傳送過程:當(dāng)外設(shè)需要輸入當(dāng)外設(shè)需要輸入/輸出一批數(shù)據(jù)時,向輸出一批數(shù)據(jù)時,向DMA控制控制器發(fā)出請求,器發(fā)出請求,DMA控制器接收到請求后,向控制器接收到請求后,向CPU發(fā)發(fā)出總線請求,當(dāng)出總線請求,當(dāng)DMA控制器獲取總線控制權(quán)后,控控制器獲取總線控制權(quán)后,控制數(shù)據(jù)在存儲器與外設(shè)間進行傳送,傳送完成后,釋制數(shù)據(jù)在存儲器與外設(shè)間進行傳送,傳送完成后,釋放總線,并向放總線,并向CPU發(fā)出中斷請求,告訴發(fā)出中斷請求,告訴CPU數(shù)據(jù)傳數(shù)據(jù)傳

14、送結(jié)束,由送結(jié)束,由CPU進行后續(xù)處理。進行后續(xù)處理。DMA控制器的功能:控制器的功能: 接收接收DMA請求,發(fā)總線請求請求,發(fā)總線請求 產(chǎn)生存儲單元地址產(chǎn)生存儲單元地址 產(chǎn)生讀寫控制信號產(chǎn)生讀寫控制信號 進行傳送數(shù)據(jù)的計數(shù)進行傳送數(shù)據(jù)的計數(shù)DMA控制器的特點控制器的特點 DMA控制器既是接口控制器既是接口(接受接受CPU的參數(shù)設(shè)置的參數(shù)設(shè)置)又是控又是控制器制器(DMA傳送時產(chǎn)生傳送地址和控制信號傳送時產(chǎn)生傳送地址和控制信號) 在在DMA傳送時,由傳送時,由DMA控制器控制數(shù)據(jù)在外設(shè)與內(nèi)控制器控制數(shù)據(jù)在外設(shè)與內(nèi)存間傳送存間傳送(不必由不必由CPU控制控制)四、輸入四、輸入/輸出處理機控制方式

15、輸出處理機控制方式輸入輸入/輸出處理機輸出處理機(IOP)是對是對DMA控制器功能的進控制器功能的進一步擴展,一步擴展,IOP是一種專門用于處理輸入輸出的處理是一種專門用于處理輸入輸出的處理器,它本身可以執(zhí)行自己的指令和程序器,它本身可以執(zhí)行自己的指令和程序(通道指令或通道指令或程序程序)。通過輸入。通過輸入/輸出處理機控制的輸入輸出處理機控制的輸入/輸出稱為輸輸出稱為輸入入/輸出處理機控制方式輸出處理機控制方式本章主要介紹微機中各種常用的接口芯片本章主要介紹微機中各種常用的接口芯片的工作原理及使用方法,其中包括:的工作原理及使用方法,其中包括: 8255A:可編程并行接口:可編程并行接口 8

16、253:計數(shù)器:計數(shù)器/定時器定時器 8251:可編程串行接口:可編程串行接口 8259A:中斷控制器:中斷控制器 8237A:DMA控制器控制器為了掌握接口芯片的應(yīng)用,必須首先了解為了掌握接口芯片的應(yīng)用,必須首先了解其內(nèi)部結(jié)構(gòu),工作方式和命令格式,然后通其內(nèi)部結(jié)構(gòu),工作方式和命令格式,然后通過編程實現(xiàn)相應(yīng)的控制和傳送應(yīng)用。過編程實現(xiàn)相應(yīng)的控制和傳送應(yīng)用。一、并行通信與并行接口一、并行通信與并行接口1、并行通信、并行通信并行通信:將一個數(shù)據(jù)的各位經(jīng)幾條線同時傳輸。并行通信:將一個數(shù)據(jù)的各位經(jīng)幾條線同時傳輸。并行通信特點:并行通信特點: 信息傳輸速度快,但傳輸距離短。信息傳輸速度快,但傳輸距離短

17、。 有并行同步傳輸、并行異步傳輸。有并行同步傳輸、并行異步傳輸。 并行輸入接口、輸出接口、雙向接口并行輸入接口、輸出接口、雙向接口2、并行通信接口結(jié)構(gòu)與連接、并行通信接口結(jié)構(gòu)與連接主要部件:主要部件: 控制寄存器:接收接口控制命令??刂萍拇嫫鳎航邮战涌诳刂泼?。 狀態(tài)寄存器:反映外設(shè)與接口的工作狀態(tài)。狀態(tài)寄存器:反映外設(shè)與接口的工作狀態(tài)。 輸入輸入/輸出數(shù)據(jù)緩沖器:暫存輸出數(shù)據(jù)緩沖器:暫存I/O 數(shù)據(jù)。數(shù)據(jù)。并行接口輸入并行接口輸入/輸出工作過程輸出工作過程(P200)二、可編程并行通信接口二、可編程并行通信接口8255A結(jié)構(gòu)及功能結(jié)構(gòu)及功能1、8255A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)8255A內(nèi)部主要

18、由下面幾部分組成:內(nèi)部主要由下面幾部分組成: 三個數(shù)據(jù)端口三個數(shù)據(jù)端口A、B、CA:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出端口輸出端口(具有鎖存能力具有鎖存能力)B:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出端口輸出端口(具有輸出鎖存能力具有輸出鎖存能力)C:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出端口輸出端口(具有輸出鎖存能力具有輸出鎖存能力)或者分為或者分為兩個兩個4位的位的I / O端口,分別作為端口,分別作為A口和口和B口的輸出控制口的輸出控制和狀態(tài)輸入信號。和狀態(tài)輸入信號。 A、B組控制組控制確定兩組的端口的工作方式確定兩組的端口的工作方式A組:由組:由A端口和端口和C端口的高端口的高4位組成位組成B組:由組:由B端口

19、和端口和C端口的低端口的低4位組成位組成 讀寫控制邏輯讀寫控制邏輯 總線緩沖器總線緩沖器2、8255的引線的引線 PAi, PBi, PCi:A、B、C三個數(shù)據(jù)端口與外三個數(shù)據(jù)端口與外部數(shù)據(jù)輸入部數(shù)據(jù)輸入/輸出信號輸出信號(每個端口每個端口8位位)。都具有。都具有輸出鎖存功能。輸出鎖存功能。 D0D7:8255的數(shù)據(jù)線的數(shù)據(jù)線(與數(shù)據(jù)總線相連與數(shù)據(jù)總線相連)。 A1,A0:8255內(nèi)部端口選擇。內(nèi)部端口選擇。 A1 A0內(nèi)部端口內(nèi)部端口 0 0A端口端口 0 1B端口端口 1 0C端口端口 1 1控制端口控制端口(控制字端口控制字端口)三、三、8255的控制字的控制字(命令字命令字)8255控

20、制字分為兩類控制字分為兩類(兩種兩種)。一種是方式。一種是方式選擇控制字,用于設(shè)置端口的工作方式;另選擇控制字,用于設(shè)置端口的工作方式;另一種是一種是C端口按位置端口按位置1/置置0控制字,用于對控制字,用于對C端端口的某一位置口的某一位置1或置或置0。8255的控制字都是寫入控制字端口。的控制字都是寫入控制字端口。1、方式選擇控制字、方式選擇控制字方式選擇控制字用于確定各端口的工作方式。方式選擇控制字用于確定各端口的工作方式。8255有三種工作方式可以選擇:有三種工作方式可以選擇: 方式方式0:基本的輸入:基本的輸入/輸出方式輸出方式(A,B,C端口端口) 方式方式1:選通的輸入:選通的輸入

21、/輸出方式輸出方式(A,B端口端口) 方式方式2:雙向傳送方式:雙向傳送方式(A端口端口)在工作方式在工作方式1和工作方式和工作方式2時,需要時,需要C端口配合。端口配合。工作方式控制字格式:工作方式控制字格式:(P203圖圖8-7)在在I / O 選擇中:選擇中:0表示表示IN,1表示表示OUTA口方式選擇:從口方式選擇:從02(有三種工作方式可供選擇有三種工作方式可供選擇)B口方式選擇:口方式選擇:0表示方式表示方式0,1表示方式表示方式1(兩種選擇兩種選擇)方式選擇控制字的實例方式選擇控制字的實例設(shè)兩個并行接口芯片設(shè)兩個并行接口芯片J1和和J2的端口為:的端口為:J1:0E0H0E3HJ

22、2:0E8H0EBH將工作方式設(shè)置分別為:將工作方式設(shè)置分別為:J1:A,B,C端口均工作于方式端口均工作于方式0;A口輸出,口輸出,B口輸入,口輸入,C口的高口的高4位輸出,低位輸出,低4位輸入。位輸入。J2:A,C口工作于方式口工作于方式0輸入口,輸入口,B口工作于方式口工作于方式1輸出輸出口口(C口的低口的低4位要配合位要配合B口工作口工作)。解:解:J1的工作方式控制字:的工作方式控制字:1 00 0 0 0 1 1 (83H)J2的工作方式控制字:的工作方式控制字:1 00 1 1 1 0 0 (94H)MOVAL,83HOUT0E3H,ALMOVAL,94HOUT0EBH,AL2、

23、端口、端口C置置0/置置1控制字控制字端口端口C置置0/置置1控制字可以直接將端口控制字可以直接將端口C的某一的某一位置位置0或置或置1。置置0/置置1控制字的格式控制字的格式:(P203圖圖8-8)置置0/置置1控制控制字標(biāo)志字標(biāo)志四、四、8255的工作方式的工作方式1、工作方式、工作方式0:基本的:基本的I / O方式方式(A,B,C口口)輸入:直接將端口外部數(shù)據(jù)讀入數(shù)據(jù)總線送輸入:直接將端口外部數(shù)據(jù)讀入數(shù)據(jù)總線送CPU。輸出:將數(shù)據(jù)由數(shù)據(jù)總線經(jīng)端口輸出。輸出:將數(shù)據(jù)由數(shù)據(jù)總線經(jīng)端口輸出。2、工作方式、工作方式1:選通式:選通式I / O方式方式(A,B口口)特點:利用特點:利用C口配合口

24、配合A口或口或B口工作,提供選通口工作,提供選通或應(yīng)答信號或應(yīng)答信號(C口的各位有固定的功能口的各位有固定的功能)。1) 輸入方式時,輸入方式時,C口的數(shù)據(jù)位功能分配:口的數(shù)據(jù)位功能分配:A口在方式口在方式1時:時: PC4:選通輸入:選通輸入STBA PC5:輸入緩沖器満:輸入緩沖器満IBFA PC3:中斷輸出:中斷輸出INTRAB口在方式口在方式1時:時: PC2:選通輸入:選通輸入STBB PC1:輸入緩沖器満:輸入緩沖器満IBFB PC0:中斷輸出:中斷輸出INTRBPC6,PC7可用于輸入或輸出??捎糜谳斎牖蜉敵觥?) 輸出方式時,輸出方式時,C口的數(shù)據(jù)位功能分配:口的數(shù)據(jù)位功能分配

25、:A口在方式口在方式1時:時: PC7:輸出緩沖器満:輸出緩沖器満OBFA PC6:接收數(shù)據(jù)響應(yīng):接收數(shù)據(jù)響應(yīng)ACKA PC3:中斷輸出:中斷輸出INTRAB口在方式口在方式1時:時: PC1:輸出緩沖器満:輸出緩沖器満OBFB PC2:接收數(shù)據(jù)響應(yīng):接收數(shù)據(jù)響應(yīng)ACKB PC0:中斷輸出:中斷輸出INTRB3)各信號的功能各信號的功能(作用作用) STB(選通選通)_:外部數(shù)據(jù)送入:外部數(shù)據(jù)送入8255的輸入緩沖器時,通的輸入緩沖器時,通過此信號寫入。過此信號寫入。 IBF(輸入緩沖器満輸入緩沖器満):STB將其置位將其置位(表示有數(shù)據(jù)寫入表示有數(shù)據(jù)寫入),本信號送給外設(shè)作為本信號送給外設(shè)作

26、為8255的狀態(tài)信號。當(dāng)?shù)臓顟B(tài)信號。當(dāng)CPU從緩沖從緩沖器中讀出數(shù)據(jù)后,本信號復(fù)位。器中讀出數(shù)據(jù)后,本信號復(fù)位。 OBF(輸出緩沖器満輸出緩沖器満):當(dāng):當(dāng)CPU將要輸出的數(shù)據(jù)寫入輸將要輸出的數(shù)據(jù)寫入輸出緩沖器中后,產(chǎn)生本信號,本信號送給外設(shè)作為出緩沖器中后,產(chǎn)生本信號,本信號送給外設(shè)作為8255的狀態(tài)信號。當(dāng)外設(shè)從緩沖器中讀出數(shù)據(jù)后,本的狀態(tài)信號。當(dāng)外設(shè)從緩沖器中讀出數(shù)據(jù)后,本信號復(fù)位。信號復(fù)位。 ACK(外設(shè)響應(yīng)外設(shè)響應(yīng)):外設(shè)從:外設(shè)從8255的輸出緩沖器中讀取數(shù)的輸出緩沖器中讀取數(shù)據(jù)的信號。據(jù)的信號。 INTR(中斷請求中斷請求):輸入時,當(dāng)外設(shè)將數(shù)據(jù)寫入輸入:輸入時,當(dāng)外設(shè)將數(shù)據(jù)寫入

27、輸入緩沖器緩沖器(輸出時,當(dāng)外設(shè)從輸出緩沖器中取出數(shù)據(jù)后輸出時,當(dāng)外設(shè)從輸出緩沖器中取出數(shù)據(jù)后),產(chǎn)生此信號。當(dāng)產(chǎn)生此信號。當(dāng)CPU從輸入緩沖器取走數(shù)據(jù)從輸入緩沖器取走數(shù)據(jù)(或或CPU向輸出緩沖器寫入新數(shù)據(jù)向輸出緩沖器寫入新數(shù)據(jù))后,復(fù)位此信號。后,復(fù)位此信號。 INTE(中斷允許中斷允許):8255內(nèi)部設(shè)有中斷允許觸發(fā)器,內(nèi)部設(shè)有中斷允許觸發(fā)器,通過設(shè)置中斷允許觸發(fā)器可以控制是否允許通過設(shè)置中斷允許觸發(fā)器可以控制是否允許INTR信號的發(fā)出。中斷允許觸發(fā)器的設(shè)置是通過對信號的發(fā)出。中斷允許觸發(fā)器的設(shè)置是通過對C端端口的某些固定位的設(shè)置而實現(xiàn)的口的某些固定位的設(shè)置而實現(xiàn)的 (置置1表示允許中斷,

28、表示允許中斷,置置0表示禁止中斷表示禁止中斷)。輸入方式時:輸入方式時:PC4置置1允許允許A口輸入中斷口輸入中斷PC2置置1允許允許B口輸入中斷口輸入中斷輸出方式時:輸出方式時:PC6置置1允許允許A口輸出中斷口輸出中斷PC2置置1允許允許B口輸出中斷口輸出中斷3、工作方式、工作方式3:雙向傳輸方式:雙向傳輸方式(只有只有A口具有口具有)A口同時具有選通的輸入輸出雙向傳送方式??谕瑫r具有選通的輸入輸出雙向傳送方式。C口的數(shù)據(jù)位功能分配:口的數(shù)據(jù)位功能分配: PC3:INTR中斷請求中斷請求 PC7:OBFA輸出緩沖器満輸出緩沖器満 PC6:ACKA外設(shè)響應(yīng)外設(shè)響應(yīng) PC4:STBA外設(shè)選通外

29、設(shè)選通 PC5:IBFA輸入緩沖器満輸入緩沖器満 PC6:INTE1輸出中斷允許輸出中斷允許 PC4:INTE2輸入中斷允許輸入中斷允許A口工作在方式口工作在方式2時,時,B口可以工作在方式口可以工作在方式0或方式或方式1。注意:注意:A口在雙向傳輸方式下,輸入和輸出不能同時口在雙向傳輸方式下,輸入和輸出不能同時發(fā)生。由程序的初始化過程確定其進行輸入還是輸發(fā)生。由程序的初始化過程確定其進行輸入還是輸出出(因為只有一個中斷請求,如同時進行輸入和輸因為只有一個中斷請求,如同時進行輸入和輸出時,將導(dǎo)致兩者的混淆出時,將導(dǎo)致兩者的混淆)。五、五、8255編程應(yīng)用舉例編程應(yīng)用舉例8255的工作方式設(shè)置的

30、工作方式設(shè)置例例1、設(shè)某、設(shè)某8255并行接口芯片的端口地址為并行接口芯片的端口地址為0C0H0C3H,根據(jù)下列設(shè)置要求對芯片編程:,根據(jù)下列設(shè)置要求對芯片編程:1)將將A口設(shè)為按工作方式口設(shè)為按工作方式1的輸入口,并允許中斷;的輸入口,并允許中斷;B口設(shè)為方式口設(shè)為方式0的輸出口,的輸出口,PC7,PC6設(shè)為輸入,設(shè)為輸入,PC0PC3設(shè)為輸出。設(shè)為輸出。2)A口和口和B口工作方式同上,口工作方式同上,C中的剩下位設(shè)置為輸出中的剩下位設(shè)置為輸出工作方式。工作方式。3)將將A口設(shè)為雙向傳輸方式,禁止輸入中斷方式,允口設(shè)為雙向傳輸方式,禁止輸入中斷方式,允許輸出中斷方式,許輸出中斷方式,B口設(shè)為

31、選通輸出方式,并允許口設(shè)為選通輸出方式,并允許中斷。中斷。解:解:1) )將將A口設(shè)為按工作方式口設(shè)為按工作方式1的輸入口,并允許中的輸入口,并允許中斷;斷;B口設(shè)為方式口設(shè)為方式0的輸出口,的輸出口,PC7,PC6設(shè)為輸入,設(shè)為輸入,PC0PC3設(shè)為輸出。設(shè)為輸出。方式選擇控制字:方式選擇控制字: 允許允許A口中斷口中斷:(PC4置置1)1 01 1 1 0 0 0 (0B4H) 0 000 100 1 (09H)程序段:程序段:mov al,0b4hout0c3h,almov al,09hout0c3h,al2) A口和口和B口工作方式同上,口工作方式同上,C中的剩下位設(shè)置為輸出中的剩下位

32、設(shè)置為輸出工作方式。工作方式。方式選擇控制字:方式選擇控制字:1 01 1 0 0 0 0 (0B0H)程序段:程序段:mov al,0b0hout0c3h,almov al,09hout0c3h,al3)將將A口設(shè)為雙向傳輸方式,禁止輸入中斷方式,允口設(shè)為雙向傳輸方式,禁止輸入中斷方式,允許輸出中斷方式,許輸出中斷方式,B口設(shè)為選通輸出方式,并允許口設(shè)為選通輸出方式,并允許中斷中斷方式選擇控制字:方式選擇控制字:1 10 0 0 1 0 0 (0C4H)禁止禁止A口輸入中斷:置口輸入中斷:置PC4為為00 000 100 0 (08H)允許允許A口輸出中斷:置口輸出中斷:置PC6為為10 0

33、00 110 1 (0DH)允許允許B口輸出中斷:置口輸出中斷:置PC2為為10 000 010 1 (05H)程序段:程序段:mov dx,0c4hmov al,0c4houtdx,almov al,08houtdx,almov al,0dhoutdx,almov al,05houtdx,al2、如圖,假設(shè)、如圖,假設(shè)8255的的A端口接顯示燈,編程使連接的端口接顯示燈,編程使連接的顯示燈由上向下循環(huán)點亮顯示燈由上向下循環(huán)點亮5次結(jié)束次結(jié)束(8255芯片端口為芯片端口為0C0H0C3H)。解:將解:將A口置為基本輸出方式,先在其最高位輸出口置為基本輸出方式,先在其最高位輸出1,延時一段時間之

34、后,然后移到下一位。如此循環(huán),延時一段時間之后,然后移到下一位。如此循環(huán),循環(huán)循環(huán)5遍后結(jié)束程序。遍后結(jié)束程序。方式控制字:方式控制字: 1 00 0 0000 (80H)程序:程序:codesegmentcountequ5pa_ctrequ0c3hport_aequ0c0hassumecs:codemainproc farstart:push dsxorax,axpush axmov dx,pa_ctrmov al,80h;方式控制字方式控制字outdx,almov cx,count;循環(huán)次數(shù)循環(huán)次數(shù)mov al,80h;最高位為低,點亮最高位最高位為低,點亮最高位light: mov dx

35、,port_aoutdx,alcalldelayroral,01hjnclightloop lightretmain endpdelayprocneardl1equ800hdl2equ400hpushcxmovcx,dl1dop1: push cxmovcx,dl2lop2: loop lop2 popcxlooplop1popcxretdelay endpcode endsendmain3、如圖,、如圖,8255A口的連接同上例,口的連接同上例,B口連接并行打印口連接并行打印機,機,PC0接接8259中斷控制器的中斷控制器的IR7(相應(yīng)的中斷類型相應(yīng)的中斷類型碼為碼為0FH的中斷的中斷)。采

36、用中斷方式將。采用中斷方式將BUFFER數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)的的255H字節(jié)的數(shù)據(jù)送打印機打印,同時顯示燈由上字節(jié)的數(shù)據(jù)送打印機打印,同時顯示燈由上向下循環(huán)顯示。向下循環(huán)顯示。解:分析:解:分析:A口采用方式口采用方式0,作為輸出口,作為輸出口,B口采用方式口采用方式1,作為輸出口,作為輸出口,并采用中斷方式向打印機傳送數(shù)據(jù)。并采用中斷方式向打印機傳送數(shù)據(jù)。方式選擇控制字:方式選擇控制字: 1 00 0 0 1 0 0 (84H)B口的中斷允許控制字:口的中斷允許控制字:0000 010 1 (05H)B口的中斷禁止控制字:口的中斷禁止控制字:0000 010 0 (04H)程序代碼:程序代碼:;利用

37、利用8255的的A口輸出循環(huán)顯示燈,口輸出循環(huán)顯示燈,B口采用中斷方式打印的程口采用中斷方式打印的程序序port_a equ 0c0h; A 端口地址端口地址port_b equ 0c1h; B 端口地址端口地址port_c equ 0c2h; C 端口地址端口地址port_ctr equ 0c3h ; 控制字端口地址控制字端口地址port_mode equ 84h; 方式選擇控制字方式選擇控制字eint equ 05h; 允許允許B端口發(fā)出中斷請求端口發(fā)出中斷請求dint equ 04h; 禁止禁止B端口發(fā)出中斷請求端口發(fā)出中斷請求data segmentbuffer db 256 dup(

38、?);輸出緩沖區(qū)輸出緩沖區(qū)buflen dw 255;輸出數(shù)據(jù)計數(shù)輸出數(shù)據(jù)計數(shù)data endscode segment assume cs:code,ds:datastart: mov ax,data mov ds,ax; 數(shù)據(jù)段段地址送數(shù)據(jù)段段地址送DS push ds;暫存暫存DS mov ax,cs mov ds,ax; 代碼段段地址送代碼段段地址送DS;(中斷處理程序段地址中斷處理程序段地址) lea dx,pr_int ; 中斷處理程序偏移地址送中斷處理程序偏移地址送DX mov ax,250fh ; ah=25h :置中斷向量功能號置中斷向量功能號; al=0fh :中斷類型碼中

39、斷類型碼 int 21h; 將將DS:DX的中斷向量送入的中斷向量送入ofh類型的類型的; 中斷向量表中中斷向量表中 pop ds;恢復(fù)恢復(fù)DS cli; 關(guān)關(guān)CPU的中斷的中斷(將將IF標(biāo)志清零標(biāo)志清零) mov dx,port_ctr; 8255的控制字端口送的控制字端口送DX mov al,prot_mode; out dx,al; 置置8255的方式控制字的方式控制字 mov al,eint; out dx,al; 置置B端口中斷允許端口中斷允許 mov cx,buf_len; cx中為要打印字符個數(shù)中為要打印字符個數(shù) lea bx,buffer; bx存放打印數(shù)據(jù)指針存放打印數(shù)據(jù)指針

40、 mov dx,prot_b; mov al,bx; out dx,al; 向打印機傳送第一個數(shù)據(jù)向打印機傳送第一個數(shù)據(jù) inc bx; 指向下一個數(shù)據(jù)單元指向下一個數(shù)據(jù)單元 sti; 打開打開CPU中斷中斷(將將IF標(biāo)志置標(biāo)志置1) mov al,80h; 將顯示燈的數(shù)據(jù)放在藥將顯示燈的數(shù)據(jù)放在藥AX中中l(wèi)ight: mov dx,port_a; out dx,al; 點亮顯示燈點亮顯示燈 call delay; 延時一段時間延時一段時間 ror al,01h; 移動到下一個顯示燈的位置移動到下一個顯示燈的位置 jmp light; 轉(zhuǎn)移顯示下一個顯示燈轉(zhuǎn)移顯示下一個顯示燈;以下為中斷處理程

41、序,完成將以下為中斷處理程序,完成將BX所指的數(shù)據(jù)單元數(shù)據(jù)送打印所指的數(shù)據(jù)單元數(shù)據(jù)送打印機打印機打印pr_int: push ax push dx;保護保護DX和和AX mov dx,port_b; B端口地址送端口地址送DX mov al,bx; 取要打印的字符數(shù)據(jù)取要打印的字符數(shù)據(jù) out dx,al; 送給打印機送給打印機 inc bx; 修改數(shù)據(jù)指針修改數(shù)據(jù)指針 dec cx; 修改打印計數(shù)值修改打印計數(shù)值 jnz next; 未打印完未打印完BUFFER中的數(shù)據(jù)時,中的數(shù)據(jù)時,;直接到中斷返回;直接到中斷返回pr_end: mov dx,prot_ctr ; 已打印完已打印完BUFF

42、ER中的數(shù)據(jù)中的數(shù)據(jù) mov al,dint; out dx,al; 禁止禁止B端口的中斷請求端口的中斷請求next: pop dx; pop ax;恢復(fù)恢復(fù)DX,AX iret;中斷返回中斷返回;以下為延時軟件程序以下為延時軟件程序delay procneardl1equ800hdl2equ400hpushcxmovcx,dl1dop1: pushcxmovcx,dl2lop2:loop lop2popcxlooplop1popcxretdelay endpcodeendsendstart練習(xí)練習(xí)1、設(shè)某、設(shè)某8255并行接口芯片的端口地址為并行接口芯片的端口地址為02C4H02C7H,根據(jù)

43、,根據(jù)下列設(shè)置要求對芯片編程:下列設(shè)置要求對芯片編程:1)將將A口設(shè)為按工作方式口設(shè)為按工作方式0的輸入口;的輸入口;B口設(shè)為方式口設(shè)為方式0的輸出口,的輸出口,C口設(shè)為輸入口。口設(shè)為輸入口。2)A口和口和B口設(shè)為工作方式口設(shè)為工作方式1,A口為輸入,口為輸入,B口為輸,并且都設(shè)口為輸,并且都設(shè)為中斷允許;為中斷允許;C口中的剩下位設(shè)置為輸入工作方式??谥械氖O挛辉O(shè)置為輸入工作方式。2、根據(jù)給出的、根據(jù)給出的8255的控制字內(nèi)容,確定的控制字內(nèi)容,確定8255的工作方式或控的工作方式或控制字功能。制字功能。1) CON=101011012)CON=110110113)CON=000010014

44、)CON=00000110第二節(jié)第二節(jié)8253計數(shù)器計數(shù)器/定時器(見定時器(見P244)一、定時一、定時(或延時或延時)信號獲取方式信號獲取方式在計算機中,一般可以通過兩種方式獲得在計算機中,一般可以通過兩種方式獲得定時定時(或延時或延時)信號:信號: 軟件延時軟件延時:通過執(zhí)行延時子程序:通過執(zhí)行延時子程序(由若干空操由若干空操作指令構(gòu)成作指令構(gòu)成),經(jīng)過一定時間產(chǎn)生延時。,經(jīng)過一定時間產(chǎn)生延時。delayprocpush cxmov cx,8000hlop1:noploop lop1popcxret 硬件延時:通過計數(shù)器硬件延時:通過計數(shù)器/定時器實現(xiàn)。定時器實現(xiàn)。 兩種方法的特點:兩種

45、方法的特點: 軟件延時:簡單,但不準(zhǔn)確。并且延時長短會隨不同軟件延時:簡單,但不準(zhǔn)確。并且延時長短會隨不同機器而改變機器而改變(執(zhí)行指令速度不同執(zhí)行指令速度不同)。 硬件延時:由于有固定的頻率信號作為輸入,經(jīng)程序硬件延時:由于有固定的頻率信號作為輸入,經(jīng)程序設(shè)定后,可產(chǎn)生準(zhǔn)確的延時、定時信號,結(jié)合中斷向設(shè)定后,可產(chǎn)生準(zhǔn)確的延時、定時信號,結(jié)合中斷向CPU提供定時服務(wù)。提供定時服務(wù)。 二、通用可編程二、通用可編程C/T(計數(shù)器(計數(shù)器/定時器)工作定時器)工作原理原理 1、可編程、可編程C/T的功能和作用的功能和作用可編程可編程C/T能提供兩種功能:能提供兩種功能: 計數(shù)器:設(shè)置計數(shù)值啟動后,當(dāng)

46、出現(xiàn)計數(shù)信號時,進計數(shù)器:設(shè)置計數(shù)值啟動后,當(dāng)出現(xiàn)計數(shù)信號時,進行減行減1計數(shù),計數(shù)器減為計數(shù),計數(shù)器減為0時,產(chǎn)生輸出信號。時,產(chǎn)生輸出信號。 定時器:設(shè)置好定時常數(shù)后,根據(jù)輸入的時鐘信號進定時器:設(shè)置好定時常數(shù)后,根據(jù)輸入的時鐘信號進行減行減1計數(shù),按定時常數(shù)不斷輸出時鐘周期整數(shù)倍的計數(shù),按定時常數(shù)不斷輸出時鐘周期整數(shù)倍的定時間隔信號輸出。定時間隔信號輸出。可編程可編程C/T在計算機中的作用:在計算機中的作用: 在多任務(wù)分時系統(tǒng)中,通過定時中斷,實現(xiàn)在多任務(wù)分時系統(tǒng)中,通過定時中斷,實現(xiàn)程序切換。程序切換。 向外設(shè)提供精確的定時信號。向外設(shè)提供精確的定時信號。 作為可編程的波特率發(fā)生器。作

47、為可編程的波特率發(fā)生器。 實現(xiàn)延時功能。實現(xiàn)延時功能。2、可編程、可編程C/T的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及工作原理1)C/T的內(nèi)部寄存器及作用的內(nèi)部寄存器及作用 控制寄存器:通過程序設(shè)定控制寄存器:通過程序設(shè)定C/T的工作方式。的工作方式。 初始值寄存器:通過程序設(shè)定初始值寄存器:通過程序設(shè)定C/T的計數(shù)初值。的計數(shù)初值。 計數(shù)器:根據(jù)輸入的時鐘信號進行減計數(shù)器:根據(jù)輸入的時鐘信號進行減1計數(shù)。計數(shù)。 計數(shù)輸出寄存器:向計數(shù)輸出寄存器:向CPU提供當(dāng)前計數(shù)值。提供當(dāng)前計數(shù)值。計數(shù)器計數(shù)器/定時器內(nèi)部結(jié)構(gòu)定時器內(nèi)部結(jié)構(gòu)計時通道計時通道CRCEOL2)外部信號)外部信號 CLKi: C/T的計數(shù)時鐘輸

48、入的計數(shù)時鐘輸入 GATEi:時鐘的門控制信號(啟停信號):時鐘的門控制信號(啟停信號) OUTi:計數(shù)回零輸出(計數(shù)定時輸出):計數(shù)回零輸出(計數(shù)定時輸出)3)門控制信號的作用)門控制信號的作用門控制信號與計數(shù)時鐘信號一起確定定時門控制信號與計數(shù)時鐘信號一起確定定時器的工作模式。器的工作模式。4)計數(shù)初值設(shè)定)計數(shù)初值設(shè)定對計數(shù)器而言,根據(jù)計數(shù)的數(shù)量要求設(shè)置。對計數(shù)器而言,根據(jù)計數(shù)的數(shù)量要求設(shè)置。對定時器(延時)而言,根據(jù)定時(或延時)對定時器(延時)而言,根據(jù)定時(或延時)時間的長短和輸入時鐘頻率確定。具體為:時間的長短和輸入時鐘頻率確定。具體為:計數(shù)初值時鐘頻率計數(shù)初值時鐘頻率T(計數(shù)初

49、值(計數(shù)初值T時鐘周期)時鐘周期)其中:其中:T為定時(延時)時間。為定時(延時)時間。三、可編程三、可編程C/T(8253)1、8253的結(jié)構(gòu)和工作原理的結(jié)構(gòu)和工作原理8253內(nèi)部包含三個結(jié)構(gòu)相同的計數(shù)器。內(nèi)部包含三個結(jié)構(gòu)相同的計數(shù)器。1)8253的編程結(jié)構(gòu)的編程結(jié)構(gòu) 8位控制寄存器,控制命令(設(shè)置工作模式)位控制寄存器,控制命令(設(shè)置工作模式) 16位(位(8位)初值寄存器(位)初值寄存器(CR) 16位(位(8位)執(zhí)行單元,減位)執(zhí)行單元,減1計數(shù)器(計數(shù)器(CE) 16位(位(8位)輸出鎖存器(位)輸出鎖存器(OL)(讀出當(dāng)前)(讀出當(dāng)前計數(shù)值)計數(shù)值)2)工作原理()工作原理(P24

50、5圖圖9-19,圖圖9-20) 外部信號外部信號 讀寫邏輯讀寫邏輯每個每個8253占用四個連續(xù)的端口地址,每個占用四個連續(xù)的端口地址,每個端口地址分別對應(yīng)不同的計數(shù)器以及控制寄端口地址分別對應(yīng)不同的計數(shù)器以及控制寄存器。其內(nèi)部是通過存器。其內(nèi)部是通過A1A0地址線判斷識別的。地址線判斷識別的。 A1A0對應(yīng)功能對應(yīng)功能00計數(shù)器計數(shù)器001計數(shù)器計數(shù)器110計數(shù)器計數(shù)器211控制寄存器(命令)控制寄存器(命令)2、8253控制寄存器命令格式控制寄存器命令格式8253的命令為一的命令為一8位二進制,用于設(shè)置計位二進制,用于設(shè)置計數(shù)器的操作和工作模式,通過向數(shù)器的操作和工作模式,通過向8253的控

51、制的控制寄存器端口輸出一個寄存器端口輸出一個8位二進制(字節(jié))數(shù)據(jù),位二進制(字節(jié))數(shù)據(jù),向計數(shù)器發(fā)出操作命令。向計數(shù)器發(fā)出操作命令。命令格式命令格式(P247圖圖9-21)D0:BCD位:位:1采用采用BCD碼計數(shù)碼計數(shù)0采用二進制計數(shù)采用二進制計數(shù)D3D2D1:M2M1M0工作模式選擇(工作模式選擇(6種模式)種模式)D5D4:RW1RW0讀寫方式控制讀寫方式控制D7D6:SC1SC0計數(shù)器選擇計數(shù)器選擇3、8253編程命令編程命令編程原則:編程原則:對計數(shù)器編程必須首先寫控制字(設(shè)置計數(shù)對計數(shù)器編程必須首先寫控制字(設(shè)置計數(shù)器工作方式,然后設(shè)置計數(shù)初值。器工作方式,然后設(shè)置計數(shù)初值。計數(shù)

52、初值的設(shè)置必須按照控制字的要求。計數(shù)初值的設(shè)置必須按照控制字的要求。編程對編程對8253的基本操作:的基本操作:向向8253寫入(通過輸出指令實現(xiàn)):寫入(通過輸出指令實現(xiàn)):設(shè)置控制字或鎖存計數(shù)值(控制端口)設(shè)置控制字或鎖存計數(shù)值(控制端口)設(shè)置計數(shù)初值(相應(yīng)計數(shù)器端口)設(shè)置計數(shù)初值(相應(yīng)計數(shù)器端口)讀出讀出8253的內(nèi)容(通過輸入指令實現(xiàn)):讀的內(nèi)容(通過輸入指令實現(xiàn)):讀出相應(yīng)計數(shù)器的計數(shù)值或鎖定值。出相應(yīng)計數(shù)器的計數(shù)值或鎖定值。4、8253的工作模式(由的工作模式(由M2M1M0確定)確定)1)8253的工作規(guī)則:的工作規(guī)則: 控制字寫入后自動復(fù)位相應(yīng)計數(shù)器??刂谱謱懭牒笞詣訌?fù)位相應(yīng)計

53、數(shù)器。 初值寫入后需經(jīng)過一個時鐘上升及下降沿才初值寫入后需經(jīng)過一個時鐘上升及下降沿才開始計數(shù)。開始計數(shù)。 GATE信號根據(jù)不同工作模式,其有效形式不信號根據(jù)不同工作模式,其有效形式不同。同。 計數(shù)器在時鐘信號的下降沿計數(shù)。計數(shù)初值計數(shù)器在時鐘信號的下降沿計數(shù)。計數(shù)初值為為0時,為計數(shù)的最大值(時,為計數(shù)的最大值(65536)2)8253的工作模式:的工作模式: 模式模式0:計數(shù)結(jié)束(計數(shù)值達到:計數(shù)結(jié)束(計數(shù)值達到0之前)輸出之前)輸出高電平(計數(shù)結(jié)束中斷)。高電平(計數(shù)結(jié)束中斷)。 模式模式1:可重復(fù)單穩(wěn)態(tài)觸發(fā)器(產(chǎn)生定長低電:可重復(fù)單穩(wěn)態(tài)觸發(fā)器(產(chǎn)生定長低電平脈沖)。平脈沖)。 模式模式2

54、:分頻器(不斷重復(fù)產(chǎn)生:分頻器(不斷重復(fù)產(chǎn)生n-1時鐘周期時鐘周期的高電平和的高電平和1和周期的低電平分頻輸出)和周期的低電平分頻輸出) 模式模式3:方波發(fā)生器(類似分頻器,但產(chǎn)生高:方波發(fā)生器(類似分頻器,但產(chǎn)生高低電平各維持低電平各維持n/2時鐘周期的方波)時鐘周期的方波) 模式模式4:軟件觸發(fā)的選通信號發(fā)生器(裝入初:軟件觸發(fā)的選通信號發(fā)生器(裝入初值值(作為觸發(fā))后,經(jīng)作為觸發(fā))后,經(jīng)n+1個時鐘周期后產(chǎn)生個時鐘周期后產(chǎn)生一個周期的負脈沖輸出)一個周期的負脈沖輸出) 模式模式5:硬件觸發(fā)的選通信號發(fā)生器(類似于:硬件觸發(fā)的選通信號發(fā)生器(類似于模式模式4,但以,但以GATE的上升沿作為

55、觸發(fā))的上升沿作為觸發(fā))不同的工作模式給出了不同的工作模式給出了CLK與與OUT信號信號間的作用關(guān)系,以及間的作用關(guān)系,以及GATE的控制作用,實際的控制作用,實際使用中要根據(jù)不同需求,設(shè)置工作模式。使用中要根據(jù)不同需求,設(shè)置工作模式。3)8253作定時器與計數(shù)器的連接方法作定時器與計數(shù)器的連接方法 作定時器時,作定時器時,CLK接固定頻率的時鐘信號。接固定頻率的時鐘信號。 作計數(shù)器時,作計數(shù)器時,CLK接計數(shù)脈沖信號接計數(shù)脈沖信號四、四、8253的編程的編程1、8253編程的步驟和注意事項編程的步驟和注意事項步驟:步驟:1)根據(jù)使用的計數(shù)器及工作模式確定控制字)根據(jù)使用的計數(shù)器及工作模式確定

56、控制字2)根據(jù)定時或計數(shù)要求算出計數(shù)初值)根據(jù)定時或計數(shù)要求算出計數(shù)初值2)向計數(shù)器寫入計數(shù)初值)向計數(shù)器寫入計數(shù)初值注意事項:注意事項:1)8253芯片的端口地址。芯片的端口地址。2)外部時鐘頻率與定時周期的關(guān)系。)外部時鐘頻率與定時周期的關(guān)系。3)計數(shù)器外部信號的連接。)計數(shù)器外部信號的連接。4)GATE門控制信號的作用。門控制信號的作用。2、編程實例、編程實例例:例: 假設(shè)假設(shè)8253占用的端口地址為占用的端口地址為200H203H,CLK0、CLK2輸入為輸入為8.25MHZ時鐘,要求時鐘,要求1)將計數(shù)器)將計數(shù)器0設(shè)置為模式設(shè)置為模式0,延時,延時5ms后后OUT0輸出高電平,計數(shù)器輸出高電平,計數(shù)器2的的OUT2輸出輸出40KHZ的的方波。方波。2)將)將OUT0接到計數(shù)器接到計數(shù)器1的的CLK1,使計數(shù)器,使計數(shù)器0輸出輸出1KHZ的方波,計數(shù)器的方波,計數(shù)器1輸出輸出40HZ的分頻的分頻信號。題目解答信號。題目解答解:解:1)計數(shù)器)計數(shù)器0:設(shè)置計數(shù)器:設(shè)置計數(shù)器0為模式為模式0控制字為控制字為 00 11 000 0 (30H)計數(shù)初值計數(shù)初值N(510-3s)(8.25106/s) 412500A122H計數(shù)器計數(shù)器2:設(shè)置為輸出模式:設(shè)置為輸出模式2控制字控制字10 01 011 0(96H)計數(shù)初值計數(shù)初值N(8.25106)(40103

溫馨提示

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

評論

0/150

提交評論