




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第7章 中斷控制器和計數器/定時器 1第7章 中斷控制器和計數器/定時器7.1 中斷控制器8259A7.2 計數器/定時器8253第7章 中斷控制器和計數器/定時器 21. 8259A的結構及工作過程2. 8259A的工作方式3. 8259A的初始化命令字和操作命令字4. 8259A的使用舉例5. 多片8259A組成的主從式中斷系統(tǒng)7.1 中斷控制器8259A第7章 中斷控制器和計數器/定時器 31.8259A的結構及工作過程1)8259A的引腳信號第7章 中斷控制器和計數器/定時器 4A0:用于選擇8259A的兩個端口偶地址端口(A0=0)奇地址端口(A0=1)IR0IR7:中斷請求信號,由
2、外設傳給8259A。CAS0CAS2:級聯信號。SP/EN:從方式/使能緩沖信號。輸入:識別是主片還是從片,若為高電平則為主片,若低電平則為從片。輸出:允許數據總線緩沖器接收或發(fā)送數據或者控制總線緩沖器的傳送方向。第7章 中斷控制器和計數器/定時器 52)8259A的內部結構第7章 中斷控制器和計數器/定時器 6(1)中斷請求寄存器IRR (8位)當IRi為1時,寄存器的第i位置1。(2)中斷服務寄存器ISR (8位)當任何一級中斷被響應時,CPU在第一個INTA使ISR相應位置1,一般情況下一直保持到該級中斷處理過程結束才被清除。ISR中可以有多位被同時置1。(3)中斷屏蔽寄存器IMR (8
3、位)存放中斷屏蔽字,CPU根據用戶編程寫入。當IMR中第i位置1時,就屏蔽來自IRi的中斷請求。第7章 中斷控制器和計數器/定時器 7(4)優(yōu)先權判別器PR判別IRR中所有未被屏蔽的中斷請求的優(yōu)先級別。多級中斷時,PR比較來自ISR和經IMR允許的IRR兩者的優(yōu)先級高低,以決定是否向CPU發(fā)出中斷請求INT。(5)控制電路按用戶設置的工作方式產生內部控制信號。向CPU發(fā)出中斷請求信號INT,接收來自CPU的中斷響應信號INTA 。第7章 中斷控制器和計數器/定時器 8(6)讀/寫控制電路控制命令字的寫入??刂苾炔考拇嫫鲀热莸淖x取。(7)數據總線緩沖器8259A與CPU之間的數據接口。CPU寫入
4、8259A的命令字。CPU讀取8259A的狀態(tài)字。CPU讀取中斷類型號。第7章 中斷控制器和計數器/定時器 9(8)級聯緩沖器/比較器存放和比較從設備標志ID(000111)。ID由編程設定并保存在級聯緩沖器中。當CPU響應來自從片的中斷請求時,主片將相應的ID輸出到級聯線CAS0CAS2上,從片收到后與自己的級聯緩沖器保存的ID相比較,若相等,本片被選中,故在后繼的INTA有效期間,被選中的從8259A就把中斷類型號送上數據總線。第7章 中斷控制器和計數器/定時器 103)8259A的中斷工作過程(1)中斷源通過IR0IR7向8259A發(fā)中斷請求,使得8259A的IRR中相應位置1。(2)I
5、RR中經IMR允許后請求進入優(yōu)先權判別器PR,PR將其中最高優(yōu)先權的中斷請求從INT輸出,送至CPU的INTR端。(3)若CPU處于開中斷狀態(tài),則在當前指令執(zhí)行結束后,啟動中斷響應總線操作,發(fā)出兩個負脈沖INTA作為響應信號。第7章 中斷控制器和計數器/定時器 118259A接收到第一個負脈沖使IRR鎖存功能失效。使ISR相應位置1,表示CPU已為該中斷請求服務。使IRR的相位清0。8259A接收到第二個負脈沖恢復IRR鎖存功能。將中斷類型號送上數據總線。 (CPU讀取中斷類型號,經響應過程后,進入中斷服務程序,直到服務結束返回)。若8259A工作在自動結束中斷方式AEOI,8259A則清除I
6、SR的相應位,否則直至中斷服務結束,發(fā)出EOI命令,才能使ISR中的相應位清0。第7章 中斷控制器和計數器/定時器 1228259A的工作方式q 引入中斷請求的方式1)邊沿觸發(fā)方式2)電平觸發(fā)方式3)中斷查詢方式q 與系統(tǒng)總線的連接方式1)非緩沖方式2)緩沖方式第7章 中斷控制器和計數器/定時器 13q 設置優(yōu)先級的方式1)全嵌套方式2)特殊全嵌套方式3)優(yōu)先級自動循環(huán)方式4)優(yōu)先級特殊循環(huán)方式第7章 中斷控制器和計數器/定時器 141)全嵌套方式由IRi端引入的中斷請求具有固定的中斷優(yōu)先級別,由高至低為IR0IR1IR7。CPU響應IRi中斷請求,在收到第一個負脈沖時,將對應的ISRi置1。
7、除AEOI外,ISRi為1一直保持到CPU發(fā)出中斷結束命令時,ISRi才被清除。當ISRi為1,且CPU開中斷時,允許CPU響應更高級別的中斷請求,禁止響應同級或較低級的中斷請求。完全嵌套最多可達8級中斷嵌套,各服務程序應按從高級到低級的次序結束。第7章 中斷控制器和計數器/定時器 15特殊全嵌套方式用于8259A級連的系統(tǒng)中所謂級聯,就是在微機系統(tǒng)中以一片8259A與CPU相連,這個8259A又與下級最多8片8259A相連。與CPU相連的8259A稱為主片,與主片相連的8259A稱為從片。2)特殊全嵌套方式第7章 中斷控制器和計數器/定時器 16第7章 中斷控制器和計數器/定時器 17主片工
8、作在特殊全嵌套方式使得主片能識別從片的內部優(yōu)先級,即對接有從片的同級中斷開放。在非AEOI方式,CPU每處理完從片的一個中斷請求,向從片發(fā)出中斷結束命令EOI,處理完一個從片內所有等待處理的中斷請求后,才向主片發(fā)中斷結束命令。這要求在從片的中斷服務程序結束時,除向從片發(fā)EOI命令外,還需檢測其ISR各位是否為全0,若為全0時,才向主片發(fā)EOI命令。第7章 中斷控制器和計數器/定時器 183)優(yōu)先級自動循環(huán)方式改變了固有優(yōu)先權排隊順序,它是在全嵌套的基礎上,從IR0到IR7引入的中斷,將輪流具有最高優(yōu)先權。當任何一級中斷結束,它的優(yōu)先級就變?yōu)樽畹?,最高?yōu)先級被分配給下級中斷,其它依次輪轉例如:I
9、R3結束,IR3便具有最低優(yōu)先級,而IR4具有最高優(yōu)先級,IR5具有次高優(yōu)先級,依次推下。IR0IR1IR2IR3IR4IR5IR6IR70123456745670123第7章 中斷控制器和計數器/定時器 194)優(yōu)先級特殊循環(huán)方式改變了固有優(yōu)先權排隊順序。置位優(yōu)先權命令該命令指定某一中斷源優(yōu)先權最低,則最高優(yōu)先級被分配給下級中斷源,其它依次輪轉。第7章 中斷控制器和計數器/定時器 20q 屏蔽中斷源的方式1)普通屏蔽方式CPU向8259A寫入中斷屏蔽字(寫IMR)。相應置1位的中斷被屏蔽。2)特殊屏蔽方式開放高級或低級,屏蔽本級。CPU向8259A寫入命令實現。第7章 中斷控制器和計數器/定
10、時器 21q結束中斷處理的方式 (用不同的方法清0 ISRi)1)中斷自動結束方式(自動EOI方式)CPU在進入中斷響應總線周期的第二個INTA結束時,自動將ISR寄存器相應位清0。2)一般的中斷結束方式(一般EOI方式)CPU在中斷服務程序的結束處向8259A發(fā)一個一般EOI命令,使得8259A的ISR中當前優(yōu)先級最高的那一位清除。3)特殊的中斷結束方式(特殊EOI方式)CPU在中斷服務程序的結束處向8259A發(fā)一個特殊EOI命令,則8259A將ISR寄存器中指定級別的相應位清除。第7章 中斷控制器和計數器/定時器 223.8259A的初始化命令字和操作命令字對8259A的編程,采用兩類控制
11、命令字:ICW、OCW。初始化命令字設定8259A的基本工作條件。必須在8259A開始工作之前寫入,寫入以后系統(tǒng)才可以接收中斷請求信號。 一旦寫入,一般在系統(tǒng)運行過程中不再改變。第7章 中斷控制器和計數器/定時器 23操作命令字對中斷處理過程作動態(tài)控制。必須在初始化命令寫入后,才能寫入。在系統(tǒng)運行過程中,可以多次設置。第7章 中斷控制器和計數器/定時器 241)初始化命令字 (ICW1ICW4) (1)ICW1芯片控制初始化命令字對偶地址端口寫入一個D4=1的數據,表示初始化編程開始。D3:LTIM 中斷信號的觸發(fā)方式0:邊沿 1:高電平D1:SNGL 是否單片方式0:多片級聯 1:單片D0:
12、IC4 是否有ICW40:無 1:有 D7D6D5D4D3D2D1D01XXXXSNGLLTIMIC4A00注:在8086/8088系統(tǒng)中D7D5和D2不用,通常置0;D0必須為1。0 0 0 1 0 0 0 1第7章 中斷控制器和計數器/定時器 25(2)ICW2 設置中斷類型號的初始化命令字在寫ICW1之后,對A0=1的端口第一次寫入的數據是ICW2 。只需設置D7D3D2D0無效(由8259A根據IR0IR7自動填充為000111)。D7D6D5D4D3D2D1D00000XX0XA01第7章 中斷控制器和計數器/定時器 26中斷線:類型號 中斷線:類型號IR0:08H 時鐘中斷 IR4
13、:0CH COM1IR1:09H 鍵盤中斷 IR5:0DH 硬盤 IR2:0AH 保留 IR6:0EH 軟盤IR3:0BH COM2 IR7:0FH LPT1例如:在PC/XT中ICW2為00001000B第7章 中斷控制器和計數器/定時器 27(3)ICW3 標志主片/從片的初始化命令字 (只用于8259A的級聯方式)系統(tǒng)中有級聯(ICW1.SNGL=0),在ICW2之后寫ICW3。對于主片:置1的位表示對應的引腳有從片級聯。對于從片:用D2D0表示和主片的對應引腳級聯。D7D6D5D4D3D2D1D000001000A01D7D6D5D4D3D2D1D0XXXX01X0A01第7章 中斷控
14、制器和計數器/定時器 28(4)ICW4 方式控制初始化命令字ICW1.IC4=1時,有ICW4。D4:SFNM 中斷的嵌套方式0:全嵌套 1:特殊全嵌套D7D6D5D4D3D2D1D0SFNM000M/SAEOIBUF PMA01 0 0 0 0 0 0 0 1第7章 中斷控制器和計數器/定時器 29D3:BUF 緩沖0:無緩沖,SP/EN引腳輸入,用作主片、從片選擇端。1:8259A通過總線收發(fā)器和總線相連,SP/EN引腳輸出,控制總線收發(fā)器的數據傳送方向,當數據從8259A流向CPU時其值為0。D2:M/S 主片/從片選擇(BUF=1時,有效)0:從片 1:主片D1:是否工作于自動EOI
15、方式0:非自動EOI方式 1:自動EOI方式D0:PM 微處理器類型0:8080/8085/Z80 1:8086/8088第7章 中斷控制器和計數器/定時器 308259A芯片的初始化流程對8259A初始化編程一定要嚴格按照ICW1到ICW4的順序完成。ICW1寫入偶地址端口。ICW2ICW4皆是寫入奇地址端口。第7章 中斷控制器和計數器/定時器 31寫ICW1 A0=0,D4=1寫ICW2 A0=1SNGL=1 IC4=1寫ICW3 A0=1寫ICW4 A0=1是否是否第7章 中斷控制器和計數器/定時器 32n例:PC/XT機中8259A的端口地址是20H、21H。初始化序列如下: MOV
16、AL,13H OUT 20H,AL MOV AL,8 OUT 21H,ALMOV AL,9OUT 21H,ALICW1:單片、上升沿觸發(fā)、使用ICW4ICW2:中斷類型碼是08H0FHICW4:有緩沖、非AEOI方式第7章 中斷控制器和計數器/定時器 33例:PC/AT機中8259A主片的端口地址是20H、21H, 從片的端口地址是A0H、A1H。 初始化主片MOV AL, 11HOUT 20H, ALMOV AL, 08HOUT 21H, AL MOV AL, 04HOUT 21H, ALMOV AL, 01HOUT 21H, AL 初始化從片MOV AL, 11HOUT 0A0H, ALM
17、OV AL, 70HOUT 0A1H, AL MOV AL, 02HOUT 0A1H, ALMOV AL, 01HOUT 0A1H, ALICW1ICW2ICW3ICW4ICW1ICW2ICW3ICW4第7章 中斷控制器和計數器/定時器 342)操作命令字(OCW1OCW3)n在初始化結束,8259A便進入工作狀態(tài),若不再寫入任何操作命令字,8259A便處于全嵌套工作方式(級聯時,主片可設為特殊全嵌套方式),具有固定優(yōu)先級別。n若要改變初始化設置的對中斷優(yōu)先權管理方式,必須向8259A寫入操作命令字OCW,進行操作方式的編程。第7章 中斷控制器和計數器/定時器 35(1)OCW1Mi=1表示屏
18、蔽中斷源IRiD7D6D5D4D3D2D1D0M4M7M6M5M2M1M3M0A01設置中斷屏蔽字(寫IMR )IN AL, 21HOR AL, M 或 AND AL, MOUT 21H, AL第7章 中斷控制器和計數器/定時器 36(2)OCW2對偶地址端口寫入D4D3=00,表示是OCW2R:表示是否循環(huán);SL:表示L2L1是否有效。當OCW2給出特殊的中斷結束命令時,L2L0指出了要清除當前ISR中哪一位;當OCW2給出置位優(yōu)先權命令時,L2L0指出了哪個中斷的優(yōu)先級最低。D7D6D5D4D3D2D1D00RSLEOIL2L10L0A00用來設置優(yōu)先級循環(huán)方式和中斷結束方式第7章 中斷控
19、制器和計數器/定時器 37EOI:中斷結束命令位。在PC機中常用的EOI命令:MOV AL, 20HOUT 20H, AL第7章 中斷控制器和計數器/定時器 38OCW2中D7D5位的組合R SL EOI功能1 0 0設置優(yōu)先級自動循環(huán)方式。0 0 0撤消優(yōu)先級自動循環(huán)方式。1 1 0設置優(yōu)先級命令。 (優(yōu)先級特殊循環(huán)方式)0 1 0無意義0 0 1設置一般EOI命令0 1 1設置特殊EOI命令1 0 1設置一般EOI循環(huán)命令1 1 1設置特殊EOI循環(huán)命令第7章 中斷控制器和計數器/定時器 393)OCW3有三個方面的功能設置和撤銷特殊中斷屏蔽方式設置中斷查詢方式設置對8259A內部寄存器的
20、讀出第7章 中斷控制器和計數器/定時器 40對偶地址端口寫入D4D3=01,表示是OCW3D6D5:設置特殊中斷屏蔽方式。00或01:無效;11:設置特殊屏蔽中斷方式;10:消除特殊屏蔽中斷方式。D2:為查詢標志位。1:中斷查詢方式,CPU采用軟件查詢8259A; 0:不處于查詢方式。D7D6D5D4D3D2D1D000ESMM SMMPRR1RISA00第7章 中斷控制器和計數器/定時器 41D1D0:用于發(fā)出允許讀取IRR和ISR的命令。讀IRR寫0AH(D1D0=10)至20H端口讀20H端口讀ISR寫0BH(D1D0=11)至20H端口讀20H端口(讀IMR,CPU直接讀奇地址端口即可
21、)讀查詢字寫0CH(P=1)至20H端口讀20H端口第7章 中斷控制器和計數器/定時器 42查詢字的格式I:有無請求的標志。1:有中斷請求;0:無中斷請求。W2W0當有中斷請求時,提供最高級別的中斷請求的二進制編碼,CPU執(zhí)行指令判別后,轉入執(zhí)行該編碼所對應的中斷服務程序。D7D6D5D4D3D2D1D0X IXXW2W1XW0A00第7章 中斷控制器和計數器/定時器 434.8259A的使用舉例1)關于中斷全嵌套主程序中必須開中斷(IF=1)中斷處理程序中必須開中斷中斷處理程序結束必須結束中斷2)關于中斷結束命令中斷處理程序中沒有開中斷,不會實現中斷的嵌套。待中斷返回方可響應其它中斷的請求。
22、中斷處理程序中已開中斷,在執(zhí)行中斷結束命令后,可導致不符合優(yōu)先級規(guī)則的中斷嵌套。第7章 中斷控制器和計數器/定時器 443)關于特殊屏蔽方式設當前系統(tǒng)正為IR4服務,設置及撤銷特殊屏蔽方式的程序段:CLIMOV AL,68HOUT 80H,ALIN AL,81HOR AL,10HOUT 81H,ALSTICLIIN AL,81HAND AL,0EFHOUT 81H,AL MOV AL,48HOUT 80H,ALSTIMOV AL,20HOUT 80H,ALIRET第7章 中斷控制器和計數器/定時器 454)PC機中斷使用 開 始 設 置IR Q 7的 中 斷 向 量 允 許IR Q 7中 斷
23、設 置 中 斷 次 數 計 數 器 循 環(huán) 等 待 主程序第7章 中斷控制器和計數器/定時器 46DATA SEGMENTMESS DB THIS IS A IQR7 INTRUPT !, 0AH,0DH,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,CS MOV DS,AX MOV DX,OFFSET INT7 MOV AX,250FH INT 21H IN AL,21H AND AL,7FH OUT 21H,AL MOV CX,10 LL: JMP LL第7章 中斷控制器和計數器/定時器 47中斷服務程序 開始 顯示響應
24、中斷的提示信息 發(fā)出中斷結束命令 計數器減1 為0嗎? 關閉I R Q 7中斷 開中斷 返回D O S 中斷返回 N 第7章 中斷控制器和計數器/定時器 48INT7: MOV AX,DATA MOV DS,AX MOV DX,OFFSET MESS MOV AH,09 INT 21H MOV AL,20H OUT 20H,AL LOOP NEXT IN AL,21H OR AL,80H OUT 21H,AL STI MOV AH,4CH INT 21HNEXT: IRETCODE ENDS END START第7章 中斷控制器和計數器/定時器 495)中斷方式數據傳送n例:設系統(tǒng)外擴了一片8
25、255A以及相應的電路。要求:先預置開關K3K1為一組狀態(tài),然后按下K鍵產生一個負脈沖信號輸入到PC4(STBA),用發(fā)光二極管LEDi亮顯示 K3K1的狀態(tài)。重復以上操作直到主機鍵盤有任意鍵按下時結束演示。K3K2K1=000 LED1亮K3K2K1=001 LED2亮K3K2K1=111 LED8亮第7章 中斷控制器和計數器/定時器 50 LED1 LED7 LED8 K3 K2 K1 K PB7 PB6 PB0 D0 D7 A1 PB2 A0 PB7 CS PA2 PA1 PA0 PC4 PC3 INTRA 8255AA +5V D0 D7 A1 A0 單脈沖發(fā)生器 218H 21FH
26、第7章 中斷控制器和計數器/定時器 51(1)8255A端口地址A口 218H 21CHB口 219H 21DHC口 21AH 21EH控制口 21BH 21FH(2)8255A工作方式控制字B0HA口:選通輸入方式B口:基本輸出方式(3)CPU與8255A交換數據的方式中斷方式第7章 中斷控制器和計數器/定時器 52中斷方式編程DATA SEGMENTMESG DB 8255A READY,0DH,0AH,TAB DB 11111110B DB 11111101B DB 11110111B DB 11111011B DB 11101111B DB 11011111B DB 10111111B
27、 DB 01111111BDATA ENDS第7章 中斷控制器和計數器/定時器 53CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX CLI CALL I8255A PUSH DS MOV AX,CS MOV DS,AX MOV DX,OFFSET INT2 MOV AX,250AH INT 21H POP DSIN AL,21HAND AL,11111011BOUT 21H,ALMOV AH,9MOV DX,OFFSET MESGINT 21HSTISCAN: MOV AH,1INT 16HJZ SCANIN AL
28、,21HOR AL,00000100BOUT 21H,ALMOV AH,4CHINT 21H第7章 中斷控制器和計數器/定時器 54INT7 PROC PUSH AX PUSH DS MOV AX,DATA MOV DS,AX MOV DX,218H IN AL,DX AND AL,07H MOV BX,OFFSET TAB XLAT MOV DX,219H OUT DX,AL MOV AL,20H OUT 20H,AL POP DS POP AX IRETINT7 ENDPI8255A PROC MOV DX,21BH MOV AL,0B0H OUT DX,AL MOV AL,09H OUT
29、 DX,AL MOV DX,219H MOV AL,0FFH OUT DX,AL RETI8255A ENDPCODE ENDS END START第7章 中斷控制器和計數器/定時器 555.多片8259A組成的主從式中斷系統(tǒng) 地址總線 控制總線 數據總線 CS A0 DB INTA INT CAS0 8259A 從控 A CAS1 CAS2 SP/EN IRQ7 IRQ0 CS A0 DB INTA INT CAS0 CAS1 8259A 主控 CAS2 IRQ7 IRQ0 SP/EN 7 6 5 4 3 2 1 0 CS A0 DB INTA INT CAS0 8259A 從控 B CAS
30、1 CAS2 SP/EN IRQ7 IRQ0 GND 7 6 5 4 3 2 1 0 GND 7 6 5 4 3 2 1 0 VCC 7 6 5 4 3 2 1 0 CS A0 DB INTA INT CAS0 8259A 從控 B CAS1 CAS2 SP/EN IRQ7 IRQ0 CS A0 DB INTA INT CAS0 8259A 從控 B CAS1 CAS2 SP/EN IRQ7 IRQ0 CS A0 DB INTA INT CAS0 8259A 從控 B CAS1 CAS2 SP/EN IRQ7 IRQ0 CS A0 DB INTA INT CAS0 8259A 從控 B CAS
31、1 CAS2 SP/EN IRQ7 IRQ0 第7章 中斷控制器和計數器/定時器 56級聯使用的工作過程從片IRj接收外設接口的中斷請求從片IRRj=1 PR(從片IMRj=0)從片INT有效即主片IRi有效主片IRRi=1 PR(主片IMRi=0)主片向CPU發(fā)INTCPU內部IF=1,則在當前指令執(zhí)行結束響應中斷請求,回送兩個INTA信號:第7章 中斷控制器和計數器/定時器 57第一個INTAv主片ISRi =1 清除IRRi檢測ICW3以決定中斷請求是否來自從片。若來自從片,則根據ISRi確定從片設備標志ID,并將ID送CAS2CAS0線;若不是來自從片,則CAS2CAS0線無信號,在第
32、二個INTA由主片送中斷類型號。v從片(被CAS2CAS0信號選中的)ISRj =1 清除IRRj第7章 中斷控制器和計數器/定時器 58第二個INTAv主片 若AEOI方式,則清除ISRi ;否則,無動作。v從片 送中斷類型號至數據總線 若AEOI方式,則清除ISRj第7章 中斷控制器和計數器/定時器 597.2 計數器/定時器82531.可編程計數器/定時器工作原理2.8253的結構和引腳信號3.8253的工作模式4.8253的應用舉例 第7章 中斷控制器和計數器/定時器 601.可編程計數器/定時器工作原理1)定時功能的實現方法軟件延時利用微處理器執(zhí)行一個延時程序段實現。不可編程的硬件定
33、時采用中小規(guī)模IC構成,不增加CPU負擔,成本低,定時值不可改變??删幊痰挠布〞r軟件硬件相結合、用可編程定時器芯片構成一個方便靈活的定時電路。第7章 中斷控制器和計數器/定時器 61可編程計數器/定時器:n定時和計數本質上都是脈沖計數器定時:內部基準時鐘源產生的脈沖計數:外部脈沖n例如,輸入脈沖的頻率為2MHZ,則:計數2106 - 定時1秒。第7章 中斷控制器和計數器/定時器 622)主要構成n控制寄存器:決定工作模式。 n狀態(tài)寄存器:反映工作狀態(tài)(可無,如8253無此寄存器)。n初值寄存器:計數的初始值。n計數輸出寄存器:CPU從中讀出當前計數值。n計數器:執(zhí)行計數操作,CPU不能訪問。
34、第7章 中斷控制器和計數器/定時器 633)工作原理第7章 中斷控制器和計數器/定時器 64CPU把“控制字” 寫入“控制寄存器”,把“計數初始值”寫入“初值寄存器”, 定時/計數器按控制字要求計數。計數從“計數初始值”開始,每當CLK信號出現一次,計數值減1,當計數值減為0時,從OUT端輸出規(guī)定的信號。當CLK信號出現時,計數值是否減1(即是否計數),受到“門控信號”GATE的影響,一般,僅當GATE有效時,才減1。門控信號GATE如何影響計數操作,以及輸出端OUT在各種情況下輸出的信號形式與定時/計數器的工作模式有關。第7章 中斷控制器和計數器/定時器 652.8253的結構和引腳信號82
35、53內部有3個完全相同、又相互獨立的16位減1計數器??梢杂枚M制或十進制計數。工作模式和計數初值由編程設置。第7章 中斷控制器和計數器/定時器 661)8253引腳及功能 D0-7 RD WR A0 A1 CS CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 8253 0# 1# 2# 8 第7章 中斷控制器和計數器/定時器 672)內部結構 計數器 0 CRH CRL CR CEH CEL CE OLH OLL OL 數 據 總 線緩沖器 讀寫控制 電 路 控制字 寄存器 CRH CRL CEH CEL OLH OLL 計數器 1 計數器 2
36、 內部總線 D7-D0 RD WR A0 A1 CS CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 CLK2 GATE2 OUT2 第7章 中斷控制器和計數器/定時器 688253內部結構包括:n數據總線緩沖器n讀/寫控制邏輯n計數器02n控制字寄存器第7章 中斷控制器和計數器/定時器 69(1)數據總線緩沖器數據總線緩沖器是8253與CPU之間的數據接口,它是一個8位雙向三態(tài)緩沖器。寫入:控制字 計數初值讀?。河嫈抵档?章 中斷控制器和計數器/定時器 70(2)讀/寫控制邏輯讀/寫控制邏輯接受CPU送來的讀/寫控制信號,并加以組合完成對8253內部操作的控制。A1A0:地址
37、線,作為端口選擇信號。在PC機中的端口地址是40H43H。 A1A0端口定義 0040H0#計數器 0141H1#計數器 1042H2#計數器 1143H控制寄存器第7章 中斷控制器和計數器/定時器 71控制信號的組合功能及操作A1A0RD WRCS操作00010讀計數器001010讀計數器110010讀計數器200100寫入計數器001100寫入計數器110100寫入計數器2XXXX1禁止(H.Z)11100寫方式控制字11010無操作(H.Z)XX110無操作(H.Z)第7章 中斷控制器和計數器/定時器 72(3)三個獨立的計數器16位可預置的減1計數器。每個計數器各有三根I/O線CLK:
38、時鐘信號輸入OUT:計數器輸出GATE:門控信號,啟動或允許計數器工作第7章 中斷控制器和計數器/定時器 73內部邏輯計數初值寄存器CRGATECLKOUT計數執(zhí)行部件CE輸出鎖存器OL第7章 中斷控制器和計數器/定時器 74CR、CE及OL皆為16位寄存器,也可作為8位寄存器使用。CR的初值由用戶編程寫入。CE完成從CR的初值起對CLK引腳輸入的脈沖進行減1計數的任務,CPU不能直接訪問CE。CPU可用IN指令讀取OL中的計數值。第7章 中斷控制器和計數器/定時器 75計數器:由CLK引入的是計數脈沖計數次數可直接作為計數初值預置到CR中。定時器:由CLK引入的是固定頻率的時鐘脈沖定時系數=
39、要求定時的時間時鐘脈沖的周期作為計數初值預置到CR中。第7章 中斷控制器和計數器/定時器 76()控制字寄存器控制字格式:讀寫指示00 計數器鎖存命令 01 只讀寫低字節(jié)10 只讀寫高字節(jié)11 先讀寫低字節(jié),后讀寫高字節(jié)計數器選擇00 計數器001 計數器110 計數器211 非法計數器選擇 讀寫指示 模式選擇設置計數值格式第7章 中斷控制器和計數器/定時器 77模式選擇000 模式0001 模式1X10 模式2X11 模式3100 模式4101 模式5設置計數值格式1BCD碼計數范圍是:000099990000代表最大值100000二進制計數范圍是:0000H0FFFFH0000H是最大值,
40、代表65536第7章 中斷控制器和計數器/定時器 783. 8253的工作模式8253各計數器有6種可供選擇的工作模式。模式0:計數結束產生中斷模式1:可編程的單穩(wěn)態(tài)觸發(fā)器模式2:分頻器模式3:方波發(fā)生器模式4:軟件觸發(fā)的選通信號發(fā)生器模式5:硬件觸發(fā)的選通信號發(fā)生器第7章 中斷控制器和計數器/定時器 79模式0:計數結束產生中斷GATEOUTCLK 031244模式模式0WR寫控制字寫計數初值計數初值裝入計數器計數過程計數結束第7章 中斷控制器和計數器/定時器 80模式1:可編程的單穩(wěn)態(tài)觸發(fā)器GATEOUTCLK 031244模式模式1WR寫控制字寫計數初值硬件觸發(fā)計數初值裝入計數器計數過程
41、計數結束第7章 中斷控制器和計數器/定時器 81模式2:分頻器03124GATEOUTCLK 4031240312403124WR第7章 中斷控制器和計數器/定時器 82模式3:方波發(fā)生器03124GATEOUTCLK 4031240312403124WR第7章 中斷控制器和計數器/定時器 83模式4:軟件觸發(fā)的選通信號發(fā)生器WRCLKGATEOUTCW18N33210第7章 中斷控制器和計數器/定時器 84模式5:硬件觸發(fā)的選通信號發(fā)生器WRCLKGATEOUTCW1A N33210第7章 中斷控制器和計數器/定時器 85 工作模式輸出波形模式 0模式 1模式 2模式 3模式 4模式 5N+
42、1NN(N+1)/2N0 1N-1(N-1)/2N0 1第7章 中斷控制器和計數器/定時器 86模式 0軟件置數 禁止 允許工作模式 啟動方式門控信號01跳變模式 1硬件觸發(fā) 啟動 模式 2 軟件置數 / 自動重裝 禁止 啟動 允許模式 3 軟件置數 /自動重裝 禁止 啟動 允許模式 4軟件置數 禁止 允許模式 5硬件觸發(fā) 啟動 啟動方式、門控信號的影響比較第7章 中斷控制器和計數器/定時器 87初始化編程8253加電后的工作方式不確定,必須初始化編程,才能正常工作寫入控制字寫入計數初值讀取計數值第7章 中斷控制器和計數器/定時器 88例:設8253計數器0工作于方式0,用二十進制計數,其計數
43、初值為50,寫出初始化程序段。MOV AL,00010001B ;設置控制字OUT 43H,AL ;寫入控制字寄存器MOV AL,50H ;設置計數初值OUT 40H,AL ;寫入計數初值寄存器第7章 中斷控制器和計數器/定時器 89例:設8253計數器1工作于方式1,按二進制計數,計數初值為4000H,寫出初始化程序段。 MOV AL,01100010H ;工作方式控制字OUT 43H,ALMOV AL,40H ;送計數初值OUT 41H,AL第7章 中斷控制器和計數器/定時器 90例:設8253計數器2工作于方式2,按二進制計數,計數初值為0304H,寫出初始化程序段。 MOV AL,10110100B;設控制字OUT 43H,ALMOV AL,04H ;送計數值低字節(jié)OUT 42H,AL MOV AL,03HOUT 42H,AL ;送計數值高字節(jié)第7章 中斷控制器和計數器/定時器 91讀取計數值對8位數據線,讀取16位計數值需分兩次計數在不斷進行,應該將當前計數值先行鎖存,然后讀?。合?253寫入鎖存命令(控制端口)讀取鎖存的計數值 (計數器端口)第7章 中斷控制器和計數器/定時器 92例:MOV AL,01000101B; T/C1,先
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二年級下冊數學教案 - 第三單元 第一節(jié)【第一課時】 數一數(一)(認識并感受“千”1)北師大版
- 2025年師范大學協議管理辦法
- 勞動協議:勞務分包協議(2025年版)
- 2024年水利機械項目資金需求報告代可行性研究報告
- 2024年高性能陶瓷刀具材料項目資金需求報告代可行性研究報告
- 全國清華版信息技術小學三年級上冊新授課 第11課 智能輸詞句-詞組和整句輸入 教學設計
- 2025年度手房交易資金監(jiān)管補充協議
- 2025年度大米產業(yè)投資基金簡易合作協議
- 2025年度商標同授權及品牌授權許可合同
- 二零二五年度網紅直播帶貨營銷推廣服務合同
- FSC認證培訓材料
- Germany introduction2-德國國家介紹2
- 精素材:描寫植物的好詞好句好段
- 急危重癥患者靜脈通路的建立與管理月教學課件
- 【高中語文】《登岳陽樓》課件17張+統(tǒng)編版高中語文必修下冊
- 火力發(fā)電廠總經理崗位規(guī)范
- 華師大版八年級數學下冊全冊教案
- 中國的能源安全 課件
- 期末總結600字四篇
- 五險一金繳費明細表
- JJG 644-2003振動位移傳感器
評論
0/150
提交評論