




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第八章 可編程計數器/定時器8253 8.1 8.1 概述概述 8.2 82538.2 8253的內部結構的內部結構 8.5 82538.5 8253的工作方式的工作方式 8.4 82538.4 8253的控制字的控制字 8.3 82538.3 8253的引腳功能的引腳功能 8.6 82538.6 8253的應用舉例的應用舉例第第8 8章章 計數器計數器/ /定時器定時器u 80X86系統常用接口芯片系統常用接口芯片(一)并行接口芯片u Intel 8255,有三個8位端口A,B,Cu Intel 8155,有三個端口,內帶256字節RAM,兩個定時器。(二)串行接口芯片u Intel 825
2、1,同步異步串行接口。u Intel 8250,異步串行接口芯片。(三)計數定時器u Intel 8253/8254,三個通道16位定時計數器。(四)直接存取控制器(DMAC)u Intel 8237u上述接口芯片功能可由程序改變,稱為可編程接口芯片。第第8 8章章 計數器計數器/ /定時器定時器82538253主要功能:主要功能: 以均勻分布的時間間隔中斷中斷操作系統,以便切換程序; 向I/O設備輸出精確的定時信號,信號的周期可由程序控制; 用來作為可編程波特率發生器; 檢測外部事件發生的頻率或周期; 統計外部事件發生的次數,計數結果送至計算機; 在定時或計數達到編程規定的值以后,向CPU申
3、請中斷。 8.1 8.1 計數器計數器/ /定時器概述定時器概述 微機應用系統的重要應用之一是如何用好定時/計數器。即常常需要實時鐘實時鐘或延時延時或對外部事件計數對外部事件計數。 實現定時或延時控制的常用方法: (1)軟件延時軟件延時:用一個不完成任何功能的程序段實現; (2)常用數字電路定時常用數字電路定時:555 (3)可編程硬件定時可編程硬件定時:8253,其定時值和定時范圍可以通過 軟件來確定和改變。第第8 8章章 計數器計數器/ /定時器定時器Intel 8253_ 三個通道三個通道 16 16位位 可設置定時計數器可設置定時計數器,可由軟件設定6種工作方式。 8.2 8253 8
4、.2 8253內部結構內部結構第第8 8章章 計數器計數器/ /定時器定時器8253內部由三個獨立通道組成,結構與工作原理完全相同。每個通道是16位計數器 可對外輸入CLK進行二進制或十進制( BCD)減1計數 是否計數由外引腳GATE控制。CLK 已知頻率的時鐘信號 外部事件發生源 16位減法計數器位減法計數器 2# 最大216(0000H0000H) 最小1 (0001H) 10# 最大104(0000H0000H) 最小1 (0001H)每個通道有6種工作方式,由控制寄存器選擇。計數器歸0時由OUT引腳輸出信號。控制字寄存器只能寫不能讀,寫入的控制字將控制通道的工作方式。數據總線緩沖器用
5、于與CPU間的信息通道。第第8 8章章 計數器計數器/ /定時器定時器 1. 1. D7D7D0D0:數據總線,雙向,三態, 直接與計算機數據總線相連。 2. 2. CLK0CLK0CLK2CLK2:計數時鐘輸入端, 下降沿使通道減1。 3. 3. GATE0GATE0GATE2GATE2:門控制,輸入, 高電平有效或上升沿有效, 有效時允許計數器對輸入時鐘計數。 4. 4. OUT0OUT0OUT2OUT2:通道輸出信號, 計數器到“0”時由此輸出一信號, 輸出波形形式取決于工作方式。 5. 5. A1A1、A0A0:尋址3個通道的計數器 和控制寄存器(3個通道的控制寄 存器共用一個端口地址
6、). 6. RD6. RD、WRWR和和CSCS:8253的讀、寫 和片選信號,均為低電平有效。0 1 0 0 00 1 0 0 10 1 0 1 00 1 0 1 10 0 1 0 00 0 1 0 10 0 1 1 0功 能對計數器0設置計數初值CS RDWR A1 A0對計數器1設置計數初值對計數器2設置計數初值設置控制字從計數器0讀出計數值從計數器1讀出計數值從計數器2讀出計數值 8.3 8253 8.3 8253的引腳功能的引腳功能第第8 8章章 計數器計數器/ /定時器定時器 8253 8253與與80868086系統計算機連接系統計算機連接D7D0D7D0RDWRA1A0CSIO
7、RIOWA13A15A14A10A12A1174LS3074LS04A9+5VA8A7A6A5+5VCBA74LS138Y2G2AG2BG18253A2A1GATE0GATE1GATE2OUT0OUT1OUT2CLK0CLK1CLK2PB1(8255)+5VPB0(8255)IRQ0(8259)刷新電路驅動器CPCLKDQQ74LS175u說明:說明:u1. 8253的數據線D7D0接8086的數據總線的低8位。u2. 8253的A1和A0分別接系統的A2和A1,使用偶地址使用偶地址傳遞信息。u3.由74LS138,74LS30和74LS04譯碼選中8253。A15A8 0 0端口0 00 1
8、1 01 1控制口A7A6A5A4A3A2A1地址040H0A00 1 0 X X通道0通道1通道2042H044H046Hu4. 8253的三個通道輸入時鐘由系統PCLK分頻得到,頻率為: 2.38636/2=1.1931816MHz.u5. 在IBM-PC/XT微機系統中,通道0定時OUT0接8259的IR0,通道1刷新動態存儲器,通道2控制揚聲器發聲.第第8 8章章 計數器計數器/ /定時器定時器uM2M1M0:計數器工作方式選擇計數器工作方式選擇 0 0 0 方式0 0 0 1 方式1 x 1 0 方式2 x 1 1 方式3 1 0 0 方式4 1 0 1 方式5uBCD:計數器進制選
9、擇計數器進制選擇 0 16位二進制計數器 1 BCD碼計數器uSC1 SC0:計數器通道選擇計數器通道選擇 0 0 通道0 0 1 通道1 1 0 通道2 1 1 非法uRW1 RW0:計數器讀寫選擇計數器讀寫選擇 0 0 計數器鎖存 0 1 只讀寫低8位 1 0 只讀寫高8位 1 1 先讀寫低8位,再讀寫高8位u控制字寫入控制端口,各位含義如下:D0SC1D7SC0BCDRW1RW0M2M1M0 8.4 8253 8.4 8253的控制字的控制字82538253初始化:初始化: 對一個通道對一個通道 先寫入控制字先寫入控制字 再寫入時間常數(計數初值)再寫入時間常數(計數初值)第第8 8章章
10、 計數器計數器/ /定時器定時器注:注: 寫入控制字寫入控制字后,所有控制邏輯電路復位, 輸出端OUT進入初始狀態進入初始狀態。 CPU向8253寫入的計數初值,要在CLK端輸入一個正脈沖( )后后才能被真正裝入指定通道(若在此CLK下降沿之前讀計數器,則其值是不定的)。 之后再次再次輸入時鐘脈沖(CLK)才開始計數,且每次在脈沖的下降沿減1計數。即:寫入計數初值后,經過一個即:寫入計數初值后,經過一個CLKCLK,82538253才開始計數。才開始計數。第第8 8章章 計數器計數器/ /定時器定時器(1)方式)方式0計數結束產生中斷計數結束產生中斷(2 2)方式)方式1 1可重復觸發單穩觸發
11、器可重復觸發單穩觸發器(3 3)方式)方式2 2分頻器分頻器( (頻率發生器)頻率發生器)(4 4)方式)方式3 3方波發生器方波發生器(連續)(連續)(5 5)方式)方式4 4軟件觸發選通軟件觸發選通(6 6)方式)方式5 5硬件觸發選通硬件觸發選通 8.5 8253 8.5 8253的工作方式的工作方式第第8 8章章 計數器計數器/ /定時器定時器CLKOUT43210FF方式0時序圖CWN=4WR(1) 方式0計數結束產生中斷 控制字(CW)寫入后OUT即變為低電平,當計數器為0時,輸出OUT變為高電平。 計數初值寫入后在下一個CLK下降沿才送入計數器,因此計數值為N+1。 當GATE變
12、為低電平時計數停止,再變為高電平時計數繼續進行。 若計數過程中重新送入初值,則按新值重新計數。 計數到零后,不能自動恢復計數初值,OUT端保持高電平。 再次寫入計數初值,才又開始計數。第第8 8章章 計數器計數器/ /定時器定時器例:例:若8253的地址為04H07H,要使計數器工作在方式0,僅用8位二進制數,計數初值為128,初始化程序為: MOV MOV AL AL ,50H50H OUT OUT 07H07H,ALAL MOV MOV AL AL ,80H80H OUT OUT 05H05H,ALALD0SC1D7SC0BCDRW1RW0M2M1M0D01D70001000第第8 8章章
13、 計數器計數器/ /定時器定時器(2)方式1可重復觸發單穩觸發器 寫入CW后OUT變為高電平, GATE上升沿觸發后,OUT變為低并開始計數,歸零時OUT變為高電平。 GATE再來一次上升沿使OUT為低,計數器以初值重新計數。 計數過程中,再次給通道寫入時間常數,不影響現行操作過程,GATE再次觸發后才按新的時間常數操作。 計數過程中,GATE觸發沿提前到來,在下一個CLK的下降沿,計數器開始重新計數,這將使輸出單穩脈沖比原先設定的計數值加寬。OUT3 2 1 0方式1時序圖CLKCWN=3WRFFFE3 2GATE可重復觸發可重復觸發 當計數歸零后,不用再次送計數值,只要給它觸發脈沖,即可產
14、生一個同樣寬度的單穩脈沖輸出。第第8 8章章 計數器計數器/ /定時器定時器(3)方式2分頻器(頻率發生器) 寫入CW后OUT為高電平,寫入時間常數后,下一CLK開始計數,減減到到1時OUT變低,經過一個CLK后 OUT變高,計數重新開始。 GATE=1計數進行,GATE=0計數停止,且下一個CLK計數器重新賦初值,GATE變為高電平,計數重新開始。 計數期間送入新值,本周期繼續進行,下一個周期按新值計數操作。OUT3 2 1方式2時序圖CLKCWN=3WRGATE3 2 1 3 21不用重復置數。計數器能夠不用重復置數。計數器能夠連續連續工作,輸出工作,輸出OUTOUT是輸入是輸入CLKCL
15、K的的n(n(初值)分頻。初值)分頻。軟件同步:軟件同步:計數器寫入控制字和計數初值后,如GATE一直處于高電平, 那么,在下一個脈沖開始計數器計數。 通過寫入計數初值使計數器同步,稱為。硬件同步:硬件同步:由前述知,門控信號可實現計數器的同步,稱為硬件同步第第8 8章章 計數器計數器/ /定時器定時器第第8 8章章 計數器計數器/ /定時器定時器(4)方式3方波發生器(連續)(連續) 寫入CW后OUT變為高電平,輸入時間常數后,下一個時鐘開始計數,計到一半時輸出變為低電平,計到終值時重新變為高電平,并開始下一次并開始下一次計數過程。計數過程。 若N為偶數,高低電平持續時間相等;若為奇數,則高
16、電平持續時間為(N+1)/2,低電平持續時間為(N-1)/2。 GATE=1計數進行。在計數過程中若GATE=0,計數停止且OUT為高,計數器重新賦初值,GATE回到高時計數重新開始。 計數期間送入新值,本周期繼續進行,下一個周期按新值計數。OUT3 2 1方式3時序圖CLKCWN=4WR3 2GATE441第第8 8章章 計數器計數器/ /定時器定時器(5)方式4軟件觸發選通寫入CW后OUT為高電平,輸入時間常數后,下一個CLK開始計數,計數器為0時,輸出一個周期負脈沖,并停止操作。GATE=1允許計數,GATE=0禁止計數。計數期間送入新的時間常數,則下一個時鐘按新值重新計數。(6)方式5
17、硬件觸發選通 寫入CW后OUT為高電平,輸入時間常數后由GATE上升沿啟動計數。計數為0時輸出一個時鐘的負脈沖,并停止操作。 計數過程中,若GATE又來一個上升沿,則下一個時鐘計數器重新賦值計數。 計數過程中寫入時間常數,當前周期不受影響,在下一個 GATE上升沿啟動新值計數。OUT3 2 1 0方式5時序圖CLKCWN=3WRFFFE3 2GATE1 0OUT3 2 1方式4時序圖CLKCWN=3WRGATE0FFFEFDFC計數過程由軟件將計數初值裝入通道來觸發計數過程由軟件將計數初值裝入通道來觸發第第8 8章章 計數器計數器/ /定時器定時器 8253 8253有有6 6種不同的工作方式
18、。小結如下:種不同的工作方式。小結如下: 方式方式0 0 寫入寫入CWCW后,輸出即變低,計數結束輸出為高,常用該輸出信號后,輸出即變低,計數結束輸出為高,常用該輸出信號作為中斷源。其余作為中斷源。其余5 5種方式寫入種方式寫入CWCW后,輸出均變高。后,輸出均變高。 方式方式0 0可用來實現定時或對外部事件進行計數。可用來實現定時或對外部事件進行計數。 方式方式1 1用來產生單脈沖。用來產生單脈沖。 方式方式2 2用來產生序列負脈沖,每個負脈沖的寬度與用來產生序列負脈沖,每個負脈沖的寬度與CLKCLK的周期相同。的周期相同。 方式方式3 3用于產生連續的方波。方式用于產生連續的方波。方式2
19、2和方式和方式3 3都實現對都實現對CLKCLK的的n n分頻。分頻。 方式方式4 4和方式和方式5 5的波形相同,都是計數器歸的波形相同,都是計數器歸0 0后的后的1 1個負脈沖,寬度為個負脈沖,寬度為1 1個個CLKCLK。 方式方式2 2、4 4、5 5的輸出波形是相同的,都是寬度為一個的輸出波形是相同的,都是寬度為一個CLKCLK周期的負脈沖。周期的負脈沖。但方式2是連續的,方式4是由軟件(設置初值)觸發啟動,而方式5由硬件(門控脈沖)觸發啟動。 方式方式1 1、5 5 觸發計數方式相同,但輸出波形不同。觸發計數方式相同,但輸出波形不同。方式1為輸出n個CLK脈沖周期的負脈沖(計數過程
20、中輸出為低),而方式5輸出的是寬度為1個CLK脈沖周期的負脈沖(計數過程輸出為高)。 任一種方式,只有在寫入計數值后才能開始計數,方式0、2、3和4都是在寫入計數值后,計數過程就開始了,而方式1和5需要外部觸發啟動,才開始計數。第第8 8章章 計數器計數器/ /定時器定時器u(一)BIOS對8253初始化u1. 對計數器0的初始化uMOV AL,36HuOUT 46H,ALuMOV AL,00HuOUT 40H,ALuOUT 40H,ALu說明:u(1)計數器0工作于方波發生器方式,對CLK(1.1931816MHz)進行65536(216)分頻。u(2)計數器0的輸出端OUT0接8259的I
21、R0,每次歸0產生一次中斷請求,中斷號由BIOS設置為8。u(3)中斷時間間隔為54.925ms,每秒鐘來18.2次中斷。u(4)通道0的時間間隔是計算機系統時標基礎。u2. 對計數器1的初始化uMOV AL,54HuOUT 46H,ALuMOV AL,18(18分頻)uOUT 42H,ALu(1)通道1給DMA控制器提供時鐘。u(2)輸出頻率為66.288KHz. 8.6 8253 8.6 8253應用舉例應用舉例第第8 8章章 計數器計數器/ /定時器定時器u(一)(一)BIOS對對8253初始化初始化u3. 對計數器2的初始化和接通喇叭uMOV AL,0B6HuOUT 46H,ALuMO
22、V AX,533HuOUT 44H,ALuMOV AL,AHuOUT 44H,ALuIN AL,62H;讀入8255的PB口uMOV AH,AL;保護原值uOR AL,03H;置1 PB1和PB0uOUT 62H,AL;輸出。u說明:說明:u(1)定時器定時器2 2工作在方波發生器方式,驅動揚聲器發聲。工作在方波發生器方式,驅動揚聲器發聲。u(2 2)發聲頻率為)發聲頻率為896896HzHzu(3 3)揚聲器發聲還受)揚聲器發聲還受82558255的的PB0PB0和和PB1PB1控制。控制。u(二)8253的定時功能及其應用u例:將8253的計數器1作為5ms定時器,設輸入時鐘頻率為200k
23、Hz,試編寫8253的初始化程序。u(1)計數初值計數初值N計算計算已知輸入時鐘CLK頻率為200kHz,則時鐘周期為T=1/200kHZ=5us, 于是計數初值N為: N=5ms/T=5ms/5s=1000。u(2)確定控制字確定控制字按題意選計數器1,按BCD碼計數,工作于方式0,由于計數初值N=1000,控制字D5D4應為11,8253的控制字為: 01110001B=71H。u(3)選擇選擇8253各端口地址各端口地址設計數器1的端口地址為3F82H,控制口地址為3F86H。u(4)初始化程序如下初始化程序如下 MOV AL,71H ;控制字控制字 MOV DX,3F86H ;控制口地
24、址控制口地址 OUT DX,AL ;控制字送控制字送8253 控制寄存器控制寄存器 MOV DX,3F82H ;計數器計數器1地址地址 MOV AL,00 ;計數初值計數初值 N=1000的低的低8位寫入計數器位寫入計數器1 OUT DX,AL MOV AL,10H ;將將N的高的高8位寫位寫 入計數器入計數器1 OUT DX,AL第第8 8章章 計數器計數器/ /定時器定時器u(三)8253的計數功能及其應用u例:8086系統中有一片8253芯片,利用計數通道2對外部事件計數,計滿360次經8259的IR1向CPU發出中斷信號,硬件電路如圖所示。計數器2口地址為05DH,控制口地址為05FH
25、。試編寫8253的初始化程序。u(1)外部事件作為計數脈沖從通道2的CLK2進入,采用方式0工作,計數常數為360D。當計滿360次時從OUT2端輸出一個正跳變信號作為中斷申請信號送入8259A的IR1輸入端,由8259向CPU發出中斷申請。u(2)初始化編程初始化編程 計數通道2工作于方式0,計數初值為360D=168H,采用二進制計數,則控制字為:10110000B=B0H。u(3)計數通道計數通道2初始化程序初始化程序 MOV AL ,0B0H ;通道通道2的控制字的控制字 OUT 5FH,AL ;寫入控制器寫入控制器 MOV AL ,68H ;計數初值的低計數初值的低8位位 OUT 5
26、DH,AL ;寫入計數通道寫入計數通道2 MOV AL ,01H ;計數初值的高計數初值的高8位位 OUT 5DH,AL ;寫入計數通道寫入計數通道2第第8 8章章 計數器計數器/ /定時器定時器第第8 8章章 計數器計數器/ /定時器定時器u(四)8253應用例:航空發動機數字控制系統中采用8253測速的實例。硬件電路如下圖。對傳感器輸出的轉速信號經過衰減、濾波和光電耦合處理,再經過整形電路送到8253計數器,進行測量。 被測轉子轉速n為011156轉/分,發動機每轉對應傳感器輸出300個脈沖。 基本測量原理是:基本測量原理是:測量D個(D值根據當時實際轉速范圍選擇)傳感器輸出脈沖CLKCL
27、K1 1所占有的時間為多少個(設為X個,待測)標準時鐘周期PCLKPCLK(設為Tr,單位us),從而算出實際轉速:6r10TX300Dn60r5TX10D2n即: (轉(轉/ /分)分)CLK1D3個計數器工作在: 方式方式0 0、1 1、0 0通道1計數D個CLK1時,通道2計數X個PCLK。第第8 8章章 計數器計數器/ /定時器定時器CLK1D3個計數器工作在: 方式方式0 0、1 1、0 0通道1計數D個CLK1時,通道2計數X個PCLK。測量過程時序如下:u 置通道0計數初值為1,通道1計數初值為D,通道2的為0000H(216)。u 用OUTOUT0 0的下降沿(OUTOUT0 0上升沿上升沿) )做觸發GATEGATE1 1,使通道1開始對CLK1計數;u 同時,OUTOUT1 1反相后使GATEGATE2 2為高電平,允許通道2對PCLKPCLK(周期Tr)計數。 u 在通道1計滿D個脈沖后,OUTOUT1 1反相后輸出低電平,使計數器2停止計數。u 此時CPU可以讀出計數器2中的計數值,算出被測信號的轉速。 第第8 8章章 計數器計數器/ /定時器定時器 設設8253端口地址為端口地址為280H、282H、284H和和286H,主要程序片段:主要程序片段:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人造板專業翻新與維護服務創新創業項目商業計劃書
- 企業LOGO定制書簽與鎮紙套裝創新創業項目商業計劃書
- 互動數字藝術社區行業跨境出海項目商業計劃書
- DB1301T 398-2021 托盤共用系統作業規范
- 全國安全員c證考試試題及答案
- 南藝書法模擬考試試題及答案
- 【成都】2025年四川成都工業職業技術學院“蓉漂人才薈”招聘高層次人才20人筆試歷年典型考題及考點剖析附帶答案詳解
- 2025年濱州市光明電力服務有限責任公司招聘(約46人)筆試參考題庫附帶答案詳解
- 2025年安徽合肥新站高新區管委會公開招聘工作人員筆試歷年典型考題及考點剖析附帶答案詳解
- 2025內蒙古鄂爾多斯電力冶金集團股份有限公司招聘80人筆試參考題庫附帶答案詳解
- DB32/T 4273-2022計算機輔助人工處方審核標準化工作規范
- 人教版(2024)七年級下冊英語期末復習:完形填空 專項練習題(含答案)
- 2025年中國ECTFE樹脂行業市場前景預測及投資價值評估分析報告
- 2025年中國氫氟酸市場研究報告
- 礦井電氣安全培訓課件
- 2025年4月自考00186國際商務談判試題及答案含評分標準
- 景區設備聯營協議書
- 2025年虛擬現實與增強現實技術考試試題及答案
- 旋挖鉆孔灌注樁施工流程課件
- 2025春季學期國家開放大學本科《工程數學》一平臺在線形考(形成性考核作業1至5)試題及答案
- 9.2 嚴格執法 教案 2024-2025學年高中政治《政治與法治》(統編版必修3)
評論
0/150
提交評論