




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第9 9章章 定時(shí)計(jì)數(shù)控制接口定時(shí)計(jì)數(shù)控制接口教學(xué)重點(diǎn)n 8253的引腳和的引腳和6種工作方式種工作方式n 8253的編程的編程n 8253在在IBM PC系列機(jī)上的應(yīng)用系列機(jī)上的應(yīng)用定時(shí)器和計(jì)數(shù)器定時(shí)控制在微機(jī)系統(tǒng)中極為重要定時(shí)控制在微機(jī)系統(tǒng)中極為重要n定時(shí)器定時(shí)器由數(shù)字電路中的計(jì)數(shù)電路構(gòu)成,由數(shù)字電路中的計(jì)數(shù)電路構(gòu)成,通過記錄通過記錄高精度高精度晶振晶振脈沖信號(hào)的個(gè)數(shù)脈沖信號(hào)的個(gè)數(shù),輸出準(zhǔn)確的時(shí)間間隔輸出準(zhǔn)確的時(shí)間間隔n計(jì)數(shù)電路如果記錄外設(shè)提供的具有一定計(jì)數(shù)電路如果記錄外設(shè)提供的具有一定隨機(jī)性的脈沖信號(hào)時(shí),它主要反映隨機(jī)性的脈沖信號(hào)時(shí),它主要反映脈沖脈沖的個(gè)數(shù)的個(gè)數(shù)(進(jìn)而獲知外設(shè)的某種狀
2、態(tài)),(進(jìn)而獲知外設(shè)的某種狀態(tài)),常又稱為常又稱為計(jì)數(shù)器計(jì)數(shù)器定時(shí)功能的實(shí)現(xiàn)方法n軟件延時(shí)軟件延時(shí)利用微處理器執(zhí)行一個(gè)延利用微處理器執(zhí)行一個(gè)延時(shí)程序段實(shí)現(xiàn)時(shí)程序段實(shí)現(xiàn)n不可編程的硬件定時(shí)不可編程的硬件定時(shí)采用分頻器、采用分頻器、單穩(wěn)電路或簡(jiǎn)易定時(shí)電路控制定時(shí)時(shí)間單穩(wěn)電路或簡(jiǎn)易定時(shí)電路控制定時(shí)時(shí)間n可編程的硬件定時(shí)可編程的硬件定時(shí)軟件硬件相結(jié)合、軟件硬件相結(jié)合、用可編程定時(shí)器芯片構(gòu)成一個(gè)方便靈活用可編程定時(shí)器芯片構(gòu)成一個(gè)方便靈活的定時(shí)電路的定時(shí)電路9.1 8253/8254定時(shí)計(jì)數(shù)器n3個(gè)獨(dú)立的個(gè)獨(dú)立的16位計(jì)數(shù)器通道位計(jì)數(shù)器通道n每個(gè)計(jì)數(shù)器有每個(gè)計(jì)數(shù)器有6種工作方式種工作方式n按二進(jìn)制或十進(jìn)制
3、(按二進(jìn)制或十進(jìn)制(BCD碼)計(jì)數(shù)碼)計(jì)數(shù)8254是是8253的改進(jìn)型的改進(jìn)型9.1.1 8253/8254的內(nèi)部結(jié)構(gòu)和引腳D7D0計(jì)數(shù)器0控制字寄存器計(jì)數(shù)器1計(jì)數(shù)器2內(nèi)部數(shù)據(jù)總線數(shù)據(jù)總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2計(jì)數(shù)器結(jié)構(gòu)示意圖預(yù)置寄存器預(yù)置寄存器GATECLKOUT減減1計(jì)數(shù)器計(jì)數(shù)器輸出鎖存器輸出鎖存器計(jì)數(shù)初值存于計(jì)數(shù)初值存于預(yù)置寄存器預(yù)置寄存器;在計(jì)數(shù)過程中,在計(jì)數(shù)過程中,減法計(jì)數(shù)器減法計(jì)數(shù)器的值不斷遞減,的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器輸出鎖存器用于寫入
4、鎖存命令時(shí),用于寫入鎖存命令時(shí),鎖定當(dāng)前計(jì)數(shù)值鎖定當(dāng)前計(jì)數(shù)值1. 計(jì)數(shù)器的3個(gè)引腳nCLK時(shí)鐘時(shí)鐘輸入輸入信號(hào)信號(hào)在計(jì)數(shù)過程中,在計(jì)數(shù)過程中,此引腳上每輸入一個(gè)時(shí)鐘信號(hào)(下降此引腳上每輸入一個(gè)時(shí)鐘信號(hào)(下降沿),計(jì)數(shù)器的計(jì)數(shù)值減沿),計(jì)數(shù)器的計(jì)數(shù)值減1nGATE門控門控輸入輸入信號(hào)信號(hào)控制計(jì)數(shù)器工控制計(jì)數(shù)器工作,可分成電平控制和上升沿控制兩種作,可分成電平控制和上升沿控制兩種類型類型nOUT計(jì)數(shù)器計(jì)數(shù)器輸出輸出信號(hào)信號(hào)當(dāng)一次計(jì)數(shù)過當(dāng)一次計(jì)數(shù)過程結(jié)束(計(jì)數(shù)值減為程結(jié)束(計(jì)數(shù)值減為0),),OUT引腳上引腳上將產(chǎn)生一個(gè)輸出信號(hào)將產(chǎn)生一個(gè)輸出信號(hào)2. 與處理器接口nD0 D7數(shù)據(jù)線數(shù)據(jù)線A0 A1地
5、址線地址線nRD*讀信號(hào)讀信號(hào)WR*寫信號(hào)寫信號(hào)nCS*片選信號(hào)片選信號(hào)CS* A1 A0I/O地址地址讀操作讀操作RD*寫操作寫操作WR*0 0 00 0 10 1 00 1 140H41H42H43H讀計(jì)數(shù)器讀計(jì)數(shù)器0讀計(jì)數(shù)器讀計(jì)數(shù)器1讀計(jì)數(shù)器讀計(jì)數(shù)器2無操作無操作寫計(jì)數(shù)器寫計(jì)數(shù)器0寫計(jì)數(shù)器寫計(jì)數(shù)器1寫計(jì)數(shù)器寫計(jì)數(shù)器2寫控制字寫控制字I/O地址是指PC系列機(jī)上8253、8254的I/O地址n思考:思考:n如何將計(jì)數(shù)初值寫入如何將計(jì)數(shù)初值寫入16位預(yù)置寄存器?位預(yù)置寄存器?9.1.2 8253/8254的工作方式n8253有有6種種工作方式,由方式控制字確定工作方式,由方式控制字確定n熟悉每
6、種工作方式的特點(diǎn)才能根據(jù)實(shí)際應(yīng)用問題,熟悉每種工作方式的特點(diǎn)才能根據(jù)實(shí)際應(yīng)用問題,選擇正確的工作方式選擇正確的工作方式n每種工作方式的過程類似:每種工作方式的過程類似: 設(shè)定工作方式設(shè)定工作方式 設(shè)定計(jì)數(shù)初值設(shè)定計(jì)數(shù)初值 硬件啟動(dòng)硬件啟動(dòng) :對(duì)方式對(duì)方式1和方式和方式5 計(jì)數(shù)初值進(jìn)入減計(jì)數(shù)初值進(jìn)入減1計(jì)數(shù)器計(jì)數(shù)器 每輸入一個(gè)時(shí)鐘脈沖數(shù)器減每輸入一個(gè)時(shí)鐘脈沖數(shù)器減1的計(jì)數(shù)過程的計(jì)數(shù)過程 計(jì)數(shù)過程結(jié)束計(jì)數(shù)過程結(jié)束計(jì)數(shù)開始的時(shí)刻n需要注意:需要注意:n處理器寫入處理器寫入8253的計(jì)數(shù)初值只是寫入了預(yù)置的計(jì)數(shù)初值只是寫入了預(yù)置寄存器,之后到來的第一個(gè)寄存器,之后到來的第一個(gè)CLK輸入脈沖輸入脈沖(需
7、(需先由低電平變高,再由高變低先由低電平變高,再由高變低)才將預(yù))才將預(yù)置寄存器的初值送到減置寄存器的初值送到減1計(jì)數(shù)器。計(jì)數(shù)器。n從第二個(gè)從第二個(gè)CLK信號(hào)的下降沿,計(jì)數(shù)器才真正信號(hào)的下降沿,計(jì)數(shù)器才真正開始減開始減1計(jì)數(shù)。計(jì)數(shù)。方式0 計(jì)數(shù)結(jié)束中斷GATEOUTCLK 031244方式方式0WR設(shè)設(shè)定定工工作作方方式式設(shè)設(shè)定定計(jì)計(jì)數(shù)數(shù)初初值值計(jì)計(jì)數(shù)數(shù)值值送送入入計(jì)計(jì)數(shù)數(shù)器器計(jì)計(jì)數(shù)數(shù)過過程程計(jì)計(jì)數(shù)數(shù)結(jié)結(jié)束束(1) 工作過程工作過程第一,第一, CPU寫入計(jì)數(shù)值的下一個(gè)時(shí)鐘脈沖寫入計(jì)數(shù)值的下一個(gè)時(shí)鐘脈沖,開始減開始減1計(jì)數(shù)。計(jì)數(shù)。計(jì)數(shù)器只計(jì)數(shù)一遍計(jì)數(shù)器只計(jì)數(shù)一遍。第三,第三,在在8253計(jì)數(shù)過
8、程中改變計(jì)數(shù)值,則會(huì)在寫入新計(jì)數(shù)值計(jì)數(shù)過程中改變計(jì)數(shù)值,則會(huì)在寫入新計(jì)數(shù)值后重新開始計(jì)數(shù)過程。后重新開始計(jì)數(shù)過程。第四,設(shè)置為方式第四,設(shè)置為方式0后,輸出后,輸出OUT隨機(jī)為低電平,并一直維隨機(jī)為低電平,并一直維持低電平到計(jì)數(shù)結(jié)束,持低電平到計(jì)數(shù)結(jié)束,OUT才會(huì)變?yōu)楦唠娖?。才?huì)變?yōu)楦唠娖健?2) 方式方式0特點(diǎn)特點(diǎn)第二,第二, GATE輸入信號(hào)控制計(jì)數(shù)過程。高電平,允許計(jì)數(shù);低輸入信號(hào)控制計(jì)數(shù)過程。高電平,允許計(jì)數(shù);低電平暫停計(jì)數(shù),當(dāng)電平暫停計(jì)數(shù),當(dāng)GATE重新為高電平時(shí),接著當(dāng)前計(jì)數(shù)值繼重新為高電平時(shí),接著當(dāng)前計(jì)數(shù)值繼續(xù)計(jì)數(shù)。續(xù)計(jì)數(shù)。方式1 可編程單穩(wěn)脈沖設(shè)設(shè)定定工工作作方方式式設(shè)設(shè)定定計(jì)
9、計(jì)數(shù)數(shù)初初值值硬硬件件啟啟動(dòng)動(dòng)計(jì)計(jì)數(shù)數(shù)值值送送入入計(jì)計(jì)數(shù)數(shù)器器計(jì)計(jì)數(shù)數(shù)過過程程計(jì)計(jì)數(shù)數(shù)結(jié)結(jié)束束GATEOUTCLK 031244方式方式1WR(1) 工作過程工作過程第三,第三,在計(jì)數(shù)過程中,在計(jì)數(shù)過程中,CPU改變初始計(jì)數(shù)值,計(jì)數(shù)過程不受影響。改變初始計(jì)數(shù)值,計(jì)數(shù)過程不受影響。只有再次觸發(fā)啟動(dòng)后,計(jì)數(shù)器才開始按新的計(jì)數(shù)初值重新開始計(jì)只有再次觸發(fā)啟動(dòng)后,計(jì)數(shù)器才開始按新的計(jì)數(shù)初值重新開始計(jì)數(shù)過程。數(shù)過程。第一,若設(shè)置的計(jì)數(shù)初值為第一,若設(shè)置的計(jì)數(shù)初值為N,則輸出的單穩(wěn)脈沖的脈寬為,則輸出的單穩(wěn)脈沖的脈寬為N個(gè)個(gè)時(shí)鐘周期。時(shí)鐘周期。第二,可重復(fù)觸發(fā)。其含義是,當(dāng)計(jì)數(shù)到零后,不用再次送計(jì)數(shù)第二,可
10、重復(fù)觸發(fā)。其含義是,當(dāng)計(jì)數(shù)到零后,不用再次送計(jì)數(shù)值,只要再次由外部觸發(fā)脈沖啟動(dòng),值,只要再次由外部觸發(fā)脈沖啟動(dòng),8253可以再輸出一個(gè)同樣寬可以再輸出一個(gè)同樣寬度的單穩(wěn)脈沖。度的單穩(wěn)脈沖。第四,在計(jì)數(shù)過程中,若外部第四,在計(jì)數(shù)過程中,若外部GATE觸發(fā)脈沖提前到來(即計(jì)數(shù)器觸發(fā)脈沖提前到來(即計(jì)數(shù)器未減至未減至0時(shí)),則在觸發(fā)脈沖上升沿之后的下一個(gè)時(shí)鐘脈沖的下降時(shí)),則在觸發(fā)脈沖上升沿之后的下一個(gè)時(shí)鐘脈沖的下降沿,計(jì)數(shù)器將重新開始計(jì)數(shù)。這將使輸出的單穩(wěn)脈沖比原先設(shè)計(jì)沿,計(jì)數(shù)器將重新開始計(jì)數(shù)。這將使輸出的單穩(wěn)脈沖比原先設(shè)計(jì)值加寬了。值加寬了。(2) 方式方式1的特點(diǎn)的特點(diǎn)方式2 頻率發(fā)生器(分頻
11、器)03124GATEOUTCLK 4方式方式2031240312403124WR(1) 工作過程工作過程第一,不用重新設(shè)置計(jì)數(shù)值,計(jì)數(shù)器能第一,不用重新設(shè)置計(jì)數(shù)值,計(jì)數(shù)器能連續(xù)工作連續(xù)工作。計(jì)數(shù)過程計(jì)數(shù)過程中中OUT保持高電平,直到計(jì)數(shù)器減為保持高電平,直到計(jì)數(shù)器減為1,OUT變低變低。如果設(shè)如果設(shè)置計(jì)數(shù)值為置計(jì)數(shù)值為N,則,則每輸入每輸入N個(gè)時(shí)鐘脈沖,個(gè)時(shí)鐘脈沖,OUT輸出一個(gè)負(fù)脈沖輸出一個(gè)負(fù)脈沖。第三,第三,在計(jì)數(shù)過程中改變計(jì)數(shù)值,對(duì)正在進(jìn)行的計(jì)數(shù)過程沒在計(jì)數(shù)過程中改變計(jì)數(shù)值,對(duì)正在進(jìn)行的計(jì)數(shù)過程沒有影響有影響,但在計(jì)數(shù)器計(jì)數(shù)到,但在計(jì)數(shù)器計(jì)數(shù)到1時(shí)輸出時(shí)輸出OUT變低,經(jīng)過一個(gè)時(shí)鐘變低
12、,經(jīng)過一個(gè)時(shí)鐘周期輸出周期輸出OUT又變高;之后,計(jì)數(shù)器將按新的計(jì)數(shù)值進(jìn)行計(jì)又變高;之后,計(jì)數(shù)器將按新的計(jì)數(shù)值進(jìn)行計(jì)數(shù)。換言之,方式數(shù)。換言之,方式2改變的計(jì)數(shù)值是改變的計(jì)數(shù)值是在下次計(jì)數(shù)周期有效在下次計(jì)數(shù)周期有效。第二,計(jì)數(shù)過程可以由門控脈沖第二,計(jì)數(shù)過程可以由門控脈沖GATE控制。當(dāng)控制。當(dāng)GATE為低電為低電平時(shí),暫停計(jì)數(shù)。平時(shí),暫停計(jì)數(shù)。GATE變?yōu)楦唠娖胶蟮南乱粋€(gè)時(shí)鐘脈沖,使變?yōu)楦唠娖胶蟮南乱粋€(gè)時(shí)鐘脈沖,使計(jì)數(shù)器按原初始值重新開始計(jì)數(shù)。計(jì)數(shù)器按原初始值重新開始計(jì)數(shù)。(2) 方式方式2的特點(diǎn)的特點(diǎn)方式3 方波發(fā)生器03124GATEOUTCLK 4方式方式303124031240312
13、4WR(1) 工作過程工作過程第一,第一,不用重新設(shè)置計(jì)數(shù)值,計(jì)數(shù)器能不用重新設(shè)置計(jì)數(shù)值,計(jì)數(shù)器能連續(xù)工作連續(xù)工作。CPU設(shè)置控設(shè)置控制字后,輸出為高;寫完計(jì)數(shù)值后自動(dòng)開始計(jì)數(shù),輸出仍為高制字后,輸出為高;寫完計(jì)數(shù)值后自動(dòng)開始計(jì)數(shù),輸出仍為高電平;當(dāng)計(jì)數(shù)到一半計(jì)數(shù)值時(shí),輸出變?yōu)榈?;直到?jì)數(shù)為電平;當(dāng)計(jì)數(shù)到一半計(jì)數(shù)值時(shí),輸出變?yōu)榈停恢钡接?jì)數(shù)為0,輸出又變高,并重新開始計(jì)數(shù)。輸出又變高,并重新開始計(jì)數(shù)。第三,第三,GATE信號(hào)能使計(jì)數(shù)過程重新開始。原則上,信號(hào)能使計(jì)數(shù)過程重新開始。原則上,GATE=1允許計(jì)數(shù),允許計(jì)數(shù),GATE=0禁止計(jì)數(shù)。禁止計(jì)數(shù)。第四,若第四,若在計(jì)數(shù)期間寫入一個(gè)新的計(jì)數(shù)值,
14、并不影響現(xiàn)行的在計(jì)數(shù)期間寫入一個(gè)新的計(jì)數(shù)值,并不影響現(xiàn)行的計(jì)數(shù)過程計(jì)數(shù)過程。(2) 方式方式3的特點(diǎn)的特點(diǎn)第二,第二,計(jì)數(shù)值為偶數(shù)計(jì)數(shù)值為偶數(shù)時(shí),前一半輸出為高電平,后一半輸出時(shí),前一半輸出為高電平,后一半輸出為低電平。如果為低電平。如果計(jì)數(shù)值為奇數(shù)計(jì)數(shù)值為奇數(shù),前一半多一個(gè)時(shí)鐘脈沖的時(shí),前一半多一個(gè)時(shí)鐘脈沖的時(shí)間輸出為高,隨后輸出為低。間輸出為高,隨后輸出為低。方式4 軟件觸發(fā)選通信號(hào)GATEOUTCLK031244方式方式4223331 0WR(1) 工作過程工作過程第一,第一,CPU寫入計(jì)數(shù)值的下一個(gè)時(shí)鐘脈沖,開始減寫入計(jì)數(shù)值的下一個(gè)時(shí)鐘脈沖,開始減1計(jì)數(shù)。計(jì)數(shù)。計(jì)數(shù)過程中計(jì)數(shù)過程中OU
15、T保持高電平,直到計(jì)數(shù)器減為保持高電平,直到計(jì)數(shù)器減為0,OUT變變低。低。如果設(shè)置計(jì)數(shù)值為如果設(shè)置計(jì)數(shù)值為N,則在寫入計(jì)數(shù)值后的,則在寫入計(jì)數(shù)值后的N個(gè)時(shí)鐘脈個(gè)時(shí)鐘脈沖后,才輸出一個(gè)負(fù)脈沖。沖后,才輸出一個(gè)負(fù)脈沖。第二,當(dāng)?shù)诙?dāng)GATE=1時(shí)允許計(jì)數(shù),時(shí)允許計(jì)數(shù),GATE=0時(shí)禁止計(jì)數(shù)。所時(shí)禁止計(jì)數(shù)。所以要做到軟件啟動(dòng),則以要做到軟件啟動(dòng),則GATE應(yīng)該保持為應(yīng)該保持為1。第三,若第三,若在計(jì)數(shù)過程中改變了計(jì)數(shù)值,則按新計(jì)數(shù)值重新在計(jì)數(shù)過程中改變了計(jì)數(shù)值,則按新計(jì)數(shù)值重新開始計(jì)數(shù)開始計(jì)數(shù)。若計(jì)數(shù)值為雙字節(jié),則在設(shè)置第一個(gè)字節(jié)時(shí)停。若計(jì)數(shù)值為雙字節(jié),則在設(shè)置第一個(gè)字節(jié)時(shí)停止計(jì)數(shù),在設(shè)置第二個(gè)
16、字節(jié)后,按新的計(jì)數(shù)值開始計(jì)數(shù)。止計(jì)數(shù),在設(shè)置第二個(gè)字節(jié)后,按新的計(jì)數(shù)值開始計(jì)數(shù)。(2) 方式方式4 的特點(diǎn)的特點(diǎn)方式5 硬件觸發(fā)選通信號(hào)GATEOUTCLK031244方式方式52233311 0WR(1) 工作過程工作過程第一,若設(shè)置計(jì)數(shù)初始值為第一,若設(shè)置計(jì)數(shù)初始值為N,則在門控脈沖觸發(fā)后,經(jīng),則在門控脈沖觸發(fā)后,經(jīng)過過N個(gè)時(shí)鐘脈沖個(gè)時(shí)鐘脈沖后后,輸出端才輸出一個(gè)負(fù)脈沖。,輸出端才輸出一個(gè)負(fù)脈沖。第三,若第三,若在計(jì)數(shù)過程中改變計(jì)數(shù)值,只要沒有門控信號(hào)在計(jì)數(shù)過程中改變計(jì)數(shù)值,只要沒有門控信號(hào)的觸發(fā),就不影響計(jì)數(shù)過程的觸發(fā),就不影響計(jì)數(shù)過程。當(dāng)計(jì)數(shù)到。當(dāng)計(jì)數(shù)到0后,若有新的門后,若有新的門控
17、信號(hào)的觸發(fā),則按新的計(jì)數(shù)值計(jì)數(shù)??匦盘?hào)的觸發(fā),則按新的計(jì)數(shù)值計(jì)數(shù)。第二,在計(jì)數(shù)過程中,通過施加門控第二,在計(jì)數(shù)過程中,通過施加門控GATE脈沖,可使計(jì)脈沖,可使計(jì)數(shù)器重新開始計(jì)數(shù)。數(shù)器重新開始計(jì)數(shù)。(2) 方式方式5的特點(diǎn)的特點(diǎn)表9-3 門控信號(hào)GATE的作用表9-4 計(jì)數(shù)過程中改變計(jì)數(shù)值的結(jié)果1各種工作方式的輸出波形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 1討論及實(shí)驗(yàn):討論及實(shí)驗(yàn):計(jì)數(shù)開始的時(shí)刻計(jì)數(shù)開始的時(shí)刻實(shí)驗(yàn)1計(jì)數(shù)開始計(jì)數(shù)開始感謝山西省太原理工大學(xué)常曉明教授提供實(shí)驗(yàn)結(jié)果感謝山西省太原理
18、工大學(xué)常曉明教授提供實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)1計(jì)數(shù)開始計(jì)數(shù)開始計(jì)數(shù)開始計(jì)數(shù)開始感謝山西省太原理工大學(xué)常曉明教授提供實(shí)驗(yàn)結(jié)果感謝山西省太原理工大學(xué)常曉明教授提供實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)2計(jì)數(shù)開始計(jì)數(shù)開始?9.1.3 8253/8254的編程n8253加電后的工作方式不確定加電后的工作方式不確定n8253必須初始化編程,才能正常工作必須初始化編程,才能正常工作n1、寫入控制字、寫入控制字n2、寫入計(jì)數(shù)初值、寫入計(jì)數(shù)初值n3、讀取計(jì)數(shù)值、讀取計(jì)數(shù)值n(4、8254新增讀回命令)新增讀回命令)D7D6D5D4D3D2D1D01 寫入方式控制字計(jì)數(shù)器計(jì)數(shù)器讀寫格式讀寫格式工作方式工作方式數(shù)制數(shù)制D7D6D5D4D3D2D1D0
19、00 計(jì)數(shù)器計(jì)數(shù)器001 計(jì)數(shù)器計(jì)數(shù)器110 計(jì)數(shù)器計(jì)數(shù)器211 非法非法00 計(jì)數(shù)器鎖存命計(jì)數(shù)器鎖存命令令 01 只讀寫低字節(jié)只讀寫低字節(jié)10 只讀寫高字節(jié)只讀寫高字節(jié)11 先讀寫低字節(jié)先讀寫低字節(jié) 后讀寫高字節(jié)后讀寫高字節(jié)000 方式方式0001 方式方式1010 方式方式2011 方式方式3100 方式方式4101 方式方式50 二進(jìn)制二進(jìn)制1 十進(jìn)制十進(jìn)制控制字寫入控制字控制字寫入控制字I/O地址(地址(A1A011)示例示例2 寫入計(jì)數(shù)值n計(jì)數(shù)器是先減計(jì)數(shù)器是先減1,再判斷是否為,再判斷是否為0。n選擇二進(jìn)制時(shí)選擇二進(jìn)制時(shí)n計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:0000HFFFFHn0000H是最
20、大值,代表是最大值,代表65536n選擇十進(jìn)制(選擇十進(jìn)制(BCD碼)碼)n計(jì)數(shù)值范圍:計(jì)數(shù)值范圍:00009999n0000代表最大值代表最大值10000計(jì)數(shù)值寫入計(jì)數(shù)器各自的計(jì)數(shù)值寫入計(jì)數(shù)器各自的I/O地址地址示例示例3 讀取計(jì)數(shù)值n對(duì)對(duì)8位數(shù)據(jù)線,位數(shù)據(jù)線,讀取讀取16位計(jì)數(shù)值需位計(jì)數(shù)值需分兩次分兩次n計(jì)數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計(jì)數(shù)值先行計(jì)數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計(jì)數(shù)值先行鎖存,然后讀?。烘i存,然后讀?。簄向控制字向控制字I/O地址:給地址:給8253寫入鎖存命令寫入鎖存命令n從計(jì)數(shù)器從計(jì)數(shù)器I/O地址:讀取鎖存的計(jì)數(shù)值地址:讀取鎖存的計(jì)數(shù)值讀取計(jì)數(shù)值,要注意讀寫格式和計(jì)數(shù)數(shù)制讀取計(jì)數(shù)值
21、,要注意讀寫格式和計(jì)數(shù)數(shù)制9.2 8253在IBM PC系列機(jī)上的應(yīng)用A0A1 A0 A1D0D7D0D7OUT1OUT2OUT0GATE0GATE1GATE2CLK0CLK1CLK2D QCLK+5V接至接至DMA控制器控制器接至揚(yáng)聲器驅(qū)動(dòng)器接至揚(yáng)聲器驅(qū)動(dòng)器PB0PB1IRQ0DRQ0 8253+5V1.19318MHzDACK0 BRDIORIOWRDWRCST/CCS9.2.1 定時(shí)中斷和定時(shí)刷新n從閱讀初始化程序段從閱讀初始化程序段n看看計(jì)數(shù)器計(jì)數(shù)器0作為定時(shí)中斷作為定時(shí)中斷的作用的作用n將將計(jì)數(shù)器計(jì)數(shù)器1作為定時(shí)刷新作為定時(shí)刷新n看如何編寫初始化程序段看如何編寫初始化程序段定時(shí)中斷m
22、ov al,36h;計(jì)數(shù)器計(jì)數(shù)器0為方式為方式3,采用二進(jìn)制計(jì)數(shù),采用二進(jìn)制計(jì)數(shù),;先低后高寫入計(jì)數(shù)值先低后高寫入計(jì)數(shù)值out 43h,al;寫入方式控制字寫入方式控制字mov al,0;計(jì)數(shù)值為計(jì)數(shù)值為0out 40h,al;寫入低字節(jié)計(jì)數(shù)值寫入低字節(jié)計(jì)數(shù)值out 40h,al;寫入高字節(jié)計(jì)數(shù)值寫入高字節(jié)計(jì)數(shù)值8253初始化計(jì)數(shù)器0:定時(shí)中斷n計(jì)數(shù)器計(jì)數(shù)器0:方式方式3,計(jì)數(shù)值:計(jì)數(shù)值:65536,輸出頻率,輸出頻率為為1.19318MHz6553618.206Hz的方波的方波n門控為常啟狀態(tài),這個(gè)方波信號(hào)不斷產(chǎn)生門控為常啟狀態(tài),這個(gè)方波信號(hào)不斷產(chǎn)生nOUT0端接端接8259A的的IRQ0,
23、用作中斷請(qǐng)求信號(hào),用作中斷請(qǐng)求信號(hào)n每秒產(chǎn)生每秒產(chǎn)生18.206次中斷請(qǐng)求,或說每隔次中斷請(qǐng)求,或說每隔55ms(54.925493ms)申請(qǐng)一次中斷)申請(qǐng)一次中斷nDOS系統(tǒng)利用計(jì)數(shù)器系統(tǒng)利用計(jì)數(shù)器0的這個(gè)特點(diǎn),通過的這個(gè)特點(diǎn),通過08號(hào)號(hào)中斷服務(wù)程序?qū)崿F(xiàn)了日時(shí)鐘計(jì)時(shí)功能中斷服務(wù)程序?qū)崿F(xiàn)了日時(shí)鐘計(jì)時(shí)功能計(jì)數(shù)器1:定時(shí)刷新n需要重復(fù)不斷提出刷新請(qǐng)求需要重復(fù)不斷提出刷新請(qǐng)求門控總為高,選擇方式門控總為高,選擇方式2或或3n2ms內(nèi)刷新內(nèi)刷新128次,即次,即15.6 s刷新一次刷新一次計(jì)數(shù)初值為計(jì)數(shù)初值為18定時(shí)刷新mov al,54h;計(jì)數(shù)器計(jì)數(shù)器1為方式為方式2,采用二進(jìn)制計(jì)數(shù),只寫,采用二
24、進(jìn)制計(jì)數(shù),只寫低低8位計(jì)數(shù)值位計(jì)數(shù)值out 43h,al;寫入方式控制字寫入方式控制字mov al,18;計(jì)數(shù)初值為計(jì)數(shù)初值為18out 41h,al;寫入計(jì)數(shù)值寫入計(jì)數(shù)值8253初始化9.2.2 揚(yáng)聲器控制n計(jì)數(shù)器計(jì)數(shù)器2的輸出控制揚(yáng)聲器的發(fā)聲音調(diào)的輸出控制揚(yáng)聲器的發(fā)聲音調(diào)n計(jì)數(shù)器計(jì)數(shù)器2只能工作在方式只能工作在方式3,才能,才能輸出一輸出一定頻率的方波,經(jīng)濾波后得到近似的正定頻率的方波,經(jīng)濾波后得到近似的正弦波,進(jìn)而推動(dòng)揚(yáng)聲器發(fā)聲弦波,進(jìn)而推動(dòng)揚(yáng)聲器發(fā)聲n揚(yáng)聲器還受控于并行接口(揚(yáng)聲器還受控于并行接口(8255芯片)芯片)n必須使必須使PB0和和PB1同時(shí)為高電平,揚(yáng)聲器同時(shí)為高電平,揚(yáng)聲
25、器才能發(fā)出預(yù)先設(shè)定頻率的聲音才能發(fā)出預(yù)先設(shè)定頻率的聲音頻率設(shè)置speakerprocpush axmov al,0b6hout 43h,al;寫入控制字寫入控制字pop axout 42h,al;寫入低寫入低8位計(jì)數(shù)值位計(jì)數(shù)值mov al,ahout 42h,al;寫入高寫入高8位計(jì)數(shù)值位計(jì)數(shù)值retspeakerendp揚(yáng)聲器控制揚(yáng)聲器開speakonprocpush axin al,61hor al,03h;D1D0PB1PB011B,其他位不變,其他位不變out 61h,alpop axretspeakonendp揚(yáng)聲器控制揚(yáng)聲器關(guān)speakoffprocpush axin al,61hand al,0fch;D1D0PB1PB000B,其他位不變,其他位不變out 61h,alpop axretspeakoffendp揚(yáng)聲器控制主程序;數(shù)據(jù)段數(shù)據(jù)段freqdw 1193180/600;代碼段代碼段mov ax,freqcall speaker;設(shè)置揚(yáng)聲器音調(diào)設(shè)置揚(yáng)聲器音調(diào)call speakon;打開揚(yáng)聲器聲音打開揚(yáng)聲器聲音mov ah,1;等待按鍵等待按鍵int 21hcall speakoff;關(guān)閉揚(yáng)聲器聲音關(guān)閉揚(yáng)聲器聲音揚(yáng)聲器控制第
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 代銷協(xié)議合同樣本
- 保安銷售賣房合同樣本
- 4050解除合同樣本
- led路燈購銷合同樣本
- 供貨木門合同標(biāo)準(zhǔn)文本
- 產(chǎn)品定制開發(fā)合同標(biāo)準(zhǔn)文本
- 借車協(xié)議過戶合同樣本
- 中標(biāo)后合同范例 測(cè)繪
- 住建局二手房網(wǎng)簽合同樣本
- 公務(wù)員省考時(shí)事政策解讀試題及答案
- 工業(yè)互聯(lián)網(wǎng)平臺(tái)的商業(yè)模式與盈利策略
- 2024年09月2024渤海銀行上海分行校園招聘筆試歷年參考題庫附帶答案詳解
- 2025年遼寧省遼漁集團(tuán)招聘筆試參考題庫含答案解析
- 《員工招聘與選拔》課件
- 南昌起義模板
- 【MOOC】體育舞蹈與文化-大連理工大學(xué) 中國大學(xué)慕課MOOC答案
- 接處警流程培訓(xùn)
- 2024年商丘職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫附答案
- 《園林植物病蟲害》課件
- 空調(diào)維保服務(wù)投標(biāo)方案 (技術(shù)方案)
- 醫(yī)用氣體安裝工程作業(yè)安全技術(shù)交底
評(píng)論
0/150
提交評(píng)論