可變程計(jì)數(shù)器8253及其應(yīng)用.ppt_第1頁
可變程計(jì)數(shù)器8253及其應(yīng)用.ppt_第2頁
可變程計(jì)數(shù)器8253及其應(yīng)用.ppt_第3頁
可變程計(jì)數(shù)器8253及其應(yīng)用.ppt_第4頁
可變程計(jì)數(shù)器8253及其應(yīng)用.ppt_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第8章 可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用,2、可編程計(jì)數(shù)器/定時(shí)器(1). 計(jì)數(shù)器: (2). 定時(shí)器,1、微機(jī)定時(shí)方法 (1). 軟件定時(shí)延遲子程序,占用CPU時(shí)間 (2). 硬件定時(shí)用計(jì)數(shù)器/定時(shí)器8253,一、微機(jī)定時(shí)方法 1. 軟件定時(shí)延遲子程序 2. 硬件定時(shí)用計(jì)數(shù)器/定時(shí)器8253 二、可編程計(jì)數(shù)器/定時(shí)器的工作原理 功能:一是為計(jì)數(shù);一是為定時(shí)。 8253的用處:1)在多任務(wù)的分時(shí)系統(tǒng)中用來作為中斷信號(hào)實(shí) 現(xiàn)程序的切換;2)可以往I/O設(shè)備輸出精確的定時(shí)信號(hào);3)作為一個(gè)可編程的波特率發(fā)生器;4)實(shí)現(xiàn)時(shí)間延時(shí)。,第8章 可編程計(jì)數(shù)器/定時(shí)器8253及其應(yīng)用,計(jì)數(shù)器/定時(shí)器82

2、53特點(diǎn) 三個(gè)通道,可單獨(dú)使用 片內(nèi)尋址 A1 A0= 00、01、10、11 對應(yīng):通道0、1、2和控制口地址 工作方式:6種,8-1 8253的工作原理,一、8253的內(nèi)部結(jié)構(gòu)和引腳信號(hào),1.數(shù)據(jù)總線緩沖器 往計(jì)數(shù)器設(shè)置計(jì)數(shù)初值; 從計(jì)數(shù)器讀取計(jì)數(shù)值; 往控制寄存器設(shè)置控制字。 2.讀/寫邏輯電路 A1 A0:端口選擇 0 0:通道0(0號(hào)計(jì)數(shù)器) 0 1:通道1(1號(hào)計(jì)數(shù)器) 1 0:通道2(2號(hào)計(jì)數(shù)器) 1 1:控制字寄存器,3.通道0、通道1、通道2 計(jì)數(shù)器0: CLK0計(jì)數(shù)器0的時(shí)鐘輸入。 GATE0計(jì)數(shù)器0的門脈沖控制輸入。OUT0計(jì)數(shù)器0的輸出。 計(jì)數(shù)器1:CLK1,GATE1

3、,OUT1 計(jì)數(shù)器2: CLK2,GATE2,OUT2,8253 編程結(jié)構(gòu),4. 控制寄存器 8253控制寄存器的格式,SC1 SC0 RW1 RW0 M2 M1 M0 BCD,1-計(jì)數(shù)值為BCD碼格式 0-計(jì)數(shù)值為二進(jìn)制格式,M2 M1 M0 模式選擇 0 0 0 模式0 0 0 1 模式1 x 1 0 模式2 x 1 1 模式3 1 0 0 模式4 1 0 1 模式5,0 0-對計(jì)數(shù)器進(jìn)行鎖存 0 1-只讀/寫低8位字節(jié) 1 0-只讀/寫高8位字節(jié) 1 1-先讀/寫低8位字節(jié), 再讀/寫高8位字節(jié).,0 0-選計(jì)數(shù)器0 0 1-選計(jì)數(shù)器1 1 0-選計(jì)數(shù)器2 1 1-無意義,8253內(nèi)部包

4、含3個(gè)完全相同的計(jì)數(shù)器定時(shí)器通道,對3個(gè)通道的操作完全是獨(dú)立的。 每個(gè)通道都包含一個(gè)8位的控制字寄存器、一個(gè)16位的計(jì)數(shù)初值寄存器、一個(gè)計(jì)數(shù)器執(zhí)行部件(實(shí)際的計(jì)數(shù)器)和一個(gè)16位的輸出鎖存器。 執(zhí)行部件實(shí)際上是一個(gè)16位的減法計(jì)數(shù)器,不能直接對其進(jìn)行讀寫操作。,對計(jì)數(shù)器02的寫入操作實(shí)際是寫各自的計(jì)數(shù)初值寄存器。 對計(jì)數(shù)器02的讀出操作實(shí)際是讀各自的計(jì)數(shù)輸出鎖存器,計(jì)數(shù)輸出鎖存器的值常跟隨計(jì)數(shù)執(zhí)行部件變化。 計(jì)數(shù)初值寄存器和輸出鎖存器都是16位寄存器,它們均可被分成高8位和低8位兩個(gè)部分來讀寫。 執(zhí)行部件自身能夠從初值寄存器獲得計(jì)數(shù)初始值,并能把當(dāng)前的計(jì)數(shù)值鎖存到輸出鎖存器中,必要時(shí)CPU可對

5、它執(zhí)行讀操作,以了解某個(gè)時(shí)刻計(jì)數(shù)器的瞬時(shí)值。,每個(gè)通道工作時(shí),都是對輸入到CLK引腳上的脈沖按二進(jìn)制或十進(jìn)制(BCD碼)格式進(jìn)行計(jì)數(shù)。 計(jì)數(shù)采用倒計(jì)數(shù)法,先對計(jì)數(shù)器預(yù)置一個(gè)初值,再把初值裝入實(shí)際的計(jì)數(shù)器。 裝入初始值的方法有兩種:在門控信號(hào)GATE從低電平變?yōu)楦唠娖降纳仙貢r(shí)刻,會(huì)把初值寄存器的內(nèi)容送到執(zhí)行部件; 而當(dāng)GATE保持不變時(shí),在對初值寄存器進(jìn)行寫入操作后,在下一個(gè)CLK的下降沿把初值寄存器的內(nèi)容送到執(zhí)行部件。,然后,開始遞減計(jì)數(shù)。即每輸入一個(gè)時(shí)鐘脈沖,計(jì)數(shù)器的值減1,當(dāng)計(jì)數(shù)器的值減為預(yù)定的數(shù)值時(shí),便從OUT引腳輸出一個(gè)脈沖信號(hào)。 輸出信號(hào)的波形主要由工作模式?jīng)Q定,同時(shí)還受到從外部加

6、到GATE引腳上的門控信號(hào)控制,它決定是否允許計(jì)數(shù)。,當(dāng)用8253作外部事件計(jì)數(shù)器時(shí),在CLK腳上所加的計(jì)數(shù)脈沖是由外部事件產(chǎn)生的,這些脈沖的間隔可以是不相等的。 如果要用它作定時(shí)器,則CLK引腳上應(yīng)輸入精確的時(shí)鐘脈沖。這時(shí),8253所能實(shí)現(xiàn)的定時(shí)時(shí)間,決定于計(jì)數(shù)脈沖的頻率和計(jì)數(shù)器的初值,即: 定時(shí)時(shí)間t 時(shí)鐘脈沖周期T 所計(jì)時(shí)鐘脈沖個(gè)數(shù) 時(shí)鐘脈沖周期T 預(yù)置的計(jì)數(shù)初值n,例如:在某系統(tǒng)中,8253所使用的計(jì)數(shù)脈沖頻率為0.5MHz,即脈沖周期T2s,如果給8253的計(jì)數(shù)器預(yù)置的初值n500,則當(dāng)計(jì)數(shù)器計(jì)到數(shù)值為0時(shí),定時(shí)時(shí)間 t2s5001ms。,二、 初始化編程步驟和門控信號(hào)的功能,1、8

7、253的初始化編程步驟,(1)寫入控制字 用輸出指令向控制字寄存器寫入一個(gè)控制字,以選定計(jì)數(shù)器通道,規(guī)定該計(jì)數(shù)器的工作模式和計(jì)數(shù)格式。 寫入控制字還起到復(fù)位作用,使輸出端OUT變?yōu)槌跏紶顟B(tài),并使計(jì)數(shù)器清0。 三個(gè)計(jì)數(shù)通道共用同一個(gè)控制字端口地址:A1 A0=1 1,用控制字的標(biāo)志位SC1 SC0 區(qū)別不同通道。,對3個(gè)計(jì)數(shù)器通道的編程沒有先后順序的規(guī)定。 對每個(gè)計(jì)數(shù)器的編程先寫入控制字,后寫入計(jì)數(shù)初值。,(2)寫入計(jì)數(shù)初值 用輸出指令向選中的計(jì)數(shù)器端口地址中寫入一個(gè)計(jì)數(shù)初值,初值設(shè)置時(shí)要符合控制字中有關(guān)格式的規(guī)定。 初值可以寫入8位數(shù)據(jù),也可以寫入16位數(shù)據(jù)。若是8位數(shù),只要用一條輸出指令就可

8、完成初值的設(shè)置。 如果是16位數(shù),則必須用兩條輸出指令來完成,規(guī)定先送低8位數(shù)據(jù),后送高8位數(shù)據(jù)。 由于計(jì)數(shù)器是先減1,再判斷計(jì)數(shù)值是否為零,所以寫入計(jì)數(shù)初值為0,實(shí)際就等于10000H,在二進(jìn)制計(jì)數(shù)時(shí),它表示65536,BCD計(jì)數(shù)時(shí),它表示10000。,例:在某微機(jī)系統(tǒng)中,8253的3個(gè)計(jì)數(shù)器的端口地址分別為3F0H、3F2H和3F4H,控制字寄存器的端口地址為3F6H,要求8253的通道0工作于模式3,并已知對它寫入的計(jì)數(shù)初值n1234H,則初始化程序?yàn)椋?MOV AL, 00110111B ;控制字;選擇通道0, 先讀寫低字節(jié),后高字節(jié) MOV DX, 3F6H ;指向控制口 OUT D

9、X, AL ;送控制字 MOV AL, 34H ;計(jì)數(shù)值低字節(jié) MOV DX, 3FDH ;指向計(jì)數(shù)器0端口 0UT DX, AL ;先寫入低字節(jié) MOV AL, 12H ;計(jì)數(shù)值高字節(jié) OUT DX, AL ;后寫入高字節(jié),三、 8253的工作模式 (1)方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷 一次定時(shí)或計(jì)數(shù),重寫初值,啟動(dòng)新一輪的計(jì)數(shù) (2)方式1可編程的單脈沖(單穩(wěn))觸發(fā)器 GATE邊沿觸發(fā),啟動(dòng)新一輪計(jì)數(shù) (3)方式2分頻器(速度波發(fā)生器) 具有計(jì)數(shù)初值重裝能力 (4)方式3方波發(fā)生器 具有計(jì)數(shù)初值重裝能力 (5)方式4軟件觸發(fā)的選通信號(hào)發(fā)生器 一次定時(shí),重寫初值,啟動(dòng)新一輪的計(jì)數(shù) (6)方式5硬件觸

10、發(fā)的選通信號(hào)發(fā)生器 GATE邊沿觸發(fā)新一輪計(jì)數(shù),方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷,模式0 注:計(jì)數(shù)結(jié)束產(chǎn)生中斷,在GATE=1時(shí),執(zhí)行部件獲得初值之后便開始計(jì)數(shù)。在計(jì)數(shù)過程中,如果GATE=0,則暫停計(jì)數(shù),但不影響OUT的狀態(tài); 當(dāng)GATE=01,執(zhí)行部件從剛才暫停的計(jì)數(shù)值繼續(xù)計(jì)數(shù),直到計(jì)數(shù)結(jié)束,OUT=1; 在計(jì)數(shù)過程中,如果寫入新的計(jì)數(shù)初值,則停止計(jì)數(shù),在下一個(gè)CLK脈沖下降沿后,新的初值送到計(jì)數(shù)執(zhí)行部件,此后,計(jì)數(shù)器按新的初值重新計(jì)數(shù)。 按模式0進(jìn)行計(jì)數(shù)時(shí),計(jì)數(shù)器只計(jì)一遍。當(dāng)計(jì)數(shù)器計(jì)到0時(shí),不會(huì)自動(dòng)再裝入初值重新開始計(jì)數(shù),其輸出將保持高電平。,方式1單穩(wěn)態(tài)輸出,高,在計(jì)數(shù)過程中,若GATE產(chǎn)生負(fù)跳

11、變或等于低電平,不會(huì)影響計(jì)數(shù)過程的進(jìn)行。但若在計(jì)數(shù)器回零前,GATE又產(chǎn)生從低到高的正跳變,則8253又將初值N裝入計(jì)數(shù)器執(zhí)行部件,重新開始計(jì)數(shù),其結(jié)果會(huì)使輸出的單脈沖寬度加寬。 在計(jì)數(shù)過程中,寫入新的計(jì)數(shù)初值,不影響當(dāng)前計(jì)數(shù)過程,除非再來一個(gè)GATE上升沿,則就會(huì)裝入新的初值,重新開始計(jì)數(shù)。 可以通過GATE上升沿多次觸發(fā)計(jì)數(shù)過程。,模式1 注:單脈沖(單穩(wěn))觸發(fā)器,方式2分頻器,模式2 注:分頻器,在計(jì)數(shù)過程中,當(dāng)GATE變?yōu)榈碗娖綍r(shí),將迫使OUT變?yōu)楦唠娖?,并禁止?jì)數(shù);GATE從低電平變?yōu)楦唠娖剑簿褪荊ATE端產(chǎn)生上升沿時(shí),則在下一個(gè)時(shí)鐘脈沖時(shí),把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,從初值開始遞

12、減計(jì)數(shù)。門控信號(hào)GATE可用來使多個(gè)計(jì)數(shù)器同步。 在操作過程中,任何時(shí)候都可由CPU重新寫入新的計(jì)數(shù)值,它不會(huì)影響當(dāng)前計(jì)數(shù)過程的進(jìn)行。 模式2具有自動(dòng)重裝初值功能,當(dāng)計(jì)數(shù)器計(jì)數(shù)到0的同時(shí)把初值寄存器的內(nèi)容重新裝入計(jì)數(shù)執(zhí)行部件,自動(dòng)重新計(jì)數(shù)。該過程自動(dòng)循環(huán),直到GATE=0或改變計(jì)數(shù)器的模式。,方式3方波發(fā)生器,模式3 注:方波發(fā)生器,在計(jì)數(shù)過程中,當(dāng)GATE變?yōu)榈碗娖綍r(shí),將迫使OUT變?yōu)楦唠娖剑⒔褂?jì)數(shù);GATE從低電平變?yōu)楦唠娖剑簿褪荊ATE端產(chǎn)生上升沿時(shí),則在下一個(gè)時(shí)鐘脈沖時(shí),把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,從初值開始遞減計(jì)數(shù)。門控信號(hào)GATE可用來使多個(gè)計(jì)數(shù)器同步。 在操作過程中,任何時(shí)

13、候都可由CPU重新寫入新的計(jì)數(shù)值,它不會(huì)影響當(dāng)前計(jì)數(shù)過程的進(jìn)行。只有下一個(gè)計(jì)數(shù)周期才會(huì)按新寫入的初值計(jì)數(shù)。 模式3具有自動(dòng)重裝初值功能,當(dāng)計(jì)數(shù)器計(jì)數(shù)到0的同時(shí)把初值寄存器的內(nèi)容重新裝入計(jì)數(shù)執(zhí)行部件,自動(dòng)重新計(jì)數(shù)。該過程自動(dòng)循環(huán),直到GATE=0或改變計(jì)數(shù)器的模式。,方式4軟件觸發(fā)的選通信號(hào)發(fā)生器,模式4 注:軟件觸發(fā)選通模式,在計(jì)數(shù)的過程中GATE變?yōu)榈碗娖?,則停止計(jì)數(shù),當(dāng)GATE變?yōu)楦唠娖胶?,又重新將初值裝入計(jì)數(shù)器,從初值開始計(jì)數(shù),直至計(jì)數(shù)器的值減為0時(shí),從OUT端輸出一個(gè)負(fù)脈沖。 在操作過程中,重新寫入新的計(jì)數(shù)初值,在下一個(gè)時(shí)鐘脈沖時(shí),將新的計(jì)數(shù)初值裝入執(zhí)行部件,并從新的計(jì)數(shù)值開始計(jì)數(shù)。

14、模式4不具有自動(dòng)重裝初值功能,當(dāng)計(jì)數(shù)器計(jì)數(shù)到0輸出負(fù)脈沖以后,該過程結(jié)束。要重新開始計(jì)數(shù),必須再次寫入初值。由于計(jì)數(shù)過程是由軟件把計(jì)數(shù)初值裝入計(jì)數(shù)寄存器來觸發(fā)的,所以模式4稱為軟件觸發(fā)選通模式。,方式5硬件觸發(fā)的選通信號(hào)發(fā)生器,模式5 注:硬件觸發(fā)選通模式,在計(jì)數(shù)過程中,GATE又產(chǎn)生從低到高的正跳變,經(jīng)過一個(gè)CLK周期,初值送入執(zhí)行部件,然后再進(jìn)行減1計(jì)數(shù)直到為0,輸出負(fù)脈沖。 在計(jì)數(shù)過程中,寫入新的計(jì)數(shù)初值,沒有GATE觸發(fā)信號(hào),不影響當(dāng)前計(jì)數(shù)過程。 模式5不具有自動(dòng)重裝初值功能,當(dāng)計(jì)數(shù)器計(jì)數(shù)到0輸出負(fù)脈沖以后,該過程結(jié)束。要重新開始計(jì)數(shù),必須再次給出門控信號(hào)上升沿。由于計(jì)數(shù)過程是由GAT

15、E上升沿來觸發(fā)的,所以模式5稱為硬件觸發(fā)選通模式。,例如,設(shè)定計(jì)數(shù)器為先讀低字節(jié)、后讀高字節(jié)方式,當(dāng)前計(jì)數(shù)值為0300H,則讀到的低字節(jié)為00H,在讀低字節(jié)的過程中,又來一個(gè)脈沖,使得當(dāng)前計(jì)數(shù)值變?yōu)?2FFH,這時(shí)讀取高字節(jié)便得到02H,結(jié)果便得到當(dāng)前值為0200H,出現(xiàn)錯(cuò)誤。為了防止這種情況發(fā)生,可以采用兩種方法:暫停計(jì)數(shù)或者鎖存計(jì)數(shù)器的當(dāng)前值。,暫停計(jì)數(shù)可以用外部硬件切斷計(jì)數(shù)脈沖信號(hào),或者使門控信號(hào)變?yōu)榈碗娖?,迫?253停止計(jì)數(shù)。這種方法的缺點(diǎn)是需要硬件電路配合。此外,由于外部事件源被切斷或正常的計(jì)數(shù)過程被禁止,干擾了實(shí)際的計(jì)數(shù)過程,可能出現(xiàn)漏計(jì)情況。因此,這不是一種好的方法。但這種方法

16、可以實(shí)現(xiàn)多個(gè)計(jì)數(shù)器的同步比較。,8253計(jì)數(shù)值的讀取,在許多用到8253的計(jì)數(shù)功能的場合,常常需要讀取計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值。 在計(jì)數(shù)初值設(shè)為N的情況下,如果當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值為M,則在計(jì)數(shù)模式下(模式0),已經(jīng)完成的個(gè)數(shù)等于N+1-M。 在讀計(jì)數(shù)器當(dāng)前值時(shí),計(jì)數(shù)過程仍在進(jìn)行,而且不受CPU的控制。因此,在CPU讀取計(jì)數(shù)器的輸出值時(shí),可能計(jì)數(shù)器的輸出正在發(fā)生改變,可能導(dǎo)致錯(cuò)誤的讀數(shù)。,另一方法是在讀出數(shù)據(jù)之前,先鎖存當(dāng)前計(jì)數(shù)值。當(dāng)需要讀取計(jì)數(shù)器的現(xiàn)行值時(shí),先向8253送一個(gè)鎖存命令,即把RL1RL0=00的控制字寫入8253的控制字端口,鎖存命令字中的SC1SC0用來確定要鎖存的是哪一個(gè)計(jì)數(shù)器,鎖

17、存命令字的低4位對鎖存命令無影響,可以將它們置為0。 8253立即把指定計(jì)數(shù)器的當(dāng)前計(jì)數(shù)值鎖存到輸出鎖存器中。,然后就可從相應(yīng)的計(jì)數(shù)器的輸出所存器中讀取當(dāng)前計(jì)數(shù)值。讀取計(jì)數(shù)值的方法由對8253進(jìn)行初始化編程時(shí)所寫入的控制字中的RL1RL0位來確定,當(dāng)RL1RL001時(shí),只讀取計(jì)數(shù)器的低字節(jié),RL1RL010時(shí),只讀取計(jì)數(shù)器的高字節(jié),RL1RL011時(shí),先讀寫計(jì)數(shù)器低字節(jié),后讀寫高字節(jié)。,8253初始化方法: 控制字 計(jì)數(shù)初值: 已知:CLK 的頻率fc與定時(shí)的時(shí)間t. 計(jì)數(shù)初值: n= fc t 例1: fc=1MHZ,最大計(jì)數(shù)初值: 65536 一個(gè)定時(shí)器最大定時(shí)時(shí)間: N/fc=65536

18、/ 106 =0.065536s,8-2 8253應(yīng)用舉例,例2:設(shè)定時(shí)器0、定時(shí)器1工作于方式2,外部提供一個(gè)時(shí)鐘,頻率f=2MHZ。要求定時(shí)器1每5ms產(chǎn)生一個(gè)脈沖,定時(shí)器0每5s產(chǎn)生一個(gè)脈沖。 1). 一個(gè)定時(shí)器的最大定時(shí)時(shí)間: 65536 /(2*106)=0.032768 s=32.768ms 2). 將定時(shí)器1的CLK1接2MHZ時(shí)鐘,計(jì)數(shù)初值: 3).將定時(shí)器1的OUT1端接到定時(shí)器0的CLK0端,定時(shí)器0的計(jì)數(shù)初值:,1用8253產(chǎn)生各種定時(shí)波形 在某個(gè)以8086為CPU的系統(tǒng)中使用了一塊8253芯片,通道的基地址為310H,所用的時(shí)鐘脈沖頻率為1MHz。要求3個(gè)計(jì)數(shù)通道分別完

19、成以下功能: (1)通道0工作于方式3,輸出頻率為2kHz的方波; (2)通道l產(chǎn)生寬度為480s的單脈沖; (3)通道2用硬件方式觸發(fā),輸出單脈沖,時(shí)間常數(shù)為26。,通道0工作于方式3,即構(gòu)成一個(gè)方波發(fā)生器,它的控制端GATE0須接+5V,為了輸出2kHz的連續(xù)方波,應(yīng)使時(shí)間常數(shù)N0lMHz2kHz=500。 通道1工作于方式l,即構(gòu)成一個(gè)單穩(wěn)態(tài)電路,由GATE1的正跳變觸發(fā),輸出一個(gè)寬度由時(shí)間常數(shù)決定的負(fù)脈沖。此功能一次有效,需要再形成一個(gè)脈沖時(shí),不但GATE1腳上要有觸發(fā),通道也需重新初始化。需輸出寬度為480s的單脈沖時(shí),應(yīng)取時(shí)間常數(shù)N1480sls =480。 通道2工作于方式5,即

20、由GATE2的正跳變觸發(fā)減1計(jì)數(shù),在計(jì)到0時(shí)形成一個(gè)寬度與時(shí)鐘周期相同的負(fù)脈沖。此后,若GATE2腳上再次出現(xiàn)正跳變,又能產(chǎn)生一個(gè)負(fù)脈沖。,;通道0初始化程序 MOV DX,316H ;控制口地址 MOV AL, 00110111B ;通道0控制宇,先讀寫低字節(jié),后高字節(jié),方式3,BCD計(jì)數(shù) OUT DX, AL ;寫人方式字 MOV DX,310H ;通道0口地址 MOV AL,00H ;低字節(jié) OUT DX,AL ;先寫入低字節(jié) MOV AL,05H ;高字節(jié) OUT DX,AL ;后寫入高字節(jié),;通道1初始化程序 MOV DX,316H MOV AL,01110011B 通道1方式字,先

21、讀寫低字節(jié),后高字節(jié),方式1,BCD計(jì)數(shù) OUT DX,AL MOV DX,312H ;通道1口地址 MOV AL,80H ;低字節(jié) OUT DX,AL MOV AL,04H ;高字節(jié) OUT DX,AL,;通道2初始化程序 MOV DX, 316H MOV AL, 10011011B ;通道2控制字,只讀寫低字節(jié),方式5,BCD計(jì)數(shù) OUT DX, AL MOV DX, 3l4H ;通道2口地址 MOV AL, 26H ;低字節(jié) OUT DX,AL ;只寫入低字節(jié),8253計(jì)數(shù)功能的應(yīng)用例子,8253計(jì)數(shù)功能的應(yīng)用例子,選擇計(jì)數(shù)器1工作于方式0,按BCD碼計(jì)數(shù),先讀寫低字節(jié),后讀寫高字節(jié),則

22、控制字為? 如要求每500個(gè)脈沖,通過通過8259A向CPU發(fā)出一次中斷請求,則選取計(jì)數(shù)韌值n? 每次中斷表示計(jì)滿了500個(gè)數(shù),在中斷服務(wù)程序中使工件總數(shù)加上500。 中斷服務(wù)程序執(zhí)行完后,返回主程序,這時(shí)需要由程序把計(jì)數(shù)韌值499再次裝入計(jì)數(shù)器1,才能繼續(xù)進(jìn)行計(jì)數(shù)。,8253計(jì)數(shù)功能的應(yīng)用例子,設(shè)8253的4個(gè)端口地址分別為F0H,F(xiàn)2H,F(xiàn)4H和F6H,則初始化程序?yàn)?MOV AL, 01110001B ;控制字 OUT0F6H,AL MOVAL,() OUT0F2H,AL MOVAL, 04H OUT0F2H,AL,8253在PC/XT機(jī)中的應(yīng)用,1計(jì)數(shù)器0實(shí)時(shí)時(shí)鐘 計(jì)數(shù)器0用作定時(shí)器,為系統(tǒng)提供時(shí)間基準(zhǔn)。 選用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論