可編程定時(shí)器計(jì)數(shù)器8253及其應(yīng)用_第1頁(yè)
可編程定時(shí)器計(jì)數(shù)器8253及其應(yīng)用_第2頁(yè)
可編程定時(shí)器計(jì)數(shù)器8253及其應(yīng)用_第3頁(yè)
可編程定時(shí)器計(jì)數(shù)器8253及其應(yīng)用_第4頁(yè)
可編程定時(shí)器計(jì)數(shù)器8253及其應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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)介

第八章可編程定時(shí)器/計(jì)數(shù)器8253及其應(yīng)用【回顧】可編程芯片的概念,端口的概念?!颈局v重點(diǎn)】定時(shí)與計(jì)數(shù)的基本概念及其意義,定時(shí)/計(jì)數(shù)器芯片Intel8253的性能概述,內(nèi)、外部結(jié)構(gòu)及其與CPU的連接。定時(shí)與計(jì)數(shù)1.定時(shí)與計(jì)數(shù)在微機(jī)系統(tǒng)或智能化儀器儀表的工作過(guò)程中,經(jīng)常需要使系統(tǒng)處于定時(shí)工作狀態(tài),或者對(duì)外部過(guò)程進(jìn)行計(jì)數(shù)。定時(shí)或計(jì)數(shù)的工作實(shí)質(zhì)均體現(xiàn)為對(duì)脈沖信號(hào)的計(jì)數(shù),如果計(jì)數(shù)的對(duì)象是標(biāo)準(zhǔn)的內(nèi)部時(shí)鐘信號(hào),由于其周期恒定,故計(jì)數(shù)值就恒定地對(duì)應(yīng)于一定的時(shí)間,這一過(guò)程即為定時(shí),如果計(jì)數(shù)的對(duì)象是與外部過(guò)程相對(duì)應(yīng)的脈沖信號(hào)(周期可以不相等),則此時(shí)即為計(jì)數(shù)。2.定時(shí)與計(jì)數(shù)的實(shí)現(xiàn)方法硬件法專門設(shè)計(jì)一套電路用以實(shí)現(xiàn)定時(shí)與計(jì)數(shù),特點(diǎn)是需要花費(fèi)一定硬設(shè)備,而且當(dāng)電路制成之后,定時(shí)值及計(jì)數(shù)范圍不能改變。軟件法利用一段延時(shí)子程序來(lái)實(shí)現(xiàn)定時(shí)操作,特點(diǎn),無(wú)需太多的硬設(shè)備,控制比較方便,但在定時(shí)期間,CPU不能從事其它工作,降低了機(jī)器的利用率。軟、硬件結(jié)合法即設(shè)計(jì)一種專門的具有可編程特性的芯片,來(lái)控制定時(shí)和計(jì)數(shù)的操作,而這些芯片,具有中斷控制能力,定時(shí)、計(jì)數(shù)到時(shí)能產(chǎn)生中斷請(qǐng)求信號(hào),因而定時(shí)期間不影響CPU的正常工作。定時(shí)/計(jì)數(shù)器芯片Intel8253Intel8253是8086微機(jī)系統(tǒng)常用的定時(shí)/計(jì)數(shù)器芯片,它具有定時(shí)與計(jì)數(shù)兩大功能。一、8253的一般性能概述1.每個(gè)8253芯片有3個(gè)獨(dú)立的16位計(jì)數(shù)器通道;.每個(gè)計(jì)數(shù)器通道都可以按照二進(jìn)制或二一十進(jìn)制(BCD碼)計(jì)數(shù);.每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率可以高達(dá)2MHz;4.每個(gè)通道有6種工作方式,可以由程序設(shè)定和改變;.所有的輸入、輸出電平都與TTL兼容。二、8253內(nèi)部結(jié)構(gòu)8253的內(nèi)部結(jié)構(gòu)如圖8-1所示,它主要包括以下幾個(gè)主要部分:圖8-18253的內(nèi)部結(jié)構(gòu)1.?dāng)?shù)據(jù)總線緩沖器實(shí)現(xiàn)8253與CPU數(shù)據(jù)總線連接的8位雙向三態(tài)緩沖器,用以傳送CPU向8253的控制信息、數(shù)據(jù)信息以及CPU從8253讀取的狀態(tài)信息,包括某時(shí)刻的實(shí)時(shí)計(jì)數(shù)值。2.讀/寫控制邏輯控制8253的片選及對(duì)內(nèi)部相關(guān)寄存器的讀/寫操作,它接收CPU發(fā)來(lái)的地址信號(hào)以實(shí)現(xiàn)片選、內(nèi)部通道選擇以及對(duì)讀/寫操作進(jìn)行控制。

3.控制字寄存器在8253的初始化編程時(shí),由CPU寫入控制字,以決定通道的工作方式,此寄存器只能寫入,不能讀出。4.計(jì)數(shù)通道0#、1#、2#:這是三個(gè)獨(dú)立的,結(jié)構(gòu)相同的計(jì)數(shù)器/定時(shí)器通道,每一個(gè)通道包含一個(gè)16位的計(jì)數(shù)寄存器,用以存放計(jì)數(shù)初始值,一個(gè)16位的減法計(jì)數(shù)器和一個(gè)16位的鎖存器,鎖存器在計(jì)數(shù)器工作的過(guò)程中,跟隨計(jì)數(shù)值的變化,在接收到CPU發(fā)來(lái)的讀計(jì)數(shù)值命令時(shí),用以鎖存計(jì)數(shù)值,供CPU讀取,讀取完畢之后,輸出鎖存器又跟隨減1計(jì)數(shù)器變化。三、8253的外部引腳8253芯片是具有24個(gè)引腳的雙列直插式集成電路芯片,其引腳分布如圖8-2所示。8253芯片的24個(gè)引腳分為兩組,一組面向CPU,另一組面向外部設(shè)備,各個(gè)引腳及其所傳送信號(hào)的情況,介紹如下:1.D7~D0:雙向、三態(tài)數(shù)據(jù)線引腳,與系統(tǒng)的數(shù)據(jù)線連接,傳送控制、數(shù)據(jù)及狀態(tài)信息。RD:來(lái)自于CPU的讀控制信號(hào)輸入引腳,低電平有效。.WR:來(lái)自于CPU的寫控制信號(hào)輸入引腳,低電平有效。C:芯片選擇信號(hào)輸入引腳,低電平有效。267654321至231920213529IT267654321至231920213529ITF■一gTEU計(jì)數(shù)需一口UT口|口號(hào)匚LK1一一GATE1計(jì)數(shù)器圖8-28253的引腳5?A1、A0:地址信號(hào)輸入弓1腳,用以選擇8253芯片的通道及控制字寄存器。A0、A的狀

態(tài)與8253端口地址的對(duì)應(yīng)關(guān)系如下表所示。A1A0000#通道011#通道102#通道11控制端口6.VCC及GND:+5V電源及接地引腳7.CLKi:i=0,1,2第i個(gè)通道的計(jì)數(shù)脈沖輸入引腳,8253規(guī)定,加在CLK引腳的輸入時(shí)鐘信號(hào)的頻率不得高于2.6MHZ,即時(shí)鐘周期不能小于380ns。8.GATEi:i=0,1,2,第i個(gè)通道的門控信號(hào)輸入弓|腳,門控信號(hào)的作用與通道的工作方式有關(guān)。9.OUTi:i=0,1,2,第i個(gè)通道的定時(shí)/計(jì)數(shù)到信號(hào)輸出弓I腳,輸出信號(hào)的形式由通道的工作方式確定,此輸出信號(hào)可用于觸發(fā)其它電路工作,或作為向CPU發(fā)出的中斷請(qǐng)求信號(hào)。四、8253的控制字口二二進(jìn)制1=ECD「口口口方式001方式M10方式口二二進(jìn)制1=ECD「口口口方式001方式M10方式xl1方式100方式101方式00選擇計(jì)數(shù)器0〕01選擇討數(shù)盟I,10選擇計(jì)數(shù)器2r11非法選擇J00計(jì)數(shù)器鎖存命令10只讀/寫最高有效字節(jié)〔高B位)01只讀/寫最低有效字節(jié)蒸后皮/■馬最高有效字節(jié)JU蒸后皮/■馬最高有效字節(jié)J圖8-38253的控制字其中:D0:數(shù)制選擇控制。為1時(shí),表明采用BCD碼進(jìn)行定時(shí)/計(jì)數(shù);否則,采用二進(jìn)制進(jìn)行定時(shí)/計(jì)數(shù)。D3~D1:工作方式選擇控制。000,0;001,1;X10,2;X11,3;100,4;101,5;D5、D4:讀寫格式。00,計(jì)數(shù)鎖存命令;01,讀/寫高8位命令;10,讀/寫低8位命令;11,先讀/寫低8位,再讀寫高8位命令。D7、D6:通道選擇控制。000通道;01,1通道;10,2通道;11,非法1.8253的初始化編程要使用8253,必須首先進(jìn)行初始化編程,初始化編程包括設(shè)置通道控制字和送通道計(jì)數(shù)初值兩個(gè)方面,控制字寫入8253的控制字寄存器,而初始值則寫入相應(yīng)通道的計(jì)數(shù)寄存器中。初始化編程包括如下步驟:寫入通道控制字,規(guī)定通道的工作方式寫入計(jì)數(shù)值,若規(guī)定只寫低8位,則高8位自動(dòng)置0,若規(guī)定只寫高8位,則低8位自動(dòng)置0。若為16位計(jì)數(shù)值則分兩次寫入,先寫低8位,后寫高8位。D0:用于確定計(jì)數(shù)數(shù)制,0,二進(jìn)制;1,BCD碼【例1】設(shè)8253的端口地址為:04H~0AH,要使計(jì)數(shù)器1工作在方式0,僅用8位二進(jìn)制計(jì)數(shù),計(jì)數(shù)值為128,進(jìn)行初始化編程??刂谱譃椋?1010000B=50H初始化程序:MOVAL,50HOUT0AH,ALMOVAL,80HOUT06H,AL【例2】設(shè)8253的端口地址為:F8H~FEH,若用通道0工作在方式1,按二——十進(jìn)制計(jì)數(shù),計(jì)數(shù)值為5080H,進(jìn)行初始化編程??刂谱譃椋?0110011B=33H初始化程序:MOVAL,33HOUT0FEH,ALMOVAL,80HOUT0F8H,ALMOVAL,50HOUT0F8H,AL【例3】設(shè)8253的端口地址為:04H~0AH,若用通道2工作在方式2,按二進(jìn)制計(jì)數(shù),計(jì)數(shù)值為02F0H,進(jìn)行初始化編程??刂谱譃椋?0110100B=0B4H初始化程序:MOVAL,0B4HOUT0AH,ALMOVAL,0F0HOUT08H,ALMOVAL,02HOUT08H,AL2.讀取8253通道中的計(jì)數(shù)值8253可用控制命令來(lái)讀取相應(yīng)通道的計(jì)數(shù)值,由于計(jì)數(shù)值是16位的,而讀取的瞬時(shí)值,要分兩次讀取,所以在讀取計(jì)數(shù)值之前,要用鎖存命令,將相應(yīng)通道的計(jì)數(shù)值鎖存在鎖存器中,然后分兩次讀入,先讀低字節(jié),后讀高字節(jié)。當(dāng)控制字中,D5、D4=00時(shí),控制字的作用是將相應(yīng)通道的計(jì)數(shù)值鎖存的命令,鎖存計(jì)數(shù)值在讀取完成之后,自動(dòng)解鎖。如要讀通道1的16位計(jì)數(shù)器,編程如下:地址F8H~FEH。MOVAL,40H;OUT0FEH,AL;鎖存計(jì)數(shù)值INAL,0FAHMOVCL,AL;低八位INAL,0FAH;MOVCH,AL;高八位五、8253在系統(tǒng)中的典型連接8253在系統(tǒng)中的連接如圖8-4所示?!?LS^37*1LSI38圖8-4Intel8253在系統(tǒng)中的連接Intel8086Inml犯53時(shí)-鐘輸“■4LS^37*1LSI38圖8-4Intel8253在系統(tǒng)中的連接Intel8086Inml犯53時(shí)-鐘輸“討聚腓沖定時(shí)輸出CLKj畫?ATF><tATEi柑a峋adgate口OITtAlJj-AIT^六、8253的工作方式8253共有6種工作方式,各方式下的工作狀態(tài)是不同的,輸出的波形也不同,其中比較靈活的是門控信號(hào)的作用。由此組成了8253豐富的工作方式、波形,下面我們逐個(gè)介紹:1.幾條基本原則⑴控制字寫入計(jì)數(shù)器時(shí),所有的控制邏輯電路立即復(fù)位,輸出端OUT進(jìn)入初始狀態(tài)。初始狀態(tài)對(duì)不同的模式來(lái)說(shuō)不一定相同。(2)計(jì)數(shù)初始值寫入之后,要經(jīng)過(guò)一個(gè)時(shí)鐘周期上升沿和一個(gè)下降沿,計(jì)數(shù)執(zhí)行部件才可以開始進(jìn)行計(jì)數(shù)操作,因?yàn)榈谝粋€(gè)下降沿將計(jì)數(shù)寄存器的內(nèi)容送減1計(jì)數(shù)器。(3)通常,在每個(gè)時(shí)鐘脈沖CLK的上升沿,采樣門控信號(hào)GATE。不同的工作方式下,門控信號(hào)的觸發(fā)方式是有具體規(guī)定的,即或者是電平觸發(fā),或者是邊沿觸發(fā),在有的模式中,兩種觸發(fā)方式都是允許的。其中0、2、3、4是電平觸發(fā)方式,1、2、3、5是上升沿觸發(fā)。(4)在時(shí)鐘脈沖的下降沿,計(jì)數(shù)器作減1計(jì)數(shù),0是計(jì)數(shù)器所能容納的最大初始值。二進(jìn)制相當(dāng)于216,用BCD碼計(jì)數(shù)時(shí),相當(dāng)于1042.方式0—計(jì)數(shù)結(jié)束產(chǎn)生中斷方式0的波形如圖8-5所示,當(dāng)控制字寫入控制字寄存器后,輸出OUT就變低,當(dāng)計(jì)數(shù)值寫入計(jì)數(shù)器后開始計(jì)數(shù),在整個(gè)計(jì)數(shù)過(guò)程中,OUT保持為低,當(dāng)計(jì)數(shù)到0后,OUT變高;GATE的高低電平控制計(jì)數(shù)過(guò)程是否進(jìn)行。CW=1OLSB=4GATEOUT圖8-5方式0波形從波形圖中不難看出,工作方式0有如下特點(diǎn):計(jì)數(shù)器只計(jì)一遍,當(dāng)計(jì)數(shù)到0時(shí),不重新開始計(jì)數(shù)保持為高,直到輸入一新的計(jì)數(shù)值,OUT才變低,開始新的計(jì)數(shù);計(jì)數(shù)值是在寫計(jì)數(shù)值命令后經(jīng)過(guò)一個(gè)輸入脈沖,才裝入計(jì)數(shù)器的,下一個(gè)脈沖開始計(jì)數(shù),因此,如果設(shè)置計(jì)數(shù)器初值為N,則輸出OUT在N+1個(gè)脈沖后才能變高;③在計(jì)數(shù)過(guò)程中,可由GATE信號(hào)控制暫停。當(dāng)GATE=0時(shí),暫停計(jì)數(shù);當(dāng)GATE=1時(shí),繼續(xù)計(jì)數(shù);④在計(jì)數(shù)過(guò)程中可以改變計(jì)數(shù)值,且這種改變是立即有效的,分成兩種情況:若是8位計(jì)數(shù),則寫入新值后的下一個(gè)脈沖按新值計(jì)數(shù);若是16位計(jì)數(shù),則在寫入第一個(gè)字節(jié)后,停止計(jì)數(shù),寫入第二個(gè)字節(jié)后的下一個(gè)脈沖按新值計(jì)數(shù)。3.方式1—可編程的硬件觸發(fā)單拍脈沖方式1的波形如圖8-6所示,CPU向8253寫入控制字后OUT變高,并保持,寫入計(jì)數(shù)值后并不立即計(jì)數(shù),只有當(dāng)外界GATE信號(hào)啟動(dòng)后(一個(gè)正脈沖)的下一個(gè)脈沖才開文始計(jì)數(shù),OUT變低,計(jì)數(shù)到0后,OUT才變高,此時(shí)再來(lái)一個(gè)GATE正脈沖,計(jì)數(shù)器又開始重新計(jì)數(shù),輸出OUT再次變低,…,因此輸出為一單拍負(fù)脈沖。圖8-6方式1波形從波形圖不難看出:方式1有下列特點(diǎn):①輸出OUT的寬度為計(jì)數(shù)初值的單脈沖;②輸出受門控信號(hào)GATE的控制,分三種情況:令計(jì)數(shù)到0后,再來(lái)GATE脈沖,則重新開始計(jì)數(shù),OUT變低;令在計(jì)數(shù)過(guò)程中來(lái)GATE脈沖,則從下一CLK脈沖開始重新計(jì)數(shù),OUT保持為低;令改變計(jì)數(shù)值后,只有當(dāng)GATE脈沖啟動(dòng)后,才按新值計(jì)數(shù),否則原計(jì)數(shù)過(guò)程不受影響,仍繼續(xù)進(jìn)行,即新值的改變是從下一個(gè)GATE開始的。③計(jì)數(shù)值是多次有效的,每來(lái)一個(gè)GATE脈沖,就自動(dòng)裝入計(jì)數(shù)值開始從頭計(jì)數(shù),因此在初始化時(shí),計(jì)數(shù)值寫入一次即可。4、方式2—速率發(fā)生器方式2的波形如圖8-7所示,在這種方式下,CPU輸出控制字后,輸出OUT就變高,寫入計(jì)數(shù)值后的下一個(gè)CLK脈沖開始計(jì)數(shù),計(jì)數(shù)到1后,輸出OUT變低,經(jīng)過(guò)一個(gè)CLK以后,OUT恢復(fù)為高,計(jì)數(shù)器重新開始計(jì)數(shù),…,因此在這種方式下,只需寫入一次計(jì)數(shù)值,就能連續(xù)工作,輸出連續(xù)相同間隔的負(fù)脈沖(前提:GATE保持為高),即周期性地輸出,方式2下,8253有下列使用特點(diǎn):①通道可以連續(xù)工作;②GATE可以控制計(jì)數(shù)過(guò)程,當(dāng)GATE為低時(shí)暫停計(jì)數(shù),恢復(fù)為高后重新從初值;(注意:該方式與方式0不同,方式0是繼續(xù)計(jì)數(shù))③重新設(shè)置新的計(jì)數(shù)值即在計(jì)數(shù)過(guò)程中改變計(jì)數(shù)值,則新的計(jì)數(shù)值是下次有效的,同方式1。圖8-7方式2波形5.方式3—方波速率發(fā)生器方式3的波形如圖8-8所示,這種方式下的輸出與方式2都是周期性的,不同的是周期不同,CPU寫入控制字后,輸出OUT變高,寫入計(jì)數(shù)值后開始計(jì)數(shù),不同的是減2計(jì)數(shù),

當(dāng)計(jì)數(shù)到一半計(jì)數(shù)值時(shí),輸出變低,重新裝入計(jì)數(shù)值進(jìn)行減2計(jì)數(shù),當(dāng)計(jì)數(shù)到0時(shí),輸出變高,裝入計(jì)數(shù)值進(jìn)行減2計(jì)數(shù),循環(huán)不止。在方式3下,8253有下列使用特點(diǎn):計(jì)數(shù)值為偶數(shù)計(jì)數(shù)值為偶數(shù)CLKGATECLKGATE2I42I0?42; !-—^-H-l――\—\—1 .I. IIII2I42I0?42;OUT計(jì)數(shù)值為奇數(shù)圖8-8方式3時(shí)計(jì)數(shù)器的工作波形①通道可以連續(xù)工作;②關(guān)于計(jì)數(shù)值的奇偶,若為偶數(shù),則輸出標(biāo)準(zhǔn)方波,高低電平各為N/2個(gè);若為奇數(shù),則在裝入計(jì)數(shù)值后的下一個(gè)CLK使其裝入,然后減1計(jì)數(shù),(N+1)/2,OUT改變狀態(tài),再減至0,OUT又改變狀態(tài),重新裝入計(jì)數(shù)值循環(huán)此過(guò)程,因此,在這種情況下,輸出有(N+1)/2個(gè)CLK個(gè)高電平,(N-1)/2個(gè)CLK個(gè)低電平;③GATE信號(hào)能使計(jì)數(shù)過(guò)程重新開始,當(dāng)GATE=0時(shí),停止計(jì)數(shù),當(dāng)GATE變高后,計(jì)數(shù)器重新裝入初值開始計(jì)數(shù),尤其是當(dāng)GATE=0時(shí),若OUT此時(shí)為低,則立即變高,其它動(dòng)作同上;④在計(jì)數(shù)期間改變計(jì)數(shù)值不影響現(xiàn)行的計(jì)數(shù)過(guò)程,一般情況下,新的計(jì)數(shù)值是在現(xiàn)行半周結(jié)束后才裝入計(jì)數(shù)器。但若中間遇到有GATE脈沖,則在此脈沖后即裝入新值開始計(jì)數(shù)。6.方式4—軟件觸發(fā)的選通信號(hào)發(fā)生器方式4的波形如圖8-9所示,在這種方式下,也是當(dāng)CPU寫入控制字后,OUT立即變高,寫入計(jì)數(shù)值開始計(jì)數(shù),當(dāng)計(jì)數(shù)到0后,OUT變低,經(jīng)過(guò)一個(gè)CLK脈沖后,OUT變高,這種計(jì)數(shù)是一次性的(與方式0有相似之處),只有當(dāng)寫入新的計(jì)數(shù)值后才開始下一次計(jì)數(shù)。圖8-9方式4波形方式4下,8253有下列使用特點(diǎn):①當(dāng)計(jì)數(shù)值為N時(shí),則間隔N+1個(gè)CLK脈沖輸出一個(gè)負(fù)脈沖(計(jì)數(shù)一次有效);②GATE=0時(shí),禁止計(jì)數(shù),GATE=1時(shí),恢復(fù)繼續(xù)計(jì)數(shù);③在計(jì)數(shù)過(guò)程中重新裝入新的計(jì)數(shù)值,則該值是立即有效的(若為16位計(jì)數(shù)值,則裝入第一個(gè)字節(jié)時(shí)停止計(jì)數(shù),裝入第二個(gè)字節(jié)后開始按新值計(jì)數(shù))。7.方式5—硬件觸發(fā)的選通信號(hào)發(fā)生器方式5的波形如圖8-10所示,在這種方式下,當(dāng)控制字寫入后,OUT立刻變高,寫入計(jì)數(shù)值后并不立即開始計(jì)數(shù),而是由GATE的上升沿觸發(fā)啟動(dòng)計(jì)數(shù)的,當(dāng)計(jì)數(shù)到0時(shí),輸出變低,經(jīng)過(guò)一個(gè)CLK之后,輸出恢復(fù)為高,計(jì)數(shù)停止,若再有GATE脈沖來(lái),則重新裝入計(jì)數(shù)值開始計(jì)數(shù),上述過(guò)程重復(fù)。方式5下,8253有下列使用特點(diǎn):

①在這種方式下,若設(shè)置的計(jì)數(shù)值是N,則在GATE脈沖后,經(jīng)過(guò)(N+1)個(gè)CLK才一個(gè)負(fù)脈沖;若在計(jì)數(shù)過(guò)程中又來(lái)一個(gè)GATE脈沖,則重新裝入初值開始計(jì)數(shù),輸出不變,即計(jì)數(shù)值多次有效;若在計(jì)數(shù)過(guò)程中修改計(jì)數(shù)值,則該計(jì)數(shù)值在下一個(gè)GATE脈沖后裝入開始按此值計(jì)數(shù)。匚匕3LSB=3-WT_>UW圖8-10方式5波形盡管8253有6種工作模式,但是從輸出端來(lái)看,仍不外乎為計(jì)數(shù)和定時(shí)兩種工作方式。作為計(jì)數(shù)器時(shí),8253在GATE的控制下,進(jìn)行減1計(jì)數(shù),減到終值時(shí),輸出一個(gè)信號(hào)。作為定時(shí)器工作時(shí),8253在門控信號(hào)GATE控制下,進(jìn)行減1計(jì)數(shù)。減到終值時(shí),又自動(dòng)裝入初始值,重新作減1計(jì)數(shù),于是輸出端會(huì)不斷地產(chǎn)生時(shí)鐘周期整數(shù)倍的定時(shí)時(shí)間間隔。8.8253的工作方式小結(jié)下面,我們對(duì)8253的6種工作模式的特點(diǎn),作一番比較和總結(jié)。⑴方式2、4、5的輸出波形是相同的,都是寬度為一個(gè)CLK周期的負(fù)脈沖,但方式2連續(xù)工作,方式4由軟件觸發(fā)啟動(dòng),方式5由硬件觸發(fā)啟動(dòng)。⑵方式5與方式1工作過(guò)程相同,但輸出波形不同,方式1輸出的是寬度為N個(gè)CLK脈沖的低電平有效的脈沖(計(jì)數(shù)過(guò)程中輸出為低),而方式5輸出的為寬度為一個(gè)CLK脈沖的負(fù)脈沖(計(jì)數(shù)過(guò)程中輸出為高)。⑶輸出端OUT的初始狀態(tài),方式0在寫入方式字后輸出為低,其余方式,寫入控制字后,輸出均變未能高。任一種方式,均是在寫入計(jì)數(shù)初值之后,才能開始計(jì)數(shù),方式0、2、3、4都是在寫入計(jì)數(shù)初值之后,開始計(jì)數(shù)的,而方式1和方式5需要外部觸發(fā)啟動(dòng),才開始計(jì)數(shù)。6種工作方式中,只有方式2和方式3是連續(xù)計(jì)數(shù),其它方式都是一次計(jì)數(shù),要繼續(xù)工作需要重新啟動(dòng),方式0、4由軟件啟動(dòng),方式1、5由硬件啟動(dòng)。(6)門控信號(hào)的作用;通過(guò)門控信號(hào)GATE,可以干預(yù)8253某一通道的計(jì)數(shù)過(guò)程,在不同的工作方式下,門控信號(hào)起作用的方式也不一樣,其中0、2、3、4是電平起作用,1、2、3、5是上升沿起作用,方式2、3對(duì)電平上升沿都可以起作用。(7)在計(jì)數(shù)過(guò)程中改變計(jì)數(shù)值,它們的作用有所不同。(8)計(jì)數(shù)到0后計(jì)數(shù)器的狀態(tài),方式0、1、4、5繼續(xù)倒計(jì)數(shù),變?yōu)镕F、FE。。。。。。,而方式2、3、,則自動(dòng)裝入計(jì)數(shù)初值繼續(xù)計(jì)數(shù)。七、8253的編程應(yīng)用【例4】在IBMPC/XT中,8253作為定時(shí)計(jì)數(shù)器電路,它的三個(gè)通道的作用分別為:計(jì)數(shù)器0編程為方式3,GATE0固定為高電平,OUT0作為中斷請(qǐng)求信號(hào)接至8259A中斷控制器的第0級(jí)IRQ0。這個(gè)定時(shí)中斷(約55ms)用于報(bào)時(shí)時(shí)鐘的時(shí)間基準(zhǔn)。計(jì)數(shù)器1編程為方式2,GATE1固定為高電平,OUT1的輸出經(jīng)過(guò)一個(gè)D觸發(fā)器后作為8237A-5DMA控制器通道0的DMA請(qǐng)求DREQ0,用于定時(shí)(約15us)啟動(dòng)刷新動(dòng)態(tài)RAM,這樣在2ms內(nèi)可以有132次刷新,大于128次(128次是系統(tǒng)的最低要求)。計(jì)數(shù)器2編程為方式3,1KHZ的方波輸出通過(guò)濾波去除高頻分量后送揚(yáng)聲器GATE2是8255的PB0,OUT輸出經(jīng)一與門控制,控制信號(hào)為8255的PB1,這樣利用PB0、PB1同時(shí)為高的時(shí)間來(lái)控制發(fā)長(zhǎng)音還是發(fā)短音。TxN=定時(shí)時(shí)間nN=定時(shí)時(shí)間 時(shí)鐘頻率F為1.19MHZ,T=1/FT8253-5的地址為040H~043H,ROM-BIOS對(duì)8253-5的編程如下:計(jì)數(shù)器0用于定時(shí)中斷。MOVAL,00110110B;00110110一二進(jìn)制OUT43H,ALMOVAL,0;計(jì)數(shù)初值為0000,即為216OUT40H,ALOUT40H,AL;定時(shí)為:840nsx216=55ms,即頻率為18.2HZ-每秒產(chǎn)生18.2次時(shí)鐘中斷(CLK周期為:1/1.19M)計(jì)數(shù)器1用于定時(shí)DMA請(qǐng)求。MOVAL,01010100B;01010100一二進(jìn)制OUT43H,ALMOVAL,12H;計(jì)數(shù)初值為18D,定時(shí):840nsx18=15^sOUT41H,AL計(jì)數(shù)器2用于產(chǎn)生1KHZ的方波送至揚(yáng)聲器發(fā)聲,聲響子程序?yàn)锽EEP,入口地址為FFA08H。BEEPPROCNEARMOVAL,10110110B;10110110 二進(jìn)制OUT43H,ALMOVAX,0533H;計(jì)數(shù)初值為1331OUT42H,ALMOVAL,AHOUT42H,ALINAL,61H;取8255B端口MOVAH,AL;存在AHORAL,03H;使PBPB=1110OUT61H,AL;輸出至82255的B端口,使揚(yáng)聲器發(fā)聲SUBCX,CX;循環(huán)計(jì)數(shù)G7:LOOPG7MOVBH,0DECBX;BL的值為控制長(zhǎng)短聲,BL=6(長(zhǎng)),BL=1(短)JNZG7MOVAL,AH;恢復(fù)8255B端口值,停止發(fā)聲OUT61H,ALRETBEEPENDP【例5】CPU為8086,用8253的CH0(通道0),每隔2ms輸出一個(gè)負(fù)脈沖,設(shè)CLK為2MHZ,完成軟件設(shè)計(jì)。分析:時(shí)間常數(shù)的計(jì)算:已知時(shí)鐘頻率F及定時(shí)時(shí)間t,求計(jì)數(shù)初值N:0N?—=t :.N=t?FF設(shè)用方式2,時(shí)間常數(shù):N=2乂10一3乂2乂106=4X103控制字:00110100——二進(jìn)制端口地址:CH0—00H;控制端口 06H初始化編程:MOVAL,34H ;00110100BOUT06H,ALMOVAX,4000OUT

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論