可編程的定時器計數(shù)器8253_第1頁
可編程的定時器計數(shù)器8253_第2頁
可編程的定時器計數(shù)器8253_第3頁
可編程的定時器計數(shù)器8253_第4頁
可編程的定時器計數(shù)器8253_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微型計算機原理及其應用

——第九章:可編程的定時器/計數(shù)器8253濟南大學自動化與電氣工程學院1第九章:可編程的定時器/計數(shù)器8253定時器/計數(shù)器概述可編程的定時器/計數(shù)器82532第九章:可編程的定時器/計數(shù)器8253定時器/計數(shù)器概述可編程的定時器/計數(shù)器82533第九章:可編程的定時器/計數(shù)器8253——定時器/計數(shù)器概述定時器/計數(shù)器概述

在微機系統(tǒng)或智能化儀器儀表的工作過程中,經(jīng)常需要使系統(tǒng)處于定時工作狀態(tài),或者對外部過程進行計數(shù)。定時或計數(shù)的工作實質(zhì)均體現(xiàn)為對脈沖信號的計數(shù),如果計數(shù)的對象是標準的內(nèi)部時鐘信號,由于其周期恒定,故計數(shù)值就恒定地對應于一定的時間,這一過程即為定時,如果計數(shù)的對象是與外部過程相對應的脈沖信號(周期可以不相等),則此時即為計數(shù)。4第九章:可編程的定時器/計數(shù)器8253——定時器/計數(shù)器概述定時和計數(shù)的實現(xiàn)方法軟件法:利用一段延時子程序來實現(xiàn)定時操作,特點,無需太多的硬設備,控制比較方便,但在定時期間,CPU不能從事其它工作,降低了機器的利用率。

硬件法:專門設計一套電路用以實現(xiàn)定時與計數(shù),特點是需要花費一定硬設備,而且當電路制成之后,定時值及計數(shù)范圍不能改變。軟、硬件結(jié)合法:即設計一種專門的具有可編程特性的芯片,來控制定時和計數(shù)的操作,而這些芯片,具有中斷控制能力,定時、計數(shù)到時能產(chǎn)生中斷請求信號,因而定時期間不影響CPU的正常工作。5第九章:可編程的定時器/計數(shù)器8253——定時器/計數(shù)器概述可編程定時器/計數(shù)器基本工作原理CPU可訪問的寄存器:控制

寄存器、CR、OL;CPU不可訪問的寄存器:CECR:16位,存放計數(shù)初值,

可通過程序來設定。控制邏輯:根據(jù)外部送來的

控制命令,輸出相應信號??刂萍拇嫫骺刂七壿婥RHCRLCEHCELOLHOLL計數(shù)初值寄存器CR計數(shù)執(zhí)行單元CE計數(shù)輸出鎖存器OL6第九章:可編程的定時器/計數(shù)器8253——定時器/計數(shù)器概述可編程定時器/計數(shù)器基本工作原理CE:16位減1計數(shù)器,它的

初值便是計數(shù)初值寄存器

的內(nèi)容,它只對CLK脈沖計

數(shù)。一旦計數(shù)器被啟動后,

每出現(xiàn)一個CLK脈沖,計數(shù)

執(zhí)行單元中的計數(shù)值減1,

當減為零時,通道OUT輸出

指示信號,表明CE已為零。

控制寄存器控制邏輯CRHCRLCEHCELOLHOLL計數(shù)初值寄存器CR計數(shù)執(zhí)行單元CE計數(shù)輸出鎖存器OL7第九章:可編程的定時器/計數(shù)器8253——定時器/計數(shù)器概述可編程定時器/計數(shù)器基本工作原理OL:通常跟隨計數(shù)CE的內(nèi)容

而變化,當接收到CPU發(fā)來的

鎖存命令時,就鎖定當前的

計數(shù)值而不跟隨CE變化,直

到CPU從中讀取鎖存值后,才

恢復到跟隨CE變化的狀態(tài),

從而避免了CPU直接讀CE時干

擾計數(shù)工作的可能??刂萍拇嫫鳎捍娣臗PU送來

的控制字,用來控制計數(shù)器

/定時器的工作方式,就是控

制CLK脈沖和GATE門控信號適

當配合來產(chǎn)生OUT端的輸出信

號的形狀。控制寄存器控制邏輯CRHCRLCEHCELOLHOLL計數(shù)初值寄存器CR計數(shù)執(zhí)行單元CE計數(shù)輸出鎖存器OL8第九章:可編程的定時器/計數(shù)器8253——定時器/計數(shù)器概述可編程定時器/計數(shù)器基本工作原理GATE:控制輸入端,它有多

種控制作用,如允許/禁止

計數(shù)、啟動/停止計數(shù)等。CLK:脈沖信號,減1計數(shù)的

觸發(fā)。OUT:輸出信號,計數(shù)/定時

完成時,用一定電平或脈沖

表示??刂萍拇嫫骺刂七壿婥RHCRLCEHCELOLHOLL計數(shù)初值寄存器CR計數(shù)執(zhí)行單元CE計數(shù)輸出鎖存器OL9第九章:可編程的定時器/計數(shù)器8253定時器/計數(shù)器概述可編程的定時器/計數(shù)器825310第九章:可編程的定時器/計數(shù)器8253——8253可編程定時器/計數(shù)器8253Intel8253是8086微機系統(tǒng)常用的定時/計數(shù)器芯片,它具有定時與計數(shù)兩大功能。每個8253芯片有3個獨立的16位計數(shù)器通道;每個計數(shù)器通道都可以按照二進制或二—十進制(BCD碼)計數(shù);每個計數(shù)器的計數(shù)速率可以高達2MHz;每個通道有6種工作方式,可以由程序設定和改變;所有的輸入、輸出電平都與TTL兼容。11第九章:可編程的定時器/計數(shù)器8253——82538253的內(nèi)部結(jié)構(gòu)12第九章:可編程的定時器/計數(shù)器8253——82538253的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器:從總線接收或發(fā)送數(shù)據(jù),寫入控制字,讀取計數(shù)值的通道。讀寫邏輯:接受來自總線的各種控制信號,產(chǎn)生內(nèi)部控制命令??刂谱旨拇嫫?只寫):8位,存放CPU送來的控制字。計數(shù)器(0~2):3個16位的定時/計數(shù)器。3套相同且相互獨立的結(jié)構(gòu),每套內(nèi)部有4個寄存器??刂萍拇嫫鳎?位,存放各自的控制字,初始化時寫入控制字寄存器的內(nèi)容。計數(shù)初值寄存器:16位,存放計數(shù)初值,初始化時寫入。減1計數(shù)寄存器:16位減1計數(shù)器,計數(shù)初值由預置寄存器送來,每輸入一個計數(shù)脈沖,減1,減到0時輸出計數(shù)結(jié)束信號。輸出鎖存器:當接收到CPU讀命令時,鎖存當前計數(shù)值不跟隨計數(shù)器變化。13第九章:可編程的定時器/計數(shù)器8253——82538253的引腳功能D7D6D5D4D3D2D1D0CLK0OUT0GATE0GNDOUT1GATE1CLK1GATE2CLK2A0A1OUT2WRRDCSVCC8253PIT24232221201918171615141312345678910111214第九章:可編程的定時器/計數(shù)器8253——82538253的引腳功能(1)與系統(tǒng)總線連接的引腳D7~D0:數(shù)據(jù)線,雙

向三態(tài),接數(shù)據(jù)總線;CS#:片選輸入,有效

時選中芯片,接譯碼器;RD#:讀出計數(shù)值,接

CB的讀信號;WR#:寫入命令或初值,

接CB的寫信號;A1,A0:地址輸入,接

AB的任兩位,用于選擇

內(nèi)部四個端口之一。IOWIOR片選信號DBD7-D08253A1A0-WR-RD-CS計數(shù)器2計數(shù)器1計數(shù)器0CLK0GATE0OUT0CLK1GATE1OUT1CLK1GATE1OUT1A1A0A1A0選擇00計數(shù)器001計數(shù)器110計數(shù)器211控制寄存器15第九章:可編程的定時器/計數(shù)器8253——82538253的引腳功能01000010010101001011001000010100110功能對計數(shù)器0設置計數(shù)初值CSRDA1A0WR對計數(shù)器1設置計數(shù)初值對計數(shù)器2設置計數(shù)初值設置控制字從計數(shù)器0讀出計數(shù)值從計數(shù)器1讀出計數(shù)值從計數(shù)器2讀出計數(shù)值16第九章:可編程的定時器/計數(shù)器8253——82538253的引腳功能(2)與計數(shù)通道連接的引腳的主要引線

CLKn:時鐘脈沖,輸入,

計數(shù)器的定時基準,用于

輸入定時基準脈沖或計數(shù)

脈沖。GATEn:門控信號,輸入,

控制計數(shù)器的啟停。OUTn:計數(shù)器輸出信號,

當計數(shù)器完成計數(shù)時,輸出

相應信號。不同工作方式下

產(chǎn)生不同波形。(n=0~2)IOWIOR片選信號DBD7-D08253A1A0-WR-RD-CS計數(shù)器2計數(shù)器1計數(shù)器0CLK0GATE0OUT0CLK1GATE1OUT1CLK1GATE1OUT1A1A017第九章:可編程的定時器/計數(shù)器8253——82538253的引腳功能CLKGATEOUTD0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器高位地址A15-A282538253占用4個接口地址:

計數(shù)器0

計數(shù)器1

計數(shù)器2

控制寄存器(決定8253的I/O地址)共三組接外設18第九章:可編程的定時器/計數(shù)器8253——82538253計數(shù)器的啟動方式軟件啟動:CPU對指定計數(shù)器編程后自動啟動計數(shù),寫入計數(shù)初值后的第1個CLK脈沖的下降沿開始計數(shù)要求GATE保持高電平(GATE為低禁止計數(shù))。硬件啟動:

CPU對指定計數(shù)器編程后并不馬上開始計數(shù),而是在門控信號GATE的上升沿觸發(fā)下,才開始計數(shù)。19第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式方式0——計數(shù)結(jié)束中斷方式1——硬件可重觸發(fā)的單穩(wěn)態(tài)方式2——速率發(fā)生器方式3——方波發(fā)生器方式4——軟件觸發(fā)選通方式5——硬件觸發(fā)選通20第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式0計數(shù)結(jié)束中斷:典型的事件計數(shù)用法。軟件啟動,不自動重復計數(shù)。裝入初值后OUT端變低電平,計數(shù)結(jié)束OUT輸出高電平。(可作為中斷請求信號)①②⑤④⑥GATEOUTCLK

031244方式0WR21第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式0計數(shù)過程由軟件啟動,可以用寫入計數(shù)初值的時刻來控制啟動計數(shù)器的時刻。GATE起開放/禁止計數(shù)作用,計數(shù)過程中,應保持高電平。每寫入一次初值計數(shù)一個周期,然后停止計數(shù)。OUT端輸出是一個約(N+1)TCLK寬度的單個負脈沖。OUT變?yōu)楦唠娖綍r,可作為中斷請求信號。計數(shù)過程中可隨時修改初值重新開始計數(shù)。22第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式1硬件可觸發(fā)單穩(wěn)態(tài)方式:硬件啟動,不自動重復計數(shù)。裝入初值后OUT端變高電平,計數(shù)開始OUT端變?yōu)榈碗娖?,計?shù)結(jié)束后又變高。①②⑤④⑥③GATEOUTCLK

031244方式1WR23第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式1門控信號GATE端的上跳變觸發(fā)計數(shù),可重復觸發(fā)。OUT輸出可看作單穩(wěn)態(tài)負脈沖,若下一次GATE上升沿提前到達,則OUT端負脈沖拉寬為兩次計數(shù)過程之和。計數(shù)過程中寫入新初值不影響本次計數(shù)??赏ㄟ^改變計數(shù)初值來產(chǎn)生不同輸出寬度的負脈沖。24第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式2速率發(fā)生器:OUT產(chǎn)生周期性定時信號。軟、硬件啟動,自動重復計數(shù)。裝入初值后OUT端變高電平,計數(shù)到最后一個CLK時OUT輸出負脈沖,并連續(xù)重復此過程。03124GATEOUTCLK

4方式2031240312403124WR①②⑤④⑥③25第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式2GATE為計數(shù)的控制信號:GATE變低計數(shù)停止,再變高時的下一個CLK下降沿,從初值開始重新計數(shù)。每個計數(shù)周期結(jié)束時(減到1時),OUT端輸出一個TCLK寬度的負脈沖。OUT端輸出信號頻率是CLK頻率的1/N,因此又叫N分頻方式。計數(shù)過程自動重復進行。計數(shù)過程中修改初值不影響本輪計數(shù)過程。改變計數(shù)初值,即可獲得不同頻率的OUT輸出脈沖,這就是頻率發(fā)生器名稱的由來。26第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式3方波發(fā)生器:OUT輸出方波。軟、硬件啟動,自動重復計數(shù)。裝入初值后OUT端變高電平,然后OUT連續(xù)輸出對稱方波:

前N/2或(N+1)/2個CLK,OUT為高,

后N/2或(N-1)/2個CLK,OUT為低。03124GATEOUTCLK

4方式3031244WR①②⑤④⑥③27第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式3OUT輸出方波,前半周期為高,后半周期為低。計數(shù)過程中修改初值不影響本半輪計數(shù)過程。其余的與方式2類似。28第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式4軟件觸發(fā)選通:軟件啟動,不自動重復計數(shù)。裝入初值后輸出端變高電平,計數(shù)結(jié)束輸出一個CLK寬度的負脈沖。GATEOUTCLK031244方式4WR①②⑤④⑥③29第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式4計數(shù)過程中,GATE端應保持高電平。(GATE為低禁止計數(shù))。每寫入一次初值,計數(shù)一個周期,然后停止計數(shù)。每個計數(shù)周期結(jié)束時(減到0時),OUT端輸出一個TCLK寬度的負脈沖。計數(shù)過程中修改初值不影響本輪計數(shù)過程。方式4與方式0的區(qū)別:

方式0:OUT負脈沖寬度為N+1個CLK周期;

方式4:OUT的輸出需N+1個CLK周期后變低,負脈沖寬度為1個CLK周期。30第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式5硬件觸發(fā)選通:硬件啟動,不自動重復計數(shù)。OUT端波形和方式4一樣。GATEOUTCLK031244方式5WR①②⑤④⑥③31第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式——方式5寫入初值時,GATE端應保持低電平。GATE每出現(xiàn)一次正跳變,計數(shù)一個周期,然后停止計數(shù)。每個計數(shù)周期結(jié)束時(減到0時),OUT端輸出一個TCLK寬度的負脈沖。計數(shù)過程中修改初值不影響本輪計數(shù)過程。方式5與方式1的區(qū)別:

方式1:OUT負脈沖寬度為N個CLK周期;

方式5:OUT的輸出需N個CLK周期后變低,負脈沖寬度為1個CLK周期。32第九章:可編程的定時器/計數(shù)器8253——82538253的工作方式

啟動計數(shù)中止計數(shù)自動重復更新初值OUT波形方式0軟件(暫停)GATE=0無立即有效

方式1硬件/

無下一輪有效

方式2軟/硬件GATE=0

有下一輪有效

方式3軟/硬件GATE=0有下半輪有效

方式4軟件(暫停)GATE=0

無下一輪有效

方式5硬件/

無下一輪有效

負的單個寬脈沖負的單個寬脈沖負的單個窄脈沖負的單個窄脈沖對稱方波周期性負脈沖33第九章:可編程的定時器/計數(shù)器8253——8253選通信號GATE的功能-初始化和計數(shù)-方式5允許計數(shù)-禁止計數(shù)方式4允許計數(shù)1.初始化和計數(shù)2.計數(shù)器重新裝入1.禁止計數(shù)2.使輸出立即變?yōu)楦唠娖椒绞?允許計數(shù)1.初始化和計數(shù)2.計數(shù)器重新裝入1.禁止計數(shù)2.使輸出立即變?yōu)楦唠娖椒绞?-1.初始化和計數(shù)2.下一個時鐘后輸出變?yōu)榈碗娖剑绞?允許計數(shù)-禁止計數(shù)方式0高電平上升沿低電平或進入低電平34第九章:可編程的定時器/計數(shù)器8253——82538253的初始化方式控制字:用于確定各計數(shù)器的工作方式。每個計數(shù)器都必須初始化一次。D7D6D5D4D3D2D1D0計數(shù)器選擇00011011計數(shù)器0計數(shù)器1計數(shù)器2無效讀/寫格式及鎖存命令00011011計數(shù)器鎖存讀/寫計數(shù)器低8位讀/寫計數(shù)器高8位先讀/寫低8位,再讀/寫高8位工作方式選擇000001×10×11方式0方式1方式2方式3100101方式4方式5計數(shù)制選擇01二進制計數(shù)BCD碼計數(shù)35第九章:可編程的定時器/計數(shù)器8253——82538253的初始化寫入方式控制字:按方式控制字格式編制控制字,寫入8253控制口(地址值最大的)。3個計數(shù)器使用同一個控制口,3個控制字寫入后存放在各自的控制寄存器中。寫入計數(shù)初值:按控制字中D5、D4的規(guī)定寫入計數(shù)初值??刂谱种蠨0位的值決定計數(shù)初值的進制。36第九章:可編程的定時器/計數(shù)器8253——82538253的初始化寫控制字寫計數(shù)值低8位寫計數(shù)值高8位*非必須寫入順序:可按計數(shù)器分別寫入控制字和初值。也可先寫所有計數(shù)器控制字,再寫入它們的初值。37第九章:可編程的定時器/計數(shù)器8253——82538253的初始化置計數(shù)初值:MOVDX,388H;CNT0MOVAX,2000;CR0OUTDX,ALMOVAL,AHOUTDX,ALMOVDX,389H;CNT1MOVAL,200;低8位OUTDX,AL設置工作方式:MOVDX,38BH;控制口MOVAL,36H;OUTDX,ALMOVAL,56H;CNT1OUTDX,AL36H=00

11

0110CNT016位方式356H=01

01

0110CNT18位方式338第九章:可編程的定時器/計數(shù)器8253——82538253應用舉例用8253監(jiān)視一個生產(chǎn)流水線。每通過50個工件,揚聲器響5秒鐘,頻率為2000Hz。驅(qū)動器CLK1OUT1CLK0GATE0GATE1OUT0INT+5V2.5MHz8255PA0揚聲器8253+5V光源工件R光敏電阻2000Hz39第九章:可編程的定時器/計數(shù)器8253——82538253應用舉例工作原理:工件從光源和光敏電阻間通過時,在晶體管的發(fā)射極產(chǎn)生一個脈沖,作CLK0。當CNT0計滿50后,OUT0輸出負脈沖,反相后作為8259A的一個請求。中斷服務程序中,啟動CNT1計數(shù),OUT1輸出2000Hz方波,持續(xù)5秒停止。驅(qū)動器CLK1OUT1CLK0GATE0GATE1OUT0INT+5V2.5MHz8255PA0揚聲器8253+5V光源工件R光敏電阻2000Hz40第九章:可編程的定時器/計數(shù)器8253——82538253應用舉例設置:設CNT0方式2(計數(shù)),CNT1方式3(方波),GATE0=+5V,GATE1接8255PA0(控制位)。CNT0:方式2,2位BCD計數(shù),計數(shù)初值為50

CW0=00010101B=15HCNT1:方式3,4位BCD計數(shù),計數(shù)初值=2.5×106/2000=1250

CW1=01110111B=77H假設:8253口地址為40H、41H、42H、43H;8255PA口地址為80H。41第九章:可編程的定時器/計數(shù)器8253——82538253應用舉例——主程序段MOVAL,15H ;CNT0初始化

OUT43H,ALMOVAL,50H ;設置計數(shù)初值

OUT40H,ALMOVAL,77H;CNT1初始化OUT43H,ALM

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論