




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
第9章定時/計數(shù)接口電路9.1定時/計數(shù)的基本概念9.2可編程定時/計數(shù)器Intel8253/82549.3Intel8254簡介習題9.9.1定時/計數(shù)的基本概念所謂定時(計數(shù))就是通過硬件或軟件的方法產(chǎn)生一個時間基準,以此來實現(xiàn)對系統(tǒng)的定時或延時控制。要實現(xiàn)定時或延時控制,有三種主要方法:軟件定時、純硬件定時及可編程的硬件定時器/計數(shù)器。.
1.軟件定時軟件定時的方法是:由于執(zhí)行每條指令都需要時間,則執(zhí)行一個程序段就需要一個固定的時間,通過適當?shù)靥暨x指令和安排循環(huán)次數(shù)來實現(xiàn)軟件的定時。這種方法由于要完全占用CPU的時間,因而降低了CPU的利用率。.
2.純硬件定時它采用固定的電路,如可以采用小規(guī)模集成電路555,外接電阻和電容構(gòu)成單穩(wěn)延時電路。這樣的定時電路簡單,而且通過改變電阻和電容,可以使定時在一定的范圍內(nèi)調(diào)整。但它由純硬件來完成,給使用帶來不便。.
3.可編程硬件定時器/計數(shù)器這是目前在控制系統(tǒng)中廣泛使用的方法,它通過編程來控制電路的定時值及定時范圍,功能強,使用靈活。在計算機系統(tǒng)中,象定時中斷、定時檢測、定時掃描等等都是用可編程定時器來完成定時控制的。Intel系列的8253、8254就是常用的可編程定時/計數(shù)器。.9.2可編程定時/計數(shù)器Intel8253/8254-PIT9.2.1Intel8253的主要性能和內(nèi)部結(jié)構(gòu)1.Intel8253的主要性能Intel8253-PIT有3個獨立的16位計數(shù)器,每個計數(shù)器都可以按照二進制或BCD碼進行計數(shù),計數(shù)速率可達2MHz(8254為10MHZ),每個計數(shù)器有6種工作方式,可編程設置和改變。它可用在多種場合,如方波發(fā)生器、分頻器、實時時鐘、事件計數(shù)等方面。.
2.Intel8253的內(nèi)部結(jié)構(gòu)⑴數(shù)據(jù)總線緩沖器它與CPU的數(shù)據(jù)總線相連,是8位雙向三態(tài)緩沖器。CPU通過這個緩沖器對8253進行讀/寫操作。⑵控制字寄存器此寄存器只能寫入而不能讀出。在8253初始化時,由CPU寫入控制字來設置計數(shù)器的工作方式。⑶計數(shù)器計數(shù)器0、計數(shù)器1、計數(shù)器2是三個完全獨立、結(jié)構(gòu)相同的計數(shù)器,每一個都是由一個16位的可預置的減法計數(shù)器構(gòu)成。.圖9.1Intel8253的內(nèi)部結(jié)構(gòu).9.2.2Intel8253的外部性能圖9.2Intel8253的外部引腳圖.GATE:門控信號,當GATE為低電平時,禁止計數(shù)器工作;GATE為高電平時,才允許計數(shù)器工作。CLK:計數(shù)脈沖輸入。OUT:脈沖輸出。當計數(shù)到“0”時,從OUT端輸出信號,輸出信號的波形取決于工作方式。CS、RD、WR、A0、A1共同結(jié)合,用于對8253進行端口操作,如表9-1所示。.表9-18253的端口選擇A1A0寄存器選擇和操作01000寫計數(shù)器001001寫計數(shù)器101010寫計數(shù)器201011寫控制字寄存器00100讀計數(shù)器000101讀計數(shù)器100110讀計數(shù)器200111無操作(三態(tài))1××××禁止(三態(tài))011××無操作(三態(tài)).9.2.3Intel8253的控制字和編程圖9.38253的控制字.SC1、SC0:這兩位決定這個控制字是哪一個計數(shù)器的控制字。RL1、RL0:設置數(shù)據(jù)讀/寫格式。在讀取計數(shù)值時,可令RL1、RL0=00,先將寫控制字時的計數(shù)值鎖存,然后再讀取。M2、M1、M0:設置每個計數(shù)器的工作方式。BCD:用于選擇每個計數(shù)器的計數(shù)制。在二進制計數(shù)時,計數(shù)初值的范圍是0000H~FFFFH,其中0000H是最大值,代表65536。在BCD碼計數(shù)時,計數(shù)初值的范圍中0000—9999,其中,0000是最大值,代表10000。.9.2.4Intel8253的工作方式Intel8253的每個計數(shù)器都有6種工作方式,這6種方式的主要區(qū)別是:輸出的波形不同,計數(shù)過程中GATE信號對計數(shù)操作的影響不同,啟動計數(shù)器的觸發(fā)方式不同等。
1.方式0—計數(shù)結(jié)束后輸出由低變高(計數(shù)結(jié)束中斷)該方式的波形如圖9.4所示,這種方式的特點是:.圖9.4方式0波形CLKGATE543201OUTCWWRN=5.GATE對OUT的影響322201CLKGATEOUTWRCWN=3.圖9.5方式0計數(shù)過程中改變計數(shù)初值.①寫入控制字后,OUT輸出端變?yōu)榈碗娖?。當寫入計?shù)初值后,計數(shù)器開始減1計數(shù)。在計數(shù)過程中OUT一直保持為低電平,直到計數(shù)到0時,OUT輸出變?yōu)楦唠娖?。此信號可用于向CPU發(fā)出中斷請求。②計數(shù)器只計數(shù)一遍。當計數(shù)到0時,不恢復計數(shù)初值,不開始重新計數(shù),且輸出一直保持為高電平。只有在寫入新的計數(shù)值時,OUT才變低,并開始新的計數(shù)。.③GATE是門控信號,GATE=1時允許計數(shù),GATE=0時,禁止計數(shù)。在計數(shù)過程中,如果GATE=0則計數(shù)暫停,當GATE=1后接著計數(shù)。④在計數(shù)過程中可改變計數(shù)值。若是8位計數(shù),在寫入新的計數(shù)值后,計數(shù)器將按新的計數(shù)值重新開始計數(shù)。如果是16位計數(shù),在寫入第一個字節(jié)后,計數(shù)器停止計數(shù),在寫入第二個字節(jié)后,計數(shù)器按照新的計數(shù)值開始計數(shù)。如圖9.5所示。.
2.方式1—可編程序的單拍脈沖(可編程單穩(wěn)態(tài)觸發(fā)器)方式1的波形如圖7.6所示,其特點是:①寫入控制字后,輸出OUT將保持為高電平,計數(shù)由GATE啟動。GATE啟動之后,OUT變?yōu)榈碗娖?,當計?shù)到0時,OUT輸出高電平,從而在OUT端輸出一個負脈沖,負脈沖的寬度為N個(計數(shù)初值)CLK的脈沖寬度。②當計數(shù)到0后,不用送計數(shù)值,可再次由GATE脈沖啟動,輸出同樣寬度的單拍脈沖。.③在計數(shù)過程中,可改變計數(shù)初值,此時計數(shù)過程不受影響。如果再次觸發(fā)啟動,則計數(shù)器將按新輸入的計數(shù)值計數(shù)。④在計數(shù)未到0時,如果GATE再次啟動,則計數(shù)初值將重新裝入計數(shù)器,并重新開始計數(shù)。.圖9.6方式1波形12120CLKGATEOUTWRCWN=2.
3.方式2——頻率發(fā)生器(分頻器)方式2的波形如圖9.7所示,它的特點是:①寫入控制字后,輸出將變?yōu)楦唠娖?。寫入計?shù)值后,計數(shù)立即開始。在計數(shù)過程中輸出始終為高電平,直至計數(shù)器減到1時,輸出將變?yōu)榈碗娖健=?jīng)過一個CLK周期,輸出恢復為高,且計數(shù)器開始重新計數(shù)。因此,它能夠連續(xù)工作,輸出固定頻率的脈沖。.圖9.7方式2波形CLKGATEOUTWRCWN=3TOUT=N*TCLK1321233.②如果計數(shù)值為N,則每輸入N個CLK脈沖,輸出一個脈沖。因此,相當于對輸入脈沖的N分頻。通過對N賦不同的初值,即可在輸出端得到所需的頻率,起到頻率發(fā)生器的作用。③計數(shù)過程可由門控脈沖控制。當GATE=0時,暫停計數(shù);當GATE變高自動恢復計數(shù)初值,重新開始計數(shù)。④在計數(shù)過程中可以改變計數(shù)值,這對正在進行的計數(shù)過程沒有影響。但在計數(shù)到1時輸出變低,經(jīng)過一個CLK周期后輸出又變高,計數(shù)器將按新的計數(shù)值計數(shù)。.
4.方式3—方波發(fā)生器方式3的波形如圖9.8所示。它的特點是:①輸出為周期性的方波。若計數(shù)值為N,則輸出方波的周期是N個CLK脈沖的寬度。圖9.8方式3波形2143342CLKGATEOUTWRCWN=4TOUT=N*TCLK.②寫入控制字后,輸出將變?yōu)楦唠娖?當寫入計數(shù)初值后,就開始計數(shù),輸出仍為高電平;當計數(shù)到初值一半時,輸出變?yōu)榈碗娖?,直至計?shù)到0,輸出又變?yōu)楦唠娖剑匦麻_始計數(shù)。③若計數(shù)值為偶數(shù),則輸出對稱方波。如果計數(shù)值為奇數(shù),則前(N+1)/2個CLK脈沖期間輸出為高電平,后(N—1)/2個CLK脈沖期間輸出為低電平。④GATE信號能使計數(shù)過程重新開始。GATE=1允許計數(shù),GATE=0禁止計數(shù)。停止后OUT將立即變高開,當GATE再次變高以后,計數(shù)器將重新裝入計數(shù)初值,重新開始計數(shù)。.
5.方式4——軟件觸發(fā)選通方式4的波形如圖9.9所示,它種方式的特點是:①寫入控制字后,輸出為高電平。寫入計數(shù)值后立即開始計數(shù)(相當于軟件觸發(fā)啟動),當計數(shù)到0后,輸出一個時鐘周期的負脈沖,計數(shù)器停止計數(shù)。只有在輸入新的計數(shù)值后,才能開始新的計數(shù)。②當GATE=1時,允許計數(shù),而GATE=0,禁止計數(shù)。GATE信號不影響輸出。③在計數(shù)過程中,如果改變計數(shù)值,則按新計數(shù)值重新開始計數(shù)。如果計數(shù)值是16位,則在設置第一字節(jié)時停止計數(shù),在設置第二字節(jié)后,按新計數(shù)值中開始計數(shù)。.圖9.9方式4波形21034CLKGATEOUTWRCWN=4.
6.方式5——硬件觸發(fā)選通方式5的波形如圖7.10所示,這這種方式的特點是:①寫入控制字后,輸出為高電平。在設置了計數(shù)值后,計數(shù)器并不立即開始計數(shù),而是由門控脈沖的上升沿觸發(fā)啟動。當計數(shù)到0時,輸出一個CLK周期的負脈沖,并停止計數(shù)。當門控脈沖再次觸發(fā)時才能再計數(shù)。②在計數(shù)過程中如果再次用門控脈沖觸發(fā),則使計數(shù)器重新開始計數(shù),此時輸出還保持為高電平,直到計數(shù)為0,才輸出負脈沖。③如果在計數(shù)過程中改變計數(shù)值,只要沒有門控信號的觸發(fā),不影響計數(shù)過程。當有新的門控脈沖的觸發(fā)時,不管是否計數(shù)到0,都按新的計數(shù)值計數(shù)。.圖9.10方式5波形04312CLKGATEOUTWRCWN=4.8253工作方式小結(jié)8253芯片的每個計數(shù)通道都有6種工作方式可供選擇,可從以下3個方面加以區(qū)分:(1)OUT端的輸出波形不同(2)計數(shù)過程的啟動方式不同(3)計數(shù)過程中門控信號GATE對計數(shù)操作產(chǎn)生的影響不同8253的6種工作方式功能、輸出波形特點,觸發(fā)方式等內(nèi)容比較如表9-1所示.表9-18253的6種工作方式比較工作方式功能輸出波形觸發(fā)性質(zhì)方式0計數(shù)結(jié)束中斷寫入初值后,OUT端變低,經(jīng)過N+1個CLK后,OUT變高軟件觸發(fā)的單次負脈沖方式1可編程單穩(wěn)態(tài)觸發(fā)器輸出寬度為N個時鐘周期的負脈沖硬件觸發(fā)的單次負脈沖方式2頻率發(fā)生器輸出寬度為1個時鐘周期的負脈沖自動觸發(fā)連續(xù)的脈沖波方式3方波發(fā)生器N為偶數(shù)時占空比為1/2;N為奇數(shù)時輸出(N+1)/2正脈沖,(N-1)/2個負脈沖;自動觸發(fā)連續(xù)的方波方式4軟件觸發(fā)選通寫入初值后,經(jīng)過N個時鐘周期,OUT端變低1個時鐘軟件觸發(fā)單次單拍負脈沖方式5硬件觸發(fā)選通門控觸發(fā)后,經(jīng)過N個時鐘周期,OUT端變低1個時鐘周期軟件觸發(fā)單次單拍負脈沖.GATE信號功能如表9-2所示
表9-2GATE信號功能表GATE工作方式低電平或變到低電平上升沿高電平方式0禁止計數(shù)不影響允許計數(shù)方式1不影響自動計數(shù)不影響方式2禁止計數(shù)并置OUT為高電平初始化計數(shù)允許計數(shù)方式3禁止計數(shù)并置OUT為高電平初始化計數(shù)允許計數(shù)方式4禁止計數(shù)不影響允許計數(shù)方式5不影響自動計數(shù)不影響.工作方式與裝入新初值的關系如表9-3所示
9-3工作方式與裝入新初值的關系工作方式裝入新的初值后計數(shù)過程的變化方式0立即有效方式1門控觸發(fā)后有效方式2下一個計數(shù)周期或門控觸發(fā)后有效方式3下一個計數(shù)周期或門控觸發(fā)后有效方式4立即有效方式5門控觸發(fā)后有效.9.2.5Intel8253的應用舉例1.初始化8253要使用8253,必須首先對其進行初始化,初始化有兩種方法:①對每個計數(shù)器分別進行初始化,先寫控制字,后寫計數(shù)值。如果計數(shù)值是16位的,則先寫低8位再寫高8位。②先寫所有計數(shù)器的方式字,再寫各個計數(shù)器的計數(shù)值。如果計數(shù)值是16位的,則先寫低8位再寫高8位。.例如:假設一個8253在某系統(tǒng)中的端口地址40H—43H,如果要將計數(shù)器0設置為設置為工作方式3,計數(shù)初值為3060H,采用二進制計數(shù)法,則初始化方法如下:MOV AL,36H ;設置控制字00110110(計數(shù)器0,方式3,寫兩個字節(jié),二進制計數(shù))OUT 43H,AL ;寫入控制寄存器MOV AX,3060H ;設置計數(shù)值OUT 40H,AL ;寫低8位至計數(shù)器0MOV AL,AHOUT 40H,AL ;寫高8位至計數(shù)器0.
2.8253在IBMPC/XT機的應用在IBMPC/XT機中,8253主要提供系統(tǒng)時鐘中斷、動態(tài)RAM的刷新定時及喇叭發(fā)聲控制等功能。8253的初始化是在計算機啟動時由BIOS完成的。圖9.11是8253在IBMPC/XT機的應用的示意圖從8284時鐘發(fā)生器來的頻率2.386364MHZ經(jīng)二分頻后作為8253三個計數(shù)器的時鐘輸入,8253在IBM-PC/XT中的端口地址為40H—43H,這三個計數(shù)器在系統(tǒng)中的初始化程序如下:.圖9.118253在IBM-PC/XT機的應用的示意圖.⑴計數(shù)器0用于定時中斷(約55ms)MOV AL,36H;計數(shù)器0,方式3,寫兩個字節(jié),二進制計數(shù)OUT 43H,AL;控制字送控制字寄存器MOV AL,0;計數(shù)值為最大值OUT 40H,AL;寫低8位OUT 40H,AL;寫高8位.⑵計數(shù)器1用于定時(15μs)DMA請求MOV AL,54H;計數(shù)器1,方式2,只寫低8位,二進制計數(shù)OUT 43,ALMOV AL,12H;初值為18OUT 41H,AL.⑶計數(shù)器3用于產(chǎn)生約900HZ的方波送至揚聲器MOV AL,B6H;計數(shù)器3,方式3,寫兩字節(jié),二進制計數(shù)OUT 43,ALMOV AX,0533H;計數(shù)初值為533HOUT 42H,AL;寫低8位MOV AL,AHOUT 42H,AL;寫高8位.例:在8086系統(tǒng)中,8253的各端口地址為81H、83H、85H和87H?,F(xiàn)提供時鐘頻率為2MHz,要求用8253來控制一個LED發(fā)光二極管的點亮和熄滅,點亮10s后再讓它熄滅10s,并重復上述過程。.分析:因為計數(shù)頻率為2MHZ,計數(shù)器的最大值為65536,所以最大的定時時間為0.5μs×65536=32.768ms,達不到20s的要求,因此需用兩個計數(shù)器級聯(lián)來解決問題。將2MHZ的時鐘信號直接加到CLK0輸入端,并讓計數(shù)器0工作在方式2,選擇計數(shù)初始值為5000.則從OUT0端可得到頻率為2MHZ/5000=400HZ的脈沖,周期為0.25ms。再將該信號連到CLK1輸入端,并將計數(shù)器1工作在方式3下,為了使OUT1輸出周期為20s(頻率為1/20=0.05HZ)的方波,應取時間常數(shù)N1=400HZ/0.05=8000。硬件連接圖如下圖.CSA1D7-D0A0OUT0WROUT1RDCLK1CLK0GATE0GATE1I/O譯碼A7-A0M/IO+5V2MHZLEDD7-D0RDWRA1A0連接圖.源程序:MOVAL,00110101B;計數(shù)器0控制字內(nèi)容送AL,先低后高,方式2,BCD計數(shù)OUT87H,AL;寫計數(shù)器0控制字MOVAL,00H;計數(shù)器初始值低8位OUT81H,ALMOVAL,50H;計數(shù)器初始值高8位OUT81H,ALMOVAL,01110111B;計數(shù)器1控制字內(nèi)容送AL,先低后高,方式3,BCD計數(shù)OUT87H,AL;寫計數(shù)器1控制字MOVAL,00H;計數(shù)器初始值低8位OUT83H,ALMOVAL,80H;計數(shù)器初始值高8位OUT83H,AL
.9.3Intel8254-PIT簡介Intel8254是Intel8253的改進型,它們在操作方式及引腳排列上完全相同。相比8253,8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車間安全生產(chǎn)協(xié)議書
- 防止股東競爭協(xié)議書
- 買賣房車庫合同協(xié)議書
- 體育生紀律管理協(xié)議書
- 勞動培訓簽服務協(xié)議書
- ktv股東合同協(xié)議書
- 餐館合股開店協(xié)議書
- 鋁礦施工合作協(xié)議書
- 購車簽訂免責協(xié)議書
- 黃山定點醫(yī)藥協(xié)議書
- 中國鐵路西安局招聘高校畢業(yè)生考試真題2024
- (五調(diào))武漢市2025屆高三年級五月模擬訓練生物試卷(含答案)
- 2023北京初三一模數(shù)學試題匯編:代數(shù)綜合(第26題)
- 畢業(yè)設計產(chǎn)品包裝設計
- 2025-2030年中國服務器行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 安全生產(chǎn)月活動查找身邊安全隱患人人講安全個個會應急課件
- 2025年1月浙江省高考英語試卷(含答案解析)+聽力錄音稿+聽力音頻
- 【MOOC】線性代數(shù)-浙江大學 中國大學慕課MOOC答案
- 江蘇省啟東市高中數(shù)學 第二章 平面向量 第6課時 2.3.2 向量的坐標表示(1)教案 蘇教版必修4
- 社會主義發(fā)展簡史智慧樹知到課后章節(jié)答案2023年下北方工業(yè)大學
- 化工原理課程設計-吸收塔
評論
0/150
提交評論