版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1Email:dpi_L第第5章章 中斷、中斷、DMA控制器和計(jì)數(shù)控制器和計(jì)數(shù)/定時(shí)器定時(shí)器 中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253 多功能接口芯片823802Email:dpi_L1 中斷控制器中斷控制器8259A 8259A的工作特點(diǎn) 8259A的引腳信號(hào) 8259A的編程結(jié)構(gòu)和工作原理 8259A的工作方式 8259A的初始化命令字和操作命令字 8259A使用舉例 多片8259A組成的主從式中斷系統(tǒng)3Email:dpi_L1.1 8259A的工作特點(diǎn)的工作特點(diǎn) 中斷控制器:在有多個(gè)中斷源的系統(tǒng)中,接收外部的中斷請(qǐng)求,再將此請(qǐng)求送到CPU的INTR端;當(dāng)CPU
2、響應(yīng)中斷并進(jìn)入中斷子程序的處理過(guò)程后,由中斷控制器負(fù)責(zé)對(duì)外部中斷請(qǐng)求的管理。Intel 8259A是Intel 公司生產(chǎn)的專門(mén)用于中斷控制的芯片。單片8259A可管理8級(jí)中斷。通過(guò)級(jí)連,可管理多于8級(jí)的中斷。每一級(jí)中斷都可通過(guò)編程使之被屏蔽或被允許??赏ㄟ^(guò)編程設(shè)定幾種不同的工作方式。只需要一組5V電源。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器82534Email:dpi_L1.2 8259A的引腳信號(hào)的引腳信號(hào) 8259A是28管腳芯片D7D0:數(shù)據(jù)引線-CS:芯片選通信號(hào)INT:中斷請(qǐng)求輸出端A0:選擇端口-INTA:中斷應(yīng)答信號(hào)IR7IR0:I/
3、O設(shè)備發(fā)送的中斷請(qǐng)求-RD:讀信號(hào)-WR:寫(xiě)信號(hào)CAS2CAS0:指示從片-SP/-EN: 非緩沖方式主從片標(biāo)示 緩沖方式的數(shù)據(jù)總線驅(qū)動(dòng)器的啟動(dòng)信號(hào)8259A管腳圖第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器82535Email:dpi_L1.3 8259A的編程結(jié)構(gòu)和工作原理的編程結(jié)構(gòu)和工作原理 8259A的編程結(jié)構(gòu)圖第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器82536Email:dpi_L1.3.1 編程結(jié)構(gòu)編程結(jié)構(gòu)上半部分:處理部件中斷請(qǐng)求寄存器IRR:8位,接收外設(shè)中斷請(qǐng)求。當(dāng)前中斷服務(wù)寄存器ISR:8位
4、,用來(lái)存放現(xiàn)在正在處理的中斷請(qǐng)求。中斷優(yōu)先級(jí)裁決器PR:用來(lái)將新收到的中斷請(qǐng)求和ISR中的當(dāng)前正在處理的中斷進(jìn)行比較,以判斷新的中斷請(qǐng)求是否有足夠高的優(yōu)先級(jí)。下半部分:7個(gè)寄存器ICW1ICW4 :初始化命令字,是計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí)由初始化程序設(shè)置的,設(shè)置后通常不再改變。OCW1OCW3 :操作命令字,是由應(yīng)用程序設(shè)定的,并且在程序運(yùn)行過(guò)程中可被多次設(shè)置。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器82537Email:dpi_L1.3.2 工作原理工作原理 IRR接收外部中斷請(qǐng)求并鎖存后,邏輯電路根據(jù)OCW1中對(duì)應(yīng)位決定是否讓此請(qǐng)求通過(guò)。如OCW1對(duì)應(yīng)位
5、為0,則中斷請(qǐng)求進(jìn)入PR。如OCW1對(duì)應(yīng)位為1,則中斷請(qǐng)求被封鎖。PR把新的中斷請(qǐng)求和ISR中當(dāng)前正在處理的中斷相比較。如新的中斷請(qǐng)求有足夠高的優(yōu)先級(jí),就會(huì)通過(guò)8259的INT端輸出1,向CPU發(fā)出中斷請(qǐng)求。否則禁止發(fā)中斷請(qǐng)求。如CPU允許中斷,則CPU執(zhí)行完當(dāng)前指令后就可以響應(yīng)中斷,從INTA端向8259發(fā)出兩個(gè)負(fù)脈沖。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器82538Email:dpi_L1.3.2 工作原理工作原理第1個(gè)負(fù)脈沖到達(dá)時(shí)8259做4件事 使IRR鎖存功能失效不再接收外設(shè)中斷請(qǐng)求。 使ISR中的相應(yīng)位置1,為PR工作提供依據(jù)。 使IR
6、R相應(yīng)位清0。 對(duì)于級(jí)連系統(tǒng),主片從CAS2-CAS0向從片發(fā)一個(gè)編碼。第2個(gè)負(fù)脈沖到達(dá)時(shí),8259做3件事 恢復(fù)IRR鎖存功能,接受IR7-IR0的中斷請(qǐng)求。 將中斷類型碼送到數(shù)據(jù)總線。 如ICW4中的中斷自動(dòng)結(jié)束位為1,則將先前設(shè)置的ISR中的相應(yīng)位清0。 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器82539Email:dpi_L1.4 8259A的工作方式的工作方式 設(shè)置優(yōu)先級(jí)的方式 屏蔽中斷源的方式 結(jié)束中斷處理的方式 連接系統(tǒng)總線的方式 引入中斷請(qǐng)求的方式10Email:dpi_L1.4.1 設(shè)置優(yōu)先級(jí)的方式設(shè)置優(yōu)先級(jí)的方式全嵌套方式 默認(rèn)的
7、優(yōu)先級(jí)方式。中斷請(qǐng)求優(yōu)先級(jí)順序是IRQ0IRQ7在中斷服務(wù)程序執(zhí)行期間,禁止再發(fā)生同級(jí)或較低級(jí)的中斷,較高級(jí)的中斷請(qǐng)求仍能產(chǎn)生中斷,即出現(xiàn)中斷嵌套。特殊全嵌套方式 特殊全嵌套方式和一般全嵌套方式基本相同,不同之處在于響應(yīng)同級(jí)中斷。該方式一般用在級(jí)連系統(tǒng)中,對(duì)主片采用特殊全嵌套方式,從片則使用其它方式。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825311Email:dpi_L1.4.1 設(shè)置優(yōu)先級(jí)的方式設(shè)置優(yōu)先級(jí)的方式優(yōu)先級(jí)自動(dòng)循環(huán)方式用于系統(tǒng)中有多個(gè)優(yōu)先級(jí)相等的中斷源的情況。在這種方式下,優(yōu)先級(jí)隊(duì)列是變化的,初始時(shí)優(yōu)先級(jí)按IR0-IR7由高到低,當(dāng)某
8、級(jí)中斷被服務(wù)后,它的優(yōu)先級(jí)降為最低,它的下一級(jí)中斷的優(yōu)先級(jí)變?yōu)樽罡?,再下一個(gè)次之,依次類推。優(yōu)先級(jí)特殊循環(huán)方式 與優(yōu)先級(jí)自動(dòng)循環(huán)方式只有一點(diǎn)不同,即:初始的最低優(yōu)先級(jí)由編程來(lái)決定,而該最低優(yōu)先級(jí)的下一級(jí)的優(yōu)先級(jí)則為最高,在下一個(gè)次之,如此類推。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825312Email:dpi_L1.4.2 屏蔽中斷源的方式屏蔽中斷源的方式 普通屏蔽方式 在該方式中,8259A的每一條中斷請(qǐng)求線都可根據(jù)需要設(shè)置屏蔽,從而使這個(gè)中斷請(qǐng)求不能從8259A送到CPU 。特殊屏蔽方式 在該方式中,當(dāng)中斷服務(wù)程序用OCW1將本級(jí)中斷屏蔽時(shí),
9、可使當(dāng)前中斷服務(wù)寄存器ISR的對(duì)應(yīng)位自動(dòng)清0,從而可以接受其它級(jí)別較低的中斷。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825313Email:dpi_L1.4.3 結(jié)束中斷處理的方式結(jié)束中斷處理的方式 中斷自動(dòng)結(jié)束方式 當(dāng)某個(gè)中斷得到響應(yīng)時(shí),在中斷響應(yīng)周期的最后一個(gè)INTA脈沖的后沿,自動(dòng)地使中斷服務(wù)寄存器ISR的相應(yīng)位復(fù)位,從而結(jié)束中斷。此方式只能用于只有一個(gè)單片8259A的系統(tǒng)中,并且多個(gè)中斷不會(huì)嵌套的情況。非自動(dòng)中斷結(jié)束方式一般的中斷結(jié)束方式 特殊的中斷結(jié)束方式 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)
10、器825314Email:dpi_L1.4.3 結(jié)束中斷處理的方式結(jié)束中斷處理的方式一般的中斷結(jié)束方式 用于全嵌套方式,EOI命令自動(dòng)地把當(dāng)前ISR中優(yōu)先級(jí)最高的一位清0。因?yàn)樵谌短追绞街校罡叩姆橇鉏SR位對(duì)應(yīng)了最后一次被響應(yīng)和被處理的中斷。特殊的中斷結(jié)束方式 用于非全嵌套方式,因在該方式下無(wú)法確定最后響應(yīng)的是哪一級(jí)中斷,故應(yīng)向8259A發(fā)特殊EOI命令。這個(gè)命令指出了要清除當(dāng)前中斷服務(wù)寄存器ISR中的哪一位。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825315Email:dpi_L1.4.4 連接系統(tǒng)總線的方式連接系統(tǒng)總線的方式 緩沖方式 82
11、59A通過(guò)數(shù)據(jù)總線驅(qū)動(dòng)器(如:總線收發(fā)器8286)和數(shù)據(jù)總線相連,這就是緩沖方式。常用于多片8259A級(jí)連的大系統(tǒng)中,在緩沖方式下 ,有一個(gè)對(duì)總線驅(qū)動(dòng)器的啟動(dòng)問(wèn)題,為此,將8259A的SP/EN端和總線驅(qū)動(dòng)器的允許端相連, SP/EN作為輸出端。非緩沖方式 8259A的數(shù)據(jù)線直接與CPU的數(shù)據(jù)總線相連。SP/EN端作為輸入端,用于區(qū)分主從片。 當(dāng)系統(tǒng)中只有單片8259A時(shí),此8259A的SP/EN端必須接高電平。 當(dāng)系統(tǒng)中有多片8259A時(shí),主片的SP/EN端接高電平,而從片的SP/EN端接低電平。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825316
12、Email:dpi_L1.4.5 引入中斷請(qǐng)求的方式引入中斷請(qǐng)求的方式 邊沿觸發(fā)方式 中斷請(qǐng)求輸入端的上升沿作為中斷請(qǐng)求信號(hào)。電平觸發(fā)方式中斷請(qǐng)求輸入端的高電平作為中斷請(qǐng)求信號(hào)。注意:當(dāng)中斷輸入端出現(xiàn)一個(gè)中斷請(qǐng)求并得到響應(yīng)后,輸入端必須及時(shí)撤出高電平。 中斷查詢方式 8259A不向CPU發(fā)中斷請(qǐng)求信號(hào),而由CPU發(fā)查詢命令來(lái)獲得對(duì)請(qǐng)求設(shè)備的中斷優(yōu)先級(jí)。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825317Email:dpi_L1.5 8259A的初始化和操作命令字的初始化和操作命令字 8259A的初始化命令字 初始化流程 8259A的操作命令字18Em
13、ail:dpi_L1.5.1 8259A的初始化命令字的初始化命令字 ICW1的格式和含義 稱為芯片控制初始化命令字。必須寫(xiě)在偶地址端口中,即讓8259A的A0端為0。D7D5僅用于8080/8085系統(tǒng),可為任意。D4=1表示為ICW1,D4=0表示為操作命令字OCW2和OCW3,因?yàn)樗鼈兌紝?xiě)入偶地址端口,需要用D4加以區(qū)別。 LTIM該位設(shè)定中斷請(qǐng)求信號(hào)的形式,置1表示信號(hào)是電平觸發(fā)方式,置0為邊沿觸發(fā)。ADI 用于MCS8080/8085系統(tǒng),可為任意。SNGL置1,表示單片8259A,置0則為多片級(jí)連。IC4 若置1,需要ICW4,否則不需要。在8086/8088系統(tǒng)中,此位必定為1。
14、 ICW1的命令格式第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825319Email:dpi_L1.5.1 8259A的初始化命令字的初始化命令字 ICW2的格式和含義是設(shè)置中斷類型碼的初始化命令字,必須寫(xiě)入奇地址端口中,即讓8259A的A0端為1。T7T3 中斷向量類型碼高五位,由編程決定。D2D0 未用,可置0,中斷類型碼的低三位由引腳IR0IR7決定,分別從000到111。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825320Email:dpi_L1.5.1 8259A的初始化命令字的初始化命令字ICW3
15、的格式和含義 只用于級(jí)連系統(tǒng)中,是標(biāo)志主片/從片的初始化命令字,必須寫(xiě)到8259A的奇地址端口中。如是主片,IR7IR0 各位對(duì)應(yīng)所級(jí)連的各個(gè)從片。某位=1表示對(duì)應(yīng)引腳連有從片,否則表示對(duì)應(yīng)引腳未連從片,但可以連外部設(shè)備。如是從片: ID7ID3不用,置0。而ID2ID0對(duì)應(yīng)各個(gè)從片的標(biāo)識(shí)符,指出從片的INT輸出端連在主片的哪個(gè)輸入引腳,例如連在主片的IR5腳,ID2ID0為101 。主片從片第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825321Email:dpi_L1.5.1 8259A的初始化命令字的初始化命令字ICW4的格式和含義 ICW4:稱為
16、方式控制初始化命令字,它也要求寫(xiě)入奇地址端口,不過(guò),ICW4并不總是需要寫(xiě)入的,只有在ICW1的第0位為1時(shí),才有必要設(shè)置ICW4 ,否則,就不必設(shè)置。在8086/8088系統(tǒng)中,此位必定為1。D7D5=000作為ICW4命令字的標(biāo)識(shí)碼。 SFNM:規(guī)定了設(shè)置優(yōu)先級(jí)的方式,該位置1,則是特殊全嵌套方式,否則為一般全嵌套方式。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825322Email:dpi_L1.5.1 8259A的初始化命令字的初始化命令字BUF規(guī)定連接系統(tǒng)總線的方式,該位置1,則采用緩沖方式,否則采用非緩沖方式。M/-S緩沖方式下主從片標(biāo)示。
17、 緩沖方式,M/-S=1表示該8259A為主片,否則為從片。在非緩沖方式下,該位無(wú)效。 非緩沖方式下主從片標(biāo)示使用-SP/-EN引腳。AEOI規(guī)定結(jié)束中斷的方式。若采用中斷自動(dòng)結(jié)束方式,則該位置1,否則采用非自動(dòng)結(jié)束中斷方式。PM 微處理器方式,PM=1時(shí),表示8259A當(dāng)前所在系統(tǒng)為8086 /8088,否則為8080 / 8085 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825323Email:dpi_L1.5.2 初始化流程初始化流程 幾點(diǎn)說(shuō)明 ICW1寫(xiě)入偶端口。ICW2ICW4寫(xiě)入奇端口。ICW1ICW4的設(shè)置次序固定。ICW1和ICW2須
18、設(shè)置。ICW3和ICW4非必須。 在級(jí)聯(lián)時(shí),主片和從片分別設(shè)置ICW3。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825324Email:dpi_L1.5.2 初始化流程初始化流程對(duì)8259A設(shè)置初始化命令字的例子 設(shè)8259A的端口地址為80H、81H。程序如下:MOV AL,13H ;一片8259A,邊沿觸發(fā), 需要ICW4OUT 80H,AL ;設(shè)置ICW1MOV AL,18H ;中斷類型碼高5位為00011OUT 81H,AL ;設(shè)置ICW2MOV AL,0DH ;不用特殊全嵌套方式,不用 中斷自動(dòng)結(jié)束方式,用緩沖 方式,主片,16位系統(tǒng)OUT
19、 81H,AL ;設(shè)置ICW4 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825325Email:dpi_L1.5.3 8259A的操作命令字的操作命令字OCW1的格式和含義OCW1稱為中斷屏蔽操作命令字。要求寫(xiě)入8259A的奇地址端口(即A0=1)。當(dāng)OCW1中某一位為1時(shí),對(duì)應(yīng)于這一位的中斷請(qǐng)求就被屏蔽。當(dāng)OCW1中某一位為0時(shí),表示對(duì)應(yīng)的中斷請(qǐng)求得到允許。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825326Email:dpi_L1.5.3 8259A的操作命令字的操作命令字OCW2的格式和含義OCW2的
20、功能 設(shè)置優(yōu)先級(jí)循環(huán)方式。 設(shè)置中斷結(jié)束方式,包括:一般的中斷結(jié)束命令和特殊的中斷結(jié)束命令。要求寫(xiě)入偶地址端口(即A0=0)。R位:決定了系統(tǒng)的中斷優(yōu)先級(jí)是否按循環(huán)方式設(shè)置,如為1,表示采用優(yōu)先級(jí)循環(huán)方式;如為0,則為非循環(huán)方式。SL位:決定了OCW2中的L2、L1、L0是否有效,如為1,則有效,否則無(wú)效。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825327Email:dpi_L1.5.3 8259A的操作命令字的操作命令字EOI位:中斷結(jié)束命令位,當(dāng)EOI為1時(shí),使當(dāng)前中斷服務(wù)寄存器中的對(duì)應(yīng)位ISn復(fù)位,采用中斷自動(dòng)結(jié)束方式時(shí),此位為0。D4位:當(dāng)
21、D4=0時(shí),表示是命令字OCW2或OCW3,否則為命令字ICW1。D3位:當(dāng)D3=0時(shí),表示是命令字OCW2,否則為命令字OCW3。L2L0位:當(dāng)SL=1時(shí),這幾位有兩個(gè)用處 當(dāng)OCW2給出特殊的中斷結(jié)束命令時(shí),L2L0指出要清除當(dāng)前中斷服務(wù)寄存器中的哪一位; 當(dāng)OCW2給出優(yōu)先級(jí)特殊循環(huán)命令字時(shí), L2L0指出了循環(huán)開(kāi)始時(shí)哪個(gè)中斷的優(yōu)先級(jí)最低。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825328Email:dpi_L1.5.3 8259A的操作命令字的操作命令字OCW3的格式和功能OCW3的功能 設(shè)置和撤銷特殊屏蔽方式。 設(shè)置中斷查詢方式。 設(shè)置對(duì)
22、內(nèi)部寄存器的讀出命令 。要求寫(xiě)入偶地址端口(即A0=0)。D7:無(wú)用,可置0 。ESMM位:稱為特殊的屏蔽模式允許位,只有當(dāng)ESMM=1時(shí)SMM位才起作用 。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825329Email:dpi_L1.5.3 8259A的操作命令字的操作命令字SMM位:稱為特殊屏蔽模式位,當(dāng)ESMM=1且SMM=1時(shí),8259A脫離當(dāng)前的優(yōu)先級(jí)方式,而按照特殊屏蔽方式工作。當(dāng)再發(fā)送一個(gè)使ESMM=1且SMM=0的OCW3之后,系統(tǒng)恢復(fù)原來(lái)的優(yōu)先級(jí)方式 D4 D3:和OCW2中的作用相同。P位:稱為查詢方式位,當(dāng)P=1時(shí),使8259A
23、設(shè)置為中斷查詢工作方式,此后對(duì)偶地址端口執(zhí)行一條輸入指令,8259A會(huì)把一個(gè)查詢字送給CPU,查詢字表明: 當(dāng)前外設(shè)是否有中斷請(qǐng)求 當(dāng)前優(yōu)先級(jí)最高的中斷請(qǐng)求是哪一個(gè)外設(shè)。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825330Email:dpi_L1.5.3 8259A的操作命令字的操作命令字RR、RIS其組合讀寄存器的狀態(tài) 8259A內(nèi)部有幾個(gè)寄存器,可以讀至CPU中,供用戶了解8259A的工作狀態(tài)。 在讀命令之前,輸出一個(gè)OCW3,令其中RR=1,ISR=0,則用讀命令從偶地址可以讀入中斷請(qǐng)求寄存器IRR的狀態(tài)。 在讀命令之前,輸出一個(gè)OCW3,令其
24、中RR=1, ISR=1,則用讀命令從偶地址可以讀入當(dāng)前服務(wù)寄存器ISR的狀態(tài)。 用讀命令可隨時(shí)從奇地址讀入中斷屏蔽寄存器IMR的狀態(tài)。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825331Email:dpi_L1.6 8259A使用舉例使用舉例 關(guān)于中斷全嵌套方式的例子 關(guān)于如何使用中斷結(jié)束命令的例子 多片8259A組成的主從式中斷系統(tǒng)32Email:dpi_L1.6.1 關(guān)于中斷全嵌套方式的例子關(guān)于中斷全嵌套方式的例子 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253全嵌套:初始化后的默認(rèn)方式,系統(tǒng)不響應(yīng)
25、同級(jí)和較低級(jí)的中斷請(qǐng)求。中斷嵌套的條件IF=1在中斷處理程序中開(kāi)中斷。中斷處理程序完成后必須執(zhí)行中斷結(jié)束命令。33Email:dpi_L1.6.2 關(guān)于如何使用中斷結(jié)束命令的例子關(guān)于如何使用中斷結(jié)束命令的例子 全嵌套方式工作 非自動(dòng)結(jié)束方式 兩個(gè)重要結(jié)論中斷處理程序執(zhí)行STI指令才允許嵌套。中斷處理程序如執(zhí)行STI指令,并清除對(duì)應(yīng)ISn位,則未必符合優(yōu)先級(jí)規(guī)則。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825334Email:dpi_L1.6.3 多片多片8259A組成的主從式中斷系統(tǒng)組成的主從式中斷系統(tǒng) 第五章第五章 1 2 3中斷控制器8259A
26、DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825335Email:dpi_L2 DMA控制器控制器8237A DMA控制器的一般結(jié)構(gòu)和概要 DMA控制器8237A的原理36Email:dpi_L2.1 DMA控制器的一般結(jié)構(gòu)和概要控制器的一般結(jié)構(gòu)和概要 DMA控制器可以像CPU那樣得到總線的控制權(quán),實(shí)現(xiàn)外部設(shè)備和存儲(chǔ)器之間的數(shù)據(jù)高速傳輸。 一個(gè)DMA控制器通常可以連接一個(gè)或幾個(gè)輸入/輸出接口,每個(gè)接口通過(guò)一組連線和DMA控制器相連。習(xí)慣上,將DMA控制器中和某個(gè)接口有聯(lián)系的部分稱為一個(gè)通道。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825337Email:
27、dpi_L2.1 DMA控制器的一般結(jié)構(gòu)和概要控制器的一般結(jié)構(gòu)和概要DMA方式時(shí)外設(shè)往內(nèi)存?zhèn)鬏敂?shù)據(jù)的過(guò)程DMA控制器的初始化 傳送緩沖區(qū)的起始地址或結(jié)束地址。 設(shè)置傳輸?shù)淖止?jié)數(shù)或字?jǐn)?shù)。 當(dāng)接口中有數(shù)據(jù)要輸入時(shí),接口往DMA控制器發(fā)一個(gè)DMA請(qǐng)求。DMA控制器接到請(qǐng)求后,便往控制總線上發(fā)一個(gè)總線請(qǐng)求。如CPU允許讓出總線,則發(fā)一個(gè)總線允許信號(hào)。DMA控制器接到此信號(hào)后,得到總線控制權(quán)并將地址寄存器的內(nèi)容送到地址總線上,同時(shí)往接口發(fā)一個(gè)DMA回答信號(hào),并發(fā)一個(gè)I/O讀信號(hào)和一個(gè)內(nèi)存寫(xiě)信號(hào)。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825338Email:d
28、pi_L2.1 DMA控制器的一般結(jié)構(gòu)和概要控制器的一般結(jié)構(gòu)和概要接口接到DMA回答信號(hào)以后,將數(shù)據(jù)送到數(shù)據(jù)總線上,并撤出DMA請(qǐng)求信號(hào)。 內(nèi)存在接收到數(shù)據(jù)以后,一般往DMA控制器回送一個(gè)準(zhǔn)備好信號(hào)。DMA控制器接收到準(zhǔn)備好信號(hào)后,地址寄存器的值加1或減1,字節(jié)計(jì)數(shù)器的值減1,而且撤出總線請(qǐng)求信號(hào)。這樣就完成了對(duì)一個(gè)數(shù)據(jù)的DMA輸入傳輸。下一次當(dāng)接口中有準(zhǔn)備好數(shù)據(jù)時(shí),轉(zhuǎn)到便可以進(jìn)行一次新的傳輸。當(dāng)計(jì)數(shù)器的值減為0時(shí),DMA傳輸過(guò)程便結(jié)束,此時(shí),DMA控制器往接口發(fā)一個(gè)計(jì)數(shù)結(jié)束信號(hào),以表示DMA傳輸結(jié)束。 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825
29、339Email:dpi_L2.2 DMA控制器控制器8237A的原理的原理 8237A的編程結(jié)構(gòu)和外部連接 8237A的工作模式和模式寄存器的格式 控制寄存器的格式和有關(guān)問(wèn)題 狀態(tài)寄存器的格式 請(qǐng)求標(biāo)志和屏蔽標(biāo)志的設(shè)置 復(fù)位命令和清除先/后觸發(fā)器命令 8237A各寄存器對(duì)應(yīng)的端口地址40Email:dpi_L2.2.1 8237A的編程結(jié)構(gòu)和外部連接的編程結(jié)構(gòu)和外部連接 8237A是Intel系列中高性能可編程DMA控制器。8237A DMAC是一個(gè)40腳雙列直插式芯片。它允許DMA傳輸速率達(dá)1.6MB/S??梢怨芾韺?shí)現(xiàn)存儲(chǔ)器存儲(chǔ)器,I/O設(shè)備存儲(chǔ)器之間的數(shù)據(jù)傳送。第五章第五章 1 2 3中
30、斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825341Email:dpi_L2.2.1 8237A的編程結(jié)構(gòu)和外部連接的編程結(jié)構(gòu)和外部連接4個(gè)通道 16位地址寄存器(2個(gè))16位字節(jié)計(jì)數(shù)器(2個(gè))8位模式寄存器 1位請(qǐng)求觸發(fā)器和屏蔽觸發(fā)器4個(gè)通道公用控制寄存器、狀態(tài)寄存器和暫存器兩種工作狀態(tài)作為從模塊工作:當(dāng)CPU把數(shù)據(jù)送到8237A的寄存器或者從8237A的寄存器取出時(shí),8237A就如同I/O接口一樣作為總線的從模塊工作。作為主模塊工作時(shí):當(dāng)CPU響應(yīng)總線請(qǐng)求信號(hào),讓出總線控制權(quán)后, 8237A作為主模塊工作。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237
31、A 計(jì)數(shù)器/定時(shí)器825342Email:dpi_L2.2.1 8237A的編程結(jié)構(gòu)和外部連接的編程結(jié)構(gòu)和外部連接對(duì)外連接信號(hào) CLK:時(shí)鐘 -CS:片選RESET:復(fù)位READY:準(zhǔn)備就緒,用于延長(zhǎng)傳輸時(shí)間。ADSTB:地址選通輸出 ,此信號(hào)有效時(shí),DMA控制器的當(dāng)前地址寄存器中的高8位地址通過(guò)DB0DB7送到外部鎖存器。AEN:地址允許輸出 ,使地址鎖存器中鎖存的高8位地址送到地址總線上。-MEMR:存儲(chǔ)器讀輸出信號(hào)。-MEMW:存儲(chǔ)器寫(xiě)輸出信號(hào)。-IOR:設(shè)備讀,雙向,主:輸出, 從:輸入。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825343E
32、mail:dpi_L2.2.1 8237A的編程結(jié)構(gòu)和外部連接的編程結(jié)構(gòu)和外部連接-IOW: 設(shè)備寫(xiě),雙向,主:輸出, 從:輸入。-EOP:DMA傳輸過(guò)程結(jié)束,雙向。 當(dāng)外部送EOP信號(hào)時(shí),DMA傳輸被強(qiáng)迫結(jié)束。 任一通道計(jì)數(shù)結(jié)束,則EOP有效。DREQ和DACK :通道DMA請(qǐng)求輸入及應(yīng)答。HRQ和 HLDA :總線請(qǐng)求輸出和總線響應(yīng)輸入。A3A0 :雙向地址信號(hào)。 主模塊:作為20位地址線的低4位輸出地址。 從模塊:地址輸入,對(duì)內(nèi)部寄存器進(jìn)行尋址。A7A4 :高4位地址輸出。DB7DB0:雙向數(shù)據(jù)。 主模塊:輸出當(dāng)前地址寄存器中的高8位地址 從模塊:CPU讀寫(xiě)DMA控制器內(nèi)的寄存器。第五章
33、第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825344Email:dpi_L2.2.2 8237A的工作模式和模式寄存器的格式的工作模式和模式寄存器的格式 工作模式: 單字節(jié)傳輸模式:此通道被編程為只做一次數(shù)據(jù)傳送,傳送之后就釋放系統(tǒng)總線給CPU至少一個(gè)完整的總線周期,這之后又測(cè)試DREQ引腳,當(dāng)DMA請(qǐng)求有效時(shí)又竊取另一總線周期。塊傳輸模式:該模式下,只要在DACK有效之前使DREQ有效就行。它可以連續(xù)進(jìn)行多個(gè)字節(jié)的傳輸,在傳輸過(guò)程中,它一直占有總線而不釋放,也不檢測(cè)DREQ是否一直有效。請(qǐng)求傳輸模式:它類似于塊傳輸模式,只是在每一字節(jié)傳送之后都檢測(cè)DRE
34、Q引腳。若DREQ無(wú)效,則馬上暫停傳輸,釋放總線,但測(cè)試過(guò)程仍然進(jìn)行,并且地址和字節(jié)數(shù)的中間值仍被保留,一旦DREQ變?yōu)橛行r(shí)將繼續(xù)傳輸。 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825345Email:dpi_L2.2.2 8237A的工作模式和模式寄存器的格式的工作模式和模式寄存器的格式級(jí)聯(lián)傳輸模式 :多個(gè)8237A構(gòu)成二級(jí)的連接方式時(shí),第一級(jí)的主片8237A應(yīng)編程為級(jí)聯(lián)模式,第二級(jí)的從片要設(shè)置所需的其它三種方式之一。 模式寄存器的格式 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825346Email:d
35、pi_L2.2.3 控制寄存器的格式和有關(guān)問(wèn)題控制寄存器的格式和有關(guān)問(wèn)題 控制寄存器的格式第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825347Email:dpi_L2.2.3 控制寄存器的格式和有關(guān)問(wèn)題控制寄存器的格式和有關(guān)問(wèn)題有關(guān)問(wèn)題內(nèi)存到內(nèi)存的傳輸 在進(jìn)行內(nèi)存到內(nèi)存的傳輸時(shí),固定用通道0的地址寄存器存放源地址,而用通道1的地址寄存器和字節(jié)計(jì)數(shù)器存放目的地址和計(jì)數(shù)值。 控制寄存器的D0位必須置1,此時(shí),如果控制寄存器的D1為1,則在傳輸時(shí)源地址保持不變,這樣,就可以使同一個(gè)數(shù)據(jù)傳輸?shù)秸麄€(gè)內(nèi)存區(qū)域。8237A的啟動(dòng)和停止:控制寄存器的D2位是用來(lái)啟動(dòng)
36、和停止8237A工作的。 當(dāng)D2位為0時(shí),則啟動(dòng)8237A工作。 當(dāng)D2為1時(shí),則停止8237A的工作。 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825348Email:dpi_L2.2.3 控制寄存器的格式和有關(guān)問(wèn)題控制寄存器的格式和有關(guān)問(wèn)題狀態(tài)及時(shí)序類型 普通時(shí)序:不論A15A8是否需要改變都要送地址總線,這將占用一個(gè)時(shí)鐘周期。 壓縮時(shí)序:只有在A15A8需要改變時(shí)才送地址總線,這將加快數(shù)據(jù)傳輸?shù)乃俣取jP(guān)于擴(kuò)展寫(xiě)信號(hào)功能 使用READY信號(hào)使得8237A能夠等待外部設(shè)備準(zhǔn)備數(shù)據(jù)。用于外部設(shè)備的速度比較慢,采用普通時(shí)序也不能滿足要求的情況下。優(yōu)先級(jí)
37、問(wèn)題的解決: 由D4位設(shè)置。 固定:通道0的優(yōu)先級(jí)最高,通道3最低。 循環(huán):通道的優(yōu)先級(jí)依次循環(huán),類似中斷。DREQ和DACK信號(hào)極性:決定于外設(shè)接口要求。第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825349Email:dpi_L2.2.3 控制寄存器的格式和有關(guān)問(wèn)題控制寄存器的格式和有關(guān)問(wèn)題8237A的典型時(shí)序 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825350Email:dpi_L2.2.4 狀態(tài)寄存器的格式狀態(tài)寄存器的格式 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器
38、/定時(shí)器825351Email:dpi_L2.2.5 請(qǐng)求標(biāo)志和屏蔽標(biāo)志的設(shè)置請(qǐng)求標(biāo)志和屏蔽標(biāo)志的設(shè)置 DMA請(qǐng)求寄存器的格式 屏蔽寄存器的格式第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825352Email:dpi_L2.2.5 請(qǐng)求標(biāo)志和屏蔽標(biāo)志的設(shè)置請(qǐng)求標(biāo)志和屏蔽標(biāo)志的設(shè)置8237A綜合屏蔽命令的格式 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825353Email:dpi_L2.2.6 復(fù)位命令和清除先復(fù)位命令和清除先/后觸發(fā)器命令后觸發(fā)器命令 復(fù)位命令:寫(xiě)特定的端口地址。它的功能和RESET信號(hào)相同。
39、復(fù)位命令使控制寄存器、狀態(tài)寄存器、DMA請(qǐng)求寄存器、暫存器以及先/后觸發(fā)器清0,而使屏蔽寄存器復(fù)位。清除先/后觸發(fā)器命令:寫(xiě)特定的端口地址。先/后觸發(fā)器是用來(lái)控制DMA通道中地址寄存器和字節(jié)計(jì)數(shù)器的初值設(shè)置。如果對(duì)先/后觸發(fā)器清0,那么,CPU往地址寄存器和字節(jié)計(jì)數(shù)器輸出數(shù)據(jù)時(shí),第1個(gè)字節(jié)寫(xiě)入低8位,然后先/后觸發(fā)器自動(dòng)置1,這樣,第2個(gè)字節(jié)輸出時(shí),就寫(xiě)入高8位,并且,先/后觸發(fā)器自動(dòng)復(fù)位為0 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825354Email:dpi_L2.2.7 8237A各寄存器對(duì)應(yīng)的端口地址各寄存器對(duì)應(yīng)的端口地址 操作命令與有關(guān)信
40、號(hào)的對(duì)應(yīng)關(guān)系A(chǔ)3 A2 A1A0 -IOR -IOW 命令 111111111100000111110001100011001010110101111101111000001000讀狀態(tài)寄存器寫(xiě)控制寄存器寫(xiě)DMA請(qǐng)求標(biāo)志寄存器寫(xiě)DMA屏蔽標(biāo)志寄存器寫(xiě)模式寄存器清除先/后觸發(fā)器讀暫存器發(fā)復(fù)位命令清除屏蔽標(biāo)志綜合屏蔽命令 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825355Email:dpi_L2.2.7 8237A各寄存器對(duì)應(yīng)的端口地址各寄存器對(duì)應(yīng)的端口地址 地址寄存器和字節(jié)計(jì)數(shù)器的端口地址 DMA通道 基本地址寄存器和當(dāng)前地址寄存器 基本字節(jié)計(jì)數(shù)器和
41、當(dāng)前字節(jié)計(jì)數(shù)器 通道0通道1通道2通道3起始地址+0起始地址+2起始地址+4起始地址+6 起始地址+1起始地址+3起始地址+5 起始地址+7 第五章第五章 1 2 3中斷控制器8259A DMA控制器8237A 計(jì)數(shù)器/定時(shí)器825356Email:dpi_L3 計(jì)數(shù)器計(jì)數(shù)器/定時(shí)器定時(shí)器8253 概述 可編程計(jì)數(shù)器/定時(shí)器的工作原理 可編程計(jì)數(shù)器/定時(shí)器8253 8253的工作模式 8253應(yīng)用舉例57Email:dpi_L3.1 概述概述 計(jì)數(shù)和定時(shí)的概念計(jì)數(shù)器:在設(shè)置好計(jì)數(shù)初值后,便開(kāi)始減1計(jì)數(shù),減為0時(shí),輸出一個(gè)信號(hào),表明計(jì)數(shù)完成,然后就結(jié)束了。定時(shí)器:在設(shè)置好定時(shí)常數(shù)后,便進(jìn)行減1計(jì)
42、數(shù),并按定時(shí)常數(shù)不斷地輸出為時(shí)鐘周期整數(shù)倍的定時(shí)間隔信號(hào)。計(jì)數(shù)器/定時(shí)器的用處:作為中斷信號(hào)輸出精確的定時(shí)信號(hào)作為波特率發(fā)生器實(shí)現(xiàn)延遲第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238058Email:dpi_L3.1 概述概述定時(shí)信號(hào)的獲得:軟件方法:使用延遲子程序,優(yōu)點(diǎn)是節(jié)省硬件,主要缺點(diǎn)是降低了CPU的效率、延遲時(shí)間不容易設(shè)計(jì)準(zhǔn)確。硬件方法:使用計(jì)數(shù)器/定時(shí)器,在簡(jiǎn)單的軟件控制下,產(chǎn)生準(zhǔn)確的時(shí)間延遲。 主要思想是根據(jù)需要的定時(shí)時(shí)間,用指令對(duì)計(jì)數(shù)器/定時(shí)器設(shè)置定時(shí)常數(shù),并用指令啟動(dòng)計(jì)數(shù)器/定時(shí)器,于是計(jì)數(shù)器/定時(shí)器開(kāi)始計(jì)數(shù),計(jì)到確定值時(shí),便自動(dòng)產(chǎn)生
43、一個(gè)定時(shí)輸出。 優(yōu)點(diǎn)是提高了CPU的利用率,而計(jì)數(shù)器/定時(shí)器本身的開(kāi)銷并不大。第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238059Email:dpi_L3.2 可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器的工作原理定時(shí)器的工作原理計(jì)數(shù)器/定時(shí)器的基本原理圖 第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238060Email:dpi_L3.2 可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器的工作原理定時(shí)器的工作原理4個(gè)寄存器,它們都可以被CPU訪問(wèn)。 初始值寄存器:輸出端口。 計(jì)數(shù)輸出寄存器:輸入端口,只有把計(jì)數(shù)器的內(nèi)容傳輸?shù)接?jì)數(shù)輸出
44、寄存器中,才能讀出某個(gè)時(shí)候的計(jì)數(shù)值。 控制寄存器:輸出端口,用于芯片初始化 狀態(tài)寄存器:輸入端口,記錄芯片工作狀態(tài)。計(jì)數(shù)器:從初始值寄存器中獲得計(jì)數(shù)初值,計(jì)數(shù)時(shí),從初始值開(kāi)始進(jìn)行減1計(jì)數(shù)直到0。時(shí)鐘:用來(lái)控制計(jì)數(shù)的速率,時(shí)鐘每跳動(dòng)一次,計(jì)數(shù)值減1,計(jì)數(shù)初始值=時(shí)鐘頻率定時(shí)時(shí)間T門(mén)脈沖:輸入,用來(lái)控制計(jì)數(shù)的啟動(dòng)和停止。OUT:輸出,當(dāng)計(jì)數(shù)到達(dá)0時(shí)產(chǎn)生輸出。第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238061Email:dpi_L3.2 可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器的工作原理定時(shí)器的工作原理 計(jì)數(shù)器/定時(shí)器幾種工作模式: 計(jì)數(shù)結(jié)束產(chǎn)生中斷可重復(fù)觸發(fā)
45、的單穩(wěn)態(tài)觸發(fā)器分頻器方波發(fā)生器選通信號(hào)發(fā)生器第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238062Email:dpi_L3.3 可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器定時(shí)器8253 8253是Intel公司生產(chǎn)的可編程計(jì)數(shù)器/定時(shí)器,其主要功能如下:每片有3個(gè)獨(dú)立的16位計(jì)數(shù)器通道,分別為: 計(jì)數(shù)器0 計(jì)數(shù)器1 計(jì)數(shù)器2每個(gè)計(jì)數(shù)器都可以單獨(dú)作為定時(shí)或計(jì)數(shù)使用,且都可以按照二進(jìn)制或BCD碼格式計(jì)數(shù)。每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率可高達(dá)2MHz,最高計(jì)數(shù)速率為2.6MHz。每個(gè)通道有6種工作方式,可由程序設(shè)置或改變。 第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)
46、器/定時(shí)器8253多功能接口芯片8238063Email:dpi_L3.3.1 8253的結(jié)構(gòu)和工作原理的結(jié)構(gòu)和工作原理 編程結(jié)構(gòu) 8位的控制寄存器3個(gè)計(jì)數(shù)器,每個(gè)計(jì)數(shù)器內(nèi)部有: 16位的計(jì)數(shù)初值寄存器 計(jì)數(shù)執(zhí)行部件 輸出鎖存器第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238064Email:dpi_L3.3.1 8253的結(jié)構(gòu)和工作原理的結(jié)構(gòu)和工作原理8253的工作原理 8253引腳8253的工作原理 第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238065Email:dpi_L3.3.1 8253的結(jié)構(gòu)和
47、工作原理的結(jié)構(gòu)和工作原理計(jì)數(shù)器0,計(jì)數(shù)器1,計(jì)數(shù)器2 數(shù)據(jù)總線緩沖器,功能為:往計(jì)數(shù)器設(shè)置初值從計(jì)數(shù)器讀取計(jì)數(shù)值往控制寄存器設(shè)置控制字讀寫(xiě)邏輯電路A1、A0對(duì)計(jì)數(shù)器和控制寄存器尋址 -RD:讀信號(hào)-WR:寫(xiě)信號(hào)-CS:片選信號(hào)控制寄存器:用于初始化及發(fā)送控制命令。第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238066Email:dpi_L3.3.1 8253的結(jié)構(gòu)和工作原理的結(jié)構(gòu)和工作原理、各種控制信號(hào)組合對(duì)8253的操作表第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238067Email:dpi_L3.3.
48、2 8253控制寄存器的格式控制寄存器的格式 在8253初始化編程中,由CPU向8253的控制寄存器輸出一個(gè)控制字,用來(lái)選擇計(jì)數(shù)器,指示讀寫(xiě)方式、設(shè)定工作方式和計(jì)數(shù)格式。SC1 SC0:選擇計(jì)數(shù)器。在設(shè)置控制字時(shí),用于指出所選擇的是哪一個(gè)計(jì)數(shù)器 0 0 -選擇0號(hào)計(jì)數(shù)器 0 1 -選擇1號(hào)計(jì)數(shù)器 1 0 -選擇2號(hào)計(jì)數(shù)器 1 1 -無(wú)意義 第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238068Email:dpi_L3.3.2 8253控制寄存器的格式控制寄存器的格式RW1 RW0:指示讀/寫(xiě)。控制向計(jì)數(shù)器讀/寫(xiě)的字節(jié)數(shù)及讀/寫(xiě)高低字節(jié)的順序。 0 0
49、 -對(duì)所選計(jì)數(shù)器進(jìn)行鎖存,以便CPU隨時(shí)讀取它。 0 1-讀/寫(xiě)低8位字節(jié),寫(xiě)時(shí)高8位自動(dòng)清零 1 0-讀/寫(xiě)高8位字節(jié),寫(xiě)時(shí)低8位自動(dòng)清零 1 1-讀/寫(xiě)2個(gè)字節(jié),先低8位,后高8位BCD:設(shè)置計(jì)數(shù)制。 0 -二進(jìn)制格式 1 -BCD碼(二十進(jìn)制) 第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238069Email:dpi_L3.3.2 8253控制寄存器的格式控制寄存器的格式M2 M1 M0:模式選擇 0 0 0-方式0 0 0 1-方式1 1 0-方式2(表示可以是0或1) 1 1-方式3 1 0 0-方式4 1 0 1-方式5第五章第五章 2
50、3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238070Email:dpi_L3.3.3 8253的編程命令的編程命令 編程原則:設(shè)置初值前必須先寫(xiě)控制字。初值設(shè)置要符合控制字中的格式規(guī)定。編程命令有兩類:讀出命令:讀計(jì)數(shù)器當(dāng)前值。寫(xiě)入命令 設(shè)置控制字命令。 設(shè)置初始值命令。 鎖存命令 。第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238071Email:dpi_L3.3.3 8253的編程命令的編程命令寫(xiě)入命令設(shè)置計(jì)數(shù)初值的命令(只寫(xiě)) 必須先寫(xiě)控制字,才能設(shè)置初始值。寫(xiě)入時(shí)必須符合控制字中的格式規(guī)定。若為16位,要用兩條輸出
51、指令完成計(jì)數(shù)初值的設(shè)定。鎖存命令(只寫(xiě)) 是配合CPU讀計(jì)數(shù)器當(dāng)前值而設(shè)置的。在讀計(jì)數(shù)器值時(shí)先用鎖存命令將當(dāng)前計(jì)數(shù)值在輸出鎖存器中鎖定,方可由CPU讀取。當(dāng)CPU將鎖定值用輸入指令讀走時(shí),鎖存器自動(dòng)失鎖。讀計(jì)數(shù)器當(dāng)前值的命令(只讀) 要求先用鎖存命令鎖住鎖存器的當(dāng)前值,然后從相應(yīng)寄存器的端口讀出。讀出時(shí)也必須符合控制字中的格式規(guī)定。第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238072Email:dpi_L3.4 8253的工作模式的工作模式 8253的基本規(guī)則: 控制字寫(xiě)入時(shí),進(jìn)入初始狀態(tài)。初值寫(xiě)入后,要經(jīng)過(guò)一個(gè)時(shí)鐘上升沿和一個(gè)下降沿,才開(kāi)始計(jì)數(shù)。
52、在CLK的上升沿,門(mén)控信號(hào)被采樣 。在CLK下降沿,計(jì)數(shù)器作減1計(jì)數(shù)。8253的6種工作模式: 模式0:計(jì)數(shù)結(jié)束產(chǎn)生中斷模式1:可編程的單穩(wěn)態(tài)觸發(fā)器模式2:分頻器模式3:方波發(fā)生器模式4:軟件觸發(fā)的選通信號(hào)發(fā)生器模式5:硬件觸發(fā)的選通信號(hào)發(fā)生器第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238073Email:dpi_L3.4.1 模式模式0計(jì)數(shù)結(jié)束產(chǎn)生中斷計(jì)數(shù)結(jié)束產(chǎn)生中斷特點(diǎn)門(mén)控觸發(fā)方式:電平觸發(fā)。當(dāng)計(jì)數(shù)到0時(shí)結(jié)束,輸出端OUT為高電平。只有再寫(xiě)入計(jì)數(shù)值,才重新開(kāi)始計(jì)數(shù)。在實(shí)際應(yīng)用中,常將計(jì)數(shù)結(jié)束后的上升跳變作為中斷信號(hào)。時(shí)序圖第五章第五章 2 3
53、4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238074Email:dpi_L3.4.1 模式模式0計(jì)數(shù)結(jié)束產(chǎn)生中斷計(jì)數(shù)結(jié)束產(chǎn)生中斷門(mén)控信號(hào)GATE對(duì)計(jì)數(shù)的影響在8253獲得初值前門(mén)控信號(hào)GATE=0 計(jì)數(shù)初值寫(xiě)入后并不開(kāi)始計(jì)數(shù),直到門(mén)控GATE進(jìn)入高電平時(shí),計(jì)數(shù)開(kāi)始。在8253獲得初值前門(mén)控信號(hào)GATE=1 計(jì)數(shù)初值寫(xiě)入后即開(kāi)始計(jì)數(shù)。在計(jì)數(shù)過(guò)程中,門(mén)控信號(hào)GATE=0 計(jì)數(shù)暫停,輸出端OUT的電平保持不變,當(dāng)GATE=1,結(jié)束暫停,從暫停的計(jì)數(shù)值繼續(xù)進(jìn)行計(jì)數(shù)。在計(jì)數(shù)過(guò)程中,設(shè)置了新的計(jì)數(shù)初值 計(jì)數(shù)器按新的初值重新計(jì)數(shù),輸出端OUT的電平保持不變。 第五章第五章 2 3 4
54、DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238075Email:dpi_L3.4.1 模式模式0計(jì)數(shù)結(jié)束產(chǎn)生中斷計(jì)數(shù)結(jié)束產(chǎn)生中斷門(mén)控信號(hào)GATE對(duì)計(jì)數(shù)影響圖示第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238076Email:dpi_L3.4.1 模式模式0計(jì)數(shù)結(jié)束產(chǎn)生中斷計(jì)數(shù)結(jié)束產(chǎn)生中斷模式0小結(jié):在模式0狀態(tài),GATE信號(hào)采用電平觸發(fā)方式,高電平計(jì)數(shù),低電平暫停。當(dāng)設(shè)置了控制字后,輸出OUT一直保持低電平,直到計(jì)數(shù)結(jié)束才恢復(fù)為高電平。在計(jì)數(shù)過(guò)程中修改初值立即執(zhí)行。只有再寫(xiě)入計(jì)數(shù)值,才重新開(kāi)始計(jì)數(shù)。第五章第五章 2 3 4DMA
55、控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238077Email:dpi_L3.4.2 模式模式1 可編程的單穩(wěn)態(tài)觸發(fā)器可編程的單穩(wěn)態(tài)觸發(fā)器特點(diǎn):門(mén)控觸發(fā)方式:門(mén)控上升沿作為觸發(fā)信號(hào)。輸出是單穩(wěn)態(tài)負(fù)脈沖。 負(fù)脈沖寬度主要決定于計(jì)數(shù)值。當(dāng)計(jì)數(shù)到零后,可由觸發(fā)脈沖再次啟動(dòng)。 時(shí)序圖第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238078Email:dpi_L3.4.2 模式模式1 可編程的單穩(wěn)態(tài)觸發(fā)器可編程的單穩(wěn)態(tài)觸發(fā)器 門(mén)控信號(hào)GATE對(duì)計(jì)數(shù)的影響在計(jì)數(shù)過(guò)程中,GATE變?yōu)榈碗娖交蛴筛唠娖阶優(yōu)榈碗娖健?計(jì)數(shù)繼續(xù)進(jìn)行,不受影響。在計(jì)數(shù)過(guò)程中,
56、又出現(xiàn)了門(mén)控GATE的上升沿觸發(fā)信號(hào)。 則在觸發(fā)脈沖上升沿之后的下一個(gè)CLK脈沖后,計(jì)數(shù)器重新開(kāi)始計(jì)數(shù),輸出端OUT保持不變,直到計(jì)數(shù)為0才變?yōu)楦唠娖健_@將使輸出的單穩(wěn)脈沖比原先設(shè)計(jì)的計(jì)數(shù)值加寬了。在計(jì)數(shù)過(guò)程中,設(shè)置了新的計(jì)數(shù)初值。 若在此期間沒(méi)有來(lái)上升沿觸發(fā)信號(hào),當(dāng)前輸出不受影響,直到下一次觸發(fā)時(shí)才按新的計(jì)數(shù)值計(jì)數(shù)。 若在此期間來(lái)一個(gè)觸發(fā)信號(hào),輸出端OUT保持不變,計(jì)數(shù)器采用新的計(jì)數(shù)初值重新開(kāi)始計(jì)數(shù)。 第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238079Email:dpi_L3.4.2 模式模式1 可編程的單穩(wěn)態(tài)觸發(fā)器可編程的單穩(wěn)態(tài)觸發(fā)器門(mén)控信號(hào)
57、GATE對(duì)計(jì)數(shù)影響圖示第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238080Email:dpi_L3.4.2 模式模式1 可編程的單穩(wěn)態(tài)觸發(fā)器可編程的單穩(wěn)態(tài)觸發(fā)器模式1小結(jié)在模式1狀態(tài),GATE信號(hào)采用上升沿觸發(fā)方式,門(mén)控GATE出現(xiàn)上升沿觸開(kāi)始計(jì)數(shù)。在計(jì)數(shù)過(guò)程中,GATE信號(hào)出現(xiàn)上升沿會(huì)導(dǎo)致計(jì)數(shù)器重新開(kāi)始計(jì)數(shù),而GATE信號(hào)為低電平或由高電平變?yōu)榈碗娖綄?duì)計(jì)數(shù)沒(méi)有影響。輸出OUT在計(jì)數(shù)過(guò)程中一直為低電平,直到計(jì)數(shù)結(jié)束才變?yōu)楦唠娖?。?jì)數(shù)過(guò)程中設(shè)置新的計(jì)數(shù)初值對(duì)OUT沒(méi)有影響 。當(dāng)計(jì)數(shù)到零后,可由觸發(fā)脈沖再次啟動(dòng)。 第五章第五章 2 3 4DMA控制器8
58、237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238081Email:dpi_L3.4.3 模式模式2分頻器分頻器特點(diǎn):門(mén)控觸發(fā)方式:電平觸發(fā)和上升沿觸發(fā)。N分頻的計(jì)數(shù)器,正脈沖為N-1個(gè)時(shí)鐘脈沖寬度,負(fù)脈沖為1個(gè)時(shí)鐘脈沖寬度。通道能連續(xù)計(jì)數(shù)。時(shí)序圖 第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238082Email:dpi_L3.4.3 模式模式2分頻器分頻器門(mén)控信號(hào)GATE對(duì)計(jì)數(shù)的影響在計(jì)數(shù)過(guò)程中,門(mén)控信號(hào)GATE=0 此時(shí),計(jì)數(shù)結(jié)束,OUT輸出高電平。當(dāng)GATE信號(hào)變?yōu)楦呋虺霈F(xiàn)上升沿時(shí),計(jì)數(shù)器從初始值重新開(kāi)始計(jì)數(shù)。在計(jì)數(shù)過(guò)程中,設(shè)置了新的計(jì)數(shù)初
59、值 新的計(jì)數(shù)初值設(shè)置后,如果GATE端一直維持高電平,那么輸出端OUT將不受影響,直到本輸出周期結(jié)束,但在下一個(gè)輸出周期,將按新的計(jì)數(shù)值進(jìn)行計(jì)數(shù)。 新的計(jì)數(shù)初值設(shè)置后,如果GATE端出現(xiàn)上升沿,計(jì)數(shù)器將按新的計(jì)數(shù)值開(kāi)始重新計(jì)數(shù),輸出端OUT一直維持高電平直到計(jì)數(shù)為1。第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238083Email:dpi_L3.4.3 模式模式2分頻器分頻器門(mén)控信號(hào)GATE對(duì)計(jì)數(shù)影響圖示第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238084Email:dpi_L3.4.3 模式模式2分頻器
60、分頻器模式2小結(jié):在模式2狀態(tài),GATE信號(hào)采用電平和上升沿觸發(fā)方式,高電平或上升沿觸發(fā)開(kāi)始計(jì)數(shù)。在計(jì)數(shù)過(guò)程中,GATE信號(hào)要保持高電平,低電平則結(jié)束計(jì)數(shù),輸出端OUT仍保持高電平。當(dāng)GATE信號(hào)變?yōu)楦呋虺霈F(xiàn)上升沿時(shí),計(jì)數(shù)器從初始值重新開(kāi)始計(jì)數(shù)。在最簡(jiǎn)單的情況下,即門(mén)控GATE為持續(xù)高電平時(shí),工作如同一個(gè)N分頻的計(jì)數(shù)器,正脈沖為N-1個(gè)時(shí)鐘脈沖寬度,負(fù)脈沖為1個(gè)時(shí)鐘脈沖寬度。第五章第五章 2 3 4DMA控制器8237A 計(jì)數(shù)器/定時(shí)器8253多功能接口芯片8238085Email:dpi_L3.4.4 模式模式3方波發(fā)生器方波發(fā)生器特點(diǎn):和模式2類似,但輸出為方波或基本對(duì)稱的矩形波。若計(jì)數(shù)值
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年健康管理與養(yǎng)老服務(wù)體系合作協(xié)議模板2025版3篇
- 裝修建筑垃圾清運(yùn)合同
- 二零二五年度2人合作成立設(shè)計(jì)工作室的合伙協(xié)議范本3篇
- 網(wǎng)站代運(yùn)營(yíng)合同模板
- 二零二五年度二手房買賣合同違約責(zé)任委托協(xié)議3篇
- 2025年度POS機(jī)租賃與移動(dòng)支付安全防護(hù)體系合同2篇
- 2025年度特種貨物搬運(yùn)與運(yùn)輸保障合同3篇
- 磚基礎(chǔ)施工組織課程設(shè)計(jì)
- 熱處理加熱爐課程設(shè)計(jì)
- 托班思維探究課程設(shè)計(jì)
- 城市交通樞紐運(yùn)營(yíng)故障應(yīng)急預(yù)案
- 料場(chǎng)加工施工方案
- 【淺析人工智能在石油行業(yè)中的應(yīng)用3400字(論文)】
- 湖北省十堰市竹山縣2023-2024學(xué)年三上數(shù)學(xué)期末經(jīng)典模擬試題含答案
- 產(chǎn)品試制前準(zhǔn)備狀態(tài)檢查報(bào)告
- (全)外研版丨九年級(jí)下冊(cè)英語(yǔ)各模塊作文范文(名校版)
- 煤礦企業(yè)瓦斯防治能力評(píng)估管理辦法和基本標(biāo)準(zhǔn)
- 食品供應(yīng)質(zhì)量承諾書(shū)
- 駕駛員從業(yè)資格證電子版
- vas疼痛評(píng)分完整版
- 山東省臨沂市蘭山中學(xué)2022-2023學(xué)年高二化學(xué)上學(xué)期期末試題含解析
評(píng)論
0/150
提交評(píng)論