微型計算機原理及應用課件計數(shù)器8253A.ppt_第1頁
微型計算機原理及應用課件計數(shù)器8253A.ppt_第2頁
微型計算機原理及應用課件計數(shù)器8253A.ppt_第3頁
微型計算機原理及應用課件計數(shù)器8253A.ppt_第4頁
微型計算機原理及應用課件計數(shù)器8253A.ppt_第5頁
已閱讀5頁,還剩58頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第九章 計數(shù)器和定時電路,9.1 概述 9.2 8253的控制字 9.3 可編程定時/計數(shù)器的工作方式,定時舉例: 一天24小時的計時,稱為日時鐘。 在監(jiān)測系統(tǒng)中,對被測點的定時取樣。 在讀鍵盤時,為去抖,一般延遲一段時間,再讀。 在微機控制系統(tǒng)中,控制某工序定時啟動。,一、概述 1、定時與計數(shù)器的概念 定時器:在時鐘信號作用下,進行定時的減“1”計數(shù),定時時間到(減“1”計數(shù)回零),從輸出端輸出周期均勻、 頻率恒定的脈沖信號。 由上述可知,定時器強調(diào)的是精確的時間。,計數(shù)器: 在時鐘信號作用下,進行減“1”計數(shù),計數(shù)次數(shù)到(減1計數(shù)回零),從輸出端輸出一個脈沖信號。,計數(shù)舉例: 對零件和產(chǎn)品

2、的計數(shù); 對大橋和高速公路上車流量的統(tǒng)計等等。,Intel8253在微機系統(tǒng)中可用作定時器和計數(shù)器。定時時間與計數(shù)次數(shù)是由用戶事 先設(shè)定。,9.1 可編程計數(shù)/定時器8253/8254,定時/計數(shù)器的作用 生產(chǎn)線上統(tǒng)計產(chǎn)品的數(shù)目-計數(shù)器 系統(tǒng)的動態(tài)存儲器刷新-定時器 系統(tǒng)時鐘計時-定時器 揚聲器的頻率源-定時器 如何定時 軟件定時,優(yōu)點是節(jié)省硬件;缺點是執(zhí)行程序期間CPU一直被占用,降低了CPU效率 硬件定時,要用額外的硬件計數(shù)/定時器,但可提高CPU的利用率,8253基本功能,具有三個相互獨立的16位計數(shù)器通道 每個通道都可設(shè)定以6種工作方式之一進行計數(shù)/定時 每個計數(shù)器都可設(shè)為按二進制或B

3、CD碼計數(shù) 具有計數(shù)和定時功能,基于減1計數(shù)工作 定時器減為0后,可自動裝入定時常數(shù)初值,并產(chǎn)生輸出信號 在減1操作中,任何時刻計數(shù)器的值都可由CPU經(jīng)計數(shù)輸出寄存器讀取,8253引腳,8253引腳,8253與CPU的接口 8 位數(shù)據(jù)線:D0 D7 尋址控制線:A0、A0、/CS 讀寫控制線:/RD、/WR 8253與外設(shè)的接口 注: 三個獨立的計數(shù)器/定時器 時鐘輸入:CLK 輸入門控:GATE 波形輸出:OUT,8253寄存器選擇表,8253內(nèi)部結(jié)構(gòu),內(nèi)部的各計數(shù)器的結(jié)構(gòu),9.2 8253的控制字,例,將計數(shù)器2初始化為工作方式3,計數(shù)初值為533H,為二進制計數(shù)方式,設(shè)寄存器地址為40H

4、 43H 控制字,B6H,MOV AL,0B6H;計數(shù)器2,先低后高字節(jié) OUT 43H,AL;寫命令字 MOV AX,533H;計數(shù)初值 OUT 42H,AL;寫計數(shù)值低位 MOV AL,AH OUT 42H,AL;寫計數(shù)值高位,例,8253工作為計數(shù)器 1,方式 3,初值為4020D,77H,編程 MOV AL,77H OUT 43H,AL ;寫計數(shù)器 1 的控制字 MOV AL,20H OUT 41H,AL ;寫計數(shù)器 1 的低 8 位初值 MOV AL,40H OUT 41H,AL ;寫計數(shù)器 1 的高 8 位初值,例2:計數(shù)器0,工作在模式2,計數(shù)初值和輸出鎖存器僅使用低8位,初值為

5、100,計數(shù)值為二進制格式。 MOV AL,00010100B;控制字 OUT 73H,AL MOV AL,100 ;計數(shù)初值 OUT 70H,AL 例3.計數(shù)器1,工作在模式1,CR和OL使用16位,初值為1234,先寫入低8位,再寫高8位,計數(shù)值為BCD。,MOV AL,01110011B;控制字 OUT 73H,AL MOV AX,1234HBCD 1234 OUT 71H,AL;計數(shù)初值低8位 MOV AL,AH OUT 71H,AL;計數(shù)初值高8位,因8253是減計數(shù)器,故計數(shù)初值越大,則計數(shù)減至0所用時間(即定時時間)就越長,但由于8253是先減1,再判是否到0,故最長的定時時間是

6、設(shè)置計數(shù)初值為0,代表65536。 十進制計數(shù)時范圍是000110000,其中當計數(shù)初值寄存器為0000H代表十進制數(shù)10000。 計數(shù)取值范圍在二進制計數(shù)時是0001H10000H,其中10000H代表65536,在計數(shù)初值寄存器中的值是0000H。 可以從8253中讀出當前計數(shù)值,但其讀出過程是:先將當前計數(shù)初值寫入到輸出鎖存器,然后再從輸出鎖存器中讀出,在這同時,8253還在不停地進行減計數(shù),雖然輸出鎖存器中的值不變,但減計數(shù)單元卻在不斷地減計數(shù),因此,從輸出鎖存器中讀出的值并不一定是真正的當前計數(shù)值。,9.3 工作方式與功能,方式0:計數(shù)結(jié)束產(chǎn)生中斷輸出(軟件控制) 方式1:重復觸發(fā)的

7、單穩(wěn)輸出(硬件控制) 方式2:分頻器(軟件控制) 方式3:方波發(fā)生器(軟件控制) 方式4:選通信號發(fā)生器(軟件觸發(fā)) 方式5:選通信號發(fā)生器(硬件觸發(fā)),8253各工作方式的共同點,控制字寫入計數(shù)器時,所有控制邏輯立即復位,輸出端OUT進入初始態(tài) 寫入初值后,要經(jīng)過一個時鐘周期后計數(shù)執(zhí)行部件CE才開始工作 時鐘脈沖CLK的上升沿,門控信號GATE被采樣,方式0計數(shù)結(jié)束產(chǎn)生中斷,預置初值之后,OUT仍保持低電平。只有當計數(shù)器中計數(shù)值減為0時,OUT才會輸出高電平并維持 計數(shù)初值寄存器CR在延遲一個CLK脈沖后傳到CE中,因此N1個CLK脈沖后計數(shù)值才變?yōu)? GATE=0,計數(shù)停止;1,繼續(xù)計數(shù)

8、計數(shù)過程中可重寫或改變計數(shù)值,方式0特點: (1)計數(shù)器只計數(shù)一遍 (2)輸出信號OUT會在N+1個CLK脈沖后變高 (3)GATE變低電平可以停止計數(shù)過程 (4)改變計數(shù)立即有效,方式0初始化,設(shè)計數(shù)器0工作于方式0,8位二進制計數(shù),初值為9。端口地址為0E0H0E3H 初始化程序 MOVAL,10H;設(shè)計數(shù)器0,工作方式0 OUT0E3H,AL;寫入控制寄存器 MOVAL,9 ;設(shè)計數(shù)初值 OUT0E0H,AL;寫初值入計數(shù)器0的CR,方式1可重觸發(fā)的單穩(wěn)觸發(fā)器,門控信號GATE正脈沖啟動定時/計數(shù) 允許當前計數(shù)未完時的多次重觸發(fā),GATE再觸發(fā)后,OUT輸出會保持N個CLK脈寬的低電平

9、下個GATE正脈沖觸發(fā)信號到來時,會將新初值裝入CE中,使計數(shù)單元從新初值開始計數(shù),高電平,方式1特點: (1)計數(shù)到0后,如果有外部觸發(fā),就可以按原來的計數(shù)初值工作 (2)計數(shù)過程中GATE信號可以用作重新觸發(fā),計數(shù)器重新計數(shù) (3)改變計數(shù)初值并不是立即有效,只有等到下一個GATE上升沿,才將新初值裝入計數(shù)單元并按新初值啟動計數(shù)。,方式1初始化,設(shè)計數(shù)器1工作于方式1,BCD碼計數(shù),計數(shù)值為十進制4000。設(shè)端口地址為0E0H0E3H 16位計數(shù)初值,但由于計數(shù)值低8位為0,所以可以設(shè)定讀/寫操作控制段只寫高8位,CR低8位自動清0??刂谱譃?1100011B,初始值40H MOVAL,6

10、3H;設(shè)控制字 OUT0E3H,AL MOVAL,40H;設(shè)初值40H(高8位) OUT 0E1H,AL,方式2分頻器,計數(shù)器減到1時,OUT僅輸出一個CLK脈寬的低電平,然后自動裝入重新計數(shù) GATE由低變高會重新裝入初值 新初值在下次計數(shù)才起作用,方式2特點: (1)不用重新設(shè)置計數(shù)值,通道可以連續(xù)工作 (2)以GATE信號停止計數(shù)。在GATE變成高電平后的下一個CLK脈沖,計數(shù)器恢復原來的初值,重新計數(shù) (3)改變計數(shù)值不是立即有效,只有當計數(shù)值減至0時,下一輪計數(shù)過程按新初值進行。,方式2初始化,設(shè)計數(shù)器工作于方式2,二進制計數(shù),計數(shù)初值0304H。端口地址0E0H0E3H MOVAL

11、,0B4H;控制字 OUT0E3H,AL MOVAL,04H;計數(shù)器低字節(jié) OUT0E2H,AL MOVAL,03H;計數(shù)器高字節(jié) OUT 0E2H,AL,方式3方波發(fā)生器,與方式2類似,但其輸出方波或準方波 計數(shù)值完成一半時,使OUT變低,直到計數(shù)任務全部完成為止,OUT恢復為高 初值為偶數(shù)時,每次減1,直至n/2時OUT輸出變?yōu)榈碗娖?,然后又從初值開始,每次減1,直至n/2時OUT輸出變?yōu)楦唠娖?初值為奇數(shù)時,每次減1,減(n+1)/2次時, OUT輸出變?yōu)榈碗娖?,然后?N-1)/2開始,每次減一,直至為0,所以有(N+1)/2個脈寬的高電平,(N-1)/2個脈寬的低電平。 GATE由低

12、變高時,重新開始計數(shù),方式3特點: (1)GATE信號由低變高可以使計數(shù)過程重新開始 (2)改變計數(shù)初值并不影響現(xiàn)行的計數(shù)過程,方式3初始化,計數(shù)器0工作于方式3,二進制計數(shù),初值為4。端口地址為0E0H0E3H MOVAL,16H;控制字 OUT0E3H,AL MOVAL,4;初值 OUT0E0H,AL,方式4軟觸發(fā)的選通發(fā)生器,計數(shù)減到0時輸出一個脈寬的低電平 GATE由低到高時,計數(shù)器恢復工作,而不重置初值 計數(shù)過程中,新初值立即起作用,方式4特點: (1)如果設(shè)置計數(shù)初值為N,則輸出信號OUT會在N+1個CLK脈沖后輸出一個負脈沖。 (2)改變計數(shù)值為立即有效,方式4初始化,設(shè)計數(shù)器1

13、工作于方式4,二進制計數(shù),計數(shù)初值為3。端口地址為0E0H0E3H MOVAL,58H;控制字 OUT0E3H,AL MOVAL,3;初值 OUT0E1H,AL,方式5硬觸發(fā)的選通發(fā)生器,如方式1,方式5也是硬件觸發(fā) 計數(shù)器到0,輸出一個脈寬的負脈沖 允許當前計數(shù)未完時的多次重觸發(fā) GATE觸發(fā),按新初值計數(shù),6、方式5,WR,CLK,CW=1A,LSB=3,GATE,OUT,3,2,1,0,FF,3,方式5特點: (1)若設(shè)置計數(shù)值為N,則經(jīng)過N+1個CLK脈沖后OUT引腳輸出一個負脈沖 (2)GATE信號重新觸發(fā),可以令計數(shù)器重新計數(shù) (3)改變計數(shù)初值并不是立即有效,方式5初始化,設(shè)計數(shù)

14、器2工作于方式5,二進制計數(shù),計數(shù)初值為3,端口地址為0E0H0E3H MOV AL,9AH;控制字 OUT 0E3H,AL MOV AL,3;初始值 OUT 0E2H,AL,工作方式總結(jié),初始化編程的原則:,先寫入控制字,后設(shè)置計數(shù)初值; 設(shè)置初值的過程必須符合控制字中規(guī)定的格式。 計數(shù)-輸入信號為外部計數(shù)脈沖。 定時-輸入信號為已知準確的、固定周期時鐘。 定時時間 t=nTCK; n為計數(shù)初值,TCK為時鐘周期,方式 0 與方式 4 的比較(軟件控制),相同點 都是軟觸發(fā),無自動重裝入能力 寫入控制字及初值后,若GATE=H,CE開始減計數(shù) 當CE = 0 時,OUT改變電平狀態(tài),不同點

15、方式 0 在計數(shù)期間 OUT = L,計數(shù)結(jié)束 OUT = H,方式 4 在計數(shù)期間OUT=H,計數(shù)結(jié)束OUT=負脈沖,方式 1 與方式 5 的比較(硬件觸發(fā)),相同點 寫入控制字及初值后,若 GATE 輸入上升沿脈沖觸發(fā),CE開始減計數(shù), 當CE = 0時, OUT改變電平狀態(tài),不同點 方式 1 在計數(shù)期間 OUT = L,計數(shù)結(jié)束OUT = H,方式 5 在計數(shù)期間OUT=H,計數(shù)結(jié)束OUT=負脈沖,方式 2 與方式 3 的比較(波形輸出),相同點 均輸出連續(xù)周期波形,預置初值可自動重裝入 不同點 方式 2 輸出連續(xù)負脈沖周期波形 方式 3 輸出連續(xù)方波周期波形,8253讀出命令,MOV

16、AL,00000000B;鎖存 OUT 73H,AL IN AL,70H;當前計數(shù)值低8位 MOV BL,AL IN AL,70H;當前計數(shù)值高8位 MOV BH,AL;讀取后,OL的值又隨計數(shù)執(zhí)行部件變化,8253應用舉例,采用8253作定時/計數(shù)器,其接口地址為0120H0123H。 輸入8253的時鐘頻率為2MHz。 計數(shù)器0: 每10ms輸出1個CLK脈沖寬的負脈沖計數(shù)器1: 產(chǎn)生10KHz的連續(xù)方波信號 計數(shù)器2: 啟動計數(shù)5ms后OUT輸出高電平。 畫線路連接圖,并編寫初始化程序。,8253應用舉例(續(xù)),確定計數(shù)初值: CNT0: 10ms/0.5us = 20000 CNT1:

17、 2MHz/10KHz = 200 CNT2: 5ms/0.5us = 10000 確定控制字: CNT0:方式2,16位計數(shù)值 00 11 010 0 CNT1:方式3,低8位計數(shù)值 01 01 011 0 CNT2:方式0, 16位計數(shù)值 10 11 000 0,8253應用舉例(續(xù)),CLK0,GATE0,OUT1,D0D7,WR,RD,A1,A0,CS,DB,IOW,IOR,A1,A0,譯碼器,8253,CLK2,GATE1,GATE2,+5V,CLK1,2MHz,OUT0,OUT2,?,線路連接圖:,8253應用舉例 初始化程序,CNT0: MOV DX, 0123H MOV AL,

18、 34H OUT DX, AL MOV DX, 0120H MOV AX, 20000 OUT DX, AL,MOV AL, AH OUT DX, AL CNT1: CNT2: ,*如何讀出當前計數(shù)值,第1種方法在計數(shù)過程中讀計數(shù)值 先鎖存當前計數(shù)值,再用兩條輸入指令將16位計數(shù)值讀出。 第2種方法停止計數(shù)器再讀 用GATE信號使計數(shù)器停止,再規(guī)定RL1和RL0的讀寫格式,然后讀出。,9.3.4 8254與8253的比較,先讀入的是計數(shù)狀態(tài)信息,后是計數(shù)值,區(qū)別:計數(shù)頻率不同;控制命令功能不同。8254還具有讀回命令,8253應用舉例,在IBM PC/XT機中,8253-5是CPU外圍支持電路

19、之一,為系統(tǒng)電子鐘提供時間基準,為動態(tài)RAM刷新提供定時信號以及作為揚聲器的聲源等功能。 1. 硬件結(jié)構(gòu) 2. 計數(shù)器的預置程序,硬件結(jié)構(gòu),從8253-5在IBM PC/XT機中的連線圖中可知, 8253-5芯片的3個計數(shù)器使用相同的時鐘脈沖。CLK0CLK2的頻率是由8284時鐘發(fā)生器輸出的外部時鐘PCLK(2.38MHz)的1/2,即1.19MHz,這由U22分頻實現(xiàn)。8253-5的3個計數(shù)器端口地址為:40H、41H、42H; 控制寄存器端口 地址為43H。,計數(shù)器的預置程序,8253-5的3個計數(shù)器的預置程序如下: PR:MOV AL,36H;選擇計數(shù)器0,寫雙字節(jié)計數(shù)值,方式3,二進

20、制計數(shù) OUT 43H, AL ;寫控制字 MOV AL, 0 ;預置計數(shù)值65536 OUT 40H, AL ;先送低字節(jié)計數(shù)值 OUT 40H, AL ;后送高字節(jié)計數(shù)值 PR1: MOV AL, 54H ;選擇計數(shù)器1,讀/寫低字節(jié)計數(shù)值,方式2,二進制計數(shù) OUT 43H, AL MOV AL, 12H ;預置計數(shù)器初值18 OUT 41H, AL PR2: MOV AL, 0B6H;選擇計數(shù)器2,讀/寫雙字節(jié)計數(shù)值,方式3,二進制計數(shù) OUT 43H, AL MOV AX, 533H;送分頻數(shù)1331 OUT 42H, AL ;先送低字節(jié) MOV AL, AH OUT 42H, AL

21、 ;后送高字節(jié),3個計數(shù)器如下: 1. 計數(shù)器0 2. 計數(shù)器1 3. 計數(shù)器2,計數(shù)器0,計數(shù)器0為系統(tǒng)電子鐘提供時間基準,即向系統(tǒng)日歷時鐘提供定時中斷,其輸出端OUT0作為系統(tǒng)的中斷源接中斷控制器8259A的中斷請求端IRQ0。 它選用方式3工作,以產(chǎn)生周期性的方波信號。為此,對計數(shù)器0編程時應設(shè)置的控制字為36H。計數(shù)器初值預置為0(即最大值65536),GATE0接+5V,允許計數(shù)。因此,OUT0輸出方波的時鐘頻率為1.19MHz/65536=18.21Hz。它直接接到中斷控制器8259A的中斷請求端IR0(即圖中IRQ0),即0級中斷,每秒出現(xiàn)18.2次。因此,每間隔55ms產(chǎn)生一次0級中斷請求。并且,每一個輸出脈沖均以其正跳變產(chǎn)生一次中斷。CPU根據(jù)這一中斷可在中斷服務程序中進行計時。,計數(shù)器1,計數(shù)器1用作定時器,為動態(tài)RAM刷新提供定時信號,即向DMA控制器定

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論