版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一節(jié)第一節(jié)接口電路的作用接口電路的作用接口電路從功能上分為兩類:接口電路從功能上分為兩類: 微處理器正常工作所需輔助及控制電路微處理器正常工作所需輔助及控制電路(定時(shí)時(shí)鐘、定時(shí)時(shí)鐘、中斷控制等中斷控制等) 輸入輸入/輸出接口電路輸出接口電路(與外設(shè)交換信息的接口與外設(shè)交換信息的接口)1、使用接口電路的原因、使用接口電路的原因 微機(jī)系統(tǒng)總線時(shí)序相對(duì)統(tǒng)一。微機(jī)系統(tǒng)總線時(shí)序相對(duì)統(tǒng)一。 形式上:外設(shè)種類繁多,傳送信息形式多樣形式上:外設(shè)種類繁多,傳送信息形式多樣(數(shù)字量、數(shù)字量、模擬量、并行數(shù)據(jù)、串行數(shù)據(jù)、字長(zhǎng)不同等等模擬量、并行數(shù)據(jù)、串行數(shù)據(jù)、字長(zhǎng)不同等等)。 速度上:一般外設(shè)速度比速度上:一般外
2、設(shè)速度比CPU慢;各種外設(shè)速度差異慢;各種外設(shè)速度差異很大。很大。采用接口解決和處理內(nèi)部統(tǒng)一采用接口解決和處理內(nèi)部統(tǒng)一(CPU端端)與外部差與外部差異異(外設(shè)端外設(shè)端)的矛盾。的矛盾。 2、接口的主要功能如下、接口的主要功能如下(實(shí)現(xiàn)緩沖和變換處理實(shí)現(xiàn)緩沖和變換處理): 將各種不同形式的信息變換為將各種不同形式的信息變換為CPU能接收的形式。能接收的形式。 在外設(shè)與在外設(shè)與CPU間起緩沖作用間起緩沖作用I/O接口接口:是實(shí)現(xiàn)計(jì)算機(jī)與外設(shè)間信息傳送的控制部件,是實(shí)現(xiàn)計(jì)算機(jī)與外設(shè)間信息傳送的控制部件,外設(shè)通過(guò)接口與主機(jī)外設(shè)通過(guò)接口與主機(jī)(CPU)相連。相連。接口技術(shù)主要分析和研究接口技術(shù)主要分析和
3、研究CPU和外設(shè)間數(shù)據(jù)傳送方式、和外設(shè)間數(shù)據(jù)傳送方式、接口的工作原理和使用方法接口的工作原理和使用方法。第二節(jié)第二節(jié)CPU與與I/O設(shè)備之間信號(hào)設(shè)備之間信號(hào)CPU、接口與、接口與I/O設(shè)備之間信號(hào)從形式上分為四設(shè)備之間信號(hào)從形式上分為四種:種: 數(shù)字量:二進(jìn)制形式數(shù)據(jù)數(shù)字量:二進(jìn)制形式數(shù)據(jù) 模擬量:用模擬電壓或模擬電流表示大小的物理量模擬量:用模擬電壓或模擬電流表示大小的物理量 開(kāi)關(guān)量:用開(kāi)關(guān)量:用“開(kāi)開(kāi)”或或“關(guān)關(guān)”兩種狀態(tài)表示兩種狀態(tài)表示 脈沖量:以脈沖形式表示的信號(hào)脈沖量:以脈沖形式表示的信號(hào)CPU、接口與、接口與I/O設(shè)備之間信號(hào)從信息內(nèi)容上分為三類:設(shè)備之間信號(hào)從信息內(nèi)容上分為三類:
4、1、數(shù)據(jù)信息:實(shí)際需傳送的數(shù)據(jù)信息內(nèi)容、數(shù)據(jù)信息:實(shí)際需傳送的數(shù)據(jù)信息內(nèi)容2、狀態(tài)信息:外設(shè)工作狀態(tài),由外設(shè)關(guān)送主機(jī)。、狀態(tài)信息:外設(shè)工作狀態(tài),由外設(shè)關(guān)送主機(jī)。READY(數(shù)據(jù)準(zhǔn)備好數(shù)據(jù)準(zhǔn)備好)、BUSY(設(shè)備忙設(shè)備忙)、出錯(cuò)等、出錯(cuò)等3、控制信息:控制外設(shè)或接口操作的信息,通常為各、控制信息:控制外設(shè)或接口操作的信息,通常為各種命令。種命令。在微機(jī)系統(tǒng)中,數(shù)據(jù)、狀態(tài)、控制信息均采用在微機(jī)系統(tǒng)中,數(shù)據(jù)、狀態(tài)、控制信息均采用I/O指令經(jīng)由數(shù)據(jù)線傳送,接口中不同信息的識(shí)別是指令經(jīng)由數(shù)據(jù)線傳送,接口中不同信息的識(shí)別是通過(guò)在接口中分配不同的寄存器實(shí)現(xiàn)的。通過(guò)在接口中分配不同的寄存器實(shí)現(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端口端口各種接口中不同的寄存器分配各種接口中不同的寄存器分配(對(duì)應(yīng)對(duì)應(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)一編址:訪問(wèn)統(tǒng)一編址:訪問(wèn)I/O端口與訪問(wèn)內(nèi)存一樣端口與訪問(wèn)內(nèi)存一樣 單獨(dú)編址:?jiǎn)为?dú)編址: I/O端口與內(nèi)存分開(kāi)編址,通過(guò)端口與內(nèi)存分開(kāi)編址,通過(guò)I/O指令指令訪問(wèn)訪問(wèn)I/O端口端口第四節(jié)第四節(jié)輸入輸出控制方式輸入輸出控制方式CPU與外設(shè)數(shù)據(jù)傳送控制方式與外設(shè)數(shù)據(jù)傳送控制方式(I/O控制方式控制方式)反映反映了了CPU與外設(shè)交換數(shù)據(jù)時(shí)控制過(guò)程。通常采用四種控與外設(shè)交換數(shù)據(jù)時(shí)控制過(guò)程。通常采用四種控制方式:程序控制方式、中斷控制方式、制方式:程序控制方式、中斷控制方式、DMA方式方式和輸入輸出處理機(jī)和輸入輸出處理機(jī)(通道通道)方式方式一、程序方式一、程序方式程序傳送方式是指在程序控制下進(jìn)行
7、信息的傳送。程序傳送方式是指在程序控制下進(jìn)行信息的傳送。分為無(wú)條件傳送和條件傳送兩種方式。分為無(wú)條件傳送和條件傳送兩種方式。1、無(wú)條件傳送、無(wú)條件傳送傳送時(shí)不必查詢外設(shè)狀態(tài),直接進(jìn)行傳送時(shí)不必查詢外設(shè)狀態(tài),直接進(jìn)行I/O傳送。傳送。只適用于簡(jiǎn)單的外設(shè)。只適用于簡(jiǎn)單的外設(shè)。無(wú)條件傳送保證數(shù)據(jù)傳送正確的先決條件:無(wú)條件傳送保證數(shù)據(jù)傳送正確的先決條件:每次輸入、輸出時(shí),必須保證外設(shè)處于就緒狀態(tài),每次輸入、輸出時(shí),必須保證外設(shè)處于就緒狀態(tài),否則就會(huì)出錯(cuò)。否則就會(huì)出錯(cuò)。無(wú)條件傳送方式的接口比較簡(jiǎn)單,通常只包含數(shù)據(jù)處理無(wú)條件傳送方式的接口比較簡(jiǎn)單,通常只包含數(shù)據(jù)處理部分部分(見(jiàn)見(jiàn)P197圖圖8-1)。2、
8、條件傳送、條件傳送CPU通過(guò)不斷檢測(cè)外設(shè)的工作狀態(tài)進(jìn)行數(shù)據(jù)傳送,通過(guò)不斷檢測(cè)外設(shè)的工作狀態(tài)進(jìn)行數(shù)據(jù)傳送,也稱為查詢式傳送方式。也稱為查詢式傳送方式。就緒狀態(tài):就緒狀態(tài): 輸入時(shí),外設(shè)已準(zhǔn)備好數(shù)據(jù)輸入時(shí),外設(shè)已準(zhǔn)備好數(shù)據(jù) 輸出時(shí),外設(shè)處在空閑狀態(tài)輸出時(shí),外設(shè)處在空閑狀態(tài)查詢式輸入接口查詢式輸入接口狀態(tài)變化:見(jiàn)狀態(tài)變化:見(jiàn)(P197圖圖8-2),當(dāng)外設(shè)將數(shù)據(jù)送入接口中數(shù),當(dāng)外設(shè)將數(shù)據(jù)送入接口中數(shù)據(jù)鎖存器時(shí),同時(shí)設(shè)置準(zhǔn)備好狀態(tài)。據(jù)鎖存器時(shí),同時(shí)設(shè)置準(zhǔn)備好狀態(tài)。CPU讀入數(shù)據(jù)時(shí)讀入數(shù)據(jù)時(shí)清除準(zhǔn)備好狀態(tài)。清除準(zhǔn)備好狀態(tài)。查詢式輸出接口查詢式輸出接口狀態(tài)變化:見(jiàn)狀態(tài)變化:見(jiàn)(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))。查詢傳送方式的特點(diǎn):查詢傳送方式的特點(diǎn):接口電路簡(jiǎn)單,接口電路簡(jiǎn)單,CPU查詢等待浪費(fèi)查詢等待浪費(fèi)CPU大量的時(shí)間,不大量的時(shí)間,不具備實(shí)時(shí)處理的能力。具備實(shí)時(shí)處理的能力。查詢方式輸入輸出處理程序:查詢方式輸入輸出處理程序:進(jìn)行數(shù)據(jù)輸入、輸出前,首先查詢?cè)O(shè)備進(jìn)行數(shù)據(jù)輸入、輸出前,首先查詢?cè)O(shè)備(接口接口)狀狀態(tài),在就緒狀態(tài)時(shí),進(jìn)行數(shù)據(jù)的輸入輸出。態(tài),在就緒狀態(tài)時(shí),進(jìn)行數(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;沒(méi)有準(zhǔn)備好,繼續(xù)判斷;沒(méi)有準(zhǔn)備好,繼續(xù)判斷INAL,IN_P;準(zhǔn)備好,輸入數(shù)據(jù);準(zhǔn)備好,輸入數(shù)據(jù)(輸入數(shù)據(jù)處理輸入數(shù)據(jù)處理)JPCHR_IN;輸入下一個(gè)數(shù)據(jù);輸入下一個(gè)數(shù)據(jù)二、中斷控制方式二、中斷控制方式1、中斷傳送方式的工作原理、中斷傳送方式的工作原理中斷控制方式中斷控制方式:當(dāng):當(dāng)CPU與外設(shè)要進(jìn)行數(shù)據(jù)傳送時(shí),由外與外設(shè)要進(jìn)行數(shù)據(jù)傳送時(shí),由外設(shè)向設(shè)向CPU發(fā)出中斷請(qǐng)求,使發(fā)出中斷請(qǐng)求,使CPU暫停當(dāng)前程序,而暫停當(dāng)前程序,而去執(zhí)行輸入、輸出的處理,完
11、成一次數(shù)據(jù)傳送,然后去執(zhí)行輸入、輸出的處理,完成一次數(shù)據(jù)傳送,然后CPU返回原程序繼續(xù)執(zhí)行。返回原程序繼續(xù)執(zhí)行。在中斷傳送方式下,外設(shè)的工作狀態(tài)是通過(guò)中斷在中斷傳送方式下,外設(shè)的工作狀態(tài)是通過(guò)中斷請(qǐng)求體現(xiàn)的請(qǐng)求體現(xiàn)的(外設(shè)就緒后就向外設(shè)就緒后就向CPU發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求)中斷控制方式的數(shù)據(jù)傳送過(guò)程:輸入設(shè)備準(zhǔn)備好數(shù)據(jù)中斷控制方式的數(shù)據(jù)傳送過(guò)程:輸入設(shè)備準(zhǔn)備好數(shù)據(jù)(準(zhǔn)備好準(zhǔn)備好)或輸出設(shè)備可以接收數(shù)據(jù)或輸出設(shè)備可以接收數(shù)據(jù)(空閑空閑)時(shí),外設(shè)時(shí),外設(shè)(通通過(guò)接口過(guò)接口)向向CPU發(fā)出中斷請(qǐng)求,發(fā)出中斷請(qǐng)求,CPU響應(yīng)后,暫停當(dāng)響應(yīng)后,暫停當(dāng)前程序,進(jìn)行一次前程序,進(jìn)行一次I/O處理處理(通過(guò)中
12、斷處理程序?qū)崿F(xiàn):通過(guò)中斷處理程序?qū)崿F(xiàn):將外設(shè)送入接口的數(shù)據(jù)讀入將外設(shè)送入接口的數(shù)據(jù)讀入CPU或?qū)⒒驅(qū)PU數(shù)據(jù)送到數(shù)據(jù)送到接口接口),然后返回原程序繼續(xù)原來(lái)工作。,然后返回原程序繼續(xù)原來(lái)工作。中斷輸入輸出的特點(diǎn):中斷輸入輸出的特點(diǎn): 外設(shè)可以和外設(shè)可以和CPU并行工作并行工作 外設(shè)可隨機(jī)產(chǎn)生外設(shè)可隨機(jī)產(chǎn)生I/O 中斷請(qǐng)求中斷請(qǐng)求 每中斷一次實(shí)現(xiàn)一個(gè)數(shù)據(jù)的傳送每中斷一次實(shí)現(xiàn)一個(gè)數(shù)據(jù)的傳送 傳送一個(gè)數(shù)據(jù)需要執(zhí)行若干條指令,即執(zhí)行一段中斷傳送一個(gè)數(shù)據(jù)需要執(zhí)行若干條指令,即執(zhí)行一段中斷程序。程序。三、三、DMA(直接存儲(chǔ)器存取直接存儲(chǔ)器存取)控制方式控制方式DMA方式是一種成塊數(shù)據(jù)傳送方式,在這種方方
13、式是一種成塊數(shù)據(jù)傳送方式,在這種方式下,由式下,由DMA控制器控制數(shù)據(jù)在存儲(chǔ)器與外設(shè)間傳控制器控制數(shù)據(jù)在存儲(chǔ)器與外設(shè)間傳送。送。DMA控制方式的傳送過(guò)程:控制方式的傳送過(guò)程:當(dāng)外設(shè)需要輸入當(dāng)外設(shè)需要輸入/輸出一批數(shù)據(jù)時(shí),向輸出一批數(shù)據(jù)時(shí),向DMA控制控制器發(fā)出請(qǐng)求,器發(fā)出請(qǐng)求,DMA控制器接收到請(qǐng)求后,向控制器接收到請(qǐng)求后,向CPU發(fā)發(fā)出總線請(qǐng)求,當(dāng)出總線請(qǐng)求,當(dāng)DMA控制器獲取總線控制權(quán)后,控控制器獲取總線控制權(quán)后,控制數(shù)據(jù)在存儲(chǔ)器與外設(shè)間進(jìn)行傳送,傳送完成后,釋制數(shù)據(jù)在存儲(chǔ)器與外設(shè)間進(jìn)行傳送,傳送完成后,釋放總線,并向放總線,并向CPU發(fā)出中斷請(qǐng)求,告訴發(fā)出中斷請(qǐng)求,告訴CPU數(shù)據(jù)傳數(shù)據(jù)傳
14、送結(jié)束,由送結(jié)束,由CPU進(jìn)行后續(xù)處理。進(jìn)行后續(xù)處理。DMA控制器的功能:控制器的功能: 接收接收DMA請(qǐng)求,發(fā)總線請(qǐng)求請(qǐng)求,發(fā)總線請(qǐng)求 產(chǎn)生存儲(chǔ)單元地址產(chǎn)生存儲(chǔ)單元地址 產(chǎn)生讀寫控制信號(hào)產(chǎn)生讀寫控制信號(hào) 進(jìn)行傳送數(shù)據(jù)的計(jì)數(shù)進(jìn)行傳送數(shù)據(jù)的計(jì)數(shù)DMA控制器的特點(diǎn)控制器的特點(diǎn) DMA控制器既是接口控制器既是接口(接受接受CPU的參數(shù)設(shè)置的參數(shù)設(shè)置)又是控又是控制器制器(DMA傳送時(shí)產(chǎn)生傳送地址和控制信號(hào)傳送時(shí)產(chǎn)生傳送地址和控制信號(hào)) 在在DMA傳送時(shí),由傳送時(shí),由DMA控制器控制數(shù)據(jù)在外設(shè)與內(nèi)控制器控制數(shù)據(jù)在外設(shè)與內(nèi)存間傳送存間傳送(不必由不必由CPU控制控制)四、輸入四、輸入/輸出處理機(jī)控制方式
15、輸出處理機(jī)控制方式輸入輸入/輸出處理機(jī)輸出處理機(jī)(IOP)是對(duì)是對(duì)DMA控制器功能的進(jìn)控制器功能的進(jìn)一步擴(kuò)展,一步擴(kuò)展,IOP是一種專門用于處理輸入輸出的處理是一種專門用于處理輸入輸出的處理器,它本身可以執(zhí)行自己的指令和程序器,它本身可以執(zhí)行自己的指令和程序(通道指令或通道指令或程序程序)。通過(guò)輸入。通過(guò)輸入/輸出處理機(jī)控制的輸入輸出處理機(jī)控制的輸入/輸出稱為輸輸出稱為輸入入/輸出處理機(jī)控制方式輸出處理機(jī)控制方式本章主要介紹微機(jī)中各種常用的接口芯片本章主要介紹微機(jī)中各種常用的接口芯片的工作原理及使用方法,其中包括:的工作原理及使用方法,其中包括: 8255A:可編程并行接口:可編程并行接口 8
16、253:計(jì)數(shù)器:計(jì)數(shù)器/定時(shí)器定時(shí)器 8251:可編程串行接口:可編程串行接口 8259A:中斷控制器:中斷控制器 8237A:DMA控制器控制器為了掌握接口芯片的應(yīng)用,必須首先了解為了掌握接口芯片的應(yīng)用,必須首先了解其內(nèi)部結(jié)構(gòu),工作方式和命令格式,然后通其內(nèi)部結(jié)構(gòu),工作方式和命令格式,然后通過(guò)編程實(shí)現(xiàn)相應(yīng)的控制和傳送應(yīng)用。過(guò)編程實(shí)現(xiàn)相應(yīng)的控制和傳送應(yīng)用。一、并行通信與并行接口一、并行通信與并行接口1、并行通信、并行通信并行通信:將一個(gè)數(shù)據(jù)的各位經(jīng)幾條線同時(shí)傳輸。并行通信:將一個(gè)數(shù)據(jù)的各位經(jīng)幾條線同時(shí)傳輸。并行通信特點(diǎn):并行通信特點(diǎn): 信息傳輸速度快,但傳輸距離短。信息傳輸速度快,但傳輸距離短
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ù)。并行接口輸入并行接口輸入/輸出工作過(guò)程輸出工作過(guò)程(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)部主要由下面幾部分組成: 三個(gè)數(shù)據(jù)端口三個(gè)數(shù)據(jù)端口A、B、CA:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出端口輸出端口(具有鎖存能力具有鎖存能力)B:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出端口輸出端口(具有輸出鎖存能力具有輸出鎖存能力)C:8位數(shù)據(jù)輸入位數(shù)據(jù)輸入/輸出端口輸出端口(具有輸出鎖存能力具有輸出鎖存能力)或者分為或者分為兩個(gè)兩個(gè)4位的位的I / O端口,分別作為端口,分別作為A口和口和B口的輸出控制口的輸出控制和狀態(tài)輸入信號(hào)。和狀態(tài)輸入信號(hào)。 A、B組控制組控制確定兩組的端口的工作方式確定兩組的端口的工作方式A組:由組:由A端口和端口和C端口的高端口的高4位組成位組成B組:由組:由B端口
19、和端口和C端口的低端口的低4位組成位組成 讀寫控制邏輯讀寫控制邏輯 總線緩沖器總線緩沖器2、8255的引線的引線 PAi, PBi, PCi:A、B、C三個(gè)數(shù)據(jù)端口與外三個(gè)數(shù)據(jù)端口與外部數(shù)據(jù)輸入部數(shù)據(jù)輸入/輸出信號(hào)輸出信號(hào)(每個(gè)端口每個(gè)端口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控制字,用于對(duì)控制字,用于對(duì)C端端口的某一位置口的某一位置1或置或置0。8255的控制字都是寫入控制字端口。的控制字都是寫入控制字端口。1、方式選擇控制字、方式選擇控制字方式選擇控制字用于確定各端口的工作方式。方式選擇控制字用于確定各端口的工作方式。8255有三種工作方式可以選擇:有三種工作方式可以選擇: 方式方式0:基本的輸入:基本的輸入/輸出方式輸出方式(A,B,C端口端口) 方式方式1:選通的輸入:選通的輸入
21、/輸出方式輸出方式(A,B端口端口) 方式方式2:雙向傳送方式:雙向傳送方式(A端口端口)在工作方式在工作方式1和工作方式和工作方式2時(shí),需要時(shí),需要C端口配合。端口配合。工作方式控制字格式:工作方式控制字格式:(P203圖圖8-7)在在I / O 選擇中:選擇中:0表示表示IN,1表示表示OUTA口方式選擇:從口方式選擇:從02(有三種工作方式可供選擇有三種工作方式可供選擇)B口方式選擇:口方式選擇:0表示方式表示方式0,1表示方式表示方式1(兩種選擇兩種選擇)方式選擇控制字的實(shí)例方式選擇控制字的實(shí)例設(shè)兩個(gè)并行接口芯片設(shè)兩個(gè)并行接口芯片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口口)特點(diǎn):利用特點(diǎn):利用C口配合口
24、配合A口或口或B口工作,提供選通口工作,提供選通或應(yīng)答信號(hào)或應(yīng)答信號(hào)(C口的各位有固定的功能口的各位有固定的功能)。1) 輸入方式時(shí),輸入方式時(shí),C口的數(shù)據(jù)位功能分配:口的數(shù)據(jù)位功能分配:A口在方式口在方式1時(shí):時(shí): PC4:選通輸入:選通輸入STBA PC5:輸入緩沖器満:輸入緩沖器満IBFA PC3:中斷輸出:中斷輸出INTRAB口在方式口在方式1時(shí):時(shí): PC2:選通輸入:選通輸入STBB PC1:輸入緩沖器満:輸入緩沖器満IBFB PC0:中斷輸出:中斷輸出INTRBPC6,PC7可用于輸入或輸出??捎糜谳斎牖蜉敵?。2) 輸出方式時(shí),輸出方式時(shí),C口的數(shù)據(jù)位功能分配:口的數(shù)據(jù)位功能分配
25、:A口在方式口在方式1時(shí):時(shí): PC7:輸出緩沖器満:輸出緩沖器満OBFA PC6:接收數(shù)據(jù)響應(yīng):接收數(shù)據(jù)響應(yīng)ACKA PC3:中斷輸出:中斷輸出INTRAB口在方式口在方式1時(shí):時(shí): PC1:輸出緩沖器満:輸出緩沖器満OBFB PC2:接收數(shù)據(jù)響應(yīng):接收數(shù)據(jù)響應(yīng)ACKB PC0:中斷輸出:中斷輸出INTRB3)各信號(hào)的功能各信號(hào)的功能(作用作用) STB(選通選通)_:外部數(shù)據(jù)送入:外部數(shù)據(jù)送入8255的輸入緩沖器時(shí),通的輸入緩沖器時(shí),通過(guò)此信號(hào)寫入。過(guò)此信號(hào)寫入。 IBF(輸入緩沖器満輸入緩沖器満):STB將其置位將其置位(表示有數(shù)據(jù)寫入表示有數(shù)據(jù)寫入),本信號(hào)送給外設(shè)作為本信號(hào)送給外設(shè)作
26、為8255的狀態(tài)信號(hào)。當(dāng)?shù)臓顟B(tài)信號(hào)。當(dāng)CPU從緩沖從緩沖器中讀出數(shù)據(jù)后,本信號(hào)復(fù)位。器中讀出數(shù)據(jù)后,本信號(hào)復(fù)位。 OBF(輸出緩沖器満輸出緩沖器満):當(dāng):當(dāng)CPU將要輸出的數(shù)據(jù)寫入輸將要輸出的數(shù)據(jù)寫入輸出緩沖器中后,產(chǎn)生本信號(hào),本信號(hào)送給外設(shè)作為出緩沖器中后,產(chǎn)生本信號(hào),本信號(hào)送給外設(shè)作為8255的狀態(tài)信號(hào)。當(dāng)外設(shè)從緩沖器中讀出數(shù)據(jù)后,本的狀態(tài)信號(hào)。當(dāng)外設(shè)從緩沖器中讀出數(shù)據(jù)后,本信號(hào)復(fù)位。信號(hào)復(fù)位。 ACK(外設(shè)響應(yīng)外設(shè)響應(yīng)):外設(shè)從:外設(shè)從8255的輸出緩沖器中讀取數(shù)的輸出緩沖器中讀取數(shù)據(jù)的信號(hào)。據(jù)的信號(hào)。 INTR(中斷請(qǐng)求中斷請(qǐng)求):輸入時(shí),當(dāng)外設(shè)將數(shù)據(jù)寫入輸入:輸入時(shí),當(dāng)外設(shè)將數(shù)據(jù)寫入
27、輸入緩沖器緩沖器(輸出時(shí),當(dāng)外設(shè)從輸出緩沖器中取出數(shù)據(jù)后輸出時(shí),當(dāng)外設(shè)從輸出緩沖器中取出數(shù)據(jù)后),產(chǎn)生此信號(hào)。當(dāng)產(chǎn)生此信號(hào)。當(dāng)CPU從輸入緩沖器取走數(shù)據(jù)從輸入緩沖器取走數(shù)據(jù)(或或CPU向輸出緩沖器寫入新數(shù)據(jù)向輸出緩沖器寫入新數(shù)據(jù))后,復(fù)位此信號(hào)。后,復(fù)位此信號(hào)。 INTE(中斷允許中斷允許):8255內(nèi)部設(shè)有中斷允許觸發(fā)器,內(nèi)部設(shè)有中斷允許觸發(fā)器,通過(guò)設(shè)置中斷允許觸發(fā)器可以控制是否允許通過(guò)設(shè)置中斷允許觸發(fā)器可以控制是否允許INTR信號(hào)的發(fā)出。中斷允許觸發(fā)器的設(shè)置是通過(guò)對(duì)信號(hào)的發(fā)出。中斷允許觸發(fā)器的設(shè)置是通過(guò)對(duì)C端端口的某些固定位的設(shè)置而實(shí)現(xiàn)的口的某些固定位的設(shè)置而實(shí)現(xiàn)的 (置置1表示允許中斷,
28、表示允許中斷,置置0表示禁止中斷表示禁止中斷)。輸入方式時(shí):輸入方式時(shí):PC4置置1允許允許A口輸入中斷口輸入中斷PC2置置1允許允許B口輸入中斷口輸入中斷輸出方式時(shí):輸出方式時(shí):PC6置置1允許允許A口輸出中斷口輸出中斷PC2置置1允許允許B口輸出中斷口輸出中斷3、工作方式、工作方式3:雙向傳輸方式:雙向傳輸方式(只有只有A口具有口具有)A口同時(shí)具有選通的輸入輸出雙向傳送方式。口同時(shí)具有選通的輸入輸出雙向傳送方式。C口的數(shù)據(jù)位功能分配:口的數(shù)據(jù)位功能分配: PC3:INTR中斷請(qǐng)求中斷請(qǐng)求 PC7:OBFA輸出緩沖器満輸出緩沖器満 PC6:ACKA外設(shè)響應(yīng)外設(shè)響應(yīng) PC4:STBA外設(shè)選通外
29、設(shè)選通 PC5:IBFA輸入緩沖器満輸入緩沖器満 PC6:INTE1輸出中斷允許輸出中斷允許 PC4:INTE2輸入中斷允許輸入中斷允許A口工作在方式口工作在方式2時(shí),時(shí),B口可以工作在方式口可以工作在方式0或方式或方式1。注意:注意:A口在雙向傳輸方式下,輸入和輸出不能同時(shí)口在雙向傳輸方式下,輸入和輸出不能同時(shí)發(fā)生。由程序的初始化過(guò)程確定其進(jìn)行輸入還是輸發(fā)生。由程序的初始化過(guò)程確定其進(jìn)行輸入還是輸出出(因?yàn)橹挥幸粋€(gè)中斷請(qǐng)求,如同時(shí)進(jìn)行輸入和輸因?yàn)橹挥幸粋€(gè)中斷請(qǐng)求,如同時(shí)進(jìn)行輸入和輸出時(shí),將導(dǎo)致兩者的混淆出時(shí),將導(dǎo)致兩者的混淆)。五、五、8255編程應(yīng)用舉例編程應(yīng)用舉例8255的工作方式設(shè)置的
30、工作方式設(shè)置例例1、設(shè)某、設(shè)某8255并行接口芯片的端口地址為并行接口芯片的端口地址為0C0H0C3H,根據(jù)下列設(shè)置要求對(duì)芯片編程:,根據(jù)下列設(shè)置要求對(duì)芯片編程: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)點(diǎn)亮顯示燈由上向下循環(huán)點(diǎn)亮5次結(jié)束次結(jié)束(8255芯片端口為芯片端口為0C0H0C3H)。解:將解:將A口置為基本輸出方式,先在其最高位輸出口置為基本輸出方式,先在其最高位輸出1,延時(shí)一段時(shí)間之
34、后,然后移到下一位。如此循環(huán),延時(shí)一段時(shí)間之后,然后移到下一位。如此循環(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;最高位為低,點(diǎn)亮最高位最高位為低,點(diǎn)亮最高位light: mov dx
35、,port_aoutdx,alcalldelayroral,01hjnclightloop lightretmain endpdelayprocneardl1equ800hdl2equ400hpushcxmovcx,dl1dop1: push cxmovcx,dl2lop2: loop lop2 popcxlooplop1popcxretdelay endpcode endsendmain3、如圖,、如圖,8255A口的連接同上例,口的連接同上例,B口連接并行打印口連接并行打印機(jī),機(jī),PC0接接8259中斷控制器的中斷控制器的IR7(相應(yīng)的中斷類型相應(yīng)的中斷類型碼為碼為0FH的中斷的中斷)。采
36、用中斷方式將。采用中斷方式將BUFFER數(shù)據(jù)區(qū)數(shù)據(jù)區(qū)的的255H字節(jié)的數(shù)據(jù)送打印機(jī)打印,同時(shí)顯示燈由上字節(jié)的數(shù)據(jù)送打印機(jī)打印,同時(shí)顯示燈由上向下循環(huán)顯示。向下循環(huán)顯示。解:分析:解:分析:A口采用方式口采用方式0,作為輸出口,作為輸出口,B口采用方式口采用方式1,作為輸出口,作為輸出口,并采用中斷方式向打印機(jī)傳送數(shù)據(jù)。并采用中斷方式向打印機(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ā)出中斷請(qǐng)求端口發(fā)出中斷請(qǐng)求dint equ 04h; 禁止禁止B端口發(fā)出中斷請(qǐng)求端口發(fā)出中斷請(qǐng)求data segmentbuffer db 256 dup(
38、?);輸出緩沖區(qū)輸出緩沖區(qū)buflen dw 255;輸出數(shù)據(jù)計(jì)數(shù)輸出數(shù)據(jù)計(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 :置中斷向量功能號(hào)置中斷向量功能號(hào); 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中為要打印字符個(gè)數(shù)中為要打印字符個(gè)數(shù) lea bx,buffer; bx存放打印數(shù)據(jù)指針存放打印數(shù)據(jù)指針
40、 mov dx,prot_b; mov al,bx; out dx,al; 向打印機(jī)傳送第一個(gè)數(shù)據(jù)向打印機(jī)傳送第一個(gè)數(shù)據(jù) inc bx; 指向下一個(gè)數(shù)據(jù)單元指向下一個(gè)數(shù)據(jù)單元 sti; 打開(kāi)打開(kāi)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; 點(diǎn)亮顯示燈點(diǎn)亮顯示燈 call delay; 延時(shí)一段時(shí)間延時(shí)一段時(shí)間 ror al,01h; 移動(dòng)到下一個(gè)顯示燈的位置移動(dòng)到下一個(gè)顯示燈的位置 jmp light; 轉(zhuǎn)移顯示下一個(gè)顯示燈轉(zhuǎn)移顯示下一個(gè)顯示燈;以下為中斷處理程
41、序,完成將以下為中斷處理程序,完成將BX所指的數(shù)據(jù)單元數(shù)據(jù)送打印所指的數(shù)據(jù)單元數(shù)據(jù)送打印機(jī)打印機(jī)打印pr_int: push ax push dx;保護(hù)保護(hù)DX和和AX mov dx,port_b; B端口地址送端口地址送DX mov al,bx; 取要打印的字符數(shù)據(jù)取要打印的字符數(shù)據(jù) out dx,al; 送給打印機(jī)送給打印機(jī) inc bx; 修改數(shù)據(jù)指針修改數(shù)據(jù)指針 dec cx; 修改打印計(jì)數(shù)值修改打印計(jì)數(shù)值 jnz next; 未打印完未打印完BUFFER中的數(shù)據(jù)時(shí),中的數(shù)據(jù)時(shí),;直接到中斷返回;直接到中斷返回pr_end: mov dx,prot_ctr ; 已打印完已打印完BUFF
42、ER中的數(shù)據(jù)中的數(shù)據(jù) mov al,dint; out dx,al; 禁止禁止B端口的中斷請(qǐng)求端口的中斷請(qǐng)求next: pop dx; pop ax;恢復(fù)恢復(fù)DX,AX iret;中斷返回中斷返回;以下為延時(shí)軟件程序以下為延時(shí)軟件程序delay procneardl1equ800hdl2equ400hpushcxmovcx,dl1dop1: pushcxmovcx,dl2lop2:loop lop2popcxlooplop1popcxretdelay endpcodeendsendstart練習(xí)練習(xí)1、設(shè)某、設(shè)某8255并行接口芯片的端口地址為并行接口芯片的端口地址為02C4H02C7H,根據(jù)
43、,根據(jù)下列設(shè)置要求對(duì)芯片編程:下列設(shè)置要求對(duì)芯片編程:1)將將A口設(shè)為按工作方式口設(shè)為按工作方式0的輸入口;的輸入口;B口設(shè)為方式口設(shè)為方式0的輸出口,的輸出口,C口設(shè)為輸入口??谠O(shè)為輸入口。2)A口和口和B口設(shè)為工作方式口設(shè)為工作方式1,A口為輸入,口為輸入,B口為輸,并且都設(shè)口為輸,并且都設(shè)為中斷允許;為中斷允許;C口中的剩下位設(shè)置為輸入工作方式。口中的剩下位設(shè)置為輸入工作方式。2、根據(jù)給出的、根據(jù)給出的8255的控制字內(nèi)容,確定的控制字內(nèi)容,確定8255的工作方式或控的工作方式或控制字功能。制字功能。1) CON=101011012)CON=110110113)CON=000010014
44、)CON=00000110第二節(jié)第二節(jié)8253計(jì)數(shù)器計(jì)數(shù)器/定時(shí)器(見(jiàn)定時(shí)器(見(jiàn)P244)一、定時(shí)一、定時(shí)(或延時(shí)或延時(shí))信號(hào)獲取方式信號(hào)獲取方式在計(jì)算機(jī)中,一般可以通過(guò)兩種方式獲得在計(jì)算機(jī)中,一般可以通過(guò)兩種方式獲得定時(shí)定時(shí)(或延時(shí)或延時(shí))信號(hào):信號(hào): 軟件延時(shí)軟件延時(shí):通過(guò)執(zhí)行延時(shí)子程序:通過(guò)執(zhí)行延時(shí)子程序(由若干空操由若干空操作指令構(gòu)成作指令構(gòu)成),經(jīng)過(guò)一定時(shí)間產(chǎn)生延時(shí)。,經(jīng)過(guò)一定時(shí)間產(chǎn)生延時(shí)。delayprocpush cxmov cx,8000hlop1:noploop lop1popcxret 硬件延時(shí):通過(guò)計(jì)數(shù)器硬件延時(shí):通過(guò)計(jì)數(shù)器/定時(shí)器實(shí)現(xiàn)。定時(shí)器實(shí)現(xiàn)。 兩種方法的特點(diǎn):兩種
45、方法的特點(diǎn): 軟件延時(shí):簡(jiǎn)單,但不準(zhǔn)確。并且延時(shí)長(zhǎng)短會(huì)隨不同軟件延時(shí):簡(jiǎn)單,但不準(zhǔn)確。并且延時(shí)長(zhǎng)短會(huì)隨不同機(jī)器而改變機(jī)器而改變(執(zhí)行指令速度不同執(zhí)行指令速度不同)。 硬件延時(shí):由于有固定的頻率信號(hào)作為輸入,經(jīng)程序硬件延時(shí):由于有固定的頻率信號(hào)作為輸入,經(jīng)程序設(shè)定后,可產(chǎn)生準(zhǔn)確的延時(shí)、定時(shí)信號(hào),結(jié)合中斷向設(shè)定后,可產(chǎn)生準(zhǔn)確的延時(shí)、定時(shí)信號(hào),結(jié)合中斷向CPU提供定時(shí)服務(wù)。提供定時(shí)服務(wù)。 二、通用可編程二、通用可編程C/T(計(jì)數(shù)器(計(jì)數(shù)器/定時(shí)器)工作定時(shí)器)工作原理原理 1、可編程、可編程C/T的功能和作用的功能和作用可編程可編程C/T能提供兩種功能:能提供兩種功能: 計(jì)數(shù)器:設(shè)置計(jì)數(shù)值啟動(dòng)后,當(dāng)
46、出現(xiàn)計(jì)數(shù)信號(hào)時(shí),進(jìn)計(jì)數(shù)器:設(shè)置計(jì)數(shù)值啟動(dòng)后,當(dāng)出現(xiàn)計(jì)數(shù)信號(hào)時(shí),進(jìn)行減行減1計(jì)數(shù),計(jì)數(shù)器減為計(jì)數(shù),計(jì)數(shù)器減為0時(shí),產(chǎn)生輸出信號(hào)。時(shí),產(chǎn)生輸出信號(hào)。 定時(shí)器:設(shè)置好定時(shí)常數(shù)后,根據(jù)輸入的時(shí)鐘信號(hào)進(jìn)定時(shí)器:設(shè)置好定時(shí)常數(shù)后,根據(jù)輸入的時(shí)鐘信號(hào)進(jìn)行減行減1計(jì)數(shù),按定時(shí)常數(shù)不斷輸出時(shí)鐘周期整數(shù)倍的計(jì)數(shù),按定時(shí)常數(shù)不斷輸出時(shí)鐘周期整數(shù)倍的定時(shí)間隔信號(hào)輸出。定時(shí)間隔信號(hào)輸出??删幊炭删幊藽/T在計(jì)算機(jī)中的作用:在計(jì)算機(jī)中的作用: 在多任務(wù)分時(shí)系統(tǒng)中,通過(guò)定時(shí)中斷,實(shí)現(xiàn)在多任務(wù)分時(shí)系統(tǒng)中,通過(guò)定時(shí)中斷,實(shí)現(xiàn)程序切換。程序切換。 向外設(shè)提供精確的定時(shí)信號(hào)。向外設(shè)提供精確的定時(shí)信號(hào)。 作為可編程的波特率發(fā)生器。作
47、為可編程的波特率發(fā)生器。 實(shí)現(xiàn)延時(shí)功能。實(shí)現(xiàn)延時(shí)功能。2、可編程、可編程C/T的結(jié)構(gòu)及工作原理的結(jié)構(gòu)及工作原理1)C/T的內(nèi)部寄存器及作用的內(nèi)部寄存器及作用 控制寄存器:通過(guò)程序設(shè)定控制寄存器:通過(guò)程序設(shè)定C/T的工作方式。的工作方式。 初始值寄存器:通過(guò)程序設(shè)定初始值寄存器:通過(guò)程序設(shè)定C/T的計(jì)數(shù)初值。的計(jì)數(shù)初值。 計(jì)數(shù)器:根據(jù)輸入的時(shí)鐘信號(hào)進(jìn)行減計(jì)數(shù)器:根據(jù)輸入的時(shí)鐘信號(hào)進(jìn)行減1計(jì)數(shù)。計(jì)數(shù)。 計(jì)數(shù)輸出寄存器:向計(jì)數(shù)輸出寄存器:向CPU提供當(dāng)前計(jì)數(shù)值。提供當(dāng)前計(jì)數(shù)值。計(jì)數(shù)器計(jì)數(shù)器/定時(shí)器內(nèi)部結(jié)構(gòu)定時(shí)器內(nèi)部結(jié)構(gòu)計(jì)時(shí)通道計(jì)時(shí)通道CRCEOL2)外部信號(hào))外部信號(hào) CLKi: C/T的計(jì)數(shù)時(shí)鐘輸
48、入的計(jì)數(shù)時(shí)鐘輸入 GATEi:時(shí)鐘的門控制信號(hào)(啟停信號(hào)):時(shí)鐘的門控制信號(hào)(啟停信號(hào)) OUTi:計(jì)數(shù)回零輸出(計(jì)數(shù)定時(shí)輸出):計(jì)數(shù)回零輸出(計(jì)數(shù)定時(shí)輸出)3)門控制信號(hào)的作用)門控制信號(hào)的作用門控制信號(hào)與計(jì)數(shù)時(shí)鐘信號(hào)一起確定定時(shí)門控制信號(hào)與計(jì)數(shù)時(shí)鐘信號(hào)一起確定定時(shí)器的工作模式。器的工作模式。4)計(jì)數(shù)初值設(shè)定)計(jì)數(shù)初值設(shè)定對(duì)計(jì)數(shù)器而言,根據(jù)計(jì)數(shù)的數(shù)量要求設(shè)置。對(duì)計(jì)數(shù)器而言,根據(jù)計(jì)數(shù)的數(shù)量要求設(shè)置。對(duì)定時(shí)器(延時(shí))而言,根據(jù)定時(shí)(或延時(shí))對(duì)定時(shí)器(延時(shí))而言,根據(jù)定時(shí)(或延時(shí))時(shí)間的長(zhǎng)短和輸入時(shí)鐘頻率確定。具體為:時(shí)間的長(zhǎng)短和輸入時(shí)鐘頻率確定。具體為:計(jì)數(shù)初值時(shí)鐘頻率計(jì)數(shù)初值時(shí)鐘頻率T(計(jì)數(shù)初
49、值(計(jì)數(shù)初值T時(shí)鐘周期)時(shí)鐘周期)其中:其中:T為定時(shí)(延時(shí))時(shí)間。為定時(shí)(延時(shí))時(shí)間。三、可編程三、可編程C/T(8253)1、8253的結(jié)構(gòu)和工作原理的結(jié)構(gòu)和工作原理8253內(nèi)部包含三個(gè)結(jié)構(gòu)相同的計(jì)數(shù)器。內(nèi)部包含三個(gè)結(jié)構(gòu)相同的計(jì)數(shù)器。1)8253的編程結(jié)構(gòu)的編程結(jié)構(gòu) 8位控制寄存器,控制命令(設(shè)置工作模式)位控制寄存器,控制命令(設(shè)置工作模式) 16位(位(8位)初值寄存器(位)初值寄存器(CR) 16位(位(8位)執(zhí)行單元,減位)執(zhí)行單元,減1計(jì)數(shù)器(計(jì)數(shù)器(CE) 16位(位(8位)輸出鎖存器(位)輸出鎖存器(OL)(讀出當(dāng)前)(讀出當(dāng)前計(jì)數(shù)值)計(jì)數(shù)值)2)工作原理()工作原理(P24
50、5圖圖9-19,圖圖9-20) 外部信號(hào)外部信號(hào) 讀寫邏輯讀寫邏輯每個(gè)每個(gè)8253占用四個(gè)連續(xù)的端口地址,每個(gè)占用四個(gè)連續(xù)的端口地址,每個(gè)端口地址分別對(duì)應(yīng)不同的計(jì)數(shù)器以及控制寄端口地址分別對(duì)應(yīng)不同的計(jì)數(shù)器以及控制寄存器。其內(nèi)部是通過(guò)存器。其內(nèi)部是通過(guò)A1A0地址線判斷識(shí)別的。地址線判斷識(shí)別的。 A1A0對(duì)應(yīng)功能對(duì)應(yīng)功能00計(jì)數(shù)器計(jì)數(shù)器001計(jì)數(shù)器計(jì)數(shù)器110計(jì)數(shù)器計(jì)數(shù)器211控制寄存器(命令)控制寄存器(命令)2、8253控制寄存器命令格式控制寄存器命令格式8253的命令為一的命令為一8位二進(jìn)制,用于設(shè)置計(jì)位二進(jìn)制,用于設(shè)置計(jì)數(shù)器的操作和工作模式,通過(guò)向數(shù)器的操作和工作模式,通過(guò)向8253的控
51、制的控制寄存器端口輸出一個(gè)寄存器端口輸出一個(gè)8位二進(jìn)制(字節(jié))數(shù)據(jù),位二進(jìn)制(字節(jié))數(shù)據(jù),向計(jì)數(shù)器發(fā)出操作命令。向計(jì)數(shù)器發(fā)出操作命令。命令格式命令格式(P247圖圖9-21)D0:BCD位:位:1采用采用BCD碼計(jì)數(shù)碼計(jì)數(shù)0采用二進(jìn)制計(jì)數(shù)采用二進(jìn)制計(jì)數(shù)D3D2D1:M2M1M0工作模式選擇(工作模式選擇(6種模式)種模式)D5D4:RW1RW0讀寫方式控制讀寫方式控制D7D6:SC1SC0計(jì)數(shù)器選擇計(jì)數(shù)器選擇3、8253編程命令編程命令編程原則:編程原則:對(duì)計(jì)數(shù)器編程必須首先寫控制字(設(shè)置計(jì)數(shù)對(duì)計(jì)數(shù)器編程必須首先寫控制字(設(shè)置計(jì)數(shù)器工作方式,然后設(shè)置計(jì)數(shù)初值。器工作方式,然后設(shè)置計(jì)數(shù)初值。計(jì)數(shù)
52、初值的設(shè)置必須按照控制字的要求。計(jì)數(shù)初值的設(shè)置必須按照控制字的要求。編程對(duì)編程對(duì)8253的基本操作:的基本操作:向向8253寫入(通過(guò)輸出指令實(shí)現(xiàn)):寫入(通過(guò)輸出指令實(shí)現(xiàn)):設(shè)置控制字或鎖存計(jì)數(shù)值(控制端口)設(shè)置控制字或鎖存計(jì)數(shù)值(控制端口)設(shè)置計(jì)數(shù)初值(相應(yīng)計(jì)數(shù)器端口)設(shè)置計(jì)數(shù)初值(相應(yīng)計(jì)數(shù)器端口)讀出讀出8253的內(nèi)容(通過(guò)輸入指令實(shí)現(xiàn)):讀的內(nèi)容(通過(guò)輸入指令實(shí)現(xiàn)):讀出相應(yīng)計(jì)數(shù)器的計(jì)數(shù)值或鎖定值。出相應(yīng)計(jì)數(shù)器的計(jì)數(shù)值或鎖定值。4、8253的工作模式(由的工作模式(由M2M1M0確定)確定)1)8253的工作規(guī)則:的工作規(guī)則: 控制字寫入后自動(dòng)復(fù)位相應(yīng)計(jì)數(shù)器??刂谱謱懭牒笞詣?dòng)復(fù)位相應(yīng)計(jì)
53、數(shù)器。 初值寫入后需經(jīng)過(guò)一個(gè)時(shí)鐘上升及下降沿才初值寫入后需經(jīng)過(guò)一個(gè)時(shí)鐘上升及下降沿才開(kāi)始計(jì)數(shù)。開(kāi)始計(jì)數(shù)。 GATE信號(hào)根據(jù)不同工作模式,其有效形式不信號(hào)根據(jù)不同工作模式,其有效形式不同。同。 計(jì)數(shù)器在時(shí)鐘信號(hào)的下降沿計(jì)數(shù)。計(jì)數(shù)初值計(jì)數(shù)器在時(shí)鐘信號(hào)的下降沿計(jì)數(shù)。計(jì)數(shù)初值為為0時(shí),為計(jì)數(shù)的最大值(時(shí),為計(jì)數(shù)的最大值(65536)2)8253的工作模式:的工作模式: 模式模式0:計(jì)數(shù)結(jié)束(計(jì)數(shù)值達(dá)到:計(jì)數(shù)結(jié)束(計(jì)數(shù)值達(dá)到0之前)輸出之前)輸出高電平(計(jì)數(shù)結(jié)束中斷)。高電平(計(jì)數(shù)結(jié)束中斷)。 模式模式1:可重復(fù)單穩(wěn)態(tài)觸發(fā)器(產(chǎn)生定長(zhǎng)低電:可重復(fù)單穩(wěn)態(tài)觸發(fā)器(產(chǎn)生定長(zhǎng)低電平脈沖)。平脈沖)。 模式模式2
54、:分頻器(不斷重復(fù)產(chǎn)生:分頻器(不斷重復(fù)產(chǎn)生n-1時(shí)鐘周期時(shí)鐘周期的高電平和的高電平和1和周期的低電平分頻輸出)和周期的低電平分頻輸出) 模式模式3:方波發(fā)生器(類似分頻器,但產(chǎn)生高:方波發(fā)生器(類似分頻器,但產(chǎn)生高低電平各維持低電平各維持n/2時(shí)鐘周期的方波)時(shí)鐘周期的方波) 模式模式4:軟件觸發(fā)的選通信號(hào)發(fā)生器(裝入初:軟件觸發(fā)的選通信號(hào)發(fā)生器(裝入初值值(作為觸發(fā))后,經(jīng)作為觸發(fā))后,經(jīng)n+1個(gè)時(shí)鐘周期后產(chǎn)生個(gè)時(shí)鐘周期后產(chǎn)生一個(gè)周期的負(fù)脈沖輸出)一個(gè)周期的負(fù)脈沖輸出) 模式模式5:硬件觸發(fā)的選通信號(hào)發(fā)生器(類似于:硬件觸發(fā)的選通信號(hào)發(fā)生器(類似于模式模式4,但以,但以GATE的上升沿作為
55、觸發(fā))的上升沿作為觸發(fā))不同的工作模式給出了不同的工作模式給出了CLK與與OUT信號(hào)信號(hào)間的作用關(guān)系,以及間的作用關(guān)系,以及GATE的控制作用,實(shí)際的控制作用,實(shí)際使用中要根據(jù)不同需求,設(shè)置工作模式。使用中要根據(jù)不同需求,設(shè)置工作模式。3)8253作定時(shí)器與計(jì)數(shù)器的連接方法作定時(shí)器與計(jì)數(shù)器的連接方法 作定時(shí)器時(shí),作定時(shí)器時(shí),CLK接固定頻率的時(shí)鐘信號(hào)。接固定頻率的時(shí)鐘信號(hào)。 作計(jì)數(shù)器時(shí),作計(jì)數(shù)器時(shí),CLK接計(jì)數(shù)脈沖信號(hào)接計(jì)數(shù)脈沖信號(hào)四、四、8253的編程的編程1、8253編程的步驟和注意事項(xiàng)編程的步驟和注意事項(xiàng)步驟:步驟:1)根據(jù)使用的計(jì)數(shù)器及工作模式確定控制字)根據(jù)使用的計(jì)數(shù)器及工作模式確定
56、控制字2)根據(jù)定時(shí)或計(jì)數(shù)要求算出計(jì)數(shù)初值)根據(jù)定時(shí)或計(jì)數(shù)要求算出計(jì)數(shù)初值2)向計(jì)數(shù)器寫入計(jì)數(shù)初值)向計(jì)數(shù)器寫入計(jì)數(shù)初值注意事項(xiàng):注意事項(xiàng):1)8253芯片的端口地址。芯片的端口地址。2)外部時(shí)鐘頻率與定時(shí)周期的關(guān)系。)外部時(shí)鐘頻率與定時(shí)周期的關(guān)系。3)計(jì)數(shù)器外部信號(hào)的連接。)計(jì)數(shù)器外部信號(hào)的連接。4)GATE門控制信號(hào)的作用。門控制信號(hào)的作用。2、編程實(shí)例、編程實(shí)例例:例: 假設(shè)假設(shè)8253占用的端口地址為占用的端口地址為200H203H,CLK0、CLK2輸入為輸入為8.25MHZ時(shí)鐘,要求時(shí)鐘,要求1)將計(jì)數(shù)器)將計(jì)數(shù)器0設(shè)置為模式設(shè)置為模式0,延時(shí),延時(shí)5ms后后OUT0輸出高電平,計(jì)數(shù)器輸出高電平,計(jì)數(shù)器2的的OUT2輸出輸出40KHZ的的方波。方波。2)將)將OUT0接到計(jì)數(shù)器接到計(jì)數(shù)器1的的CLK1,使計(jì)數(shù)器,使計(jì)數(shù)器0輸出輸出1KHZ的方波,計(jì)數(shù)器的方波,計(jì)數(shù)器1輸出輸出40HZ的分頻的分頻信號(hào)。題目解答信號(hào)。題目解答解:解:1)計(jì)數(shù)器)計(jì)數(shù)器0:設(shè)置計(jì)數(shù)器:設(shè)置計(jì)數(shù)器0為模式為模式0控制字為控制字為 00 11 000 0 (30H)計(jì)數(shù)初值計(jì)數(shù)初值N(510-3s)(8.25106/s) 412500A122H計(jì)數(shù)器計(jì)數(shù)器2:設(shè)置為輸出模式:設(shè)置為輸出模式2控制字控制字10 01 011 0(96H)計(jì)數(shù)初值計(jì)數(shù)初值N(8.25106)(40103
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 班級(jí)責(zé)任明確與分工計(jì)劃
- 班級(jí)新媒體利用教學(xué)活動(dòng)計(jì)劃
- 農(nóng)畜產(chǎn)品批發(fā)服務(wù)行業(yè)相關(guān)投資計(jì)劃提議
- 《講生命和生命科學(xué)》課件
- 加氫系列產(chǎn)品行業(yè)相關(guān)投資計(jì)劃提議
- 花卉植物運(yùn)輸合同三篇
- 快遞物流行業(yè)保安工作總結(jié)計(jì)劃
- 民風(fēng)民俗和我們的生活
- 【培訓(xùn)課件】財(cái)務(wù)報(bào)賬員培訓(xùn) 法律法規(guī)
- 《項(xiàng)目管理培訓(xùn)課程》課件
- 課內(nèi)文言文閱讀(原卷版)-2024-2025學(xué)年九年級(jí)語(yǔ)文上學(xué)期期中試題分類匯編(山東專用)
- 院感課件下載
- 2022幼兒園教師讀書參考心得體會(huì)5篇
- MOOC 機(jī)械基礎(chǔ)實(shí)景教學(xué)(機(jī)械原理)-哈爾濱工業(yè)大學(xué) 中國(guó)大學(xué)慕課答案
- 高壓氧治療-PPT課件
- 西門子s7_200PLC基本指令
- 特殊學(xué)生成長(zhǎng)檔案記錄(精選.)
- 高速公路安全封路施工標(biāo)志標(biāo)牌示意圖
- 計(jì)算機(jī)科學(xué)前沿技術(shù)課心得體會(huì)
- 窗玻璃的可見(jiàn)光透射比.遮陽(yáng)系數(shù)
- 監(jiān)理工作程序流程圖(共24頁(yè))
評(píng)論
0/150
提交評(píng)論