第七章可編程計(jì)數(shù)器定時(shí)器_第1頁(yè)
第七章可編程計(jì)數(shù)器定時(shí)器_第2頁(yè)
第七章可編程計(jì)數(shù)器定時(shí)器_第3頁(yè)
第七章可編程計(jì)數(shù)器定時(shí)器_第4頁(yè)
第七章可編程計(jì)數(shù)器定時(shí)器_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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ī)原理與接口技術(shù)第16講佘青山86919130 qsshe@8253工作原理:結(jié)構(gòu)、引腳、工作方式8253應(yīng)用舉例:定時(shí)功能、計(jì)數(shù)功能內(nèi)容提要第七章可編程計(jì)數(shù)器/定時(shí)器8253/8254及其應(yīng)用2綜述兩大功能:(1)定時(shí)功能例如,按一定的時(shí)間間隔對(duì)動(dòng)態(tài)RAM進(jìn)行刷新;揚(yáng)聲器的發(fā)聲;在計(jì)算機(jī)實(shí)時(shí)控制和處理系統(tǒng)中,對(duì)處理對(duì)象進(jìn)行采樣,或定時(shí)檢測(cè)某些參數(shù)等(2)計(jì)數(shù)功能 對(duì)外部事件進(jìn)行計(jì)數(shù)等實(shí)現(xiàn)定時(shí)功能主要有三種方法:軟件定時(shí)不可編程的硬件定時(shí)可編程的硬件定時(shí)第七章可編程計(jì)數(shù)器/定時(shí)器8253/8254及其應(yīng)用

例:軟件延時(shí)(nT,假設(shè)T=210ns)

MOV BL,10 ;4T×1

DELAY0: MOV CX,2801 ;4T×10

DELAY1: LOOP DELAY1;17T/5T--->(17T×2801-12T)×10

DEC BL ;2T×10

JNZ DELAY0;16T/4T--->16T×10-12T

RET ;20T

n=4+10×

((4+2801×17-12)+2+16)-12+20 --->nT=10ms

3Intel8253就是一種能完成上述功能的計(jì)數(shù)器/定時(shí)器芯片,被稱為可編程間隔定時(shí)器(ProgrammableIntervalTimer,PIT)可編程計(jì)數(shù)器/定時(shí)器8253主要功能:3個(gè)獨(dú)立的16位計(jì)數(shù)器每個(gè)計(jì)數(shù)器都可以按照二進(jìn)制或BCD碼進(jìn)行計(jì)數(shù)每個(gè)計(jì)數(shù)器的計(jì)數(shù)速率可達(dá)2MHz(8254-2計(jì)數(shù)頻率可達(dá)10MHz)每個(gè)計(jì)數(shù)器有6種不同的工作方式所有的輸入輸出引腳電平都與TTL電平兼容47.1.18253的內(nèi)部結(jié)構(gòu)和引腳信號(hào)圖7.1(a)8253的內(nèi)部結(jié)構(gòu)圖7.1(b)

8253的引腳§7.18253的工作原理57.1.18253的內(nèi)部結(jié)構(gòu)和引腳信號(hào)1.?dāng)?shù)據(jù)總線緩沖器

8253與CPU數(shù)據(jù)總線連接的8位雙向三態(tài)緩沖器。CPU用輸入/輸出指令對(duì)8253進(jìn)行讀/寫操作的所有信息,都經(jīng)這8條D7~D0傳送。包括:⑴CPU在對(duì)8253進(jìn)行初始化編程時(shí),向它寫入的控制字;⑵CPU向某一計(jì)數(shù)器寫入的計(jì)數(shù)初值;⑶CPU從某一個(gè)計(jì)數(shù)器讀出的計(jì)數(shù)值?!?.18253的工作原理62.讀/寫控制邏輯

接收CPU控制總線送來(lái)的輸入信號(hào),經(jīng)組合后形成控制信號(hào),對(duì)各部分操作進(jìn)行控制。可接收的信號(hào)有:

⑴CS片選信號(hào),低電平有效。由地址總線經(jīng)I/O端口譯碼電路產(chǎn)生。只有當(dāng)CS為低電平時(shí),CPU才能對(duì)8253進(jìn)行讀寫操作。

⑵RD讀信號(hào),低電乎有效。當(dāng)RD為低電平時(shí),表示CPU正在讀取所選定的計(jì)數(shù)器通道中的內(nèi)容。

⑶WR寫信號(hào),低電平有效。當(dāng)WR為低電平時(shí),表示CPU正在將計(jì)數(shù)初值寫入所選中的計(jì)數(shù)通道中或者將控制字寫入控制字寄存器中。

7

⑷A1A0端口選擇信號(hào)。在8353內(nèi)部有3個(gè)計(jì)數(shù)器通道(0~2)和一個(gè)控制字寄存器端口。當(dāng)A1A0=00時(shí),選中通道0; A1A0=01時(shí),選中通道1; A1A0=10時(shí),選中通道2; A1A0=11時(shí),選中控制字寄存器端口。注意:8253與8位數(shù)據(jù)總線的微機(jī)(如8088CPU)相連,只要將其A1A0分別與CPU地址總線的最低兩位A1A0相連即可。8253與16位數(shù)據(jù)總線的微機(jī)(如8086CPU

)相連,則用CPU地址總線中的A2A1實(shí)現(xiàn)端口選擇,即CPU的A2連8253的A1,CPU的A1連8253的A0。

一般,CPU要求芯片內(nèi)部的各個(gè)端口都使用偶地址四個(gè)端口地址83.計(jì)數(shù)器0~23個(gè)完全相同的計(jì)數(shù)器/定時(shí)器通道,對(duì)它們的操作完全是獨(dú)立的。一個(gè)8位的控制字寄存器:CPU寫入控制字,選定計(jì)數(shù)器通道的工作方式、讀寫格式和數(shù)制。一個(gè)16位的計(jì)數(shù)初值寄存器:存放由CPU送來(lái)的計(jì)數(shù)初值。構(gòu)成每個(gè)通道都包含:一個(gè)16位的計(jì)數(shù)器執(zhí)行部件(減法計(jì)數(shù)器):其起始值就是初值寄存器的值,該值可由程序設(shè)置。一個(gè)16位輸出鎖存器:鎖存計(jì)數(shù)器執(zhí)行部件的值,供CPU讀?。硞€(gè)時(shí)刻計(jì)數(shù)器的瞬時(shí)值)。注意:(1)計(jì)數(shù)初值寄存器、計(jì)數(shù)器執(zhí)行部件和輸出鎖存器都是16位寄存器;(2)它們均可被分成高8位和低8位兩個(gè)部分,因此也可作為8位寄存器來(lái)使用。9預(yù)置初值:每個(gè)通道對(duì)輸入到CLK引腳上的脈沖按2進(jìn)制或10進(jìn)制(BCD碼)格式進(jìn)行計(jì)數(shù)(倒計(jì)數(shù)法),需先對(duì)計(jì)數(shù)器預(yù)置初值。減計(jì)數(shù)器:每輸入一個(gè)時(shí)鐘脈沖,計(jì)數(shù)器的值減1,當(dāng)計(jì)數(shù)器的值減為0時(shí),便從OUT引腳輸出一個(gè)脈沖信號(hào)。

輸出信號(hào)的波形主要由工作方式?jīng)Q定,同時(shí)還受外部GATE門控信號(hào)控制(它決定是否允許計(jì)數(shù))。工作原理108253的3個(gè)計(jì)數(shù)器都各有3個(gè)引腳,分別是:

CLK0~CLK2:計(jì)數(shù)器0~2的時(shí)鐘脈沖輸入端(頻率不能大于2MHz)。OUT0~OUT2:計(jì)數(shù)器0~2的輸出端。GATE0~GATE2:計(jì)數(shù)器0~2的門控脈沖輸入端。引腳外部事件計(jì)數(shù)器:對(duì)CLK腳上的脈沖(由外部事件產(chǎn)生)進(jìn)行計(jì)數(shù),脈沖的間隔可以不相等。定時(shí)器:CLK引腳上輸入精確的時(shí)鐘脈沖。定時(shí)時(shí)間取決于計(jì)數(shù)脈沖的頻率和計(jì)數(shù)器的初值,即

定時(shí)時(shí)間=時(shí)鐘脈沖周期tc×預(yù)置的計(jì)數(shù)初值n114.控制字寄存器BCDM2M1M0RL1RL0SC1SC0D7D6D5D4D3D2D1D01BCD碼計(jì)數(shù)0二進(jìn)制計(jì)數(shù)000方式0001方式1X10方式2X11方式3100方式4101方式500計(jì)數(shù)器鎖存,供CPU讀01只讀/寫計(jì)數(shù)器低字節(jié)10只讀/寫計(jì)數(shù)器高字節(jié)11先讀/寫計(jì)數(shù)器低字節(jié),后讀/寫高字節(jié)00選擇通道001選擇通道110選擇通道211無(wú)效圖7.28253控制字格式127.1.2初始化編程步驟和門控信號(hào)的功能1.8253的初始化編程步驟

使用前,必須用程序把編程芯片初始化為所需的特定模式,其過(guò)程稱為初始化編程。其步驟為:(1)寫入控制字;(2)寫入計(jì)數(shù)初值。用輸出指令向控制字寄存器寫入一個(gè)控制字,以選定計(jì)數(shù)器通道,規(guī)定該計(jì)數(shù)器的工作方式和計(jì)數(shù)格式。寫入控制字還起到復(fù)位作用,使輸出端OUT變?yōu)橐?guī)定的初始狀態(tài),并使計(jì)數(shù)器清0。⑴寫入控制字13⑵寫入計(jì)數(shù)初值用輸出指令向選中的計(jì)數(shù)器端口地址中寫入一個(gè)計(jì)數(shù)初值,初值可以是8位數(shù)據(jù),也可是16位數(shù)據(jù):若是8位數(shù),只要用一條輸出指令就可完成初值的設(shè)置。若是16位數(shù),則須用兩條輸出指令來(lái)完成,且先送低8位數(shù)據(jù),后送高8位數(shù)據(jù)。注意:計(jì)數(shù)初值為0時(shí),也要分成兩次寫入。因?yàn)樵诙M(jìn)制計(jì)數(shù)時(shí),它表示65536,BCD計(jì)數(shù)時(shí),它表示10000。

說(shuō)明:3個(gè)計(jì)數(shù)器通道的編程沒(méi)有先后順序,可任意選擇某一個(gè)計(jì)數(shù)器通道進(jìn)行初始化編程,只要符合先寫入控制字,后寫入計(jì)數(shù)初值的規(guī)定即可。147.1.38253的工作方式Intel8253有6種工作方式:(1)方式0——計(jì)數(shù)結(jié)束中斷方式(InterruptonTerminalCount)(2)方式1——可編程單穩(wěn)態(tài)輸出方式(ProgrammableOne-short)或硬件再觸發(fā)單拍脈沖方式(3)方式2——比率(速率)發(fā)生器(RateGenerator)(4)方式3——方波發(fā)生器(SquareWaveGenerator)(5)方式4——軟件觸發(fā)選通(SoftwareTriggeredStrobe)(6)方式5——硬件觸發(fā)選通(HardwareTriggeredStrobe)6種工作方式的原理和編程基本類似,重點(diǎn)介紹方式0151.方式0——計(jì)數(shù)結(jié)束中斷方式(InterruptonTerminalCount)16不自動(dòng)重復(fù)計(jì)數(shù)裝入初值后輸出端變低電平,計(jì)數(shù)結(jié)束輸出高電平方式0WRmOUTGATE

m=5543210CLKWRnOUT43210n=48253方式0波形圖17當(dāng)對(duì)8253的任一個(gè)通道寫入控制字,并選定工作于方式0時(shí),輸出端OUT立即變?yōu)榈碗娖?。要?253能夠進(jìn)行計(jì)數(shù),門控信號(hào)GATE必須為高電平。若CPU利用輸出指令向計(jì)數(shù)通道寫入初值n(=4)時(shí),WRn變成低電平。在WRn的上升沿時(shí),n被寫入8253內(nèi)部的計(jì)數(shù)器初值寄存器。在WRn上升沿后的下一個(gè)時(shí)鐘脈沖的下降沿時(shí),才把n裝入通道內(nèi)的實(shí)際計(jì)數(shù)器中,開始進(jìn)行減1計(jì)數(shù)。每從CLK引腳輸入一個(gè)脈沖,計(jì)數(shù)器就減1。總共經(jīng)過(guò)個(gè)脈沖后,計(jì)數(shù)器減為0,OUT引腳由低電平變成高電平。

這個(gè)由低到高的正跳變信號(hào),可以接到8259A的中斷請(qǐng)求輸入端,向CPU發(fā)中斷請(qǐng)求信號(hào)。工作過(guò)程:n+1為什么?從寫入計(jì)數(shù)器初值到開始減1計(jì)數(shù)之間,有一個(gè)時(shí)鐘脈沖的延遲.18OUT引腳上的高電平信號(hào),一直保持到對(duì)該計(jì)數(shù)器裝入新的計(jì)數(shù)值,或設(shè)置新的工作方式為止。按方式0進(jìn)行計(jì)數(shù)時(shí),計(jì)數(shù)器不會(huì)自動(dòng)重裝初值,計(jì)數(shù)器只計(jì)一遍。當(dāng)計(jì)數(shù)器計(jì)到0時(shí),不會(huì)再裝入初值重新開始計(jì)數(shù),其輸出將保持高電平。特殊情況考慮:(1)特殊情況1:在計(jì)數(shù)的過(guò)程中,如果GATE變?yōu)榈碗娖剑瑒t暫停減1計(jì)數(shù),計(jì)數(shù)器保持GATE有效時(shí)的值不變,OUT仍為低電平。待GATE回到高電平后,又繼續(xù)往下計(jì)數(shù)。(2)特殊情況2:如果在計(jì)數(shù)過(guò)程中改變初值,寫完初值后,計(jì)數(shù)器按照新的初值開始計(jì)數(shù)。

工作過(guò)程:(續(xù))198253方式1波形圖WRnGATE43210OUTCLK34210GATEOUT234不自動(dòng)重復(fù)計(jì)數(shù)裝入初值后輸出端變高電平,計(jì)數(shù)開始輸出低電平,結(jié)束后又變高方式12.方式1——可編程單穩(wěn)態(tài)輸出方式或硬件再觸發(fā)單拍脈沖方式20特點(diǎn):(1)計(jì)數(shù)初值為n,則輸出的單拍負(fù)脈沖寬度為n倍時(shí)鐘周期。(2)當(dāng)計(jì)數(shù)到0時(shí),外部觸發(fā)(GATE由低電平向高電平跳變)可啟動(dòng)新一輪計(jì)數(shù),可產(chǎn)生同寬度的單拍脈沖。(3)若計(jì)數(shù)未結(jié)束,重新觸發(fā),將擴(kuò)展輸出脈沖的寬度。(4)在計(jì)數(shù)過(guò)程中改變初值,不影響當(dāng)前一輪計(jì)數(shù),等計(jì)數(shù)到0,產(chǎn)生單拍脈沖后,如果再有新的觸發(fā)信號(hào),將以新的初值開始計(jì)數(shù)。2.方式1——可編程單穩(wěn)態(tài)輸出方式或硬件再觸發(fā)單拍脈沖方式21WRn43210(3)OUTCLKn=4n=3

0(4)321210GATEOUT0(3)3210(3)210(3)2108253方式2波形圖自動(dòng)重復(fù)計(jì)數(shù)裝入初值后輸出端變高電平,計(jì)數(shù)到最后一個(gè)脈沖時(shí)輸出低電平方式23.方式2——比率(速率)發(fā)生器(RateGenerator)

22特點(diǎn):(1)計(jì)數(shù)到0時(shí),自動(dòng)重裝計(jì)數(shù)初值,重新開始計(jì)數(shù)。(2)計(jì)數(shù)過(guò)程可由門控信號(hào)GATE控制。在計(jì)數(shù)過(guò)程中,當(dāng)GATE變?yōu)榈碗娖綍r(shí),使OUT變?yōu)楦唠娖?,禁止?jì)數(shù);當(dāng)GATE從低電平變?yōu)楦唠娖?,GATE端產(chǎn)生上升沿,則在下一個(gè)時(shí)鐘脈沖時(shí),把預(yù)置的計(jì)數(shù)初值裝入計(jì)數(shù)器,從初值開始遞減計(jì)數(shù),并循環(huán)進(jìn)行。(3)計(jì)數(shù)過(guò)程中,可改變計(jì)數(shù)初值,不影響當(dāng)前計(jì)數(shù)過(guò)程的進(jìn)行。當(dāng)計(jì)數(shù)值減為0時(shí),一個(gè)計(jì)數(shù)周期結(jié)束,8253將按新寫入的計(jì)數(shù)值n進(jìn)行計(jì)數(shù)。注意:需要產(chǎn)生連續(xù)的負(fù)脈沖序列信號(hào)時(shí),可使8253工作于方式2。3.方式2——比率(速率)發(fā)生器(RateGenerator)

2344424OUTn=4n=440222CLK24252OUT

n=5542525425GATEOUTn=44244224208253方式3波形圖自動(dòng)重復(fù)計(jì)數(shù)裝入初值后輸出端變高電平,輸出對(duì)稱的方波或基本對(duì)稱的矩形波方式34.方式3——方波發(fā)生器(SquareWaveGenerator)

24特點(diǎn):(1)方式3和方式2的工作相類似,但從輸出端得到的不是序列負(fù)脈沖,而是輸出對(duì)稱的方波或基本對(duì)稱的矩形波。(2)在計(jì)數(shù)過(guò)程中,若GATE變成低電平時(shí),就迫使OUT變?yōu)楦唠娖剑⒔褂?jì)數(shù),當(dāng)GATE回到高電平時(shí),重新從初值n開始進(jìn)行計(jì)數(shù)。(3)如果希望改變輸出方波的速率,CPU可在任何時(shí)侯重新裝入新的計(jì)數(shù)初值,在下一個(gè)計(jì)數(shù)周期就可按新的計(jì)數(shù)值計(jì)數(shù),從而改變方波的速率。注意:當(dāng)寫入的計(jì)數(shù)初值為偶數(shù)時(shí),輸出完全對(duì)稱的方波,寫入初值為奇數(shù)時(shí),其輸出波形的高電平寬度比低電平多一個(gè)時(shí)鐘周期。4.方式3——方波發(fā)生器(SquareWaveGenerator)

25CLKWRnn=4OUTn=401234WRn443210GATEOUT8253方式4波形圖不自動(dòng)重復(fù)計(jì)數(shù)裝入初值后輸出端變高電平,計(jì)數(shù)結(jié)束輸出一個(gè)CLK寬度的低電平方式45.方式4——軟件觸發(fā)選通(SoftwareTriggeredStrobe)26特點(diǎn):(1)裝入的計(jì)數(shù)初值n僅一次有效,不重新寫入初值。若要繼續(xù)進(jìn)行計(jì)數(shù),必須重新裝入計(jì)數(shù)初值。(2)若在計(jì)數(shù)過(guò)程中寫入一個(gè)新的計(jì)數(shù)值,則在現(xiàn)行計(jì)數(shù)周期內(nèi)不受影響,但當(dāng)計(jì)數(shù)值回0后,將按新的計(jì)數(shù)初值進(jìn)行計(jì)數(shù),同樣也只計(jì)一次。(3)如果在計(jì)數(shù)的過(guò)程中GATE變?yōu)榈碗娖?,則停止計(jì)數(shù),當(dāng)GATE變?yōu)楦唠娖胶?,又重新將初值裝入計(jì)數(shù)器,從初值開始計(jì)數(shù),直至計(jì)數(shù)器的值減為0時(shí),從OUT端輸出一個(gè)負(fù)脈沖。5.方式4——軟件觸發(fā)選通(SoftwareTriggeredStrobe)27CLKOUTn=401234GATE43210GATE

OUT438253方式5波形圖不自動(dòng)重復(fù)計(jì)數(shù)波形與方式4相同方式56.方式5——硬件觸發(fā)選通(HardwareTriggeredStrobe)

28特點(diǎn):(1)寫完控制字和初值后,要等GATE觸發(fā)信號(hào),才能在下一個(gè)時(shí)鐘脈沖后沿把計(jì)數(shù)初值裝入執(zhí)行部件,并開始減1計(jì)數(shù)。(2)計(jì)數(shù)器回0后,自動(dòng)重裝計(jì)數(shù)值,但并不開始計(jì)數(shù)(要等到GATE端輸入正跳變觸發(fā)脈沖信號(hào))。(3)計(jì)數(shù)器在計(jì)數(shù)過(guò)程中,不受門控信號(hào)GATE電平的影響,但只要計(jì)數(shù)器未回0,GATE的上升沿卻能多次觸發(fā)計(jì)數(shù)器,使它重新從計(jì)數(shù)初值n開始計(jì)數(shù),直到計(jì)數(shù)值減為0時(shí),才輸出一個(gè)負(fù)脈沖。(4)在計(jì)數(shù)過(guò)程中寫入新的計(jì)數(shù)值,但GATE端沒(méi)有觸發(fā)脈沖,則計(jì)數(shù)過(guò)程不受影響。6.方式5——硬件觸發(fā)選通(HardwareTriggeredStrobe)

298253六種工作方式小結(jié)1、輸出波形的特點(diǎn)

方式0的輸出常作為中斷源方式1的輸出是寬度為N個(gè)CLK脈沖的低有效脈沖(單脈沖,計(jì)數(shù)過(guò)程中輸出為低)方式2、4、5的輸出波形相同,都是寬度為一個(gè)CLK周期的負(fù)脈沖。但方式2是連續(xù)工作,方式4由軟件(設(shè)置計(jì)數(shù)值)觸發(fā)啟動(dòng),方式5由硬件(門控信號(hào)GATE)觸發(fā)啟動(dòng)方式3的輸出是連續(xù)的方波或矩形波2、輸出OUT的初始狀態(tài)

只有方式0在寫入控制字后輸出為低方式1、2、3、4、5等五種方式在寫入控制字后輸出為高308253六種工作方式小結(jié)3、計(jì)數(shù)值的設(shè)置任一種方式,只有在寫入計(jì)數(shù)值后才能開始計(jì)數(shù),不同點(diǎn)在于:方式0、2、3、4都在寫入計(jì)數(shù)值后,計(jì)數(shù)過(guò)程就開始方式1、5需要外部觸發(fā)啟動(dòng),才開始計(jì)數(shù)方式功能N與輸出波形的關(guān)系0計(jì)完最后一個(gè)數(shù)中斷寫入計(jì)數(shù)值N后,經(jīng)過(guò)N+1個(gè)CLK脈沖輸出變高1可編程單穩(wěn)態(tài)輸出(硬件再觸發(fā)單拍脈沖)單拍脈沖的寬度為N個(gè)CLK脈沖2比率(速率)發(fā)生器每N個(gè)CLK脈沖,輸出一個(gè)寬度為CLK周期的脈沖318253六種工作方式小結(jié)工作方式GATE為低電平或下降沿GATE為上升沿GATE為高電平計(jì)數(shù)器減為0后的特點(diǎn)方式0:計(jì)數(shù)結(jié)束中斷方式禁止計(jì)數(shù)無(wú)影響允許計(jì)數(shù)不自動(dòng)重裝計(jì)數(shù)初值,也不自動(dòng)重復(fù)計(jì)數(shù)方式1:可編程單穩(wěn)態(tài)輸出方式無(wú)影響(1)啟動(dòng)計(jì)數(shù)(2)下一個(gè)CLK脈沖使輸出變低無(wú)影響不自動(dòng)重裝計(jì)數(shù)初值,也不自動(dòng)重復(fù)計(jì)數(shù)方式2:比率發(fā)生器(1)禁止計(jì)數(shù)(2)立即使輸出為高啟動(dòng)計(jì)數(shù)允許計(jì)數(shù)自動(dòng)重裝計(jì)數(shù)初值,自動(dòng)重復(fù)計(jì)數(shù)方式3:方波發(fā)生器(1)禁止計(jì)數(shù)(2)立即使輸出為高啟動(dòng)計(jì)數(shù)允許計(jì)數(shù)自動(dòng)重裝計(jì)數(shù)初值,自動(dòng)重復(fù)計(jì)數(shù)方式4:軟件觸發(fā)選通禁止計(jì)數(shù)無(wú)影響允許計(jì)數(shù)不自動(dòng)重裝計(jì)數(shù)初值,也不自動(dòng)重復(fù)計(jì)數(shù)方式5:硬件觸發(fā)選通無(wú)影響從初值開始計(jì)數(shù)無(wú)影響自動(dòng)重裝計(jì)數(shù)初值,但不開始計(jì)數(shù)4、門控信號(hào)(GATE)的作用與計(jì)數(shù)器計(jì)數(shù)到0后的特點(diǎn)GATE輸入總是在CLK輸入時(shí)鐘的上升沿被采樣328253六種工作方式小結(jié)5、在計(jì)數(shù)過(guò)程中改變計(jì)數(shù)值8253在不同方式時(shí)都可以在計(jì)數(shù)過(guò)程中寫入計(jì)數(shù)值,但作用不同。方式功能改變計(jì)數(shù)值0計(jì)完最后一個(gè)數(shù)中斷立即有效1可編程單穩(wěn)態(tài)輸出(硬件再觸發(fā)單拍脈沖)外部觸發(fā)后有效2比率發(fā)生器計(jì)數(shù)到1后有效3方波發(fā)生器(1)外部觸發(fā)后有效(2)計(jì)數(shù)到0后有效4軟件觸發(fā)選通立即有效5硬件觸發(fā)選通外部觸發(fā)后有效337.2.18253定時(shí)功能的應(yīng)用例子1.用8253產(chǎn)生各種定時(shí)波形

在某個(gè)以8086為CPU的系統(tǒng)中使用了一塊8253芯片,通道的基地址為310H,所用的時(shí)鐘脈沖頻率為1MHz。要求3個(gè)計(jì)數(shù)通道分別完成以下功能:⑴通道0工作于方式3,輸出頻率為2kHz的方波;⑵通道1產(chǎn)生寬度為480μs的單脈沖;⑶通道2用硬件方式觸發(fā),輸出單脈沖,時(shí)間常數(shù)為26。8253應(yīng)用的步驟:與系統(tǒng)的連接芯片的初始化編程§7.28253的應(yīng)用舉例3435怎樣與系統(tǒng)連接呢?8253芯片的片選信號(hào)CS由74LS138構(gòu)成的地址譯碼電路產(chǎn)生。只有當(dāng)M/IO=0,A9A8A7A6A5=11000時(shí),譯碼器才能工作當(dāng)A4A3A0=100時(shí),Y4=0,使8253的片選信號(hào)CS有效,選中偶地址端口,端口基地址為310HCPU的A2A1分別與8253的A1A0相連,用于8253芯片內(nèi)部尋址,使8253的4個(gè)端口地址分別為310H、312H、314H和316H8253的8根數(shù)據(jù)線D7~D0必須與CPU的低8位數(shù)據(jù)總線D7~D0相連8253的RD、WR腳分別與CPU的相應(yīng)引腳相連3個(gè)通道的CLK引腳連在一起,均由頻率為1MHz(周期為1μs)的時(shí)鐘脈沖驅(qū)動(dòng)36通道0:工作于方式3,即構(gòu)成一個(gè)方波發(fā)生器,它的控制端GATE0須為高電平。要輸出2kHz的連續(xù)方波,計(jì)算計(jì)數(shù)初值:通道1:工作于方式1,即構(gòu)成一個(gè)單穩(wěn)態(tài)電路,由GATE1的正跳變觸發(fā),輸出一個(gè)寬度由時(shí)間常數(shù)決定的負(fù)脈沖。此功能一次有效,需要再形成一個(gè)脈沖時(shí),不但GATE1腳上要有觸發(fā),通道也需重新初始化。要輸出寬度為480us的單脈沖時(shí),計(jì)算計(jì)數(shù)初值:通道2:工作于方式5,即由GATE2的正跳變觸發(fā)減1計(jì)數(shù),在計(jì)到0時(shí)形成一個(gè)寬度與時(shí)鐘周期相同的負(fù)脈沖。此后,若GATE2腳上再次出現(xiàn)正跳變,又能產(chǎn)生一個(gè)負(fù)脈沖。思考:如果某個(gè)通道工作于方式0,要求每500個(gè)脈沖OUT端輸出一個(gè)正跳變,則計(jì)數(shù)初值為?計(jì)數(shù)初值n=499,因?yàn)榻?jīng)過(guò)n+1個(gè)脈沖后計(jì)數(shù)器減為0CNT0=1MHz/2kHz=500CNT1=480us/1us=480由題設(shè)可知,預(yù)置的時(shí)間常數(shù)已設(shè)置為2637

對(duì)3個(gè)通道的初始化程序如下:

;(1)通道0初始化程序 MOV DX,316H ;控制口地址 MOV AL,00110111B OUT DX,AL ;寫入方式字 MOV DX,310H ;通道0口地址 MOV AL,00H ;低字節(jié) OUT DX,AL ;先寫入低字節(jié) MOV AL,05H ;高字節(jié) OUT DX,AL ;后寫入高字節(jié);通道0控制字,先讀寫低字節(jié),;后高字節(jié),方式3,BCD計(jì)數(shù)38

;(2)通道1初始化程序 MOV DX,316H ;控制口地址 MOV AL,01110011B

OUT DX,AL ;寫入方式字 MOV DX,312H ;通道1口地址 MOV AL,80H ;低字節(jié) OUT DX,AL ;先寫入低字節(jié) MOV AL,04H ;高字節(jié) OUT DX,AL ;后寫入高字節(jié);通道1控制字,先讀寫低字節(jié),;后高字節(jié),方式1,BCD計(jì)數(shù)續(xù):39

;(3)通道2初始化程序 MOV DX,316H ;控制口地址 MOV AL,10011011B

;通道2控制字,只讀寫低字節(jié), ;方式5,BCD計(jì)數(shù) OUT DX,AL ;寫入方式字 MOV DX,314H ;通道2口地址 MOV AL,26H ;低字節(jié) OUT DX,AL ;只寫入低字節(jié) 續(xù):402.控制LED的點(diǎn)亮或熄滅用8253來(lái)控制一個(gè)LED發(fā)光二極管的點(diǎn)亮和熄滅,要求點(diǎn)亮10秒鐘后再讓它熄滅10秒鐘,并重復(fù)上述過(guò)程。加上適當(dāng)?shù)尿?qū)動(dòng)電路后,便可以用在交通紅綠燈控制和燈塔等場(chǎng)合。設(shè)CPU為8086,8253的各端口地址為81H、83H、85H和87H。418253的8根數(shù)據(jù)線D7~D0與CPU的高8位數(shù)據(jù)線D15~D8相連,選中奇地址端口。通道1的OUT1與LED相連,當(dāng)它為高電平時(shí),LED點(diǎn)亮,低電平時(shí)LED熄滅。 只要對(duì)8253編程,使OUT1輸出周期為20秒,占空比為1:1的方波,就能使LED交替地點(diǎn)亮和熄滅10秒鐘。如果將2MHz時(shí)鐘信號(hào)直接加到CLK1端,則OUT1輸出的脈沖周期最大只有0.5us×65536=32.768ms,達(dá)不到20秒的要求。用幾個(gè)通道級(jí)連的方案來(lái)解決?怎樣與系統(tǒng)連接呢?42將2MHz時(shí)鐘信號(hào)加在CLK0輸入端,并讓通道0工作于方式2。如果選擇計(jì)數(shù)初值N0=5000,則從OUT0端可得到連續(xù)的負(fù)脈沖序列信號(hào),其頻率為:2MHz/5000=400Hz,周期為2.5ms。把該信號(hào)連到CLK1輸入端,并使通道1工作于方式3。要使得OUT1輸出周期為20秒(頻率為1/20=0.05Hz)的方波,計(jì)算計(jì)數(shù)初值N1=400Hz/0.05Hz=8000。

N0×N1=2MHz/0.05Hz=4×10743

初始化程序如下:

M

溫馨提示

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