版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第八章可編程計數(shù)/定時器8253/8254及其應(yīng)用
定時/計數(shù)的基本概念在微機系統(tǒng)中,常常需要為CPU和外部設(shè)備提供時間基準以實現(xiàn)定時或延時控制。如定時中斷、定時檢測、定時掃描等,或?qū)ν獠渴录M行計數(shù)并將計數(shù)結(jié)果提供給CPU。實現(xiàn)定時或延時控制有三種方法:軟件定時、不可編程硬件定時器、可編程硬件定時器。軟件定時讓CPU執(zhí)行一段程序段,由于執(zhí)行每條指令都需要時間,因此執(zhí)行一個程序段就需要一定的時間,通過改變指令執(zhí)行的循環(huán)次數(shù)就可以控制定時時間。這種軟件定時方式計時不夠準確,尤其是當CPU內(nèi)部有多個并行處理時更為明顯。同時,由于它占用了CPU,因而降低了CPU的利用率。不可編程的硬件定時器采用中小規(guī)模器件(如NE555),外接定時元件——電阻和電容。這種方式實現(xiàn)的定時電路簡單,通過改變電阻和電容可使定時在一定范圍內(nèi)變化。但是,這種定時電路在連接好硬件后,定時值就不易用軟件來控制和改變,由此產(chǎn)生了可編程的硬件定時器電路。所謂可編程的硬件定時器電路就是其工作方式、定時值和定時范圍可以很方便地由軟件來確定和改變。通常,一個可編程定時/計數(shù)器的主要用途有:①以均勻分布的時間間隔中斷分時操作系統(tǒng),以便切換程序。依所需時間間隔,設(shè)置計數(shù)器的時間常數(shù),在一外部脈沖驅(qū)動下進行減1計數(shù),計數(shù)值為0時,產(chǎn)生輸出信號,供系統(tǒng)使用。
②向I/O設(shè)備輸出精確的定時信號,該信號的周期由程序控制。③用作可編程波特率或速率發(fā)生器。產(chǎn)生精確的時間間隔,形成各種脈沖序列,靈活性強。④檢測外部事件發(fā)生的頻率或周期。⑤統(tǒng)計外部事件處理過程中某一事件發(fā)生的次數(shù)。⑥在定時或計數(shù)達到編程規(guī)定的值之后,產(chǎn)生輸出信號,向CPU申請中斷。如系統(tǒng)的日歷時鐘,動態(tài)存儲器的刷新,應(yīng)用系統(tǒng)的定時中斷、定時查詢與檢測等。8.18253工作原理3個獨立的16位計數(shù)器通道每個計數(shù)器有6種工作方式按二進制或十進制(BCD碼)計數(shù)8254是8253的改進型8253/8254的內(nèi)部結(jié)構(gòu)D7~D0計數(shù)器0控制字寄存器計數(shù)器1計數(shù)器2內(nèi)部數(shù)據(jù)總線數(shù)據(jù)總線緩沖器讀寫控制邏輯RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT28.1.18253的內(nèi)部結(jié)構(gòu)和引腳信號計數(shù)器結(jié)構(gòu)示意圖預(yù)置寄存器GATECLKOUT減1計數(shù)器輸出鎖存器計數(shù)初值存于預(yù)置寄存器;在計數(shù)過程中,減法計數(shù)器的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器用于寫入鎖存命令,鎖定當前計數(shù)值計數(shù)器的3個引腳CLK時鐘輸入信號——在計數(shù)過程中,此引腳上每輸入一個時鐘信號(下降沿),計數(shù)器的計數(shù)值減1GATE門控輸入信號——控制計數(shù)器工作,可分成電平控制和上升沿控制兩種類型OUT計數(shù)器輸出信號——當一次計數(shù)過程結(jié)束(計數(shù)值減為0),OUT引腳上將產(chǎn)生一個輸出信號8253引腳圖8253的引腳功能8253的引腳如圖所示。計數(shù)器0、1、2和控制字寄存器的低2位地址由A1、A0確定,A1、A0的值依次為00~11。8253的4個端口的操作情況如表所示。8253的計數(shù)器0、1、2各有3個引腳。不同計數(shù)器的相同定義的引腳,其功能也是相同的。CLK:計數(shù)脈沖輸入端。計數(shù)器對該引腳的輸入脈沖進行計數(shù)。如果CLK信號是周期精確的時鐘脈沖,則具有定時作用。8253規(guī)定CLK端的輸入脈沖周期不能小于380ns。GATE:門控輸入端。這是控制計數(shù)器工作的一個外部信號。當GATE為低電平時,禁止計數(shù)器工作;當GATE為高電平時,允許計數(shù)器工作。GATE信號從計數(shù)開始到計數(shù)過程中都起作用。OUT:輸出信號端。當計數(shù)器計數(shù)到零時,在OUT引腳上輸出一個信號,該信號的波形取決于工作方式。(1)數(shù)據(jù)總線緩沖器。數(shù)據(jù)總線緩沖器是8253與CPU數(shù)據(jù)總線連接的8位雙向三態(tài)緩沖器。CPU用輸入/輸出指令對8253進行讀/寫操作的所有信息都是通過這8條總線傳送的。這些信息包括:CPU在初始化編程時寫入8253的控制字、CPU向8253某一計數(shù)器寫入的計數(shù)初值、CPU從8253某一計數(shù)讀取的計數(shù)值。(2)讀/寫控制邏輯。讀/寫邏輯是8253內(nèi)部操作的控制部分。當片選信號有效,即=0時,讀/寫邏輯才能工作。該控制邏輯根據(jù)讀/寫命令及送來的地址信息,決定三個計數(shù)器和控制字寄存器中哪一個工作,并控制內(nèi)部總線上數(shù)據(jù)傳送的方向。(3)計數(shù)器0、1、2。計數(shù)器0、1、2是3個16位減1計數(shù)器,它們互相獨立,內(nèi)部結(jié)構(gòu)和功能相同。每個計數(shù)器有3根信號線,它們是時鐘輸入CLK、門控輸入GATE和輸出OUT。計數(shù)器從CLK端接收時鐘脈沖或事件計數(shù)脈沖,在脈沖下降沿按照二進制或二—十進制從預(yù)置的初值開始進行減1計數(shù)。當計數(shù)值減到零時,從OUT端送出一個信號。計數(shù)器在開始計數(shù)和計數(shù)過程中,受到門控信號GATE的控制。在開始計數(shù)之前,必須由CPU用輸出指令預(yù)置計數(shù)器的初值。在計數(shù)過程中,CPU可以隨時用指令讀取計數(shù)器的當前值。8253控制字的格式(4)控制字寄存器。在8253初始化編程時,由CPU向控制字寄存器寫入控制字,以決定每個計數(shù)器的工作方式。此寄存器只能寫入而不能讀出。
控制字的功能是:選擇計數(shù)器,確定對計數(shù)器的讀/寫格式,選擇計數(shù)器的工作方式以及確定計數(shù)的數(shù)制。8253控制字的格式如圖所示。
SC1、SC0:計數(shù)器選擇位。這兩位表示這個控制字是對哪一個計數(shù)器設(shè)置的。00——計數(shù)器0;01——計數(shù)器1;10——計數(shù)器2;11——非法選擇。RW1、RW0:數(shù)據(jù)讀/寫格式選擇位。CPU在對計數(shù)器寫入初值和讀取它們的當前值時,有幾種不同的格式,由這兩位來決定。00——將計數(shù)器當前值鎖存于輸出鎖存器中,以便讀出;01——只讀/寫計數(shù)器的低8位,寫入時高8位自動設(shè)置為0;10——只讀/寫計數(shù)器的高8位,寫入時低8位自動設(shè)置為0;11——對16位計數(shù)器進行兩次讀/寫操作,低字節(jié)在前,高字節(jié)在后,兩次操作的地址相同。M2、M1、M0:計數(shù)器工作方式選擇位。8253的每個計數(shù)通道有6種不同的工作,工作方式由這3位決定。000——方式0;001——方式1;010——方式2;011——方式3;100——方式4;101——方式5。BCD:數(shù)制選擇。8253的每個計數(shù)器有兩種數(shù)制二進制和二—十進制,由這一位決定選擇哪一種。BCD=0表示采用二進制計數(shù),寫入的初值范圍為0000H~FFFFH,其中0000H是最大值,代表65536;BCD=1表示采用二—十進制計數(shù),寫入的初值范圍為0000~9999,其中0000是最大值,代表10000。
8.1.2初始化編程步驟和門控信號的功能8253加電后的工作方式不確定,8253必須初始化編程,才能正常工作
寫入控制字寫入計數(shù)初值
門控信號的功能例:置計數(shù)器0在工作方式3,按二進制計數(shù),計數(shù)初值200H。解:確定方式控制字為36H,實現(xiàn)程序如下:MOV AL,36HMOV DX,CtrlPortOUT DX,AL ;方式方式控制字為36H送端口MOV DX,Port0MOV AL,00H ;計數(shù)初值的低8位OUT DX,ALMOV AL,02H ;計數(shù)初值的高8位OUT DX,AL8253初始化編程SC1SC0RW1RW0M2M1M0BCD000011118253有6種工作方式,由方式控制字確定熟悉每種工作方式的特點才能根據(jù)實際應(yīng)用問題,選擇正確的工作方式每種工作方式的過程類似:⑴設(shè)定工作方式⑵設(shè)定計數(shù)初值〔⑶硬件啟動〕⑷計數(shù)初值進入減1計數(shù)器⑸每輸入一個時鐘計數(shù)器減1的計數(shù)過程⑹計數(shù)過程結(jié)束8.1.38253的工作方式(1)方式0——計數(shù)結(jié)束時產(chǎn)生中斷。當寫入方式0控制字CW后,計數(shù)器輸出端OUT立即變成低電平。當寫入計數(shù)初值N后,若GATE為高電平,計數(shù)器開始計數(shù)。在計數(shù)過程中,OUT端一直維持為低,直到計數(shù)0(結(jié)束)時,OUT端變?yōu)楦撸駽PU發(fā)出中斷請求。8253用作計數(shù)時,一般都工作在方式0。方式0的特點是:①計數(shù)器只計一遍數(shù)。當計數(shù)到0時,并不恢復(fù)計數(shù)初值,不開始重新計數(shù),輸出端OUT由低變高且一直保持為高。只有當寫入一個新的計數(shù)初值后,OUT才變低,開始新的計數(shù)。②在計數(shù)過程中可改變計數(shù)值。如果計數(shù)器為8位(RW1RW0=01),在寫入新的8位計數(shù)值后,計數(shù)器將按新的計數(shù)值重新開始計數(shù)。如果計數(shù)器為16位(RW1RW0=11),在寫入第一個字節(jié)后,計數(shù)器停止計數(shù),在寫入第二個字節(jié)后,計數(shù)器按照新的數(shù)值開始計數(shù)。③在計數(shù)過程中,可由門控信號GATE控制暫停。當GATE=0時,計數(shù)器暫停計數(shù);當GATE變?yōu)?后,就接著計數(shù)。④方式0的OUT信號在計數(shù)到0時由低變高,可作為中斷請求信號。但由于在8253內(nèi)部沒有中斷控制電路,因此在多中斷源系統(tǒng)中需外接中斷優(yōu)先權(quán)排隊電路和中斷向量產(chǎn)生電路。方式0計數(shù)結(jié)束中斷①②⑤④⑥GATEOUTCLK
031244方式0WR①設(shè)定工作方式②設(shè)定計數(shù)初值④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結(jié)束(MODE0)CLOCKWRn#OUTPUT(中斷)43210n=4WRm#OUTPUT(中斷)GATEm=5543210方式0:計數(shù)結(jié)束時發(fā)中斷(2)方式1——可程控的單脈沖。在設(shè)定工作方式1和寫入計數(shù)初值后,OUT輸出高電平,此時并不開始計數(shù)。當門控信號GATE變?yōu)楦唠娖綍r,啟動計數(shù),OUT輸出變低。在整個計數(shù)過程中,OUT都維持為低,直到計數(shù)到0時,輸出變?yōu)楦摺R虼?,輸出為一單脈沖,其低電平維持時間由裝入的計數(shù)初值來決定。方式1的特點是:①當計數(shù)到0后,計數(shù)器可再次由外部啟動,按原計數(shù)初值重新開始計數(shù),輸出單脈沖,而不需要再次送一個計數(shù)初值。②在計數(shù)過程中,外部可發(fā)出門控脈沖,進行再觸發(fā)。這時不管原來計數(shù)到何值,計數(shù)器將重新開始計數(shù),輸出端仍保持低電平。③在計數(shù)過程中改變計數(shù)初值不影響本次計數(shù)過程。若門控信號再次被觸發(fā),則計數(shù)器才按新的計數(shù)值計數(shù)。比較方式0和方式1,有以下幾點不同:①方式0設(shè)置計數(shù)初值后立即計數(shù);方式1設(shè)置計數(shù)初值后不立即計數(shù),直到有外部觸發(fā)信號后才開始計數(shù)。②方式0在計數(shù)過程中能用門控信號暫停計數(shù);方式1在計數(shù)過程中若有門控脈沖時不停止計數(shù),而是使計數(shù)過程重新開始。③方式0在計數(shù)過程中改變計數(shù)初值時,原計數(shù)停止,立即按新的計數(shù)初值開始計數(shù);方式1在計數(shù)過程中當改變計數(shù)初值時,現(xiàn)行計數(shù)不受影響,新計數(shù)初值在下次啟動計數(shù)后才起作用。④方式0在一次計數(shù)結(jié)束后,必須重新設(shè)置計數(shù)初值才能再次計數(shù),即計數(shù)初值只能使用一次,方式1的計數(shù)初值在一次計數(shù)過程完成后繼續(xù)有效。
方式1可編程單拍脈沖①②⑤④⑥①設(shè)定工作方式②設(shè)定計數(shù)初值③③硬件啟動④計數(shù)值送入計數(shù)器⑤計數(shù)過程⑥計數(shù)結(jié)束GATEOUTCLK
031244方式1WRWRn#GATE(TRIGGER)43210OUTPUT34210(MODE1)CLOCKGATE(TRIGGER)OUTPUT234方式1:可編程單穩(wěn)電路(3)方式2——分頻器。在這種方式下,CPU輸出控制字后,計數(shù)器輸出端為高電平。當寫入計數(shù)初值后,計數(shù)器立即對CLK端的輸入脈沖計數(shù)。在計數(shù)過程中輸出端始終保持為高,直到計數(shù)器減為1時,輸出變低。經(jīng)過一個CLK周期,輸出恢復(fù)為高,同時按照原計數(shù)初值重新開始計數(shù)。如果計數(shù)值為N,則在CLK端每輸入N個脈沖后,就輸出一個脈沖。因此,這種方式可以作為分頻器或用于產(chǎn)生實時時鐘中斷。方式2的特點是:①不用重新設(shè)置計數(shù)初值,計數(shù)器能夠連續(xù)工作,輸出固定頻率的脈沖。
②計數(shù)過程可由門控信號GATE控制。當GATE為0時,暫停計數(shù)。當GATE變?yōu)?后,下一個CLK脈沖使計數(shù)器恢復(fù)初值,重新開始計數(shù)。③在計數(shù)過程中可以改變計數(shù)初值,這對正在進行的計數(shù)過程沒有影響。但當計數(shù)到1時輸出變低,過一個CLK周期輸出又變高,計數(shù)器將按新的計數(shù)值計數(shù)。所以對方式2改變計數(shù)初值時,在下一次計數(shù)有效。方式2頻率發(fā)生器(分頻器)03124GATEOUTCLK
4方式2031240312403124WRWRn#43210(3)OUTPUTGATE(RESET)OUTPUT(MODE2)CLOCKn=4n=3
0(4)3212100(3)3210(3)210(3)21方式2:可變頻率脈沖發(fā)生器0(4)方式3——方波發(fā)生器。在方式3時,當CPU設(shè)置控制字后,輸出為高電平。在寫入計數(shù)初值后就開始計數(shù),輸出保持為高。當計數(shù)到一半計數(shù)初值時,輸出變?yōu)榈停敝劣嫈?shù)到0,輸出又變?yōu)楦?,重新開始計數(shù)。方式3與方式2的輸出都是周期性的,它們的主要區(qū)別是:方式3在計數(shù)過程中的輸出有一半時間為高電平,另一半時間為低電平。所以,若計數(shù)值為N,則方式3的輸出為周期=(N×CLK周期)的方波。方式3的特點是:①當計數(shù)初值N為偶數(shù)時,輸出端的高低電平持續(xù)時間相等,各為N/2個CLK脈沖周期;當計數(shù)初值N為奇數(shù)時,輸出端的高電平持續(xù)時間比低電平持續(xù)時間多一個脈沖周期,即高電平持續(xù)(N+1)/2個脈沖周期。低電平持續(xù)(N-1)/2個脈沖周期。例如N=5,則輸出高電平持續(xù)3個脈沖周期,低電平持續(xù)2個脈沖周期。②GATE=1,允許計數(shù);GATE=0,停止計數(shù)。如果在OUT為低電平期間GATE=0,OUT將立即變高。當GATE變高以后,在下一個CLK脈沖來到時,計數(shù)器將重新裝入初始值,開始計數(shù)。在這種情況下通過門控信號使計數(shù)器實現(xiàn)同步,稱為硬件同步。③如果GATE信號一直為高電平,在寫入控制字和計數(shù)值后,將在下一個CLK脈沖來到時裝入計數(shù)初值并開始計數(shù),這種情況稱為軟件同步。④在計數(shù)期間寫入一個新的計數(shù)初值,如果在輸出信號半周結(jié)束之前沒有收到GATE脈沖,則要到現(xiàn)行輸出半周結(jié)束后才按新的計數(shù)初值開始計數(shù)。如果在寫入新計數(shù)初值之后在現(xiàn)行輸出半周結(jié)束之前收到GATE脈沖,計數(shù)器將在下一個CLK脈沖來到時立即裝入新的計數(shù)初值并開始計數(shù)。
方式3方波發(fā)生器03124GATEOUTCLK
4方式3031240312403124WR42210(4)OUTPUTn=4GATE(RESET)OUTPUTn=4n=4n=3
0(4)2103210(4)21331(MODE3)CLOCKOUTPUTn=53210(5)43210(5)430(5)43方式3:方波發(fā)生器0(5)方式4——軟件觸發(fā)的選通信號發(fā)生器。在這種方式下,當寫入控制字后,輸出端OUT變?yōu)楦唠娖?,以此作為初始電平。當寫入計?shù)初值后開始計數(shù),稱為軟件觸發(fā)。當計數(shù)到0后,輸出變低,經(jīng)過一個CLK周期,輸出又變高,計數(shù)器停止計數(shù)。這種方式計數(shù)也是一次性的,只有在輸入新的計數(shù)值后,才開始新的計數(shù)過程。若設(shè)置的計數(shù)初值為N,則是在寫入了計數(shù)初值后經(jīng)過(N+1)個CLK脈沖,才輸出一個負脈沖。一般將此負脈沖作為選通信號。方式4的特點是:①當GATE=1時,允許計數(shù);當GATE=0時,禁止計數(shù)。所以,要做到軟件觸發(fā),GATE應(yīng)保持為1。②在計數(shù)過程中,若改變計數(shù)初值,則按新的計數(shù)初值開始計數(shù)。這稱為軟件再觸發(fā)。方式4軟件觸發(fā)選通信號GATEOUTCLK031244方式42233310WR(MODE4)CLOCKWRn#n=4OUTPUTn=401234443210WRn#
GATEOUTPUT方式4:軟件觸發(fā)選通(6)方式5——硬件觸發(fā)的選通信號發(fā)生器。在這種方式下,當寫入控制字后,輸出端出現(xiàn)高電平作為初始電平。在寫入計數(shù)初值后,計數(shù)器并不立即開始計數(shù),而是要由門控脈沖的上升沿來啟動計數(shù),這稱為硬件觸發(fā)。當計數(shù)到0時,輸出變低,又經(jīng)過一個CLK脈,輸出恢復(fù)為高。這樣在輸出端得到一個負脈沖選通信號。計數(shù)器停止計數(shù)后要等到下次門控脈沖觸發(fā),才能再進行計數(shù)。方式5的特點是:①若設(shè)置計數(shù)初值為N,則在門控脈沖觸發(fā)后,經(jīng)過(N+1)/2個CLK脈沖,才輸出一個負脈沖。②在計數(shù)過程中,若GATE端又出現(xiàn)一個脈沖進行觸發(fā),則使計數(shù)器重新開始計數(shù),但對輸出狀態(tài)沒有影響。③若在計數(shù)過程中改變計數(shù)值,只要沒有門控信號的觸發(fā),就不影響本次計數(shù)過程。當計數(shù)到0后,若有新的門控信號的觸發(fā),則按新的計數(shù)初值計數(shù)。方式5和方式4都產(chǎn)生選通脈沖。這兩種方式的區(qū)別在于:方式4每次要靠軟件設(shè)置計數(shù)初值后才能計數(shù)(軟件觸發(fā)),方式5的計數(shù)初值只需設(shè)置一次,但是每次計數(shù)要靠門控信號的觸發(fā)(硬件觸發(fā));方式4軟件更改計數(shù)初值后立即起作用,方式5軟件更改計數(shù)初值后要有新的門控信號的觸發(fā)才能起作用。方式5硬件觸發(fā)選通信號GATEOUTCLK031244方式522333110WR(MODE5)CLOCKOUTPUT(n=4)0123443210GATE
GATEOUTPUT43方式5:硬件觸發(fā)選通各種工作方式的輸出波形方式0計數(shù)結(jié)束中斷方式1可程控的單脈沖方式2頻率發(fā)生器(分頻器)方式3方波發(fā)生器方式4軟件觸發(fā)選通方式5硬件觸發(fā)選通0N0N0N0/N110NN/2N/20/N0N01N01N01
數(shù)據(jù)采集系統(tǒng)在一個實際的數(shù)據(jù)采集系統(tǒng)中,要求每5秒采一個數(shù),現(xiàn)場的主時鐘的振蕩頻率為2.5MHz。解:若外部時鐘為2.5MHz,則計數(shù)次數(shù)(計數(shù)初值)為 5/(1/2.5*106)=1.25*107一個計數(shù)器最大的計數(shù)次數(shù)為65536,所以必須采用二次計數(shù)器。用計數(shù)器0的輸出OUT0接計數(shù)器1的輸入時鐘CLK1。 若計數(shù)器0(方式3)的計數(shù)初值為50000;則OUT0的輸出脈沖頻率為著(2.5*106)/(5*104)=50Hz。即周期為0.02s。為了每5秒產(chǎn)生一個脈沖輸出,計數(shù)器1為分頻器(方式2),計數(shù)次數(shù)為5s/0.02=250經(jīng)以上分析,總結(jié)如下:8.28253的應(yīng)用舉例計數(shù)器0:方式3,輸出50Hz脈沖,控制字36H,計數(shù)初值C350H計數(shù)器1:方式2,分頻,控制字54H,計數(shù)初值FAH程序如下:MOV AL,36HMOV DX,CtrPortOUT DX,AL ;寫計數(shù)器0方式3控制字MOV DX,Port0MOV AL,50HOUT DX,AL ;送低8位計數(shù)器值MOV AL,0C3HOUT DX,AL ;送高8位計數(shù)器值MOV AL,54HMOV DX,CtrPortOUT DX,AL ;寫計數(shù)器1方式2控制字MOV AL,0FAHOUT Port1,AL ;送計數(shù)器1初值
8253工作在方式3下,輸出是一個周期準確的方波,可以作為定時單位。如CLK0=1.1931816MHz,初值為最大值65536,則計數(shù)器0輸出的方波頻率為 f0=1.1931816MHz/65536=18.2Hz, 周期為T0=1/f0=54.945ms1天=24×60×60×1000ms/54.945ms=1572482(計時單位)=0017FE82H; 即計滿1572482個計時單位,就是1天。 同理計滿65520是1個小時,計滿1092就是1分鐘,計滿18.2就是1秒鐘。具體做法是8253的OUT0輸出連到8259的IR0上。8253輸出的方波每隔54.945ms申請一次中斷,在中斷服務(wù)程序中做雙字變量的加1操作。當?shù)妥钟嫷?5536時,向高字進位,直至高字計到0017H,低字計到FE82H,就計到24小時。然后清零,開始第二天的計時。
用8253實現(xiàn)日時鐘硬件連接如圖所示。圖中在內(nèi)存開辟了兩個字單元,低字TIMER-LO(40H:6CH)和高字TIMER-HI(40H:6EH)。發(fā)光二極管
現(xiàn)有一個高精密晶體振蕩電路,輸出信號是脈沖波,頻率為1MHz。要求利用8253做一個秒信號發(fā)生器,其輸出接一發(fā)光二極管,以0.5秒點亮,0.5秒熄滅的方式閃爍指示。設(shè)8253的通道地址為80H~86H(偶地址)解:1、時間常數(shù)計算這個例子要求用8253作一個分頻電路,而且其輸出應(yīng)該是方波,否則發(fā)光二極管不可能等間隔閃爍指示。頻率為1MHz信號的周期為1微妙,而1Hz信號的周期為1秒,所以分頻系數(shù)N可按下式進行計算:
由于8253一個通道最大的計數(shù)值是65536,所以對于N=1000000這樣的大數(shù),一個通道是不可能完成上述分頻要求的。由于即取兩個計數(shù)器,采用級聯(lián)方式。2、電路
3、工作方式選擇由于通道1要輸出方波信號推動發(fā)光二極管,所以通道1應(yīng)選工作方式3。對于通道0,只要能起分頻作用就行,對輸出波形不做要求,所以方式2和方式3都可以選用。這樣對于通道0,我們?nèi)」ぷ鞣绞?,BCD計數(shù);對于通道1,我們?nèi)」ぷ鞣绞?,二進制計數(shù)(當然也可選BCD計數(shù))4、程序 moval,00110101b ;通道0控制字 out86h,al moval,00 ;通道0初始計數(shù)值 out80h,al moval,10h out80h,al moval,01110110b ;通道1控制字 out86h,almoval,0e0h ;通道1初始計數(shù)值,03E8H=1000BCD out82h,al moval,03h out82h,al計件系統(tǒng)。計件系統(tǒng)的功能就是記錄脈沖的個數(shù)。
一個脈沖代表一個事件,比如交通道路檢測系統(tǒng)中通過檢測點的車輛,工業(yè)控制系統(tǒng)中流水線上已加工好的工件。要求在計件過程中,PC機可以顯示當前計數(shù)器的內(nèi)容,當完成10000個工件記錄后,系統(tǒng)發(fā)出1KHz信號推動喇叭發(fā)音通知用戶。解:1、電路。需要兩個通道,一個作為計數(shù),選用通道0。另一個產(chǎn)生1KHz信號,選用通道1。工作原理如下,傳感器電路把物理事件轉(zhuǎn)換為脈沖信號輸入到通道0計數(shù),當記錄10000個事件后,通道0計數(shù)器溢出,GATE端輸出高電平,這時通道1開始工作,產(chǎn)生1KHz信號推動喇叭發(fā)音。2、工作方式選擇對于通道1,由于要產(chǎn)生1KHz信號,故選用工作方式3。對于通道0,要求初始計數(shù)值寫入計數(shù)通道后,計數(shù)器就可以工作,則通道0的啟動方式應(yīng)是軟件啟動。另外由于要求計數(shù)溢出后產(chǎn)生一個信號來啟動一個事件,即喇叭發(fā)音,故可選的工作方式為方式0和方式4,對于圖所示方案,通道1的GATE信號由通道0的OUT信號產(chǎn)生,這個OUT信號應(yīng)該是電平型的,所以通道0應(yīng)選用方式0。3、時間常數(shù)N0=10004、程序(略)
IBMPC/XT與8253連接圖8253在PC/XT機中的應(yīng)用
三個計數(shù)器通道時鐘輸入CLK均從時鐘發(fā)生器PCLK端經(jīng)二分頻得到,頻率為1.19318MHz,周期為838ns。(1)計數(shù)器0—實時時鐘。門控GATE0接+5V為常啟狀態(tài)。OUT0輸出接8259A的IRQ0,用作XT中日時鐘的中斷請求信號。設(shè)定時/計數(shù)器0為方式3,計數(shù)值寫入0,產(chǎn)生最大的計數(shù)初值65536,因此輸出信號頻率為1.19318MHz÷65536=18.206Hz,即每秒產(chǎn)生18.2次中斷,或者說每隔55ms申請一次日時鐘中斷。其程序如下:MOVAL,36H;設(shè)定計數(shù)器0為
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)生自我評價集錦15篇
- 校園活動策劃書(集錦15篇)
- 端午節(jié)演講稿3分鐘(合集4篇)
- 銷售上半年工作總結(jié)15篇
- 旅游案例-彝人古鎮(zhèn)
- 長度單位手抄報6篇
- 人教版高一地理必修2同步習題及答案解析(全冊)
- 兒童樂園合同(2篇)
- 河南省安陽市林州第二職業(yè)高級中學(xué)高三語文聯(lián)考試卷含解析
- 2025年斗型布草車項目合作計劃書
- 2022年秋新教材高中語文第七單元第16課16.1赤壁賦16.2登泰山記課后集訓(xùn)部編版必修上冊
- 心內(nèi)科一例高血壓、腦梗死、冠心病藥歷
- 微波技術(shù)與天線劉學(xué)觀課后習題答案
- 水稻害蟲精選課件
- 城市軌道交通安全監(jiān)理規(guī)劃
- 危險化學(xué)品購買管理臺賬
- 最新VTE指南解讀(靜脈血栓栓塞癥的臨床護理指南解讀)
- (格式已排好)國家開放大學(xué)電大《計算機應(yīng)用基礎(chǔ)(專)》終結(jié)性考試大作業(yè)答案任務(wù)一
- 已安排論壇-樹脂基復(fù)合材料工藝仿真軟件pam rtm教程
- 《XX醫(yī)院安寧療護建設(shè)實施方案》
- 西門子s7-400手冊集400h冗余系統(tǒng)2004
評論
0/150
提交評論