計(jì)算機(jī)專(zhuān)接本之微機(jī)原理-9.可編程計(jì)數(shù)器8253資料doc資料_第1頁(yè)
計(jì)算機(jī)專(zhuān)接本之微機(jī)原理-9.可編程計(jì)數(shù)器8253資料doc資料_第2頁(yè)
計(jì)算機(jī)專(zhuān)接本之微機(jī)原理-9.可編程計(jì)數(shù)器8253資料doc資料_第3頁(yè)
計(jì)算機(jī)專(zhuān)接本之微機(jī)原理-9.可編程計(jì)數(shù)器8253資料doc資料_第4頁(yè)
計(jì)算機(jī)專(zhuān)接本之微機(jī)原理-9.可編程計(jì)數(shù)器8253資料doc資料_第5頁(yè)
已閱讀5頁(yè),還剩56頁(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)介

計(jì)算機(jī)專(zhuān)接本之微機(jī)原理-9.可編程計(jì)數(shù)器8253資料8253定時(shí)計(jì)數(shù)器8253可與8086/8088CPU相連構(gòu)成完整的定時(shí)、計(jì)數(shù)或脈沖發(fā)生器系統(tǒng)。3個(gè)獨(dú)立的16位計(jì)數(shù)器通道每個(gè)計(jì)數(shù)器有6種工作方式按二進(jìn)制或十進(jìn)制(BCD碼)計(jì)數(shù)8254是8253的改進(jìn)型29.2 8253的內(nèi)部結(jié)構(gòu)和引腳D7~D0計(jì)數(shù)器0控制字寄存器計(jì)數(shù)器1計(jì)數(shù)器2內(nèi)部數(shù)據(jù)總線數(shù)據(jù)總線緩沖器讀寫(xiě)控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT231.數(shù)據(jù)總線緩沖存儲(chǔ)器

是8253與CPU之間的數(shù)據(jù)接口,由8位雙向三態(tài)緩沖存儲(chǔ)器構(gòu)成,是CPU與8253之間交換信息的必經(jīng)之路。2.讀/寫(xiě)控制電路

接收CPU送入的讀/寫(xiě)控制信號(hào),并完成對(duì)芯片內(nèi)部各功能部件的控制功能,因此,它實(shí)際上是8253芯片內(nèi)部的控制器??山邮盏目刂菩盘?hào)如下:

(1)A1A0——端口選擇信號(hào),接受CPU送來(lái)的地址信號(hào)。8253內(nèi)部有3個(gè)獨(dú)立的通道和一個(gè)控制字寄存器,它們構(gòu)成8253芯片的4個(gè)端口,CPU可對(duì)3個(gè)通道進(jìn)行讀/寫(xiě)操作,對(duì)控制字寄存器進(jìn)行寫(xiě)操作。這4個(gè)端口地址由最低2位地址碼A1A0來(lái)選擇。A1A0=00通道0A1A0=01通道1A1A0=10通道2A1A0=11控制字寄存器4(2)CS*——片選信號(hào),輸入,低電平有效,通常由端口地址的高位地址譯碼形成。

(3)RD*、WR*——讀/寫(xiě)控制命令,輸入,低電平有效。RD*有效時(shí),CPU讀取由A1A0所選定的通道內(nèi)計(jì)數(shù)器的內(nèi)容。WR*有效時(shí),CPU將計(jì)數(shù)值寫(xiě)入各個(gè)通道的計(jì)數(shù)器中,或者是將方式控制字寫(xiě)入控制字寄存器中。

01000010010101001011001000010100110功能對(duì)計(jì)數(shù)器0設(shè)置計(jì)數(shù)初值CSRDA1A0WR對(duì)計(jì)數(shù)器1設(shè)置計(jì)數(shù)初值對(duì)計(jì)數(shù)器2設(shè)置計(jì)數(shù)初值設(shè)置控制字從計(jì)數(shù)器0讀出計(jì)數(shù)值從計(jì)數(shù)器1讀出計(jì)數(shù)值從計(jì)數(shù)器2讀出計(jì)數(shù)值5采用二進(jìn)制計(jì)數(shù)時(shí),最大計(jì)數(shù)值是FFFFH采用BCD碼計(jì)數(shù)時(shí),最大計(jì)數(shù)值是9999每個(gè)通道內(nèi)設(shè)有一個(gè)16位計(jì)數(shù)值鎖存器,可用來(lái)鎖存計(jì)數(shù)值。當(dāng)某通道用作計(jì)數(shù)器時(shí),應(yīng)將要求計(jì)數(shù)的次數(shù)預(yù)置到該通道的計(jì)數(shù)器中,被計(jì)數(shù)的事件應(yīng)以脈沖方式從CLKi端輸入,每輸入一個(gè)計(jì)數(shù)脈沖,計(jì)數(shù)器內(nèi)容減“1”,待計(jì)數(shù)值計(jì)到“0”,OUTi端將有輸出,表示計(jì)數(shù)次數(shù)到。當(dāng)某通道用作定時(shí)器時(shí),由CLKi輸入一定頻率的時(shí)鐘脈沖。根據(jù)要求定時(shí)的時(shí)間長(zhǎng)短確定所需的計(jì)數(shù)值,并預(yù)置到計(jì)數(shù)器中,每輸入一個(gè)時(shí)鐘脈沖,計(jì)數(shù)器內(nèi)容減“1”,待計(jì)數(shù)值計(jì)到“0”,OUTi將有輸出,表示定時(shí)時(shí)間到。允許從CLKi輸入的時(shí)鐘頻率在1~2MHz范圍內(nèi)。3.通道0~通道2(計(jì)數(shù)器)6任一通道可作計(jì)數(shù)器用或作定時(shí)器用,其內(nèi)部操作完全相同,區(qū)別在于前者是由計(jì)數(shù)脈沖進(jìn)行減“1”計(jì)數(shù),而后者是由時(shí)鐘脈沖進(jìn)行減“1”計(jì)數(shù)。作計(jì)數(shù)器時(shí),要求計(jì)數(shù)的次數(shù)可直接作為計(jì)數(shù)器的初值預(yù)置到減“1”計(jì)數(shù)器中。作定時(shí)器時(shí),計(jì)數(shù)器的初值即定時(shí)系數(shù)應(yīng)根據(jù)要求定時(shí)的時(shí)間進(jìn)行如下運(yùn)算才能得到:

定時(shí)系數(shù)n=要求定時(shí)的時(shí)間T定時(shí)/時(shí)鐘脈沖的周期TCLK4.控制字寄存器

控制字寄存器用來(lái)存放由CPU寫(xiě)入8253的方式選擇控制字,由它來(lái)定義8253中各通道的工作方式,其使用格式如下圖所示。78253的方式選擇控制字88253的方式選擇控制字-說(shuō)明SC1,SC0位用來(lái)選擇通道。RL1,RL0位用來(lái)定義對(duì)所選通道中的計(jì)數(shù)器的操作RL1RL0=00時(shí),將該通道中當(dāng)前計(jì)數(shù)器的內(nèi)容鎖存到鎖存器中,為CPU讀取當(dāng)前計(jì)數(shù)值作準(zhǔn)備。RL1RL0=01時(shí),表示只讀/寫(xiě)計(jì)數(shù)器低字節(jié),這是因?yàn)橹皇褂糜?jì)數(shù)器的低字節(jié)作計(jì)數(shù)用。RL1RL0=10時(shí),表示只讀/寫(xiě)計(jì)數(shù)器高字節(jié),這是因?yàn)橹皇褂糜?jì)數(shù)器的高字節(jié)作計(jì)數(shù)用。RL1RL0=11時(shí),表示先讀/寫(xiě)計(jì)數(shù)器低字節(jié),后讀/寫(xiě)計(jì)數(shù)器高字節(jié)。BCD位用來(lái)定義是采用二進(jìn)制計(jì)數(shù)還是十進(jìn)制計(jì)數(shù)M2M1M0位用來(lái)定義所選通道的6種工作方式。9計(jì)數(shù)器結(jié)構(gòu)示意圖預(yù)置寄存器GATECLKOUT減1計(jì)數(shù)器輸出鎖存器計(jì)數(shù)初值存于預(yù)置寄存器;在計(jì)數(shù)過(guò)程中,減法計(jì)數(shù)器的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器用于寫(xiě)入鎖存命令時(shí),鎖定當(dāng)前計(jì)數(shù)值10計(jì)數(shù)器的3個(gè)引腳CLK時(shí)鐘輸入信號(hào)——在計(jì)數(shù)過(guò)程中,此引腳上每輸入一個(gè)時(shí)鐘信號(hào)(下降沿),計(jì)數(shù)器的計(jì)數(shù)值減1GATE門(mén)控輸入信號(hào)——控制計(jì)數(shù)器工作,可分成電平控制和上升沿控制兩種類(lèi)型。

GATE作為各通道的門(mén)控信號(hào),對(duì)于各種不同的工作方式,它所起的作用各不相同。在8253的應(yīng)用中,必須正確使用GATE信號(hào),才能保證各通道的正常操作。OUT計(jì)數(shù)器輸出信號(hào)——當(dāng)一次計(jì)數(shù)過(guò)程結(jié)束(計(jì)數(shù)值減為0),OUT引腳上將產(chǎn)生一個(gè)輸出信號(hào)。119.2 8253的工作方式8253有6種工作方式,由方式控制字確定熟悉每種工作方式的特點(diǎn)才能根據(jù)實(shí)際應(yīng)用問(wèn)題,選擇正確的工作方式12方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷方式0稱(chēng)為計(jì)數(shù)/定時(shí)到達(dá)終值時(shí)的中斷方式。這是典型的事件計(jì)數(shù)用法,當(dāng)計(jì)數(shù)單元的內(nèi)容為0時(shí),OUT信號(hào)由低電平變?yōu)楦唠娖?。利用OUT由低電平到高電平的變化作為計(jì)數(shù)/定時(shí)到的中斷請(qǐng)求信號(hào)。計(jì)數(shù)/定時(shí)過(guò)程:(1)當(dāng)向計(jì)數(shù)器寫(xiě)完控制字后,輸出端OUT就變?yōu)榈碗娖?。?xiě)入計(jì)數(shù)值后延遲一個(gè)時(shí)鐘周期,開(kāi)始計(jì)數(shù),輸出端OUT在計(jì)數(shù)過(guò)程中一直保持低電平,當(dāng)計(jì)數(shù)器減到0時(shí),OUT立即變成高電平。(2)門(mén)控信號(hào)GATE為高電平時(shí),計(jì)數(shù)器工作;當(dāng)GATE變?yōu)榈碗娖綍r(shí),計(jì)數(shù)器停止工作,其計(jì)數(shù)值保持不變。如GATE再次變高,計(jì)數(shù)器繼續(xù)計(jì)數(shù)。(3)在計(jì)數(shù)工作期間,如果重新寫(xiě)入新的計(jì)數(shù)值,計(jì)數(shù)器按新寫(xiě)入的的計(jì)數(shù)初值重新工作。13方式0的幾點(diǎn)注意:門(mén)控信號(hào)GATE用來(lái)控制減“1”計(jì)數(shù)操作是否進(jìn)行GATE=1時(shí),允許減“1”計(jì)數(shù);GATE=0時(shí),禁止減“1”計(jì)數(shù)。計(jì)數(shù)到時(shí),OUTi將輸出正跳變可用作中斷請(qǐng)求OUTi端輸出的高電平一直維持到下次再寫(xiě)入計(jì)數(shù)值為止。任一通道工作在方式0情況下,計(jì)數(shù)器初值一次有效,經(jīng)過(guò)一次計(jì)數(shù)或定時(shí)后如果需要繼續(xù)完成計(jì)數(shù)或定時(shí)功能,必須重新寫(xiě)入計(jì)數(shù)器的初值。14方式0計(jì)數(shù)結(jié)束產(chǎn)生中斷①②⑤④⑥GATEOUTCLK

031244方式0WR①設(shè)定工作方式②設(shè)定計(jì)數(shù)初值④計(jì)數(shù)值送入計(jì)數(shù)器⑤計(jì)數(shù)過(guò)程⑥計(jì)數(shù)結(jié)束15方式0(演示)16方式0用作計(jì)數(shù)器或定時(shí)器利用工作方式0既可完成計(jì)數(shù)功能,也可完成定時(shí)功能。當(dāng)用作計(jì)數(shù)器時(shí),應(yīng)將要求計(jì)數(shù)的次數(shù)預(yù)置到計(jì)數(shù)器中,將要求計(jì)數(shù)的事件以脈沖方式從CLKi端輸入,由它對(duì)計(jì)數(shù)器進(jìn)行減“1”計(jì)數(shù),直到計(jì)數(shù)值為0,此刻O(píng)UTi輸出正跳變,表示計(jì)數(shù)次數(shù)到。當(dāng)用作定時(shí)器時(shí),應(yīng)把根據(jù)要求定時(shí)的時(shí)間和CLKi的周期計(jì)算出定時(shí)系數(shù),預(yù)置到計(jì)數(shù)器中。從CLKi輸入的應(yīng)是一定頻率的時(shí)鐘脈沖,由它對(duì)計(jì)數(shù)器進(jìn)行減“1”計(jì)數(shù),定時(shí)時(shí)間從寫(xiě)入計(jì)數(shù)值開(kāi)始,到計(jì)數(shù)值計(jì)到“0”為止,OUTi輸出正跳變,表示定時(shí)時(shí)間到。17方式1可編程單脈沖發(fā)生器什么是單脈沖?4個(gè)CLK寬度的負(fù)脈沖CLK18方式1可編程單脈沖發(fā)生器計(jì)數(shù)過(guò)程的啟動(dòng):寫(xiě)入計(jì)數(shù)器初值后,計(jì)數(shù)器并不立即開(kāi)始工作,直到門(mén)控信號(hào)GATE出現(xiàn)一個(gè)上升沿后。OUTi輸出由高電平向低電平跳變,此時(shí)開(kāi)始計(jì)數(shù),并在計(jì)數(shù)過(guò)程中一直保持低電平。形成輸出單脈沖的前沿。當(dāng)此方式設(shè)定后:OUTi輸出高電平計(jì)數(shù)值計(jì)到“0”:OUTi輸出由低電平向高電平跳變,形成輸出單脈沖的后沿由方式1所能輸出單脈沖的寬度為CLKi周期的n倍。(n為計(jì)數(shù)值)19方式1可編程單脈沖發(fā)生器①②⑤④⑥①設(shè)定工作方式②設(shè)定計(jì)數(shù)初值③③硬件啟動(dòng)④計(jì)數(shù)值送入計(jì)數(shù)器⑤計(jì)數(shù)過(guò)程⑥計(jì)數(shù)結(jié)束GATEOUTCLK

031244方式1WR20方式1的幾點(diǎn)注意:如果在減“1”計(jì)數(shù)過(guò)程中,GATE由高電平跳變?yōu)榈碗娖剑@并不影響計(jì)數(shù)過(guò)程,仍繼續(xù)計(jì)數(shù);(觸發(fā)計(jì)數(shù)開(kāi)始的條件是GATE的上升沿)但若重新遇到GATE的上升沿,則從初值開(kāi)始重新計(jì)數(shù),其效果會(huì)使輸出的單脈沖加寬。方式1下,計(jì)數(shù)值一次有效,每輸入一次計(jì)數(shù)值,只產(chǎn)生一個(gè)負(fù)極性單脈沖。僅產(chǎn)生1個(gè)負(fù)脈沖21方式1(演示)22方式2頻率發(fā)生器(分頻器)03124GATEOUTCLK

4方式2031240312403124WR23方式2頻率發(fā)生器(分頻器)當(dāng)工作方式2設(shè)定后:OUTi輸出高電平。計(jì)數(shù)過(guò)程的啟動(dòng):

裝入計(jì)數(shù)值n后如果GATE為高電平,則立即開(kāi)始計(jì)數(shù),OUTi保持為高電平不變;待計(jì)數(shù)值減到“1”和“0”之間:OUTi將輸出寬度為一個(gè)CLKi周期的負(fù)脈沖。計(jì)數(shù)值為“0”時(shí),自動(dòng)重新裝入計(jì)數(shù)初值n,實(shí)現(xiàn)循環(huán)計(jì)數(shù)OUTi將輸出一定頻率的負(fù)脈沖序列,其脈沖寬度固定為一個(gè)CLKi周期,重復(fù)周期為CLKi周期的n倍。24方式2的幾點(diǎn)注意:如果在減“1”計(jì)數(shù)過(guò)程中,GATE變?yōu)闊o(wú)效(輸入0電平),則暫停減“1”計(jì)數(shù),待GATE恢復(fù)有效后,從初值n開(kāi)始重新計(jì)數(shù)。如果在操作過(guò)程中要求改變輸出脈沖的速率,CPU可在任何時(shí)候,重新寫(xiě)入新的計(jì)數(shù)值,它不會(huì)影響正在進(jìn)行的減“1”計(jì)數(shù)過(guò)程,而是從下一個(gè)計(jì)數(shù)操作周期開(kāi)始按新的計(jì)數(shù)值改變輸出脈沖的速率。25方式2(演示)26方式3方波發(fā)生器03124GATEOUTCLK

4方式3031240312403124WR任一通道工作在方式3,在計(jì)數(shù)值n為偶數(shù)時(shí),則可輸出重復(fù)周期為n、占空比為1∶1的方波。27進(jìn)入工作方式3,OUTi輸出低電平。裝入計(jì)數(shù)值n后,OUTi立即跳變?yōu)楦唠娖?。?jì)數(shù)過(guò)程的啟動(dòng):

如果當(dāng)前GATE為高電平,則立即開(kāi)始減“1”計(jì)數(shù),OUTi保持為高電平。

若n為偶數(shù),則當(dāng)計(jì)數(shù)值減到n/2時(shí),OUTi跳變?yōu)榈碗娖?,一直保持到?jì)數(shù)值為“0”,系統(tǒng)才自動(dòng)重新置入計(jì)數(shù)值n,實(shí)現(xiàn)循環(huán)計(jì)數(shù)。這時(shí)OUTi端輸出的周期為n×CLKi周期,占空比為1∶1的方波序列;

若n為奇數(shù),則OUTi端輸出周期為n×CLKi周期,占空比為((n+1)/2)/((n-1)/2)的近似方波序列。方式3方波發(fā)生器例如,計(jì)數(shù)初值為5,則在前3個(gè)時(shí)鐘周期OUT為高電平,后2個(gè)時(shí)鐘周期OUT為低電平28方式3的幾點(diǎn)注意:如果在操作過(guò)程中,GATE變?yōu)闊o(wú)效,則暫停減“1”計(jì)數(shù)過(guò)程,直到GATE再次有效,重新從初值n開(kāi)始減“1”計(jì)數(shù)。如果要求改變輸出方波的速率,則CPU可在任何時(shí)候重新裝入新的計(jì)數(shù)初值n,并從下一個(gè)計(jì)數(shù)操作周期開(kāi)始改變輸出方波的速率。29方式3(演示)30方式4軟件觸發(fā)方式GATEOUTCLK031244方式42233310WR軟件觸發(fā)的單次負(fù)脈沖輸出稱(chēng)為軟件觸發(fā),是因?yàn)橛?jì)數(shù)過(guò)程是由軟件把計(jì)數(shù)初值裝入計(jì)數(shù)器來(lái)觸發(fā)的31方式4軟件觸發(fā)方式進(jìn)入工作方式4:OUTi輸出高電平。計(jì)數(shù)過(guò)程的啟動(dòng):

裝入計(jì)數(shù)值n后,如果GATE為高電平,則立即開(kāi)始減“1”計(jì)數(shù)。直到計(jì)數(shù)值減到“0”:OUTi輸出寬度為一個(gè)CLKi周期的負(fù)脈沖。由軟件裝入的計(jì)數(shù)值只一次有效,如果要繼續(xù)操作,必須重新置入計(jì)數(shù)初值n。如果在操作過(guò)程中,GATE變?yōu)闊o(wú)效,則停止減“1”計(jì)數(shù),到GATE再次有效時(shí),重新從初值開(kāi)始減“1”計(jì)數(shù)。32方式4的幾點(diǎn)注意:利用這種工作方式可以完成定時(shí)功能,定時(shí)時(shí)間從裝入計(jì)數(shù)值n開(kāi)始,OUTi輸出負(fù)脈沖表示定時(shí)時(shí)間到,其定時(shí)時(shí)間=n×CLK周期。這種工作方式也可完成計(jì)數(shù)功能,它要求計(jì)數(shù)的事件以脈沖的方式從CLKi輸入,將計(jì)數(shù)次數(shù)作為計(jì)數(shù)初值裝入后,由CLKi端輸入的計(jì)數(shù)脈沖進(jìn)行減“1”計(jì)數(shù),直到計(jì)數(shù)值為“0”,由OUTi端輸出負(fù)脈沖(表示計(jì)數(shù)次數(shù)到)。當(dāng)然也可利用OUTi向CPU發(fā)出中斷請(qǐng)求。因此工作方式4與工作方式0很相似,只是方式0在OUTi端輸出正階躍信號(hào)、方式4在OUTi端輸出負(fù)脈沖信號(hào)。33方式4(演示)34方式5硬件觸發(fā)方式GATEOUTCLK031244方式522333110WR硬件觸發(fā)的單次負(fù)脈沖輸出稱(chēng)為硬件觸發(fā),是因?yàn)橛蒅ATE上升沿觸發(fā)計(jì)數(shù)器開(kāi)始工作的35方式5硬件觸發(fā)方式進(jìn)入工作方式5:OUTi輸出高電平,計(jì)數(shù)過(guò)程的啟動(dòng):

硬件觸發(fā)信號(hào)由GATE端引入。因此,開(kāi)始時(shí)GATE應(yīng)輸入為0,裝入計(jì)數(shù)初值n后,減“1”計(jì)數(shù)并不工作,一定要等到硬件觸發(fā)信號(hào)由GATE端引入一個(gè)上升沿信號(hào),減“1”計(jì)數(shù)才會(huì)開(kāi)始。待計(jì)數(shù)值計(jì)到“0”:OUTi將輸出負(fù)脈沖,其寬度固定為一個(gè)CLKi周期,表示定時(shí)時(shí)間到或計(jì)數(shù)次數(shù)到。這種工作方式下,當(dāng)計(jì)數(shù)值計(jì)到“0”后,系統(tǒng)將自動(dòng)重新裝入計(jì)數(shù)值n,但并不開(kāi)始計(jì)數(shù),一定要等到由GATE端引入的正跳沿,才會(huì)開(kāi)始進(jìn)行減“1”計(jì)數(shù)。36方式5的幾點(diǎn)注意:這是一種完全由GATE端引入的觸發(fā)信號(hào)控制下的計(jì)數(shù)或定時(shí)功能。如果由CLKi輸入的是一定頻率的時(shí)鐘脈沖,那么可完成定時(shí)功能,定時(shí)時(shí)間從GATE上升沿開(kāi)始,到OUTi端輸出負(fù)脈沖結(jié)束。如果從CLKi端輸入的是要求計(jì)數(shù)的事件,則可完成計(jì)數(shù)功能,計(jì)數(shù)過(guò)程從GATE上升沿開(kāi)始,到OUTi輸出負(fù)脈沖結(jié)束。如果需要改變計(jì)數(shù)初值,CPU可在任何時(shí)候用輸出指令裝入新的計(jì)數(shù)初值m,它將不影響正在進(jìn)行的操作過(guò)程,而是到下一個(gè)計(jì)數(shù)操作周期才會(huì)按新的計(jì)數(shù)值進(jìn)行操作。37方式5(演示)38各種工作方式的輸出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2

N/20/N0N01N01N0139討論:計(jì)數(shù)開(kāi)始的時(shí)刻任一種方式,只有在寫(xiě)入計(jì)數(shù)值后才能開(kāi)始計(jì)數(shù)。方式0、2、3、4在寫(xiě)入計(jì)數(shù)值后,計(jì)數(shù)自動(dòng)開(kāi)始。方式1、5需外部觸發(fā),才開(kāi)始計(jì)數(shù)。40計(jì)數(shù)值n與輸出波形的關(guān)系方式功能N與輸出波形的關(guān)系0計(jì)數(shù)結(jié)束后中斷寫(xiě)入計(jì)數(shù)值N后,經(jīng)過(guò)N+1個(gè)CLK脈沖后輸出變高1單脈沖輸出單拍負(fù)脈沖的寬度為N個(gè)CLK脈沖2頻率發(fā)生器經(jīng)過(guò)N-1個(gè)CLK脈沖,輸出寬度為一個(gè)CLK周期的負(fù)脈沖3方波發(fā)生器寫(xiě)入N后,輸出N/2個(gè)高電平,N/2個(gè)低電平4軟件觸發(fā)選通寫(xiě)入N后,過(guò)N個(gè)CLK,輸出寬度為一個(gè)CLK的負(fù)脈沖5硬件觸發(fā)選通門(mén)控觸發(fā)后,經(jīng)過(guò)N個(gè)CLK,輸出寬度為一個(gè)CLK的負(fù)脈沖416種工作方式的比較只有方式0是在寫(xiě)入控制字后OUT為低,其它均為高方式0,1,4計(jì)數(shù)初值僅一次有效,方式2,3,5能自動(dòng)重裝。一般方式0,1,4,5選作計(jì)數(shù)器用(輸出一個(gè)電平或一個(gè)脈沖),而方式2,3選作定時(shí)器用(輸出周期脈沖或周期方波)428253工作過(guò)程總結(jié)每種工作方式的過(guò)程類(lèi)似:⑴設(shè)定工作方式⑵設(shè)定計(jì)數(shù)初值⑶硬件啟動(dòng)⑷計(jì)數(shù)初值進(jìn)入減1計(jì)數(shù)器⑸每輸入一個(gè)時(shí)鐘計(jì)數(shù)器減1的計(jì)數(shù)過(guò)程⑹計(jì)數(shù)過(guò)程結(jié)束439.38253的編程8253加電后的工作方式不確定8253必須初始化編程,才能正常工作寫(xiě)入方式控制字寫(xiě)入計(jì)數(shù)初值讀取計(jì)數(shù)值441.寫(xiě)入方式控制字計(jì)數(shù)器讀寫(xiě)格式工作方式數(shù)制D7D6D5D4D3D2D1D000:計(jì)數(shù)器鎖存01:只讀/寫(xiě)低字節(jié)10:只讀/寫(xiě)高字節(jié)11:先讀/寫(xiě)低字節(jié)后讀/寫(xiě)高字節(jié)0:二進(jìn)制計(jì)數(shù)1:十進(jìn)制計(jì)數(shù)000:方式0001:方式1010:方式2011:方式3100:方式4101:方式500:計(jì)數(shù)器001:計(jì)數(shù)器110:計(jì)數(shù)器211:非法452.寫(xiě)入計(jì)數(shù)值選擇二進(jìn)制時(shí)計(jì)數(shù)值范圍:0000H~FFFFH0000H是最大值,代表65536選擇十進(jìn)制(BCD碼)計(jì)數(shù)值范圍:0000~99990000代表最大值10000463.讀取計(jì)數(shù)值對(duì)8位數(shù)據(jù)線,讀取16位計(jì)數(shù)值需分兩次計(jì)數(shù)在不斷進(jìn)行,應(yīng)該將當(dāng)前計(jì)數(shù)值先行鎖存,然后讀取:向控制字I/O地址:給8253寫(xiě)入鎖存命令從計(jì)數(shù)器I/O地址:讀取鎖存的計(jì)數(shù)值讀取計(jì)數(shù)值,要注意讀寫(xiě)格式和計(jì)數(shù)數(shù)制479.48253計(jì)數(shù)/定時(shí)控制器應(yīng)用例如,某8086系統(tǒng)中包含一片8253芯片,要求完成如下功能:利用通道0完成對(duì)外部事件計(jì)數(shù)功能,計(jì)滿100次向CPU發(fā)出中斷請(qǐng)求。利用通道1產(chǎn)生頻率為1kHz的方波。481.利用通道0完成對(duì)外部事件計(jì)數(shù)功能,計(jì)滿100次向CPU發(fā)出中斷請(qǐng)求。2.利用通道1產(chǎn)生頻率為1kHz的方波。498253的數(shù)據(jù)線(D7~D0)固定與8086CPU的高8位數(shù)據(jù)線(D15~D8)相連。圖中8253的端口地址碼(A1A0)與8086CPU的A2A1相連,而8086的A0固定為“1”參加高位地址譯碼,以形成對(duì)8253的片選信號(hào)CS,以保證CPU訪問(wèn)8253的端口地址均為奇地址。根據(jù)圖的連接方式和對(duì)系統(tǒng)的要求:通道0定義為工作方式0,完成計(jì)數(shù)功能,其計(jì)數(shù)值為100=64H通道1應(yīng)定義為工作方式3,輸出頻率為1kHz的方波,從CLK1輸入2.5MHz的時(shí)鐘脈沖,其重復(fù)周期為0.4μs,而輸出方波的周期應(yīng)為1ms。因此,通道1的計(jì)數(shù)初值應(yīng)為2500=09C4H。50為完成上述功能,所需要的初始化程序如下:STT:MOVDX,8253控制端口地址MOVAL,10H;定義通道0工作在方式0OUTDX,ALMOVDX,通道0端口地址MOVAL,64H;給通道0送計(jì)數(shù)值OUTDX,ALMOVDX,8253控制端口MOVAL,76H;定義通道1為方式3OUTDX,ALMOVDX,通道1端口MOVAX,09C4HOUTDX,AL;給通道1送計(jì)數(shù)初值MOVAL,AHOUTDX,AL51A4A3A0A5M/IOA7A6A9A8G1G2BG2ACBAY4A2A1RDWRD7—D0GATE0OUT0CLK0CLK1CLK2GATE1OUT1GATE2OUT2A1A0RDWRD7—D0CS1MHz方波5V2KHz方波480μs的負(fù)脈沖單脈沖8086CPU74LS138例1:用8253產(chǎn)生各種定時(shí)波形。52例1:用8253產(chǎn)生各種定時(shí)波形。8253基地址為310H,3通道所用時(shí)鐘脈沖頻率為1MHz。要求:(1)通道0工作于方式3,輸出頻率為2KHz的方波;(2)通道1產(chǎn)生寬度為480μS的負(fù)脈沖;(3)通道2以硬件方式觸發(fā),輸出單脈沖時(shí)間常數(shù)為26分析:通道0工作于方式3,控制端GATE0接+5V,時(shí)間常數(shù)N0=T定時(shí)/T時(shí)鐘=(1/2KHz)/(1/1MHz)=500;通道1工作于方式1,由控制端GATE1的正跳變觸發(fā),OUT1輸出負(fù)脈沖的寬度由時(shí)間常數(shù)決定,單次觸發(fā),時(shí)間常數(shù)N1=480μS

/0.001ms=480;通道2工作于方式5,由控制端GATE2的正跳變觸發(fā),可連續(xù)觸發(fā),時(shí)間常數(shù)N2=2653;通道0初始化程序MOVDX,316HMOVAL,00110111BOUTDX,ALMOVDX,310H

MOVAL,00HOUTDX,ALMOVAL,05HOUTDX,AL;通道1初始化程序MOVDX,316HMOVAL,01110011BOUTDX,ALMOVDX,312H

MOVAL,00HOUTDX,ALMOVAL,10HOUTDX,AL54;通道2初始化程序MOVDX,31

溫馨提示

  • 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)論