版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第八章可編程定時(shí)/計(jì)數(shù)器8253實(shí)現(xiàn)定時(shí)或延時(shí)控制有三種方法:軟件定時(shí):即讓CPU執(zhí)行一段不完成任何其他功能的程序段,由于執(zhí)行每條指令都需要時(shí)間,則執(zhí)行一個(gè)程序段就需要一定的時(shí)間,通過改變指令執(zhí)行的循環(huán)次數(shù)來控制定時(shí)時(shí)間不可編程硬件定時(shí)器:采用中小規(guī)模器件,外接定時(shí)元件——電阻和電容構(gòu)成。可編程硬件定時(shí)器:就是其工作方式、定時(shí)值和定時(shí)范圍可以很容易由軟件來確定和改變。計(jì)數(shù)器一旦開始工作后,CPU就可以去做別的工作了,等計(jì)數(shù)器計(jì)到預(yù)定時(shí)間,便自動(dòng)形成一個(gè)輸出信號(hào),用來向CPU提出中斷請(qǐng)求。這種方法不但顯著提高了CPU的利用率,而且定時(shí)時(shí)間由軟件設(shè)置,使用十分靈活,加上定時(shí)時(shí)間精確,使用十分廣泛。可編程定時(shí)器/計(jì)數(shù)器8253一、8253的內(nèi)部結(jié)構(gòu)和功能二、8253的引腳功能三、8253的工作方式四、8253應(yīng)用舉例8253可編程定時(shí)器/計(jì)數(shù)器的主要性能:有3個(gè)獨(dú)立的16位計(jì)數(shù)器工作方式可編程控制計(jì)數(shù)脈沖頻率0~2MHz可以按二進(jìn)制或BCD碼計(jì)數(shù)使用單一+5V電源012一、8253的內(nèi)部結(jié)構(gòu)和功能在初始化編程時(shí)用于寄存在CPU寫入的控制字以決定各通道的工作方式。此寄存器只能寫入不能讀出。當(dāng)用8253作外部事件計(jì)數(shù)器時(shí),在CLK腳上所加的計(jì)數(shù)脈沖是由外部事件產(chǎn)生的,這些脈沖的間隔可以是不相等的。如果用它作定時(shí)器,則CLK引腳上應(yīng)數(shù)入精確的時(shí)鐘脈沖,這時(shí)8253所能實(shí)現(xiàn)的定時(shí)時(shí)間=計(jì)數(shù)脈沖周期×預(yù)置的計(jì)數(shù)初值讀寫邏輯接收來自系統(tǒng)總線的控制信號(hào),以產(chǎn)生控制整個(gè)器件工作的控制信號(hào)。這個(gè)八位的三態(tài)、雙向緩沖器用于將8253與系統(tǒng)總線相連,接收CPU輸出的方式控制字或計(jì)數(shù)初值,發(fā)送CPU從計(jì)數(shù)器讀出的計(jì)數(shù)值。二、8253的引腳功能D7~D0:雙向三態(tài)數(shù)據(jù)線,CPU用輸入、輸出指令對(duì)8253進(jìn)行讀/寫操作的信息都經(jīng)8位數(shù)據(jù)總線傳送。CLK0~CLK2:計(jì)數(shù)輸入,要求加在CLK引腳的時(shí)鐘脈沖頻率不大于2MHz。GATE0~GATE2:門控輸入,當(dāng)GATE引腳為低時(shí),禁止計(jì)數(shù)器工作;只有GATE引腳為高時(shí),才允許計(jì)數(shù)器工作OUT0~OUT2:計(jì)數(shù)器0~2的輸出,其輸出波形取決于工作方式A1、A0:尋址3個(gè)計(jì)數(shù)器和控制寄存器(三個(gè)計(jì)數(shù)器的控制寄存器共用一個(gè)端口地址)RD、WR和CS:分別為讀、寫和片選信號(hào),均為低電平有效A1A0寄存器選擇及其操作01000對(duì)計(jì)數(shù)器0置計(jì)數(shù)初值01001對(duì)計(jì)數(shù)器1置計(jì)數(shù)初值01010對(duì)計(jì)數(shù)器2置計(jì)數(shù)初值01011對(duì)控制寄存器設(shè)置控制字00100從計(jì)數(shù)器0讀出計(jì)數(shù)值00101從計(jì)數(shù)器1讀出計(jì)數(shù)值00110從計(jì)數(shù)器2讀出計(jì)數(shù)值00111無操作(D7~D0三態(tài))1禁止(D7~D0三態(tài))011無操作(D7~D0三態(tài))RDWRCS8253的端口選擇三、8253的工作方式1、控制字寄存器2、工作方式方式0——計(jì)數(shù)結(jié)束中斷方式方式1——可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器方式2——頻率發(fā)生器(n分頻器)方式3——方波發(fā)生器方式4——軟件觸發(fā)的選通信號(hào)發(fā)生器方式5——硬件觸發(fā)的選通信號(hào)發(fā)生器1.8253控制字寄存器D7D6D5D4D3D2D1D0SC1SC0RL1RL0M2M1M0BCDBCD=1時(shí),采用BCD碼計(jì)數(shù),寫入計(jì)數(shù)器的初值用BCD碼表示,初值范圍為0000~9999H,其中0000表示最大值10000,即104。如預(yù)制初值n=1200H時(shí),表示一個(gè)十進(jìn)制數(shù)1200。BCD=0時(shí),采用BCD碼計(jì)數(shù),寫入計(jì)數(shù)器的初值用二進(jìn)制數(shù)表示,初值范圍為0000~FFFFH,其中0000表示最大值65536,即216。如預(yù)制初值n=1200H時(shí),表示一個(gè)十進(jìn)制數(shù)4608。方式0:計(jì)數(shù)結(jié)束中斷43210nCLKOUTGATE(n=4)INTR方式0的工作特點(diǎn):計(jì)數(shù)到零后,不能自動(dòng)恢復(fù)計(jì)數(shù)初值,OUT輸出端保持高電平。計(jì)數(shù)過程中,如果GATE=0,則暫停計(jì)數(shù),直到GATE變高后再接著計(jì)數(shù)。在計(jì)數(shù)過程中可改變計(jì)數(shù)值。若是8位計(jì)數(shù),寫入新的計(jì)數(shù)值后,計(jì)數(shù)器按新值開始計(jì)數(shù);若是16位計(jì)數(shù),寫入第一個(gè)字節(jié)后,計(jì)數(shù)器停止計(jì)數(shù),在寫入第二個(gè)字節(jié)后,按新的初值計(jì)數(shù)。(m=5)321045INTRAB方式1:可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器43210CLKOUTGATE(n=4)(m=5)5432453210單脈沖寬度單脈沖寬度方式1的工作特點(diǎn):可重復(fù)觸發(fā)。計(jì)數(shù)到零后,不用再次送計(jì)數(shù)值,只要給它觸發(fā)脈沖,即可產(chǎn)生一個(gè)同樣寬度的單穩(wěn)脈沖。計(jì)數(shù)過程中,若裝入新的計(jì)數(shù)初值,則當(dāng)前輸出不受影響。只有再次觸發(fā)后,計(jì)數(shù)才開始按新值輸出脈沖寬度。計(jì)數(shù)過程中,外部的GATE觸發(fā)沿提前到來,則下一個(gè)CLK脈沖下降沿,計(jì)數(shù)器開始重新計(jì)數(shù),這將使輸出單穩(wěn)脈沖比原先設(shè)定的計(jì)數(shù)值加寬了。例方式2:頻率發(fā)生器(n分頻器)方式2的工作特點(diǎn):計(jì)數(shù)器寫入控制字和計(jì)數(shù)初值后,如GATE一直處于高電平,那么,在下一個(gè)脈沖開始計(jì)數(shù)器計(jì)數(shù)。不用重復(fù)置數(shù)。計(jì)數(shù)器能夠連續(xù)工作,輸出OUT是輸入CLK的n(初值)分頻。
計(jì)數(shù)過程可由GATE信號(hào)控制。GATE變低將使計(jì)數(shù)暫停且OUT立即為高;在GATE變高后的下一個(gè)CLK下降沿計(jì)數(shù)器重新從初值開始計(jì)數(shù)。計(jì)數(shù)過程中可改變初值。如果GATE一直處于高電平,則重裝計(jì)數(shù)初值不影響現(xiàn)行計(jì)數(shù)過程;下一個(gè)過程,才按新值計(jì)數(shù)。CLKOUTGATE43210n=4n=33213432110404320重復(fù)周期方式3:方波發(fā)生器44CLKOUTGATE42024n=4n=54245200045420重復(fù)周期20重復(fù)周期54特點(diǎn):當(dāng)計(jì)數(shù)初值n為偶數(shù)時(shí),每個(gè)CLK脈沖使計(jì)數(shù)值減2,當(dāng)計(jì)到零時(shí),一方面使輸出改變狀態(tài),另一方面,又重新裝入計(jì)數(shù)值、開始新的計(jì)數(shù)。當(dāng)n為奇數(shù)時(shí),且OUT為高時(shí),第一個(gè)脈沖使計(jì)數(shù)減1,然后依次減2;當(dāng)OUT為低時(shí),先使計(jì)數(shù)減3,然后依次減2。GATE=1,允許計(jì)數(shù);GATE=0,禁止計(jì)數(shù)。如果在輸出為低期間,GATE=0,輸出將立即變高,停止計(jì)數(shù);當(dāng)GATE變高后,計(jì)數(shù)器將重新裝入初值并開始計(jì)數(shù)。例方式5:硬件觸發(fā)的選通信號(hào)發(fā)生器在初始化編程時(shí)用于寄存在CPU寫入的控制字以決定各通道的工作方式。由于計(jì)數(shù)初值的低8位0,因此采用只讀/寫高8位的方法,初始化程序如下:①硬件連接:硬件接口示意圖如圖所示,工件從光源與光敏電阻之間通過時(shí),在晶體管的發(fā)射極上會(huì)產(chǎn)生一個(gè)脈沖,此脈沖作為8253計(jì)數(shù)通道0的計(jì)數(shù)脈沖,當(dāng)通道0計(jì)數(shù)滿100后,由OUT0輸出負(fù)脈沖,經(jīng)反相后作為8259A的一個(gè)中斷請(qǐng)求信號(hào),在中斷服務(wù)程序中,啟動(dòng)8253計(jì)數(shù)通道1工作,由OUT1連續(xù)輸出1000HZ的方波,持續(xù)6s后停止輸出。通道1控制字,只讀/寫高8位,BCD計(jì)數(shù)制MOVAL,25H;OUTDX,AL;計(jì)數(shù)脈沖頻率0~2MHz低時(shí),禁止計(jì)數(shù)器工作;(2)利用命令控制字(SC1SC0000000B)將待讀計(jì)數(shù)值鎖存至其鎖存器,這種方法不能影響計(jì)數(shù)過程。GATE=0,禁止計(jì)數(shù)。例將8253的三個(gè)計(jì)數(shù)器級(jí)連,假設(shè)時(shí)鐘輸入為1MHz,畫出級(jí)連圖,并求:AX中為計(jì)數(shù)器0的16位計(jì)數(shù)值二、8253的引腳功能如果用它作定時(shí)器,則CLK引腳上應(yīng)數(shù)入精確的時(shí)鐘脈沖,這時(shí)8253所能實(shí)現(xiàn)的定時(shí)時(shí)間=計(jì)數(shù)脈沖周期×預(yù)置的計(jì)數(shù)初值GATE0~GATE2:門控輸入,當(dāng)GATE引腳為若是16位計(jì)數(shù),寫入第一個(gè)字節(jié)后,計(jì)數(shù)器停止計(jì)數(shù),在寫入第二個(gè)字節(jié)后,按新的初值計(jì)數(shù)。方式4:軟件觸發(fā)的選通信號(hào)發(fā)生器CLKOUTGATEOUTn=4n=443210432104特點(diǎn):只計(jì)數(shù)一次GATE=1,允許計(jì)數(shù);GATE=0,禁止計(jì)數(shù)。在計(jì)數(shù)過程中改變計(jì)數(shù)初值,則按新計(jì)數(shù)值重新開始計(jì)數(shù)。如果是二字節(jié)數(shù),則在寫入第一個(gè)字節(jié)時(shí)停止計(jì)數(shù);寫入第二個(gè)字節(jié)后,按新的計(jì)數(shù)初值開始計(jì)數(shù)。方式5:硬件觸發(fā)的選通信號(hào)發(fā)生器CLKGATEGATEOUT(n=4)OUT(n=4)432104343210寫入控制字后,輸出為高。寫入計(jì)數(shù)初值后并不立即開始計(jì)數(shù),而是由GATE信號(hào)的脈沖上升沿觸發(fā)啟動(dòng)。當(dāng)計(jì)數(shù)到零后時(shí),輸出一個(gè)CLK周期寬度的負(fù)脈沖,然后輸出變高,停止計(jì)數(shù)。直至下次GATE脈沖的觸發(fā)才能計(jì)數(shù)。在計(jì)數(shù)過程中,外部的GATE觸發(fā)沿提前到來,則下一個(gè)CLK脈沖下降沿,計(jì)數(shù)器開始重新計(jì)數(shù)。例8253工作方式特點(diǎn):方式0,在寫入控制字后,輸出端即變低,計(jì)數(shù)結(jié)束后,輸 出端由低變高,常用該輸出信號(hào)作為中斷源。方式1,用來產(chǎn)生單脈沖。方式2,用來產(chǎn)生序列負(fù)脈沖,每個(gè)負(fù)脈沖的寬度與CLK脈沖 的周期相同。方式3,用來產(chǎn)生連續(xù)的方波。方式2和方式3都實(shí)現(xiàn)對(duì)時(shí)鐘 脈沖進(jìn)行n分頻。方式4和方式5的波形相同,都在計(jì)數(shù)器回0后,從OUT端輸出 一個(gè)負(fù)脈沖,其寬度等于一個(gè)時(shí)鐘周期。方式0、1和4,計(jì)數(shù)初值裝進(jìn)計(jì)數(shù)器后,僅一次有效。方式2,3和5,在減1計(jì)數(shù)到0值后,8253會(huì)自動(dòng)將計(jì)數(shù)值重裝進(jìn)計(jì)數(shù)器。啟動(dòng)計(jì)數(shù)器的觸發(fā)方式軟件觸發(fā)方式:只要GATE信號(hào)為高電平,在寫入計(jì)數(shù)初值后的下一個(gè)CLK脈沖的下降沿到來時(shí),計(jì)數(shù)初值從計(jì)數(shù)初值寄存器送到減1計(jì)數(shù)器中,啟動(dòng)計(jì)數(shù)。硬件觸發(fā)方式:即寫入計(jì)數(shù)初值后,計(jì)數(shù)器并不開始計(jì)數(shù)。而是在GATE信號(hào)上升沿到來后的第一個(gè)CLK下降沿到來時(shí),才將計(jì)數(shù)初值從計(jì)數(shù)初值寄存器送到減1計(jì)數(shù)器中,啟動(dòng)計(jì)數(shù)。在六種工作方式中屬于軟件觸發(fā)方式的有方式0和方式4,屬于硬件觸發(fā)方式的有方式1和方式5。注意:方式2和方式3既可用于軟件觸發(fā),也可用于硬件觸發(fā)。具體地講,在計(jì)數(shù)過程中,若GATE變?yōu)榈碗娖?,?jì)數(shù)器停止計(jì)數(shù)。在GATE正跳變后,重新啟動(dòng)計(jì)數(shù)并從計(jì)數(shù)初值開始,因此當(dāng)計(jì)數(shù)通道用作對(duì)外部事件計(jì)數(shù)時(shí),GATE正跳變可用作對(duì)外部事件的同步控制信號(hào)四、8253應(yīng)用舉例1.初始化編程2.讀取8253的計(jì)數(shù)值3.應(yīng)用舉例1.初始化編程初始化編程:剛接通電源時(shí),諸如8253之類的可編程外圍接口芯片通常都處于未定義狀態(tài),在使用之前,必須用程序把他們初始化為所需的特定模式,這個(gè)過程稱為初始化編程。初始化步驟:(1)寫入控制字用輸出指令向控制字寄存器寫入一個(gè)控制字,以選定計(jì)數(shù)器通道,規(guī)定該計(jì)數(shù)器的工作方式和計(jì)數(shù)格式。寫入控制字還起到復(fù)位作用,使輸出端out變?yōu)橐?guī)定的初始狀態(tài),并使計(jì)數(shù)器清0(2)寫入計(jì)數(shù)初值用輸出指令向選中的計(jì)數(shù)器端口地址中寫入一個(gè)計(jì)數(shù)初值,初值設(shè)置時(shí)要符合控制字中有關(guān)格式的規(guī)定。初值可以是8位數(shù)據(jù),也可以是16位數(shù)據(jù)。控制LED的點(diǎn)亮或熄滅例8253通道2接有一發(fā)光二極管,要使發(fā)光二極管以點(diǎn)亮2s,熄滅2s的間隔工作,8253各通道端口地址分別為40H、42H、44H、46H,其電路硬件圖如圖10.MOVAL,32H;當(dāng)OUT為低時(shí),先使計(jì)數(shù)減3,然后依次減2。計(jì)數(shù)脈沖頻率0~2MHz例:對(duì)計(jì)數(shù)器0初始化。②控制字設(shè)置:通道0計(jì)數(shù)器工作于方式2,采用BCD計(jì)數(shù),因計(jì)數(shù)初值為100,采用RL1RL0=10(讀/寫計(jì)數(shù)器的高8位),則方式控制字為00100101B。計(jì)數(shù)到零后,不能自動(dòng)恢復(fù)計(jì)數(shù)初值,OUT輸出端保持高電平。例將8253的三個(gè)計(jì)數(shù)器級(jí)連,假設(shè)時(shí)鐘輸入為1MHz,畫出級(jí)連圖,并求:8253的通道1工作于方式2,其輸出端OUT1的輸出為相對(duì)于1MHZ頻率的分頻脈沖,若選定OUT1輸出脈沖周期為4ms,則通道1的計(jì)數(shù)初值應(yīng)為4000。禁止(D7~D0三態(tài))方式3,用來產(chǎn)生連續(xù)的方波。對(duì)控制寄存器設(shè)置控制字01001100D7D6D5D4D3D2D1D0計(jì)數(shù)器0先寫低8位再寫高8位方式1二進(jìn)制計(jì)數(shù)例:對(duì)計(jì)數(shù)器0初始化。工作與方式1,按二進(jìn)制計(jì)數(shù),計(jì)數(shù)值為5080H。確定控制字:計(jì)數(shù)值低8位為80H,高8位為50H。設(shè)端口地址為2A0H~2A3H,則初始化程序?yàn)椋篗OVDX,2A3H;控制端口地址為2A3HMOVAL,32H;00110010BOUTDX,AL;送方式控制字到控制寄存器MOVDX,2A0H;計(jì)數(shù)器0端口地址為2A0HMOVAL,80HOUTDX,AL;先寫低8位計(jì)數(shù)值到計(jì)數(shù)器MOVAL,50HOUTDX,AL;再寫高8位計(jì)數(shù)值到計(jì)數(shù)器02.讀取8253的計(jì)數(shù)值;命令控制字送控制口;讀取計(jì)數(shù)器0低8位數(shù)據(jù)當(dāng)8253計(jì)數(shù)值是16位時(shí),CPU要分兩次讀入,通常做法有兩種:(1)利用GATE信號(hào)使計(jì)數(shù)過程暫停(2)利用命令控制字(SC1SC0000000B)將待讀計(jì)數(shù)值鎖存至其鎖存器,這種方法不能影響計(jì)數(shù)過程。注意,控制字應(yīng)寫入控制端口。CPU讀取此鎖存器后,鎖存自動(dòng)解除。例:讀取計(jì)數(shù)器0的16位計(jì)數(shù)值,采用鎖存器鎖存方式,其程序?yàn)椋篗OVAL,00HMOVDX,2A3HOUTDX,ALMOVDX,2A0HINAL,DXXCHGAL,AH;暫存AHINAL,DX;讀取計(jì)數(shù)器0高8位數(shù)據(jù)XCHGAL,AH;AX中為計(jì)數(shù)器0的16位計(jì)數(shù)值3、應(yīng)用舉例用8253產(chǎn)生各種定時(shí)波形控制LED的點(diǎn)亮或熄滅8253初始化方法:控制字計(jì)數(shù)初值:n=定時(shí)時(shí)間t時(shí)鐘頻率fc=定時(shí)時(shí)間t/時(shí)鐘脈沖周期Tc如:fc=1MHZ,最大計(jì)數(shù)初值:65536一個(gè)定時(shí)器最大定時(shí)時(shí)間:N/fc=65536/106在某個(gè)以8086為CPU的系統(tǒng)中使用了一塊8253芯片,8253的4個(gè)端口地址分別為310H、312H、314H、和316H,所用的時(shí)鐘脈沖頻率為1MHZ。要求3個(gè)計(jì)數(shù)通道分別完成以下功能:(1)通道0工作于方式3,輸出頻率為2KHZ的方波;(2)通道1產(chǎn)成寬度為480us的單脈沖;(3)通道2用硬件方式觸發(fā),輸出單脈沖,時(shí)間常數(shù)為26。用8253產(chǎn)生各種定時(shí)波形;通道0初始化程序MOVDX,316H;控制口地址MOVAL,00110111B;通道0控制字,先讀寫低字節(jié),后高字節(jié),方式3,BCD計(jì)數(shù)OUTDX,AL;寫入方式字MOVDX,310H;通道0口地址MOVAL,00H;低字節(jié)OUTDX,AL;先寫入低字節(jié)MOVAL,05H;高字節(jié)OUTDX,AL;后寫入高字節(jié)對(duì)三個(gè)通道的初始化程序;通道1初始化程序MOVDX,316HMOVAL,01110011B;通道1方式字,先讀寫低字節(jié),后高字節(jié),方式1,BCD計(jì)數(shù)OUTDX,ALMOVDX,312H;通道1口地址MOVAL,80H;低字節(jié)OUTDX,ALMOVAL,04H;高字節(jié)OUTDX,AL;通道2初始化程序MOVDX,316HMOVAL,10011011B;通道2方式字,只讀寫低字節(jié),方式5,BCD計(jì)數(shù)OUTDX,ALMOVDX,314H;通道2口地址MOVAL,26H;低字節(jié)OUTDX,AL;只寫入低字節(jié)控制LED的點(diǎn)亮或熄滅例:用8253來控制一個(gè)LED發(fā)光二極管的點(diǎn)亮和熄滅,要求點(diǎn)亮10秒鐘后再讓它熄滅10秒鐘,8253的各端口地址為81H、83H、85H和87H。初始化程序MOVAL,00110101B;通道0控制字,先讀寫低字節(jié),后高字節(jié),方式3,BCD計(jì)數(shù)OUT87H,ALMOVAL,00H;計(jì)數(shù)初值低字節(jié)OUT81H,ALMOVAL,50H;計(jì)數(shù)初值高字節(jié)OUT81H,ALMOVAL,01110111B;通道1控制字,先讀寫低字節(jié),后高字節(jié),方式3,BCD計(jì)數(shù)OUT87H,ALMOVAL,00H;計(jì)數(shù)初值低字節(jié)OUT83H,ALMOVAL,80H;計(jì)數(shù)初值高字節(jié)OUT83H,AL例用8253監(jiān)視一個(gè)生產(chǎn)流水線,每通過100個(gè)工件。蜂鳴器響6s。頻率為1000HZ。①硬件連接:硬件接口示意圖如圖所示,工件從光源與光敏電阻之間通過時(shí),在晶體管的發(fā)射極上會(huì)產(chǎn)生一個(gè)脈沖,此脈沖作為8253計(jì)數(shù)通道0的計(jì)數(shù)脈沖,當(dāng)通道0計(jì)數(shù)滿100后,由OUT0輸出負(fù)脈沖,經(jīng)反相后作為8259A的一個(gè)中斷請(qǐng)求信號(hào),在中斷服務(wù)程序中,啟動(dòng)8253計(jì)數(shù)通道1工作,由OUT1連續(xù)輸出1000HZ的方波,持續(xù)6s后停止輸出。②控制字設(shè)置:通道0計(jì)數(shù)器工作于方式2,采用BCD計(jì)數(shù),因計(jì)數(shù)初值為100,采用RL1RL0=10(讀/寫計(jì)數(shù)器的高8位),則方式控制字為00100101B。通道1計(jì)數(shù)器工作于方式3,CLK1接2MHZ時(shí)鐘,要求產(chǎn)生1000HZ的方波,則計(jì)數(shù)初值應(yīng)為2000000÷1000=2000,采用RL1RL0=10(只讀/寫高8位),BCD計(jì)數(shù),則方式控制字為01100111B。③程序編制:假設(shè)8253通道0的地址為40H,通道1的地址為42H,控制口地址為46H。8255A的A口地址為80H,工作于方式0輸出。
則主程序?yàn)椋篗OVAL,25H;通道0初始化OUT46H,ALMOVAL,01H;計(jì)數(shù)初值高8位,低8位自動(dòng)清零OUT40H,ALSTI;開中斷LOP:HLT;等待中斷JMPLOP
中斷服務(wù)程序?yàn)椋篗OVAL,01H;通道1的GATE1置1,啟動(dòng)計(jì)數(shù)OUT80H,ALMOVAL,67H;通道1初始化OUT46H,ALMOVAL,20H;計(jì)數(shù)初值高8位,低8位自動(dòng)清零OUT42H,ALCALLDL6s;延時(shí)6sMOVAL,00H;通道1的GATE1置0,停止計(jì)數(shù)OUT80H,AL┇;向8259A發(fā)中斷結(jié)束命令I(lǐng)RET例8253通道2接有一發(fā)光二極管,要使發(fā)光二極管以點(diǎn)亮2s,熄滅2s的間隔工作,8253各通道端口地址分別為40H、42H、44H、46H,其電路硬件圖如圖10.21所示,試編程完成以上工作。
根據(jù)要求8253通道2輸出一個(gè)周期為4s的方波。從圖10.21可知通道1的CLK1輸入時(shí)鐘周期為1μs,若通道1工作為定時(shí),其輸出最大定時(shí)時(shí)間為1×65536μs,僅為65.5ms,因而使用一個(gè)通道達(dá)不到定時(shí)時(shí)間4s的要求。此時(shí),采用通道級(jí)連的辦法,將通道1的輸出OUT1作為通道2的輸入脈沖。
8253的通道1工作于方式2,其輸出端OUT1的輸出為相對(duì)于1MHZ頻率的分頻脈沖,若選定OUT1輸出脈沖周期為4ms,則通道1的計(jì)數(shù)初值應(yīng)為4000。周期為4ms的脈沖作為通道2的輸入,要求輸出端OUT2的波形為方波且周期為4s,因此通道2應(yīng)工作于方式3,計(jì)數(shù)初值為1000。通道1的控制字為01100101B,通道2的控制字為10100111B。由于計(jì)數(shù)初值的低8位0,因此采用只讀/寫高8位的方法,初始化程序如下:┇MOVAL,65H;通道1控制字,只讀/寫高8位,BCD計(jì)數(shù)制OUT46H,ALMOVAL,0A7H;通道2控制字,只讀/寫高8位,BCD計(jì)數(shù)制OUT46H,ALMOVAL,40H;通道1計(jì)數(shù)初值高8位,低8位自動(dòng)置0OUT42H,ALMOVAL,10H;通道2計(jì)數(shù)初值高8位,低8位自動(dòng)置0OUT44H,AL┇
例某系統(tǒng)利用8253-5定時(shí)器/計(jì)數(shù)器通道0產(chǎn)生1KHz的重復(fù)方波,問通道0應(yīng)工作在什么工作方式?若CLK0=2MHz,試寫出通道0的初始化程序。設(shè)8253-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年華東師大版必修三語文下冊(cè)階段測(cè)試試卷
- 沐足服務(wù)員工勞動(dòng)合同范本(2025年度含離職通知期)4篇
- 個(gè)體工商戶門面租賃合同書2024版版B版
- 房屋管理公司合并合同(2篇)
- 2025年度農(nóng)業(yè)灌溉打井工程合同4篇
- 二零二五年度外墻仿石漆施工進(jìn)度管理與成本控制合同3篇
- 2025年度高端美容師職業(yè)發(fā)展服務(wù)勞動(dòng)合同4篇
- 二零二五年度戶外廣告牌租賃與戶外LED廣告內(nèi)容制作合同2篇
- 二零二五年度存量房買賣合同4篇
- 2024私車公用合同
- 風(fēng)電場事故案例分析
- 護(hù)理飲食指導(dǎo)整改措施及方案
- 項(xiàng)目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓(xùn)課件
- 紅色主題研學(xué)課程設(shè)計(jì)
- 胸外科手術(shù)圍手術(shù)期處理
- 裝置自動(dòng)控制的先進(jìn)性說明
- 《企業(yè)管理課件:團(tuán)隊(duì)管理知識(shí)點(diǎn)詳解PPT》
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)二 軟文的寫作
- 英語詞匯教學(xué)中落實(shí)英語學(xué)科核心素養(yǎng)
- 《插畫設(shè)計(jì)》課程標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論