第七章可編程計數(shù)器定時器_第1頁
第七章可編程計數(shù)器定時器_第2頁
第七章可編程計數(shù)器定時器_第3頁
第七章可編程計數(shù)器定時器_第4頁
第七章可編程計數(shù)器定時器_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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

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

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

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

接收CPU控制總線送來的輸入信號,經(jīng)組合后形成控制信號,對各部分操作進(jìn)行控制??山邮盏男盘栍校?/p>

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

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

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

7

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

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

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

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

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

說明:3個計數(shù)器通道的編程沒有先后順序,可任意選擇某一個計數(shù)器通道進(jìn)行初始化編程,只要符合先寫入控制字,后寫入計數(shù)初值的規(guī)定即可。147.1.38253的工作方式Intel8253有6種工作方式:(1)方式0——計數(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——計數(shù)結(jié)束中斷方式(InterruptonTerminalCount)16不自動重復(fù)計數(shù)裝入初值后輸出端變低電平,計數(shù)結(jié)束輸出高電平方式0WRmOUTGATE

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

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

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

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

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

2344424OUTn=4n=440222CLK24252OUT

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

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

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

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

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

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

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

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

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

對3個通道的初始化程序如下:

;(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計數(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計數(shù)續(xù):39

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

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

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

初始化程序如下:

M

溫馨提示

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

評論

0/150

提交評論