版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1微型計(jì)算機(jī)原理及應(yīng)用21 12 23 3接口的基本概念接口的基本概念I(lǐng) I/ /O O指令和指令和I I/ /O O地址譯碼地址譯碼簡(jiǎn)單的簡(jiǎn)單的I/OI/O接口接口3 概述: 輸入輸出輸入輸出(I/O)(I/O):是指微型計(jì)算機(jī)與外界的信息交是指微型計(jì)算機(jī)與外界的信息交換,即通信換,即通信(communication)(communication)。 I/OI/O接口:接口:微型計(jì)算機(jī)與外界的通信,是通過輸入微型計(jì)算機(jī)與外界的通信,是通過輸入輸出設(shè)備進(jìn)行的,通常一種輸出設(shè)備進(jìn)行的,通常一種I/OI/O設(shè)備與微型機(jī)連接,設(shè)備與微型機(jī)連接,就需要一個(gè)連接電路,我們稱之為就需要一個(gè)連接電路,我們稱
2、之為I/OI/O接口接口。4 接口是用于控制微機(jī)系統(tǒng)與外設(shè)或外設(shè)與系統(tǒng)設(shè)接口是用于控制微機(jī)系統(tǒng)與外設(shè)或外設(shè)與系統(tǒng)設(shè)備之間的數(shù)據(jù)交換和通信的硬件電路。備之間的數(shù)據(jù)交換和通信的硬件電路。 接口設(shè)計(jì)需解決的兩個(gè)基本問題:接口設(shè)計(jì)需解決的兩個(gè)基本問題: 一、是中央處理器如何尋址外部設(shè)備,實(shí)現(xiàn)多個(gè)一、是中央處理器如何尋址外部設(shè)備,實(shí)現(xiàn)多個(gè)設(shè)備的識(shí)別;設(shè)備的識(shí)別; 二、是中央處理器如何與外設(shè)連接,進(jìn)行數(shù)據(jù)、二、是中央處理器如何與外設(shè)連接,進(jìn)行數(shù)據(jù)、狀態(tài)和控制信號(hào)的交換。狀態(tài)和控制信號(hào)的交換。51.1.接口的一般定義接口的一般定義 (接口電路的位置)(接口電路的位置) 接口是一組電路,是中央處理器與存儲(chǔ)器、
3、輸接口是一組電路,是中央處理器與存儲(chǔ)器、輸入輸出設(shè)備等外設(shè)之間入輸出設(shè)備等外設(shè)之間協(xié)調(diào)動(dòng)作協(xié)調(diào)動(dòng)作的控制電路。的控制電路。 注意:注意:接口電路并不局限在中央處理器與存儲(chǔ)器接口電路并不局限在中央處理器與存儲(chǔ)器或外設(shè)之間,也可在存儲(chǔ)器與外設(shè)之間,如直接存或外設(shè)之間,也可在存儲(chǔ)器與外設(shè)之間,如直接存儲(chǔ)器存取儲(chǔ)器存取DMADMA接口接口就是控制存儲(chǔ)器與外設(shè)之間數(shù)據(jù)就是控制存儲(chǔ)器與外設(shè)之間數(shù)據(jù)傳送的電路。傳送的電路。1.1 1.1 接口的功能接口的功能6 所以,接口的基本功能就是對(duì)數(shù)據(jù)傳送實(shí)現(xiàn)控制,所以,接口的基本功能就是對(duì)數(shù)據(jù)傳送實(shí)現(xiàn)控制,具體包括以下具體包括以下5 5種功能:種功能:地址譯碼、數(shù)據(jù)
4、緩沖、信地址譯碼、數(shù)據(jù)緩沖、信息轉(zhuǎn)換(如串并轉(zhuǎn)換)、提供命令譯碼和狀態(tài)信息息轉(zhuǎn)換(如串并轉(zhuǎn)換)、提供命令譯碼和狀態(tài)信息以及定時(shí)和控制以及定時(shí)和控制。1.1 1.1 接口的功能接口的功能2.2.接口電路的功能接口電路的功能接口電路的作用就是將來自外部設(shè)備的數(shù)據(jù)信號(hào)傳接口電路的作用就是將來自外部設(shè)備的數(shù)據(jù)信號(hào)傳送給處理器,處理器對(duì)數(shù)據(jù)進(jìn)行適當(dāng)加工,再通過送給處理器,處理器對(duì)數(shù)據(jù)進(jìn)行適當(dāng)加工,再通過接口傳回外部設(shè)備。接口傳回外部設(shè)備。73.3.接口電路的基本結(jié)構(gòu)接口電路的基本結(jié)構(gòu)1.1 1.1 接口的功能接口的功能8 控制命令邏輯電路:控制命令邏輯電路:一般由命令字寄存器和控制執(zhí)一般由命令字寄存器和
5、控制執(zhí)行邏輯組成,這一部分是接口電路的行邏輯組成,這一部分是接口電路的“中央處理器中央處理器”,用來完成全部接口操作的控制。用來完成全部接口操作的控制。 狀態(tài)設(shè)置和存儲(chǔ)電路:狀態(tài)設(shè)置和存儲(chǔ)電路:主要由一組狀態(tài)數(shù)據(jù)寄存器主要由一組狀態(tài)數(shù)據(jù)寄存器構(gòu)成,中央處理器和外設(shè)就是根據(jù)狀態(tài)寄存器的內(nèi)構(gòu)成,中央處理器和外設(shè)就是根據(jù)狀態(tài)寄存器的內(nèi)容進(jìn)行協(xié)調(diào)動(dòng)作的。容進(jìn)行協(xié)調(diào)動(dòng)作的。 數(shù)據(jù)存儲(chǔ)和緩沖電路:數(shù)據(jù)存儲(chǔ)和緩沖電路:也是一組寄存器,用于暫存也是一組寄存器,用于暫存中央處理器和外設(shè)之間傳送的數(shù)據(jù),以完成速度匹中央處理器和外設(shè)之間傳送的數(shù)據(jù),以完成速度匹配工作。配工作。 1.1 1.1 接口的功能接口的功能9
6、1.1.數(shù)據(jù)傳送方式數(shù)據(jù)傳送方式 在微機(jī)系統(tǒng)內(nèi),如,在微機(jī)系統(tǒng)內(nèi),如,大系統(tǒng)大系統(tǒng)部件之間的數(shù)據(jù)傳送部件之間的數(shù)據(jù)傳送都采用并行數(shù)據(jù)傳送方式。都采用并行數(shù)據(jù)傳送方式。特點(diǎn):特點(diǎn):并行數(shù)據(jù)的每一位都對(duì)應(yīng)獨(dú)立的傳輸線路,再并行數(shù)據(jù)的每一位都對(duì)應(yīng)獨(dú)立的傳輸線路,再加上加上一條地線和一條數(shù)據(jù)準(zhǔn)備好線一條地線和一條數(shù)據(jù)準(zhǔn)備好線,若是雙向并行傳,若是雙向并行傳輸,還須有輸,還須有傳送方向的信號(hào)線傳送方向的信號(hào)線。所以數(shù)據(jù)傳送速度快,。所以數(shù)據(jù)傳送速度快,但線路多,一般只用于較短距離的數(shù)據(jù)傳送。但線路多,一般只用于較短距離的數(shù)據(jù)傳送。 (1 1)并行數(shù)據(jù)傳送)并行數(shù)據(jù)傳送1.21.2 接口控制原理接口控制原
7、理接口是用來控制數(shù)據(jù)傳送的,所謂接口控制即是接接口是用來控制數(shù)據(jù)傳送的,所謂接口控制即是接口電路對(duì)處理器與外設(shè)之間數(shù)據(jù)傳送的控制。口電路對(duì)處理器與外設(shè)之間數(shù)據(jù)傳送的控制。10 串行數(shù)據(jù)傳送是將構(gòu)成字符的每個(gè)二進(jìn)制數(shù)據(jù)位,串行數(shù)據(jù)傳送是將構(gòu)成字符的每個(gè)二進(jìn)制數(shù)據(jù)位,按一定的順序按一定的順序逐位逐位進(jìn)行傳送的方式。進(jìn)行傳送的方式。 串行數(shù)據(jù)傳送主要用于遠(yuǎn)程終端或經(jīng)過公共電話串行數(shù)據(jù)傳送主要用于遠(yuǎn)程終端或經(jīng)過公共電話網(wǎng)的計(jì)算機(jī)之間的通信。網(wǎng)的計(jì)算機(jī)之間的通信。特點(diǎn):特點(diǎn):?jiǎn)蜗騻鬏斨恍枰桓鶖?shù)據(jù)線,單向傳輸只需一根數(shù)據(jù)線,一根信號(hào)地線和一一根信號(hào)地線和一根應(yīng)答線根應(yīng)答線,遠(yuǎn)距離數(shù)據(jù)傳送采用串行方式比較經(jīng)
8、濟(jì),遠(yuǎn)距離數(shù)據(jù)傳送采用串行方式比較經(jīng)濟(jì),但但串行數(shù)據(jù)傳送比并行數(shù)據(jù)傳送控制復(fù)雜,涉及到串串行數(shù)據(jù)傳送比并行數(shù)據(jù)傳送控制復(fù)雜,涉及到串并行數(shù)據(jù)轉(zhuǎn)換。并行數(shù)據(jù)轉(zhuǎn)換。(2 2)串行數(shù)據(jù)傳送)串行數(shù)據(jù)傳送1.21.2 接口控制原理接口控制原理11異步串行通信協(xié)議規(guī)定字符數(shù)據(jù)的異步串行通信協(xié)議規(guī)定字符數(shù)據(jù)的傳送格式傳送格式:一幀數(shù)據(jù)一幀數(shù)據(jù) 概念:概念:波特率:波特率:每秒鐘傳送二進(jìn)制數(shù)的位數(shù)稱之為每秒鐘傳送二進(jìn)制數(shù)的位數(shù)稱之為波特率。波特率。比特率:比特率:每秒鐘傳送的每秒鐘傳送的有效有效的二進(jìn)制數(shù)位稱之為比特率。的二進(jìn)制數(shù)位稱之為比特率。1.21.2 接口控制原理接口控制原理12注意:注意:1 1、
9、通信線上傳送的通信線上傳送的所有位信號(hào)所有位信號(hào)都必須保持一致的持都必須保持一致的持 續(xù)時(shí)間。續(xù)時(shí)間。2 2、異步串行通信中,接收設(shè)備和發(fā)送設(shè)備必須保持異步串行通信中,接收設(shè)備和發(fā)送設(shè)備必須保持 相同的傳送波特率,并與每個(gè)字符數(shù)據(jù)的起始位相同的傳送波特率,并與每個(gè)字符數(shù)據(jù)的起始位 同步。起始位、數(shù)據(jù)位、奇偶位和停止位約定,同步。起始位、數(shù)據(jù)位、奇偶位和停止位約定, 在同一次傳送過程中必須保持一致。在同一次傳送過程中必須保持一致。 1.21.2 接口控制原理接口控制原理132.2. 傳送控制方式傳送控制方式 1.21.2 接口控制原理接口控制原理傳送控制方式有傳送控制方式有查詢查詢、中斷中斷和和
10、DMADMA3 3種。種。(1 1)查詢方式)查詢方式 查詢方式是中央處理器查詢方式是中央處理器在數(shù)據(jù)傳送之前在數(shù)據(jù)傳送之前通過接口通過接口的的狀態(tài)設(shè)置存儲(chǔ)電路狀態(tài)設(shè)置存儲(chǔ)電路詢問外設(shè),即詢問外設(shè)的狀態(tài),詢問外設(shè),即詢問外設(shè)的狀態(tài),待外設(shè)允許傳送數(shù)據(jù)后才傳送數(shù)據(jù)的操作方式。待外設(shè)允許傳送數(shù)據(jù)后才傳送數(shù)據(jù)的操作方式。141.21.2 接口控制原理接口控制原理在查詢方式下,在查詢方式下,CPUCPU需要完成以下操作:需要完成以下操作:(1)CPU(1)CPU向接口發(fā)出傳送命令,輸入數(shù)據(jù)或輸出數(shù)據(jù);向接口發(fā)出傳送命令,輸入數(shù)據(jù)或輸出數(shù)據(jù);(2)(2)中央處理器查詢外設(shè)是否允許傳送?中央處理器查詢外設(shè)
11、是否允許傳送? 特點(diǎn):在查詢方式下,中央處理器需要花費(fèi)較多的時(shí)特點(diǎn):在查詢方式下,中央處理器需要花費(fèi)較多的時(shí) 間去不斷地間去不斷地“詢問詢問” 外設(shè),外設(shè)的接口電路處外設(shè),外設(shè)的接口電路處 于被動(dòng)狀態(tài)。于被動(dòng)狀態(tài)。 151.21.2 接口控制原理接口控制原理查詢方式的特例:無條件傳送方式查詢方式的特例:無條件傳送方式有些輸出設(shè)備隨時(shí)可接收數(shù)據(jù),如發(fā)光二極管、電有些輸出設(shè)備隨時(shí)可接收數(shù)據(jù),如發(fā)光二極管、電機(jī)的起停等。還有些輸出設(shè)備在接受一個(gè)數(shù)據(jù)后需機(jī)的起停等。還有些輸出設(shè)備在接受一個(gè)數(shù)據(jù)后需要經(jīng)過一段固定的時(shí)間才可接收下一個(gè)數(shù)據(jù),如要經(jīng)過一段固定的時(shí)間才可接收下一個(gè)數(shù)據(jù),如D/AD/A轉(zhuǎn)換器對(duì)于
12、此類設(shè)備,可省去轉(zhuǎn)換器對(duì)于此類設(shè)備,可省去狀態(tài)設(shè)置存儲(chǔ)電路和狀態(tài)設(shè)置存儲(chǔ)電路和查詢程序,直接傳送數(shù)據(jù)或者延遲一段時(shí)間后即可查詢程序,直接傳送數(shù)據(jù)或者延遲一段時(shí)間后即可進(jìn)行數(shù)據(jù)傳輸。進(jìn)行數(shù)據(jù)傳輸。16(2 2)中斷方式)中斷方式1.21.2 接口控制原理接口控制原理 中斷方式是在外設(shè)要與中央處理器傳送數(shù)據(jù)時(shí),中斷方式是在外設(shè)要與中央處理器傳送數(shù)據(jù)時(shí),外設(shè)向中央處理器發(fā)出請(qǐng)求,中央處理器響應(yīng)后再傳外設(shè)向中央處理器發(fā)出請(qǐng)求,中央處理器響應(yīng)后再傳送數(shù)據(jù)的操作方式。送數(shù)據(jù)的操作方式。 特點(diǎn):特點(diǎn):在中斷方式下,中央處理器不必查詢外設(shè),提在中斷方式下,中央處理器不必查詢外設(shè),提高了系統(tǒng)的工作效率,但中央處
13、理器管理中斷的接口高了系統(tǒng)的工作效率,但中央處理器管理中斷的接口比管理查詢復(fù)雜。比管理查詢復(fù)雜。 17(3 3)直接存儲(chǔ)器存?。ǎ┲苯哟鎯?chǔ)器存取(DMADMA)方式)方式1.21.2 接口控制原理接口控制原理 DMA DMA 方式是數(shù)據(jù)不經(jīng)過中央處理器在存儲(chǔ)器和外方式是數(shù)據(jù)不經(jīng)過中央處理器在存儲(chǔ)器和外設(shè)之間直接傳送的操作方式。設(shè)之間直接傳送的操作方式。DMADMA方式是這方式是這3 3種方式中種方式中效率最高的一種傳送方式,效率最高的一種傳送方式,DMADMA方式控制接口也最復(fù)方式控制接口也最復(fù)雜,需要專用的雜,需要專用的DMADMA控制器,控制器,常用的常用的DMADMA控制器為控制器為82
14、37A8237A。 特點(diǎn):特點(diǎn):DMA DMA 方式適合數(shù)據(jù)量較大的傳送,如存儲(chǔ)器與方式適合數(shù)據(jù)量較大的傳送,如存儲(chǔ)器與 磁盤之間的數(shù)據(jù)傳送。磁盤之間的數(shù)據(jù)傳送。 18 接口控制信號(hào)可分為兩類:接口控制信號(hào)可分為兩類:總線控制信號(hào)總線控制信號(hào) 和和 輸入輸輸入輸 出控制信號(hào)。出控制信號(hào)。 輸入輸出控制信號(hào):輸入輸出控制信號(hào):比較復(fù)雜,不同控制方式的接口比較復(fù)雜,不同控制方式的接口信號(hào)不同。一般包括數(shù)據(jù)線、輸入輸出應(yīng)答信號(hào)等。信號(hào)不同。一般包括數(shù)據(jù)線、輸入輸出應(yīng)答信號(hào)等。 中斷接口和中斷接口和DMADMA接口的控制信號(hào)更復(fù)雜一些,通常由接接口的控制信號(hào)更復(fù)雜一些,通常由接口芯片提供專用控制信號(hào)來
15、完成數(shù)據(jù)傳送控制??谛酒峁S每刂菩盘?hào)來完成數(shù)據(jù)傳送控制。 總線控制信號(hào):總線控制信號(hào):包括數(shù)據(jù)線、地址線、包括數(shù)據(jù)線、地址線、 、 、等。、等。 1.31.3 接口控制信號(hào)接口控制信號(hào)19接口控制信號(hào)圖接口控制信號(hào)圖1.31.3 接口控制信號(hào)接口控制信號(hào)總線控制信號(hào)總線控制信號(hào)輸入輸出控制信號(hào)輸入輸出控制信號(hào)202 21 13 3接口的基本概念接口的基本概念I(lǐng) I/ /O O指令和指令和I I/ /O O地址譯碼地址譯碼簡(jiǎn)單的簡(jiǎn)單的I/OI/O接口接口21 微處理器進(jìn)行微處理器進(jìn)行I/OI/O操作時(shí),對(duì)操作時(shí),對(duì)I/OI/O接口的尋址方接口的尋址方式必須完成式必須完成兩項(xiàng)工作兩項(xiàng)工作:一是
16、選擇出所選中的:一是選擇出所選中的I/OI/O接接口芯片口芯片( (稱為稱為片選片選) );二是選擇出該芯片中的某一;二是選擇出該芯片中的某一寄存器寄存器( (稱為稱為字選字選) )。 通常有通常有兩種兩種I/OI/O接口結(jié)構(gòu)接口結(jié)構(gòu):一種是標(biāo)準(zhǔn)的:一種是標(biāo)準(zhǔn)的I/OI/O結(jié)結(jié)構(gòu),另一種是存儲(chǔ)器映象構(gòu),另一種是存儲(chǔ)器映象I/OI/O結(jié)構(gòu)結(jié)構(gòu)(memory mapped (memory mapped I/O)I/O)。與之對(duì)應(yīng)的有。與之對(duì)應(yīng)的有兩種兩種I/OI/O尋址方式尋址方式。 22標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的I/OI/O尋址方式有以下尋址方式有以下3 3個(gè)特點(diǎn):個(gè)特點(diǎn): (1)(1) I/OI/O設(shè)備的地
17、址空間和存儲(chǔ)器地址空間是獨(dú)立的、分開的設(shè)備的地址空間和存儲(chǔ)器地址空間是獨(dú)立的、分開的, , 即即I/OI/O接口地址不占用存儲(chǔ)器的地址空間。接口地址不占用存儲(chǔ)器的地址空間。(2)(2) 微處理器對(duì)微處理器對(duì)I/OI/O設(shè)備的管理是利用專用的設(shè)備的管理是利用專用的IN(IN(輸入輸入) )和和 OUT( OUT(輸出輸出) )指令來實(shí)現(xiàn)數(shù)據(jù)傳送的。指令來實(shí)現(xiàn)數(shù)據(jù)傳送的。(3)(3) CPUCPU對(duì)對(duì)I/OI/O設(shè)備的讀設(shè)備的讀/ /寫控制是用寫控制是用I/OI/O讀讀/ /寫控制信寫控制信( ( 、 ) )。 特點(diǎn)特點(diǎn): :一個(gè)外設(shè)常有數(shù)據(jù)寄存器、狀態(tài)寄存器和控制一個(gè)外設(shè)常有數(shù)據(jù)寄存器、狀態(tài)寄存
18、器和控制 寄存器,需使每個(gè)寄存器均有一個(gè)端口地址才寄存器,需使每個(gè)寄存器均有一個(gè)端口地址才 可,所以一個(gè)外設(shè)常有若干個(gè)端口地址。可,所以一個(gè)外設(shè)常有若干個(gè)端口地址。 2.1 2.1 標(biāo)準(zhǔn)的標(biāo)準(zhǔn)的I/OI/O 尋址方式尋址方式23 1.1.存儲(chǔ)器映象存儲(chǔ)器映象I/OI/O尋址方式又稱為存儲(chǔ)器對(duì)應(yīng)尋址方式又稱為存儲(chǔ)器對(duì)應(yīng)I/OI/O尋址方式,尋址方式, 有有3 3個(gè)特點(diǎn):個(gè)特點(diǎn): (1)(1)I/OI/O接口與存儲(chǔ)器共用同一個(gè)地址空間。接口與存儲(chǔ)器共用同一個(gè)地址空間。即在系統(tǒng)設(shè)計(jì)時(shí)指即在系統(tǒng)設(shè)計(jì)時(shí)指 定存儲(chǔ)器地址空間內(nèi)的一個(gè)區(qū)域供定存儲(chǔ)器地址空間內(nèi)的一個(gè)區(qū)域供I/OI/O設(shè)備使用,故設(shè)備使用,故I
19、/OI/O設(shè)設(shè) 備的每一個(gè)寄存器占用存儲(chǔ)器空間的一個(gè)地址。備的每一個(gè)寄存器占用存儲(chǔ)器空間的一個(gè)地址。這時(shí)存儲(chǔ)這時(shí)存儲(chǔ) 器與器與I/OI/O設(shè)備之間的唯一區(qū)別是其所占用的地址不同。設(shè)備之間的唯一區(qū)別是其所占用的地址不同。(2)(2)CPUCPU利用對(duì)存儲(chǔ)器的存儲(chǔ)單元進(jìn)行操作的指令來實(shí)現(xiàn)對(duì)利用對(duì)存儲(chǔ)器的存儲(chǔ)單元進(jìn)行操作的指令來實(shí)現(xiàn)對(duì)I/OI/O設(shè)設(shè) 備的管理。備的管理。(3)(3)CPUCPU用存儲(chǔ)器讀用存儲(chǔ)器讀/ /寫控制信號(hào)寫控制信號(hào)( ( 、 ) )對(duì)對(duì)I/OI/O設(shè)備進(jìn)行讀設(shè)備進(jìn)行讀/ /寫寫 控制。控制。 2.2 2.2 存儲(chǔ)器映像存儲(chǔ)器映像I/OI/O 尋址方式尋址方式24 2. 2.
20、存儲(chǔ)器映象存儲(chǔ)器映象I/OI/O尋址方式的優(yōu)點(diǎn):尋址方式的優(yōu)點(diǎn): (1 1)CPUCPU對(duì)外設(shè)的操作可使用全部的存儲(chǔ)器操作指令,故指令對(duì)外設(shè)的操作可使用全部的存儲(chǔ)器操作指令,故指令多,使用方便,如可對(duì)外設(shè)中的數(shù)據(jù)多,使用方便,如可對(duì)外設(shè)中的數(shù)據(jù)( (存于外設(shè)的寄存器中存于外設(shè)的寄存器中) )進(jìn)進(jìn)行算術(shù)和邏輯運(yùn)算,進(jìn)行循環(huán)或移位等;行算術(shù)和邏輯運(yùn)算,進(jìn)行循環(huán)或移位等; (2 2)存儲(chǔ)器和外設(shè)的地址分布圖是同一個(gè);存儲(chǔ)器和外設(shè)的地址分布圖是同一個(gè); (3 3)不需要專門的輸入不需要專門的輸入/ /輸出指令。輸出指令。 3.3.其缺點(diǎn)有以下兩種:其缺點(diǎn)有以下兩種:(1 1)外設(shè)占用了內(nèi)存單元,使內(nèi)存
21、容量減?。煌庠O(shè)占用了內(nèi)存單元,使內(nèi)存容量減??;(2 2)存儲(chǔ)器操作指令通常要比存儲(chǔ)器操作指令通常要比I/OI/O指令的字節(jié)多,故指令的字節(jié)多,故 加長(zhǎng)了加長(zhǎng)了I/OI/O操作的時(shí)間。操作的時(shí)間。2.2 2.2 存儲(chǔ)器映像存儲(chǔ)器映像I/OI/O 尋址方式尋址方式251.1.輸入指令輸入指令I(lǐng)N AccIN Acc,PortPort或或IN AccIN Acc,DXDX 2.3 2.3 輸入輸出指令輸入輸出指令 輸入指令是把一個(gè)字節(jié)或一個(gè)字由輸入端口傳送輸入指令是把一個(gè)字節(jié)或一個(gè)字由輸入端口傳送至至AL(8AL(8位位Acc)Acc)或或AX(16AX(16位位Acc)Acc)或或EAX(32EA
22、X(32位位Acc)Acc)。 端口地址若是由指令中的端口地址若是由指令中的portport所規(guī)定,則只可尋所規(guī)定,則只可尋址址 0 0255255。端口地址若用寄存器端口地址若用寄存器DXDX間址,則允許尋間址,則允許尋址址64K64K個(gè)端口個(gè)端口。 注意注意: :累加器選用累加器選用ALAL、AXAX或或EAXEAX取決于端口的寬度。取決于端口的寬度。262.2.輸出指令輸出指令OUT PortOUT Port,AccAcc或或OUT DXOUT DX,AccAcc2.3 2.3 輸入輸出指令輸入輸出指令 輸出指令是把輸出指令是把ALAL中的一個(gè)字節(jié)或中的一個(gè)字節(jié)或AXAX中的一個(gè)字中的一
23、個(gè)字或者或者EAXEAX中的一個(gè)雙字,傳送至輸出端口。中的一個(gè)雙字,傳送至輸出端口。 端口尋址方式與端口尋址方式與ININ指令相同。指令相同。注意注意: :累加器選用累加器選用ALAL、AXAX或或EAXEAX取決于端口的寬度。取決于端口的寬度。27 80 x8680 x86微處理器都由低微處理器都由低1616位地址線尋址位地址線尋址 I/OI/O端口,故可尋址端口,故可尋址64K64K個(gè)個(gè)I/OI/O端口,但端口,但在實(shí)際的在實(shí)際的80 x86PC80 x86PC機(jī)中,只用了最前面機(jī)中,只用了最前面 1K1K個(gè)端口地個(gè)端口地址址,也即只尋址,也即只尋址1K1K范圍內(nèi)的范圍內(nèi)的I/OI/O空間
24、。因此僅使用了地址總線的空間。因此僅使用了地址總線的低低1010位,位,即只有地址線即只有地址線A9A9A0A0用于用于I/OI/O地址譯碼地址譯碼。 2.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼28 在在DMADMA操作時(shí),操作時(shí),DMADMA控制器控制了系統(tǒng)總線控制器控制了系統(tǒng)總線。DMADMA控制器在發(fā)出地控制器在發(fā)出地址的同時(shí)還要發(fā)出地址允許信號(hào)址的同時(shí)還要發(fā)出地址允許信號(hào)AENAEN,所以還必須將,所以還必須將DMADMA控制器發(fā)控制器發(fā)出的地址允許信號(hào)出的地址允許信號(hào)AENAEN也參加端口地址的譯碼,用也參加端口地址的譯碼,用AENAEN限定地址譯限定地址譯碼
25、電路的輸出。碼電路的輸出。當(dāng)當(dāng)AENAEN信號(hào)有效時(shí)即信號(hào)有效時(shí)即 DMADMA控制器控制系統(tǒng)總線時(shí),地址譯碼電路控制器控制系統(tǒng)總線時(shí),地址譯碼電路無輸出無輸出;當(dāng)當(dāng)AENAEN信號(hào)無效時(shí)即信號(hào)無效時(shí)即CPUCPU控制系統(tǒng)總線時(shí)控制系統(tǒng)總線時(shí), ,地址譯碼電路才有輸出地址譯碼電路才有輸出。 2.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼29 無論是大規(guī)模集成電路的接口芯片,還是基本的輸無論是大規(guī)模集成電路的接口芯片,還是基本的輸入輸出緩沖單元,都是由一個(gè)或多個(gè)寄存器加上一些入輸出緩沖單元,都是由一個(gè)或多個(gè)寄存器加上一些附加控制邏輯構(gòu)成的。附加控制邏輯構(gòu)成的。對(duì)這些寄存器的尋
26、址就是對(duì)接對(duì)這些寄存器的尋址就是對(duì)接口的尋址口的尋址。 通常采用通常采用兩級(jí)譯碼方法兩級(jí)譯碼方法,譯碼地址的,譯碼地址的高位組高位組確定一確定一個(gè)地址區(qū)域,作為個(gè)地址區(qū)域,作為組選組選信號(hào);信號(hào);低位組地址低位組地址直接接到芯直接接到芯片的地址輸入端,選擇芯片內(nèi)各寄存器。片的地址輸入端,選擇芯片內(nèi)各寄存器。 注意:注意: 組選信號(hào)和字選信號(hào)與片選信號(hào)和字選信號(hào)的區(qū)別?組選信號(hào)和字選信號(hào)與片選信號(hào)和字選信號(hào)的區(qū)別? 2.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼30 下圖所下圖所示的直接地址譯碼電路的輸出線分別用于輸示的直接地址譯碼電路的輸出線分別用于輸入和輸出。入和輸出。
27、2.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼1.1.直接地址譯碼直接地址譯碼 直接地址譯碼是一種局部譯碼方法直接地址譯碼是一種局部譯碼方法,按照系統(tǒng)分配給某接,按照系統(tǒng)分配給某接口的地址區(qū)域,對(duì)口的地址區(qū)域,對(duì)地址總線的某些位地址總線的某些位進(jìn)行譯碼,產(chǎn)生對(duì)該接進(jìn)行譯碼,產(chǎn)生對(duì)該接口包含的緩沖器和寄存器的口包含的緩沖器和寄存器的組選信號(hào)組選信號(hào),再由,再由低位地址線低位地址線對(duì)組對(duì)組內(nèi)緩沖器和寄存器譯碼尋址。內(nèi)緩沖器和寄存器譯碼尋址。 312.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼32 下圖所示的直接地址譯碼電路的輸出線,既可以用下圖所示的直接地址
28、譯碼電路的輸出線,既可以用于輸入也可以用于輸出。于輸入也可以用于輸出。2.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼33PCPC微機(jī)接口芯片的譯碼電路微機(jī)接口芯片的譯碼電路2.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼342.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼2.2.間接端口地址譯碼間接端口地址譯碼 間接端口地址譯碼僅使用兩個(gè)端口地址就可以對(duì)多個(gè)端口間接端口地址譯碼僅使用兩個(gè)端口地址就可以對(duì)多個(gè)端口進(jìn)行尋址,進(jìn)行尋址,第一個(gè)端口地址指向數(shù)據(jù)寄存器第一個(gè)端口地址指向數(shù)據(jù)寄存器,第二個(gè)端口地第二個(gè)端口地址指向地址寄存器址指向地址寄
29、存器。端口寄存器的地址數(shù)據(jù)總線都要先送到。端口寄存器的地址數(shù)據(jù)總線都要先送到地址寄存器,然后再根據(jù)地址寄存器的內(nèi)容來選擇端口寄存地址寄存器,然后再根據(jù)地址寄存器的內(nèi)容來選擇端口寄存器。器。從處理器看來,系統(tǒng)只須對(duì)地址寄存器和數(shù)據(jù)寄存器進(jìn)從處理器看來,系統(tǒng)只須對(duì)地址寄存器和數(shù)據(jù)寄存器進(jìn)行尋即可,對(duì)端口各寄存器的第二次尋址由地址寄存器的內(nèi)行尋即可,對(duì)端口各寄存器的第二次尋址由地址寄存器的內(nèi)容確定。容確定。 35 這種譯碼電路節(jié)省系統(tǒng)地址空間,但在尋址時(shí)必須把這種譯碼電路節(jié)省系統(tǒng)地址空間,但在尋址時(shí)必須把間接地址作為數(shù)據(jù)輸出,這樣就多使用了一條間接地址作為數(shù)據(jù)輸出,這樣就多使用了一條OUTOUT指令
30、。指令。 2.4 2.4 I/OI/O 接口的端口地址譯碼接口的端口地址譯碼間接端口譯碼電路圖間接端口譯碼電路圖 36分析:分析:1 1、74LS24574LS245為其數(shù)據(jù)寄存器端口,為其數(shù)據(jù)寄存器端口,74LS17574LS175為其地址寄為其地址寄 存器端口。存器端口。2 2、當(dāng)、當(dāng)A0=0A0=0時(shí),尋址時(shí),尋址74LS24574LS245數(shù)據(jù)寄存器端口,把所尋數(shù)據(jù)寄存器端口,把所尋 外設(shè)的端口地址做為數(shù)據(jù)用外設(shè)的端口地址做為數(shù)據(jù)用ININ指令及指令及 通過數(shù)通過數(shù) 據(jù)總線送入據(jù)總線送入74LS24574LS245。3 3、當(dāng)、當(dāng)A0=1A0=1時(shí),尋址時(shí),尋址74LS17574LS1
31、75地址寄存器端口,把已讀地址寄存器端口,把已讀 入的外設(shè)的端口地址通過數(shù)據(jù)總線用入的外設(shè)的端口地址通過數(shù)據(jù)總線用OUTOUT指令及指令及 通過數(shù)據(jù)總線送入通過數(shù)據(jù)總線送入74LS17574LS175。373 31 12 2接口的基本概念接口的基本概念I(lǐng) I/ /O O指令和指令和I I/ /O O地址譯碼地址譯碼簡(jiǎn)單的簡(jiǎn)單的I/OI/O接口接口38 在接口電路中,大量使用三態(tài)緩沖器、寄存器和三態(tài)在接口電路中,大量使用三態(tài)緩沖器、寄存器和三態(tài)緩沖寄存器來作微處理器與外部設(shè)備的緩沖寄存器來作微處理器與外部設(shè)備的數(shù)字量通道數(shù)字量通道,用來,用來輸入輸出數(shù)據(jù)或檢測(cè)和控制與之相連接的外部設(shè)備。輸入輸出
32、數(shù)據(jù)或檢測(cè)和控制與之相連接的外部設(shè)備。微處理器可以將接口電路中的三態(tài)緩沖微處理器可以將接口電路中的三態(tài)緩沖( (寄存寄存) )器視為存儲(chǔ)器視為存儲(chǔ)單元,把控制或狀態(tài)信號(hào)作為數(shù)據(jù)位信息寫到寄存器中或單元,把控制或狀態(tài)信號(hào)作為數(shù)據(jù)位信息寫到寄存器中或從三態(tài)緩沖從三態(tài)緩沖( (寄存寄存) )器中讀出。寄存器的輸出信號(hào)可以接到器中讀出。寄存器的輸出信號(hào)可以接到外部設(shè)備上,外部設(shè)備的信號(hào)也可以輸入到三態(tài)緩沖寄存外部設(shè)備上,外部設(shè)備的信號(hào)也可以輸入到三態(tài)緩沖寄存器中。器中。小結(jié):小結(jié):微處理器都是通過三態(tài)緩沖微處理器都是通過三態(tài)緩沖( (寄存寄存) )器檢測(cè)器檢測(cè)外設(shè)的狀態(tài),通過輸出寄存器發(fā)出控制信號(hào)。外
33、設(shè)的狀態(tài),通過輸出寄存器發(fā)出控制信號(hào)。 39作用:作用:數(shù)據(jù)輸出寄存器用來寄存微處理器送出的數(shù)據(jù)和命令。數(shù)據(jù)輸出寄存器用來寄存微處理器送出的數(shù)據(jù)和命令。數(shù)據(jù)傳輸方向:數(shù)據(jù)傳輸方向:CPUCPU至外設(shè)。至外設(shè)。74LS27374LS273可以用作無條件可以用作無條件傳送的輸出接口電路。傳送的輸出接口電路。 3.1 3.1 數(shù)據(jù)輸出寄存器數(shù)據(jù)輸出寄存器8D8D觸發(fā)器觸發(fā)器74LS27374LS27340控制數(shù)據(jù)傳輸?shù)姆椒ǎ簣?zhí)行控制數(shù)據(jù)傳輸?shù)姆椒ǎ簣?zhí)行OUTOUT指令時(shí)指令時(shí), ,微處理器發(fā)出寫寄存器微處理器發(fā)出寫寄存器信號(hào),該信號(hào)是由端口地址和信號(hào),該信號(hào)是由端口地址和 相負(fù)與產(chǎn)生的,控制相負(fù)與產(chǎn)
34、生的,控制CLKCLK。MOV DX, 380HMOV DX, 380HOUT DX, ALOUT DX, AL七段顯示碼七段顯示碼3.1 3.1 數(shù)據(jù)輸出寄存器數(shù)據(jù)輸出寄存器輸出接口的連接以及編程輸出接口的連接以及編程41作用:作用:外設(shè)輸入的數(shù)據(jù)和狀態(tài)信號(hào),通過數(shù)據(jù)輸入三態(tài)外設(shè)輸入的數(shù)據(jù)和狀態(tài)信號(hào),通過數(shù)據(jù)輸入三態(tài) 緩沖器經(jīng)數(shù)據(jù)總線傳送給微處理器。緩沖器經(jīng)數(shù)據(jù)總線傳送給微處理器。數(shù)據(jù)傳輸方向:數(shù)據(jù)傳輸方向:外設(shè)至外設(shè)至CPUCPU 。74LS24474LS244三態(tài)總線驅(qū)動(dòng)器三態(tài)總線驅(qū)動(dòng)器 74LS24474LS244可以用作無條可以用作無條件傳送的輸入接口電路。件傳送的輸入接口電路。 3
35、.2 3.2 數(shù)據(jù)輸入三態(tài)緩沖器數(shù)據(jù)輸入三態(tài)緩沖器42MOV DX, 380HMOV DX, 380HIN AL, DXIN AL, DX按鍵數(shù)據(jù)按鍵數(shù)據(jù)輸入接口的連接及編程輸入接口的連接及編程3.2 3.2 數(shù)據(jù)輸入三態(tài)緩沖器數(shù)據(jù)輸入三態(tài)緩沖器注意:其輸出允許信號(hào)的產(chǎn)生方法。注意:其輸出允許信號(hào)的產(chǎn)生方法。43組成:組成:三態(tài)緩沖寄存器是三態(tài)緩沖器和寄存器組成的。三態(tài)緩沖寄存器是三態(tài)緩沖器和寄存器組成的。注意:注意:1 1、數(shù)據(jù)進(jìn)入寄存器寄存后并不立即從寄存器輸出,數(shù)據(jù)進(jìn)入寄存器寄存后并不立即從寄存器輸出, 要經(jīng)過三態(tài)緩沖才能輸出。要經(jīng)過三態(tài)緩沖才能輸出。 2 2、三態(tài)緩沖寄存器既可以作數(shù)據(jù)
36、輸入寄存器,又三態(tài)緩沖寄存器既可以作數(shù)據(jù)輸入寄存器,又 可作數(shù)據(jù)輸出寄存器??勺鲾?shù)據(jù)輸出寄存器。 3 3、寄存器既可以由觸發(fā)器構(gòu)成,也可以鎖存器構(gòu)寄存器既可以由觸發(fā)器構(gòu)成,也可以鎖存器構(gòu) 成。成。觸發(fā)器與鎖存器是有差別的觸發(fā)器與鎖存器是有差別的。 74LS37374LS373就是三態(tài)緩沖鎖存器,就是三態(tài)緩沖鎖存器,74LS37474LS374是三態(tài)緩沖觸是三態(tài)緩沖觸發(fā)器,它的引線排列與發(fā)器,它的引線排列與74LS37374LS373相同。相同。 3.3 3.3 三態(tài)緩沖寄存器三態(tài)緩沖寄存器44PSPS信號(hào)的作用:信號(hào)的作用:1 1、做片選信號(hào)。、做片選信號(hào)。2 2、控制輸入寄存器的時(shí)鐘信號(hào)。、
37、控制輸入寄存器的時(shí)鐘信號(hào)。3 3、控制輸出緩沖器的輸出允許信號(hào)。、控制輸出緩沖器的輸出允許信號(hào)。3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用453.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用注意:注意:圖中的圖中的 不僅僅是對(duì)地址信號(hào)譯碼的輸出信號(hào),其中不僅僅是對(duì)地址信號(hào)譯碼的輸出信號(hào),其中也包含有輸入和輸出的讀、寫信號(hào)。若使用的僅僅是對(duì)地址信也包含有輸入和輸出的讀、寫信號(hào)。若使用的僅僅是對(duì)地址信號(hào)譯碼的輸出信號(hào),則要將它和號(hào)譯碼的輸出信號(hào),則要將它和 或者或者 相與后才能用相與后才能用作讀緩沖器或?qū)懠拇嫫鞯男盘?hào)作讀緩沖器或?qū)懠拇嫫鞯男盘?hào)。 46 發(fā)光二極
38、管顯示器(發(fā)光二極管顯示器(LEDLED)是微型計(jì)算機(jī)應(yīng)用系統(tǒng)中)是微型計(jì)算機(jī)應(yīng)用系統(tǒng)中常用的輸出裝置。常用的輸出裝置。 3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用1.1.七段發(fā)光二極管顯示器接口七段發(fā)光二極管顯示器接口 47七段顯示器動(dòng)態(tài)顯示接口電路七段顯示器動(dòng)態(tài)顯示接口電路3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用483.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用七段發(fā)光二極管顯示器的接口七段發(fā)光二極管顯示器的接口分兩種分兩種:靜態(tài)顯示接口:靜態(tài)顯示接口和動(dòng)態(tài)顯示接口。和動(dòng)態(tài)顯示接口。靜態(tài)顯示接口的特點(diǎn)靜態(tài)顯示接口的特點(diǎn): :每
39、個(gè)數(shù)碼管的陽極單獨(dú)用一組每個(gè)數(shù)碼管的陽極單獨(dú)用一組寄存器控制,并且其公共點(diǎn)接地。寄存器控制,并且其公共點(diǎn)接地。動(dòng)態(tài)顯示接口的特點(diǎn)動(dòng)態(tài)顯示接口的特點(diǎn): :幾個(gè)數(shù)碼管公用兩組寄存器,幾個(gè)數(shù)碼管公用兩組寄存器,一組寄存器稱為段選寄存器,另一組寄存器稱為位選一組寄存器稱為段選寄存器,另一組寄存器稱為位選寄存器。寄存器。動(dòng)態(tài)顯示的機(jī)理如上圖所示。動(dòng)態(tài)顯示的機(jī)理如上圖所示。493.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用思路:思路:1 1、動(dòng)態(tài)顯示的過程。動(dòng)態(tài)顯示的過程。2 2、數(shù)碼管顯示數(shù)碼管顯示0-90-9時(shí),數(shù)碼與段選寄存器時(shí),數(shù)碼與段選寄存器74LS27374LS273輸輸 出
40、數(shù)據(jù)的關(guān)系,出數(shù)據(jù)的關(guān)系, 例:數(shù)碼管顯示例:數(shù)碼管顯示5 5,g-a=1101101,g-a=1101101, 則則Q Q6 6-Q-Q0 0=0010010=12H=0010010=12H, 從而數(shù)碼從而數(shù)碼0-90-9對(duì)應(yīng)段選寄存器對(duì)應(yīng)段選寄存器74LS27374LS273輸出的數(shù)據(jù)輸出的數(shù)據(jù) 代碼為:代碼為: 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H. 40H,79H,24H,30H,19H,12H,02H,78H,00H,18H.3 3、如何由輸入的十進(jìn)制數(shù)碼轉(zhuǎn)換為如何由輸入的十進(jìn)制數(shù)碼轉(zhuǎn)換為74LS27374LS273輸出的數(shù)輸出的數(shù) 據(jù)代碼?
41、據(jù)代碼?50 把從把從PCPC機(jī)的鍵盤鍵入的六位十進(jìn)制數(shù)送七段顯示器機(jī)的鍵盤鍵入的六位十進(jìn)制數(shù)送七段顯示器顯示的程序如下:顯示的程序如下: IBF DB 7IBF DB 7,0 0,7 DUP(0)7 DUP(0)SEGPT DB 40H,79H,24H,30H,19HSEGPT DB 40H,79H,24H,30H,19H DB 12H,02H,78H,00H,18H DB 12H,02H,78H,00H,18H MOV DX MOV DX,OFFSET IBF OFFSET IBF ;鍵盤鍵入六位十進(jìn)制數(shù)鍵盤鍵入六位十進(jìn)制數(shù) MOV AH MOV AH,1010 INT 21H INT 2
42、1HAGANOAGANO: MOV BPMOV BP,OFFSET IBF+2 OFFSET IBF+2 ;建立指針,最高位數(shù)的地址建立指針,最高位數(shù)的地址 MOV AH MOV AH,20H 20H ;位指針代碼,位指針代碼,20H20H為最高位為最高位 MOV BH MOV BH,0 0 ;將鍵入的將鍵入的ASCIIASCII碼變?yōu)榇a變?yōu)锽CDBCD數(shù)數(shù)AGANIAGANI: MOV BLMOV BL,DSDS:BPBP AND BL AND BL,0FH 0FH ;取鍵入的取鍵入的BCDBCD數(shù)碼數(shù)碼 MOV AL MOV AL,SEGPTBX SEGPTBX ;取取BCDBCD數(shù)的七段
43、顯示代碼數(shù)的七段顯示代碼3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用51 MOV DX MOV DX,380H 380H ;輸出段碼輸出段碼 OUT DX OUT DX,ALAL MOV AL MOV AL,AH AH ;輸出位碼輸出位碼 MOV DX MOV DX,384H384H OUT DX OUT DX,ALAL MOV CX MOV CX,1000 1000 ;延時(shí)延時(shí) AA: LOOP AA AA: LOOP AA INC BP INC BP ;調(diào)整調(diào)整BCDBCD數(shù)存放指針數(shù)存放指針 SHR AHSHR AH,1 1 ;調(diào)整位指針調(diào)整位指針 AND AHAND
44、 AH,AH AH ;鍵入的鍵入的6 6位數(shù)都輸出否位數(shù)都輸出否? ? JNZ AGANI JNZ AGANI ;6 6位數(shù)都已輸出則退出內(nèi)循環(huán)位數(shù)都已輸出則退出內(nèi)循環(huán) MOV AH MOV AH,11 11 ;功能調(diào)用檢查鍵盤有無輸入;功能調(diào)用檢查鍵盤有無輸入 INT 21HINT 21H CMP AL CMP AL,0 0 ;有輸入;有輸入AL=0FFHAL=0FFH,無輸入,無輸入AL=0AL=0 JE AGANO JE AGANO ;有鍵入結(jié)束運(yùn)行,無鍵入循環(huán);有鍵入結(jié)束運(yùn)行,無鍵入循環(huán) 3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用52 本節(jié)介紹的鍵盤是由若干個(gè)按鍵
45、組成的開關(guān)矩陣,用本節(jié)介紹的鍵盤是由若干個(gè)按鍵組成的開關(guān)矩陣,用于向計(jì)算機(jī)輸入數(shù)字、字符等代碼,是最常用的輸入電路。于向計(jì)算機(jī)輸入數(shù)字、字符等代碼,是最常用的輸入電路。 抖動(dòng)問題:抖動(dòng)問題:在鍵盤的按鍵操作中,其開或閉均會(huì)產(chǎn)生在鍵盤的按鍵操作中,其開或閉均會(huì)產(chǎn)生101020ms20ms的抖動(dòng),可能導(dǎo)致一次按鍵被計(jì)算機(jī)多次讀入的的抖動(dòng),可能導(dǎo)致一次按鍵被計(jì)算機(jī)多次讀入的情況。通常采有情況。通常采有RCRC吸收電路或吸收電路或RSRS觸發(fā)器組成的閂鎖電路來觸發(fā)器組成的閂鎖電路來消除按鍵抖動(dòng);也可以采用軟件延時(shí)的方法消除抖動(dòng)。消除按鍵抖動(dòng);也可以采用軟件延時(shí)的方法消除抖動(dòng)。這里設(shè)開關(guān)為理想開關(guān)即沒有
46、抖動(dòng)。這里設(shè)開關(guān)為理想開關(guān)即沒有抖動(dòng)。 3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用2.2.鍵盤接口鍵盤接口 53 下圖是一個(gè)下圖是一個(gè)4 44 4鍵盤及其接口電路,用它向計(jì)算機(jī)輸鍵盤及其接口電路,用它向計(jì)算機(jī)輸入入0 0F 16F 16個(gè)十六進(jìn)制數(shù)碼。個(gè)十六進(jìn)制數(shù)碼。 3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用543.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用注意:行選擇線為低電平有效注意:行選擇線為低電平有效思路:思路:1 1、鍵盤的結(jié)構(gòu):鍵盤的結(jié)構(gòu):2 2、代碼的生成:代碼的生成:3 3、如何檢測(cè)是否有鍵按下?如何檢測(cè)是否有鍵按
47、下?4 4、如何確定按下的鍵是何鍵如何確定按下的鍵是何鍵? ? 由其列值和行值組成對(duì)應(yīng)的代碼,和代碼表對(duì)照由其列值和行值組成對(duì)應(yīng)的代碼,和代碼表對(duì)照 即可。即可。55KEYTAB DB 7EH,7DH,0BDH,0DDH,7BH,0BBH,0DBH,77H,KEYTAB DB 7EH,7DH,0BDH,0DDH,7BH,0BBH,0DBH,77H, DB 0B7H,0D7H,0E7H,0EBH,0EDH,0EEH,0DE,0BEH DB 0B7H,0D7H,0E7H,0EBH,0EDH,0EEH,0DE,0BEH MOV DX MOV DX,OFFSET IBF OFFSET IBF ;鍵盤鍵
48、入六位十進(jìn)制數(shù)鍵盤鍵入六位十進(jìn)制數(shù) MOV AH MOV AH,1010 INT 21H INT 21HLOP1LOP1: MOV DX,380H MOV DX,380H ;檢測(cè)是否有鍵按下檢測(cè)是否有鍵按下 MOV AL MOV AL,0 0 OUT DX,AL OUT DX,AL MOV DX,384H MOV DX,384H IN AL,DX IN AL,DX AND AL,0F0H AND AL,0F0H CMP AL,0F0H CMP AL,0F0H JE LOP1 ; JE LOP1 ;無鍵按下無鍵按下3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用56 MOV BX
49、,0 ; MOV BX,0 ;數(shù)據(jù)區(qū)的位移量送至數(shù)據(jù)區(qū)的位移量送至BXBX MOV AH,77H ; MOV AH,77H ;檢測(cè)鍵盤的行的輸出值檢測(cè)鍵盤的行的輸出值0111B0111BLOP2LOP2: MOV DX,380H MOV DX,380H ;檢測(cè)鍵盤的第一行檢測(cè)鍵盤的第一行 MOV AL MOV AL,AHAH OUT DX,AL OUT DX,AL MOV DX,384H MOV DX,384H IN AL,DX IN AL,DX AND AL,0F0H AND AL,0F0H CMP AL,0F0H CMP AL,0F0H JNE LOP3 JNE LOP3 ROR AH,1
50、 ; ROR AH,1 ;該行無鍵閉合檢測(cè)另一行該行無鍵閉合檢測(cè)另一行 JMP LOP2 JMP LOP2LOP3LOP3: AND AH,0FHAND AH,0FH OR AL,AH OR AL,AH ;閉合鍵的列值與行值組合編碼;閉合鍵的列值與行值組合編碼3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用57LOP4LOP4: CMP AL,KEYTABBX CMP AL,KEYTABBX ;將閉合鍵的編碼轉(zhuǎn)換為該鍵;將閉合鍵的編碼轉(zhuǎn)換為該鍵 JE LOP5 JE LOP5 代表的十六進(jìn)制數(shù)字代表的十六進(jìn)制數(shù)字 INC BX INC BX JMP LPO4JMP LPO4LO
51、P5LOP5: ADD BL,30H ;ADD BL,30H ;將十六進(jìn)制數(shù)轉(zhuǎn)換為將十六進(jìn)制數(shù)轉(zhuǎn)換為ASCIIASCII碼碼 CMP BL,3AH BX CMP BL,3AH BX(BL)BL)是該代碼的地址偏移是該代碼的地址偏移 JC LOP6 JC LOP6 量,即其對(duì)應(yīng)的數(shù)碼。量,即其對(duì)應(yīng)的數(shù)碼。 ADD BL,7 ADD BL,7LOP6LOP6: MOV DL,BLMOV DL,BL MOV AH,2 MOV AH,2 INT 21H INT 21H3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用58 撥盤種類很多,使用最方便的是十進(jìn)制數(shù)輸入,撥盤種類很多,使用最方便
52、的是十進(jìn)制數(shù)輸入,BCDBCD碼輸出的碼輸出的BCDBCD碼撥盤。碼撥盤。 3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用3. BCD3. BCD碼撥盤及其接口碼撥盤及其接口 59 將下圖所示撥盤組輸入的將下圖所示撥盤組輸入的8 8位十進(jìn)制數(shù)讀入數(shù)據(jù)區(qū)并送位十進(jìn)制數(shù)讀入數(shù)據(jù)區(qū)并送顯示器顯示。顯示器顯示。3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用603.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用注意:注意:1 1、74LS27374LS273的位選信號(hào)是低電平有效的位選信號(hào)是低電平有效2 2、74LS24474LS244的輸入數(shù)據(jù)是由與非
53、門轉(zhuǎn)換后變?yōu)檎5牡妮斎霐?shù)據(jù)是由與非門轉(zhuǎn)換后變?yōu)檎5?BCD BCD碼。碼。61 IBUF DB 8 DUP(0) IBUF DB 8 DUP(0) OBUF 9 DUP(0) OBUF 9 DUP(0) MOV BX MOV BX,0 0 ;撥盤輸入數(shù)據(jù)區(qū)的位移量;撥盤輸入數(shù)據(jù)區(qū)的位移量 MOV AH MOV AH,80H 80H ;撥盤位選值;撥盤位選值 LOP1LOP1: MOV DXMOV DX,384H 384H ;撥盤位選值輸出;撥盤位選值輸出 MOV ALMOV AL,AHAH NOT AL NOT AL OUT DX OUT DX,ALAL MOV DX MOV DX,380
54、H 380H ;讀入一位撥盤值,存入;讀入一位撥盤值,存入 IN AL IN AL,DXDX AND AL AND AL,0FH0FH MOV IBUFBX MOV IBUFBX,ALAL INC BX INC BX ;改變數(shù)據(jù)區(qū)的位移量;改變數(shù)據(jù)區(qū)的位移量 SHR AH SHR AH,1 1 ;改變撥盤的位選值;改變撥盤的位選值 AND AH AND AH,AH AH ;檢測(cè);檢測(cè)8 8位是否已讀入位是否已讀入 JNZ LOP1 JNZ LOP13.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用62 MOV SI MOV SI,OFFSET IBUF+7 OFFSET IBUF
55、+7 ;將輸入值變?yōu)椋粚⑤斎胫底優(yōu)锳SCIIASCII碼送碼送 輸出數(shù)據(jù)區(qū)輸出數(shù)據(jù)區(qū) MOV DI MOV DI,OFFSET OBUF+7OFFSET OBUF+7 MOV CX MOV CX,8 8LOP2LOP2: MOV ALMOV AL,SISI ADD AL ADD AL,30H30H MOV DI MOV DI,ALAL DEC SI DEC SI DEC DI DEC DI LOOP LOP2 LOOP LOP2 MOV OBUF+8 MOV OBUF+8, $ $ MOV DX MOV DX,OFFSET OBUF OFFSET OBUF ;將;將8 8位撥盤值送顯示器顯示位
56、撥盤值送顯示器顯示 MOV AH MOV AH,9 9 INT 21H INT 21H3.4 3.4 寄存器和緩沖器接口的應(yīng)用寄存器和緩沖器接口的應(yīng)用63較早期的打印機(jī)適配器是以板卡形式插在主機(jī)板的總較早期的打印機(jī)適配器是以板卡形式插在主機(jī)板的總線槽中的,隨著芯片集成度的提高,主機(jī)板集成了越來越線槽中的,隨著芯片集成度的提高,主機(jī)板集成了越來越多的部件和相應(yīng)功能,打印機(jī)適配器也因此作為一個(gè)部件多的部件和相應(yīng)功能,打印機(jī)適配器也因此作為一個(gè)部件集成于主機(jī)板中,但原理和對(duì)外信號(hào)連接仍然相同。本節(jié)集成于主機(jī)板中,但原理和對(duì)外信號(hào)連接仍然相同。本節(jié)介紹較早期的打印機(jī)適配器的工作原理,該適配器不僅可介紹較早期的打印機(jī)適配器的工作原理,該適配器不僅可以用作連接打印機(jī)的接口電路,也可以作為通用輸入輸出以用作連接打印機(jī)的接口電路,也可以作為通用輸入輸出接口。接口。 打印機(jī)適
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新小區(qū)物業(yè)承包合同示例
- 2024系統(tǒng)開發(fā)合同
- 2024年餐廳租賃合同模板
- 2024分期付款購買合同
- 文化節(jié)慶活動(dòng)贊助協(xié)議
- 2025年會(huì)計(jì)專業(yè)考試高級(jí)會(huì)計(jì)實(shí)務(wù)試卷及解答參考
- 排水箱涵勞務(wù)分包合同2024年
- 城市管道天然氣特許經(jīng)營(yíng)合同
- 撫養(yǎng)權(quán)變更協(xié)議模板2024年
- 協(xié)商一致解除勞動(dòng)合同書樣本
- 新蘇教版五年級(jí)上冊(cè)科學(xué)全冊(cè)教學(xué)課件(2022年春整理)
- 小學(xué)體育水平一《走與游戲》教學(xué)設(shè)計(jì)
- 秋日私語(完整精確版)克萊德曼(原版)鋼琴雙手簡(jiǎn)譜 鋼琴譜
- 辦公室室內(nèi)裝修工程技術(shù)規(guī)范
- 鹽酸安全知識(shí)培訓(xùn)
- 萬盛關(guān)于成立醫(yī)療設(shè)備公司組建方案(參考模板)
- 消防安全巡查記錄臺(tái)帳(共2頁)
- 科技特派員工作調(diào)研報(bào)告
- 中波廣播發(fā)送系統(tǒng)概述
- 縣疾控中心中層干部競(jìng)聘上崗實(shí)施方案
- 急性心肌梗死精美PPt完整版
評(píng)論
0/150
提交評(píng)論