第8章微機(jī)原理_第1頁(yè)
第8章微機(jī)原理_第2頁(yè)
第8章微機(jī)原理_第3頁(yè)
第8章微機(jī)原理_第4頁(yè)
第8章微機(jī)原理_第5頁(yè)
已閱讀5頁(yè),還剩51頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、黃玉清制作 第第8章章 定時(shí)定時(shí)/計(jì)數(shù)器計(jì)數(shù)器8253 8.1 定時(shí)基本概念 8.2 可編程計(jì)數(shù)器/定時(shí)器8253 8.3 8253應(yīng)用舉例 8.3.1 計(jì)數(shù)器/定時(shí)器 8253的初始化 8.3.2 時(shí)鐘程序 本章小結(jié) 本章習(xí)題 黃玉清制作 學(xué)學(xué) 習(xí)習(xí) 目目 的的 通過(guò)對(duì)本章的學(xué)習(xí),您應(yīng)該能夠達(dá)到下列 要求: 了解定時(shí)基本概念了解定時(shí)基本概念 熟悉可編程計(jì)數(shù)器熟悉可編程計(jì)數(shù)器/定時(shí)器定時(shí)器8253的外部特性的外部特性 熟悉可編程計(jì)數(shù)器熟悉可編程計(jì)數(shù)器/定時(shí)器定時(shí)器8253工作模式工作模式 熟悉可編程計(jì)數(shù)器熟悉可編程計(jì)數(shù)器/定時(shí)器定時(shí)器8253初始化初始化 黃玉清制作 重重 點(diǎn)點(diǎn) 8253的外部

2、特性的外部特性 8253工作模式工作模式 8253初始化初始化 黃玉清制作 8.1 定時(shí)基本概念定時(shí)基本概念 一一. 定時(shí)與計(jì)數(shù)定時(shí)與計(jì)數(shù) 二二. 微機(jī)中的定時(shí)方法微機(jī)中的定時(shí)方法 軟件定時(shí)軟件定時(shí)延遲子程序延遲子程序 硬件定時(shí)硬件定時(shí)用計(jì)數(shù)器用計(jì)數(shù)器/定時(shí)器定時(shí)器8253 8.1: 定時(shí)基本概念定時(shí)基本概念 黃玉清制作 例例8.1:軟件定時(shí)的例子軟件定時(shí)的例子: 編寫(xiě)一個(gè)軟件定時(shí)程序編寫(xiě)一個(gè)軟件定時(shí)程序,要求定時(shí)要求定時(shí)20ms. 假設(shè)假設(shè):8086的時(shí)鐘的時(shí)鐘=8MHz, 一個(gè)時(shí)鐘周期一個(gè)時(shí)鐘周期 T=1/8MHz=0.125us 延時(shí)延時(shí)20ms,執(zhí)行執(zhí)行PUSHF,POPF指令指令:

3、需要循環(huán)次數(shù):需要循環(huán)次數(shù): N=20000/(12+14+17)*0.125 =37209 參考程序:參考程序: MOV CX,37209 PUSHF ;時(shí)鐘數(shù)時(shí)鐘數(shù):14T POPF ;時(shí)鐘數(shù)時(shí)鐘數(shù):12T LOOP ;時(shí)鐘數(shù)時(shí)鐘數(shù):17/5T 8.1:軟件定時(shí)的例子軟件定時(shí)的例子 黃玉清制作 誤差修正:(15+12+19)*0.125=5.75ms 寫(xiě)成子程序:寫(xiě)成子程序: DELAY: PUSH CX MOV CX, 37209 L: PUSHF POPF LOOP L POP CX RET PUSH CX ;15T POP CX ;12T RET ;時(shí)鐘數(shù)時(shí)鐘數(shù):19T 8.1:軟件

4、定時(shí)的例子軟件定時(shí)的例子 黃玉清制作 主要程序片段主要程序片段 LP:CALL DELAY MOV DL,30H MOV AH,02H ;DOS調(diào)用調(diào)用,顯示一個(gè)字符顯示一個(gè)字符 INT 21H INC DL LOOP LP MOV AH,4CH INT 21H DELAY PROC NEAR ;軟件延時(shí)子程序軟件延時(shí)子程序 PUSH AX MOV CX,0FFFFH L: PUSHF POPF LOOP L DO: POP AX RET DELAY ENDP 8.1:軟件定時(shí)的例子軟件定時(shí)的例子 黃玉清制作 8.2 可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器定時(shí)器8253/8254 PIT(Progr

5、ammable Interval Timer) 8253:最高計(jì)數(shù)速率:最高計(jì)數(shù)速率:2.6Mhz 8254:最高計(jì)數(shù)速率:最高計(jì)數(shù)速率:8.0Mhz 8253與與8254引腳相同,用法相同引腳相同,用法相同 8.2:可編程計(jì)數(shù)器可編程計(jì)數(shù)器/定時(shí)器定時(shí)器8253 黃玉清制作 計(jì)數(shù)器計(jì)數(shù)器/ /定時(shí)器定時(shí)器82538253特點(diǎn)特點(diǎn) 三個(gè)獨(dú)立三個(gè)獨(dú)立1616位計(jì)數(shù)器位計(jì)數(shù)器 6 6種工作方式種工作方式 二進(jìn)制計(jì)數(shù)與二進(jìn)制計(jì)數(shù)與BCDBCD碼計(jì)數(shù)碼計(jì)數(shù) 單一單一5V5V供電供電 最高計(jì)數(shù)速率最高計(jì)數(shù)速率2.6Mhz(8253),8Mhz(8254)2.6Mhz(8253),8Mhz(8254) 片

6、內(nèi)尋址片內(nèi)尋址 A1 A0= 00、01、10、11 對(duì)應(yīng):通道對(duì)應(yīng):通道0、1、2和控制口地址和控制口地址 黃玉清制作 1、8253、8254引腳引腳 8.2: 8253外部特性外部特性 黃玉清制作 與與CPU相連的信號(hào)相連的信號(hào): 數(shù)據(jù)線數(shù)據(jù)線D7D0,讀讀RD,寫(xiě)寫(xiě)WR, 片選片選CS,地址線地址線A0,A1 8253 GATE0 OUT0 CLK0 5V 8088 CPU 1KHz D07 8253運(yùn)行原理圖運(yùn)行原理圖 譯碼譯碼 地址地址 M/IO CS WR RD A0 A1 A0 A1 WR RD 8.2: 8253外部特性外部特性 黃玉清制作 1).數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器

7、往計(jì)數(shù)器設(shè)置計(jì)數(shù)初值;往計(jì)數(shù)器設(shè)置計(jì)數(shù)初值; 從計(jì)數(shù)器讀取計(jì)數(shù)值;從計(jì)數(shù)器讀取計(jì)數(shù)值; 往控制寄存器設(shè)置控制字。往控制寄存器設(shè)置控制字。 2).讀讀/寫(xiě)邏輯電路寫(xiě)邏輯電路 A1 A0:端口選擇:端口選擇 0 0:通道:通道0(0號(hào)計(jì)數(shù)器)號(hào)計(jì)數(shù)器) 0 1:通道:通道1(1號(hào)計(jì)數(shù)器)號(hào)計(jì)數(shù)器) 1 0:通道:通道2(2號(hào)計(jì)數(shù)器)號(hào)計(jì)數(shù)器) 1 1:控制字寄存器:控制字寄存器 8.2: 8253外部特性外部特性 黃玉清制作 3).控制命令寄存器控制命令寄存器(8位位) 4).定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器: 三個(gè)三個(gè)16位獨(dú)立通道位獨(dú)立通道:計(jì)數(shù)器計(jì)數(shù)器0, 計(jì)數(shù)器計(jì)數(shù)器1, 計(jì)數(shù)器計(jì)數(shù)器2 每個(gè)通

8、道包含每個(gè)通道包含: 計(jì)數(shù)初值寄存器計(jì)數(shù)初值寄存器(16位位) 減一寄存器減一寄存器(16位位) 當(dāng)前計(jì)數(shù)初值鎖存器當(dāng)前計(jì)數(shù)初值鎖存器(16位位) 8.2: 8253外部特性外部特性 黃玉清制作 二、編程結(jié)構(gòu):二、編程結(jié)構(gòu):1、8253定時(shí)器原理定時(shí)器原理 8086 控制寄存器存放控制字控制寄存器存放控制字 計(jì)數(shù)初值寄存器存放計(jì)數(shù)計(jì)數(shù)初值寄存器存放計(jì)數(shù) 初值或定時(shí)常數(shù)初值或定時(shí)常數(shù) 減一計(jì)數(shù)器減一計(jì)數(shù)器 輸出鎖存器輸出鎖存器 8.2: 8253編程結(jié)構(gòu)編程結(jié)構(gòu) 黃玉清制作 讀寫(xiě)控讀寫(xiě)控 制制 地址控地址控 制制 片選控片選控 制制 控制寄存器控制寄存器 三個(gè)獨(dú)立三個(gè)獨(dú)立 通道通道 脈沖輸入脈沖

9、輸入 門(mén)控信號(hào)門(mén)控信號(hào) 輸出輸出 2、8253編程結(jié)構(gòu)編程結(jié)構(gòu) 8.2: 8253編程結(jié)構(gòu)編程結(jié)構(gòu) 黃玉清制作 提問(wèn): 8253有幾個(gè)定時(shí)通道?有幾個(gè)定時(shí)通道? 8253每個(gè)計(jì)數(shù)通道與外設(shè)接口有哪些信號(hào)每個(gè)計(jì)數(shù)通道與外設(shè)接口有哪些信號(hào) 線,每個(gè)信號(hào)的用途是什么?線,每個(gè)信號(hào)的用途是什么? 定時(shí)定時(shí) /計(jì)數(shù)器芯片計(jì)數(shù)器芯片Intel 8253占用幾個(gè)端口占用幾個(gè)端口 地址?各個(gè)端口分別對(duì)應(yīng)什么?地址?各個(gè)端口分別對(duì)應(yīng)什么? 8.2:提問(wèn)提問(wèn) 黃玉清制作 3./定時(shí)器的工作特點(diǎn)定時(shí)器的工作特點(diǎn) 1)門(mén)脈沖控制時(shí)鐘輸入;)門(mén)脈沖控制時(shí)鐘輸入; 2)用門(mén)脈沖來(lái)重新啟動(dòng)計(jì)數(shù);)用門(mén)脈沖來(lái)重新啟動(dòng)計(jì)數(shù);

10、3)用門(mén)脈沖停止計(jì)數(shù);)用門(mén)脈沖停止計(jì)數(shù); 4)單一計(jì)數(shù);)單一計(jì)數(shù); 5)循環(huán)計(jì)數(shù))循環(huán)計(jì)數(shù). 8.2:工作特點(diǎn)工作特點(diǎn) 黃玉清制作 計(jì)數(shù)初值計(jì)數(shù)初值n =時(shí)鐘頻率時(shí)鐘頻率fc/輸出頻率輸出頻率fout =定時(shí)時(shí)間定時(shí)時(shí)間Tout/時(shí)鐘脈沖周期時(shí)鐘脈沖周期Tc 方式命令字方式命令字 對(duì)對(duì)8253初始化初始化 方式命令字的格式方式命令字的格式 8.2:8253編程命令編程命令 黃玉清制作 8.2: 8253控制字格式控制字格式 SC1 SC0 RW1 RW0 M2 M1 M0 BCD 1-計(jì)數(shù)值為計(jì)數(shù)值為BCD碼格式碼格式 0-計(jì)數(shù)值為二進(jìn)制格式計(jì)數(shù)值為二進(jìn)制格式 M2 M1 M0 模式選擇模

11、式選擇 0 0 0 模式模式0 0 0 1 模式模式1 / 1 0 模式模式2 / 1 1 模式模式3 1 0 0 模式模式4 1 0 1 模式模式5 0 0-對(duì)計(jì)數(shù)器進(jìn)行鎖存對(duì)計(jì)數(shù)器進(jìn)行鎖存 0 1-只讀只讀/寫(xiě)低寫(xiě)低8位字節(jié)位字節(jié) 1 0-只讀只讀/寫(xiě)高寫(xiě)高8位字節(jié)位字節(jié) 1 1-先讀先讀/寫(xiě)低寫(xiě)低8位字節(jié)位字節(jié), 再讀再讀/寫(xiě)高寫(xiě)高8位字節(jié)位字節(jié). 0 0-選計(jì)數(shù)器選計(jì)數(shù)器0 0 1-選計(jì)數(shù)器選計(jì)數(shù)器1 1 0-選計(jì)數(shù)器選計(jì)數(shù)器2 1 1-無(wú)意義無(wú)意義 黃玉清制作 8253初始化方法初始化方法:設(shè)置控制字;確定計(jì)數(shù)初值。設(shè)置控制字;確定計(jì)數(shù)初值。 例例8.2:使使2號(hào)定時(shí)器號(hào)定時(shí)器,工作

12、在方式工作在方式3,計(jì)數(shù)初值計(jì)數(shù)初值=533h,二進(jìn)二進(jìn) 制計(jì)數(shù)制計(jì)數(shù).試寫(xiě)出試寫(xiě)出8253初始化程序段初始化程序段. 8253端口地址端口地址:40H,41H,42H,43H MOV AL,10110110B ;2號(hào)定時(shí)器號(hào)定時(shí)器,方式方式3 OUT 43H,AL MOV AX,0533H OUT 42H,AL ;2號(hào)數(shù)據(jù)口號(hào)數(shù)據(jù)口 MOV AL,AH OUT 42H,AL 8.2: 8253控制字格式控制字格式 黃玉清制作 方式方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷計(jì)數(shù)結(jié)束產(chǎn)生中斷 一次定時(shí)或計(jì)數(shù),重寫(xiě)初值,啟動(dòng)新一輪的計(jì)數(shù) 方式方式1可編程的單脈沖可編程的單脈沖(單穩(wěn)單穩(wěn))觸發(fā)器觸發(fā)器 GATE邊沿觸發(fā)

13、,啟動(dòng)新一輪計(jì)數(shù) 方式方式2分頻器分頻器(速度波發(fā)生器速度波發(fā)生器) 具有計(jì)數(shù)初值重裝能力 方式方式3方波發(fā)生器方波發(fā)生器 具有計(jì)數(shù)初值重裝能力 方式方式4軟件觸發(fā)的選通信號(hào)發(fā)生器軟件觸發(fā)的選通信號(hào)發(fā)生器 一次定時(shí),重寫(xiě)初值,啟動(dòng)新一輪的計(jì)數(shù) 方式方式5硬件觸發(fā)的選通信號(hào)發(fā)生器硬件觸發(fā)的選通信號(hào)發(fā)生器 GATE邊沿觸發(fā)新一輪計(jì)數(shù) 8.2: 8253工作模式工作模式 黃玉清制作 方式方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷計(jì)數(shù)結(jié)束產(chǎn)生中斷 (一次定時(shí)或計(jì)數(shù)一次定時(shí)或計(jì)數(shù),重寫(xiě)初值重寫(xiě)初值,啟動(dòng)新一輪的計(jì)數(shù)啟動(dòng)新一輪的計(jì)數(shù)) 8.2: 8253工作模式工作模式0 黃玉清制作 例例8.3:使使1號(hào)號(hào)定時(shí)器定時(shí)器,工作

14、在方式工作在方式0,計(jì)數(shù)初值計(jì)數(shù)初值=0FF5h, 二進(jìn)制計(jì)數(shù)二進(jìn)制計(jì)數(shù).試寫(xiě)出試寫(xiě)出8253初始化程序段初始化程序段. 8253端口地址端口地址:340H,341H,342H,343H MOV DX,343H MOV AL,01110000B ;1號(hào)定時(shí)器號(hào)定時(shí)器,方式方式0 OUT DX,AL MOV DX,341H MOV AX,0FF5H OUT DX,AL ; 1號(hào)數(shù)據(jù)口號(hào)數(shù)據(jù)口 MOV AL,AH OUT DX,AL 8.2: 8253工作模式工作模式0 黃玉清制作 高 方式方式1_單脈沖觸發(fā)器單脈沖觸發(fā)器(GATE邊沿觸發(fā)邊沿觸發(fā),啟動(dòng)新一輪計(jì)數(shù)啟動(dòng)新一輪計(jì)數(shù)) 8.2: 825

15、3工作模式工作模式1 黃玉清制作 方式方式2-分頻器分頻器(具有計(jì)數(shù)具有計(jì)數(shù)初值重裝初值重裝能力能力) 8.2: 8253工作模式工作模式2 黃玉清制作 方式方式3-方波發(fā)生器方波發(fā)生器(具有計(jì)數(shù)具有計(jì)數(shù)初值重裝初值重裝能力能力) 8.2: 8253工作模式工作模式3 黃玉清制作 例例8.4:使使0號(hào)定時(shí)器號(hào)定時(shí)器,工作在方式工作在方式3,計(jì)數(shù)初值計(jì)數(shù)初值 N=1000,二進(jìn)制計(jì)數(shù)二進(jìn)制計(jì)數(shù),試寫(xiě)出試寫(xiě)出8253初始化程序段初始化程序段. 8253端口地址端口地址:40H,41H,42H,43H MOV AL,10110110B ;2號(hào)定時(shí)器號(hào)定時(shí)器,方式方式3 OUT 43H,AL MOV

16、AX,1000 OUT 40H,AL ; 0號(hào)數(shù)據(jù)口號(hào)數(shù)據(jù)口 MOV AL,AH OUT 40H,AL 8.2: 8253工作模式工作模式3 黃玉清制作 方式方式4-軟件觸發(fā)的選通信號(hào)發(fā)生器軟件觸發(fā)的選通信號(hào)發(fā)生器 8.2: 8253工作模式工作模式4 黃玉清制作 方式方式5-硬件觸發(fā)的選通信號(hào)發(fā)生器硬件觸發(fā)的選通信號(hào)發(fā)生器 8.2: 8253工作模式工作模式5 黃玉清制作 例例8.5:讀當(dāng)前計(jì)數(shù)值:由于在計(jì)數(shù)過(guò)程中,減讀當(dāng)前計(jì)數(shù)值:由于在計(jì)數(shù)過(guò)程中,減1計(jì)數(shù)計(jì)數(shù) 器不斷變化,當(dāng)前計(jì)數(shù)值必須先鎖存到輸出鎖存器不斷變化,當(dāng)前計(jì)數(shù)值必須先鎖存到輸出鎖存 器中,方可讀出。要鎖存,必須再次設(shè)置控制字。

17、器中,方可讀出。要鎖存,必須再次設(shè)置控制字。 MOVAL,10000110B ;2號(hào)定時(shí)器,號(hào)定時(shí)器,鎖存命令鎖存命令 OUT43H,AL INAL,42H;先讀低字節(jié)先讀低字節(jié) MOVBL,AL;存低字節(jié)到存低字節(jié)到BL INAL,42H;后讀高字節(jié)后讀高字節(jié) MOVBH,AL; 存高字節(jié)到存高字節(jié)到BH 8.2:讀當(dāng)前計(jì)數(shù)值讀當(dāng)前計(jì)數(shù)值 黃玉清制作 提問(wèn): 8253有幾種工作方式?有幾種工作方式? 什么是軟件觸發(fā)?什么是硬件觸發(fā)?什么是軟件觸發(fā)?什么是硬件觸發(fā)? 可重裝初值的工作方式是哪些?可重裝初值的工作方式是哪些? 8.2: 8253工作模式工作模式 黃玉清制作 8.3 8253應(yīng)用舉

18、例應(yīng)用舉例 【例【例8.8】 設(shè)某應(yīng)用系統(tǒng)中,系統(tǒng)提供一個(gè)頻率為設(shè)某應(yīng)用系統(tǒng)中,系統(tǒng)提供一個(gè)頻率為 10kHz的時(shí)鐘信號(hào),要求每隔的時(shí)鐘信號(hào),要求每隔100ms采集一次采集一次 數(shù)據(jù)。在系統(tǒng)中,采用數(shù)據(jù)。在系統(tǒng)中,采用8253定時(shí)器定時(shí)器0來(lái)實(shí)現(xiàn)這一來(lái)實(shí)現(xiàn)這一 要求。將要求。將8253芯片的芯片的CLK0接到系統(tǒng)的接到系統(tǒng)的10kHz時(shí)時(shí) 鐘上,鐘上,OUT0輸出接到輸出接到CPU的中斷請(qǐng)求線上,的中斷請(qǐng)求線上, 8253的端口地址為的端口地址為210H213H,如,如圖圖8.14所所 示。示。 黃玉清制作 (1)定時(shí)器工作在方式定時(shí)器工作在方式2 (2)確定計(jì)數(shù)初值)確定計(jì)數(shù)初值 已知已知=

19、10kHz,則,則=0.1ms,計(jì)數(shù)初值:,計(jì)數(shù)初值: n=/=100ms/0.1ms=1000=03E8H 黃玉清制作 MOV DX,213H MOV AL,34H;計(jì)數(shù)器計(jì)數(shù)器0,16位計(jì)數(shù),方式位計(jì)數(shù),方式2,二進(jìn)制計(jì)數(shù),二進(jìn)制計(jì)數(shù) OUT DX,AL;寫(xiě)入方式控制字到控制字寄存器寫(xiě)入方式控制字到控制字寄存器 MOV DX ,210H MOV AL,0E8H ;計(jì)數(shù)初值低;計(jì)數(shù)初值低8位位 OUT DX,AL;寫(xiě)入計(jì)數(shù)初值低;寫(xiě)入計(jì)數(shù)初值低8位到計(jì)數(shù)器位到計(jì)數(shù)器0 MOV AL,03H;計(jì)數(shù)初值高;計(jì)數(shù)初值高8位位 OUT DX,AL;寫(xiě)入計(jì)數(shù)初值高;寫(xiě)入計(jì)數(shù)初值高8位到計(jì)數(shù)器位到計(jì)數(shù)器

20、0 黃玉清制作 【例例8.10】 已知某已知某8253占用占用I/O空間地址為空間地址為 40H43H,設(shè)定時(shí)器設(shè)定時(shí)器0、定時(shí)器、定時(shí)器1工作于方式工作于方式3, 外部提供一個(gè)時(shí)鐘,頻率外部提供一個(gè)時(shí)鐘,頻率f=2MHZ。要求定時(shí)器。要求定時(shí)器1 連續(xù)連續(xù)產(chǎn)生產(chǎn)生5ms的定時(shí)信號(hào)的定時(shí)信號(hào),定時(shí)器,定時(shí)器0連續(xù)產(chǎn)生連續(xù)產(chǎn)生5秒秒 的定時(shí)信號(hào)的定時(shí)信號(hào)。 1). 一個(gè)定時(shí)器的最大定時(shí)時(shí)間:一個(gè)定時(shí)器的最大定時(shí)時(shí)間: 65536/(2*106)=0.032768 s=32.768ms 因此一個(gè)定時(shí)器因此一個(gè)定時(shí)器不能不能完成完成5s定時(shí)!定時(shí)! 解決辦法:解決辦法:將定時(shí)器將定時(shí)器0與定時(shí)器與定

21、時(shí)器1串連使用串連使用,定定 時(shí)器時(shí)器1 方式方式3。 8.3: 8253應(yīng)用舉例應(yīng)用舉例 黃玉清制作 8.3: 8253應(yīng)用舉例應(yīng)用舉例 地址地址 譯碼譯碼 CPU D7D0 AB 8253 兩個(gè)定時(shí)器串連使用兩個(gè)定時(shí)器串連使用 每每5ms產(chǎn)生一個(gè)脈沖產(chǎn)生一個(gè)脈沖 黃玉清制作 2). 將定時(shí)器將定時(shí)器1的的CLK1接接2MHZ時(shí)鐘,計(jì)數(shù)初值:時(shí)鐘,計(jì)數(shù)初值: 100001025 6 111 msftn 3).將定時(shí)器將定時(shí)器1的的OUT1端接到定時(shí)器端接到定時(shí)器0的的CLK0端端, 定時(shí)器定時(shí)器0的計(jì)數(shù)初值的計(jì)數(shù)初值: 100052005 200 105 1 00 3 0 sfn HZ ms

22、 f 黃玉清制作 8253初始化程序: MOV AL,00110110B ;0號(hào)定時(shí)器號(hào)定時(shí)器,方式方式3 OUT 43H,AL MOV AX,1000 OUT 40H,AL MOV AL,AH OUT 40H,AL MOV AL,01110110B ;1號(hào)定時(shí)器號(hào)定時(shí)器,方式方式3 OUT 43H,AL MOV AX,10000 OUT 41H,AL MOV AL,AH OUT 41H,AL 8.3: 8253應(yīng)用舉例應(yīng)用舉例 黃玉清制作 8.3.2 8253在微機(jī)系統(tǒng)中的應(yīng)用 CLK0 OUT0 GATE0 A0 A1 譯碼 D7D0 8253 A9A4 A0 A1 D7D0 CLK1 O

23、UT1 GATE1 CLK2 OUT2 GATE2 RD WR IOW IOR CS +5V 1.19318MHz累計(jì)累計(jì)1秒所需計(jì)時(shí)單位秒所需計(jì)時(shí)單位 S1 DW 0 ;秒單元秒單元 M1 DW 0;分單元分單元 8253定時(shí)器定時(shí)器0工作于方式工作于方式3, 初始化程序:初始化程序: CW0 DB 00110110B MOVAL,CW0 OUT43H,AL;初始化初始化8253 MOVAX,0 OUT40H,AL;送計(jì)數(shù)初值送計(jì)數(shù)初值65536 MOVAL,AH OUT40H,AL 黃玉清制作 定時(shí)器定時(shí)器0中斷服務(wù)程序框架:中斷服務(wù)程序框架: TIMER: INC COUNT CMP C

24、OUNT,18 JNZ EXIT ;不滿不滿1秒轉(zhuǎn)秒轉(zhuǎn) INC S1 ;秒單元加秒單元加1 MOV COUNT,0 ;清秒計(jì)數(shù)單元清秒計(jì)數(shù)單元 CALL 更新顯示秒更新顯示秒 CMP S1,60 ;滿滿60秒秒? JNZ EXIT ;不滿不滿60秒轉(zhuǎn)秒轉(zhuǎn) MOV S1,0;清清S1 INC M1 ;分單元加分單元加1 CALL 更新顯示分更新顯示分 EXIT:IRET ; 退出中斷退出中斷 9.3: 8253應(yīng)用舉例應(yīng)用舉例 黃玉清制作 例例8.8:利用利用1CH中斷號(hào),編寫(xiě)程序,以秒為單位交叉中斷號(hào),編寫(xiě)程序,以秒為單位交叉 顯示顯示0,1。 DATA SEGMENT OFF_0 DW ?

25、;中斷向量偏移地址中斷向量偏移地址 SEG_0 DW ? ;中斷向量段地址中斷向量段地址 DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA start: MOV AX,DATA ;Initial MOV DS,AX ;取原取原IR0中斷向量中斷向量 MOV AX,351CH ;取原中斷向量取原中斷向量 INT 21H MOV SEG_0,ES ;保存原中斷向量保存原中斷向量 MOV OFF_0,BX 8.3: 8253應(yīng)用舉例應(yīng)用舉例 黃玉清制作 ;設(shè)置新中斷向量設(shè)置新中斷向量 CLI PUSH DS MOV DX,OFFSET NEWIR0 MOV

26、 AX,SEG NEWIR0 MOV DS,AX MOV AH,25H MOV AL,1CH INT 21H POP DS STI MOV BX,3031H;準(zhǔn)備顯示字符準(zhǔn)備顯示字符 MOV CX,0;計(jì)數(shù)設(shè)為計(jì)數(shù)設(shè)為0 W1: NOP JMP W1 ;轉(zhuǎn)轉(zhuǎn)W1,等待中斷等待中斷 8.3: 8253應(yīng)用舉例應(yīng)用舉例 黃玉清制作 ;恢復(fù)原中斷恢復(fù)原中斷 cli MOV DX,OFF_0 PUSH DS MOV DS,SEG_0 MOV AX,251CH INT 21H POP DS STI MOV AX,4C00H ;返回返回DOS INT 21H 8.3: 8253應(yīng)用舉例應(yīng)用舉例 黃玉清制作

27、 ;新中斷服務(wù)程序新中斷服務(wù)程序 NEWIR0 PROC FAR ;新新IRQ0中服程序中服程序 PUSH AX ;保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) INC CL ;1/18S, CMP CL,18 ;滿滿1秒秒?,否否,繼續(xù)累計(jì)繼續(xù)累計(jì) JB L1 MOV CL,0 XCHG BH,BL;滿滿1秒,交換顯示秒,交換顯示0,1 MOV AL,BL ;要顯示字符送要顯示字符送AL MOV AH,0EH ;BIOS調(diào)用,顯示一個(gè)字符調(diào)用,顯示一個(gè)字符 INT 10H L1: POP AX IRET NEWIR0 ENDP CODE ENDS END START 8.3: 8253應(yīng)用舉例應(yīng)用舉例 黃玉清制作 提問(wèn)

28、: CPU怎樣尋找中斷服務(wù)程序的入口地怎樣尋找中斷服務(wù)程序的入口地 址?址? 中斷向量如何設(shè)置?中斷向量如何設(shè)置? 黃玉清制作 本章小結(jié) 定時(shí)方法定時(shí)方法 8253的外部特性,與的外部特性,與CPU的連接的連接 8253的工作方式的工作方式 8253的初始化編程的初始化編程 8253的應(yīng)用的應(yīng)用 本章小結(jié) 黃玉清制作 本章作業(yè) 1,3,5,6,7 黃玉清制作 習(xí)題習(xí)題8 8 8.1 定時(shí)和計(jì)數(shù)有哪幾種實(shí)現(xiàn)方法?各有什么特點(diǎn)?定時(shí)和計(jì)數(shù)有哪幾種實(shí)現(xiàn)方法?各有什么特點(diǎn)? 8.2 試說(shuō)明定時(shí)器試說(shuō)明定時(shí)器/計(jì)數(shù)器芯片計(jì)數(shù)器芯片Intel 8253的內(nèi)部結(jié)構(gòu)。的內(nèi)部結(jié)構(gòu)。 8.3 設(shè)設(shè)8253計(jì)數(shù)器計(jì)數(shù)器02和控制字的和控制字的I/O地址依次為地址依次為F8HFBH, 說(shuō)明如下程序的作用。說(shuō)明如下程序的作用。 MOVAL, 33H OUT0FBH,AL MOVAL,80

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論