CH8 可編程計數(shù)器定時器8253及應(yīng)用.ppt_第1頁
CH8 可編程計數(shù)器定時器8253及應(yīng)用.ppt_第2頁
CH8 可編程計數(shù)器定時器8253及應(yīng)用.ppt_第3頁
CH8 可編程計數(shù)器定時器8253及應(yīng)用.ppt_第4頁
CH8 可編程計數(shù)器定時器8253及應(yīng)用.ppt_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第八章 可編程計數(shù)器/定時器8253及應(yīng)用,8-1 8253工作原理 一、8253的內(nèi)部結(jié)構(gòu)與引腳信號 二、8253的初始化編程 三、8253的工作方式 四、8253與系統(tǒng)的連接 8-2 8253的應(yīng)用舉例 一、8253定時功能舉例 二、8253計數(shù)功能舉例,教材第八章內(nèi)容,8-1 8253工作原理,計算機中,經(jīng)常用到定時功能,如:動態(tài)RAM刷新、系統(tǒng)時間、日歷、定時檢測參數(shù)等都需要定時信號。 實現(xiàn)定時功能主要有三種方法: 1、軟件定時 2、不可編程的硬件定時 3、可編程的硬件定時,軟件定時(也稱軟件延時) 定時時間由軟件編程(循環(huán)執(zhí)行某段程序)來控制。方法簡單、費用低;但CPU的利用率低。

2、不可編程的硬件定時 定時時間由不可編程器件和外圍電路控制,通過改變電路參數(shù),可在一定的范圍內(nèi)改變定時時間,定時精度不高。如:555芯片。 可編程的硬件定時 定時時間和范圍是通過軟件對可編程器件進行編程控制,由CPU的時鐘信號提供時間基準(zhǔn),定時精確。與CPU并行工作,效率高,應(yīng)用比較廣泛,如8253,8254。,三種定時方法,Intel 8253是一種可編程的計數(shù)器/定時器芯片。 8253內(nèi)部具有3個獨立的16位計數(shù)器通道,通過對它進行編程,每個計數(shù)器通道均有6種工作方式,并且都可以按2進制或10進制2種格式進行計數(shù),最高計數(shù)頻率能達(dá)到2MHz。 8253還可用作可編程方波頻率產(chǎn)生器、分頻器、程

3、控單脈沖發(fā)生器等。,8253綜述,一、8253的內(nèi)部結(jié)構(gòu)與引腳信號,1、數(shù)據(jù)總線緩沖器 一個8位雙向的三態(tài)緩沖器,作為8253和系統(tǒng)數(shù)據(jù)總線之間的接口;實現(xiàn)CPU與8253之間數(shù)據(jù)的傳送; 傳送信息包括: 進行初始化編程時的控制字 向某一計數(shù)器通道寫入的計數(shù)初值 從某一計數(shù)器通道讀出的當(dāng)前計數(shù)值,各部分功能簡介,2、讀/寫控制邏輯 接收系統(tǒng)送來的地址和讀寫信號,組合后形成控制信號對各部分操作進行控制。,各部分功能簡介,3、計數(shù)器02 8253內(nèi)部包含3個完全相同且獨立的計數(shù)器通道 每個通道的內(nèi)部構(gòu)成: 一個8位的控制字寄存器 一個16位的計數(shù)初值寄存器(CR) 一個16位計數(shù)器執(zhí)行部件(CE)

4、 16位的輸出鎖存器(OL) 每個通道的外部引腳:CLK、GATE、OUT 工作原理:設(shè)置工作方式、預(yù)置初值、減1計數(shù) 兩種功能:計數(shù)、定時,各部分功能簡介,4、控制字寄存器 CPU用輸出指令向它寫入控制字,設(shè)置8253工作環(huán)境 控制字格式:,各部分功能簡介,0 0 0 方式0 0 0 1 方式1 X 1 0 方式2 X 1 1 方式3 1 0 0 方式4 1 0 1 方式5,選擇計數(shù)器 00 選擇計數(shù)器0的控制寄存器 01 選擇計數(shù)器1的控制寄存器 10 選擇計數(shù)器2的控制寄存器 11 非法值,00 將計數(shù)器中CE的數(shù)據(jù)鎖存到輸出鎖存器OL中 01 選計數(shù)器的低8位字節(jié)讀/寫 10 選計數(shù)器

5、的高8位字節(jié)讀/寫 11 計數(shù)器兩次操作(先低位,后高位),讀出,寫入計數(shù)器,8253的初始化編程按順序分兩步完成: 寫入控制字;寫入計數(shù)初值 1、寫入控制字 由OUT指令向控制字寄存器寫入,用來選定計數(shù)器通道、規(guī)定該計數(shù)器的工作方式和計數(shù)方式。 寫入控制字還起到復(fù)位作用,使輸出端OUT變?yōu)橐?guī)定的初始狀態(tài),并使計數(shù)器清0。,二、8253的初始化編程,2、寫入計數(shù)初值 由OUT指令向某計數(shù)器送一個計數(shù)初值,可以是8/16位數(shù)據(jù)。 若是8位數(shù),一條OUT指令即可完成初值的設(shè)置;若是16位數(shù),必須用兩條OUT指令來完成,且先送低8位數(shù)據(jù),后送高8位數(shù)據(jù)。 【注意】 若計數(shù)初值為0時,要分成兩次寫入。

6、0在二進制計數(shù)方式時,表示65536,BCD計數(shù)方式時,表示10000。 三個計數(shù)器初始化沒有先后順序。,【例】 某微機系統(tǒng)中,8253的3個計數(shù)器端口地址分別為3F0H、3F2H和3F4H,控制端口地址為3F6H,若要求8253的通道0工作于方式3,計數(shù)初值N0=1234,BCD方式計數(shù),編寫初始化程序。,初始化編程舉例,初始化程序段如下: MOV AL,00110111B MOV DX,3F6H OUT DX,AL MOV AL,34H MOV DX,3F0H OUT DX,AL MOV AL,12H OUT DX,AL,門控信號GATE的控制功能,1、方式0計數(shù)結(jié)束中斷方式 時序圖,三、

7、8253的工作方式,8253方式0,CW=10H,CLK,GATE,OUT,LSB=6,6,5,4,3,2,1,0,CRCE,CR=6,工作過程 寫入控制字,OUT立即變?yōu)榈停?寫初值到計數(shù)寄存器(CR),若GATE為高電平,下一個時鐘脈沖的下降沿將初值裝入計數(shù)執(zhí)行部件(CE),才開始減1計數(shù); 計數(shù)期間,OUT一直為低;當(dāng)計數(shù)結(jié)束(計數(shù)值為0),OUT變?yōu)楦撸⒁恢北3值街匦卵b入初值或設(shè)置新的工作方式。 用途:方式0常用來對外部事件計數(shù),利用OUT由低到高的變化中斷請求信號。,8253方式0,兩種特殊情況:,8253方式0,CW=10H,CLK,GATE,OUT 1 0,LSB=4,4,3,

8、2,2,2,1,0,CRCE,CR=4,GATE門控信號的改變,兩種特殊情況:,8253方式0,CR=3,CW=10H,CLK,GATE,OUT,LSB=3,3,2,1,3,2,1,0,CRCE,CR=3,中途改變計數(shù)初值,2、方式1可編程單穩(wěn)態(tài)輸出方式 時序圖,8253方式1,1,2,CW=12H,CLK,GATE,OUT,LSB=3,3,0,CR=3,工作過程 寫入控制字,OUT立即變?yōu)楦?,并保持不變?寫計數(shù)初值N,只有當(dāng)GATE形成一個上升沿時,才在下一個時鐘脈沖的下降沿,將n裝入實際計數(shù)器,同時OUT由高變?yōu)榈停_始減1計數(shù)(再來一個脈沖)。 計數(shù)期間,OUT一直為低;當(dāng)計數(shù)結(jié)束(計

9、數(shù)值為0),OUT變?yōu)楦摺?用途:輸出穩(wěn)態(tài)負(fù)脈沖 OUT端輸出負(fù)脈沖的寬度=時鐘脈沖寬度計數(shù)值N。,8253方式1,注意: 在計數(shù)過程中,GATE為高、低和下降沿,均不影響計數(shù);但若又來一上升沿,則將計數(shù)初值重新裝入實際計數(shù)器,重新開始計數(shù),使OUT端的負(fù)脈沖變長;,8253方式1,3、方式2比率發(fā)生器 時序圖,8253方式2,CRCE,CRCE,CW=14H,CLK,GATE,OUT,LSB=3,3,2,1,0 3,2,1,0 3,CRCE,CR=3,2,1,工作過程 寫控制字,OUT為高。 寫計數(shù)初值,若GATE為高電平,則在下一個時鐘脈沖下降沿,將計數(shù)初值裝入CE,開始減1計數(shù)。 當(dāng)計數(shù)

10、值減為1時,OUT由高變低,減為0時,OUT又變?yōu)楦?,即OUT輸出一個時鐘周期的負(fù)脈沖;同時,自動將計數(shù)初值裝入計數(shù)執(zhí)行部件,開始新一輪的計數(shù)過程。 用途:分頻器 若計數(shù)器的初值為n,則OUT引腳產(chǎn)生的波形頻率為時鐘脈沖頻率的n分之一。,8253方式2,注意: (1)任何時候重新寫入新的計數(shù)初值,當(dāng)原計數(shù)值減為0時,才按新寫入的計數(shù)值進行計數(shù);(2)計數(shù)過程中,當(dāng)GATE再產(chǎn)生上升沿時,在下一個時鐘脈沖下降沿,重新將計數(shù)初值裝入實際計數(shù)器,開始減1計數(shù)。,8253方式2,4、方式3方波發(fā)生器 時序圖,8253方式3,CRCE,CW=16H,CLK,GATE,OUT,LSB=4,4,2,4,2,

11、4,2,4,CRCE,CR=4,2,4,計數(shù)初值為偶數(shù)時的波形,CRCE,CRCE,CRCE,8253方式3,2,CRCE,CW=16H,CLK,GATE,OUT,LSB=5,5,4,2,5,5,4,CR=5,2,5,計數(shù)初值為奇數(shù)時的波形,CRCE,CRCE,CRCE,5、方式4軟件觸發(fā)選通 時序圖,8253方式4,CR=2,CRCE,CW=18H,CLK,GATE,OUT,LSB=2,2,1,0,2,1,0,0,CRCE,CR=2,LSB=2,6、方式5硬件觸發(fā)選通 時序圖,8253方式5,1,2,CW=1AH,CLK,GATE,OUT,LSB=3,3,0 3,3,3,2,CR=3,7、各

12、種工作方式特點小結(jié) 方式0:寫入控制字后,OUT即變低,計數(shù)結(jié)束后,OUT由低變高;方式1 5:寫入控制字后,OUT均變高。 方式0、1和4:計數(shù)初值裝進計數(shù)器后,僅計數(shù)一次;方式2、3和5:計數(shù)值為0后,自動將計數(shù)初值裝進實際計數(shù)器。 啟動方式:方式0、4為軟件啟動;方式1、5為硬件啟動;方式2、3為軟件、硬件均可啟動,四、8253與系統(tǒng)的連接,應(yīng)用步驟: 與系統(tǒng)連接 設(shè)置工作方式 置計數(shù)初值 兩種功能: 定時功能應(yīng)用 計數(shù)功能應(yīng)用,8-2 8253的應(yīng)用舉例,軟件程序設(shè)計,硬件電路設(shè)計,【例1】用8253產(chǎn)生各種定時波形。 在某個以8086為CPU的系統(tǒng)中使用了一塊8253芯片,通道的基地

13、址為310H,所用的時鐘脈沖頻率為1MHz。要求3個計數(shù)通道分別完成以下功能: (1)通道0工作于方式3,輸出頻率為2kHz的方波; (2)通道1產(chǎn)生寬度為480us的單脈沖; (3)通道2用硬件方式觸發(fā),輸出單脈沖,時間常數(shù)為26。,一、8253定時功能舉例,分析: 8253端口地址 因8253基地址為310H,所以通道03、控制端口地址分別為310H,312H,314,316H。 各地址線電平要求如下:,硬件電路設(shè)計,工作方式選擇及初值計算 通道0工作于方式3,計數(shù)初值為N0=1MHz/2kHz=500。 通道1工作在方式1,計數(shù)初值為N1=480s/1s=480。 通道2工作在方式5,計

14、數(shù)初值為N2=26。,1)通道0初始化程序 MOV DX,316H ;控制口地址 MOV AL,00110111B ;通道0控制字 OUT DX,AL MOV DX,310H ;通道0地址 MOV AL,00H ;先寫低字節(jié) OUT DX,AL MOV AL,05H ;后寫高字節(jié) OUT DX,AL,初始化程序,2)通道1初始化程序 MOV DX,316H ;控制口地址 MOV AL,01110011B ;通道1控制字 OUT DX,AL MOV DX,312H ;通道1口地址 MOV AL,80H ;先寫低字節(jié) OUT DX,AL MOV AL,04H ;后寫高字節(jié) OUT DX,AL,初始

15、化程序,3)通道2初始化程序 MOV DX,316H MOV AL,10011011B ;通道2控制字 OUT DX,AL MOV DX,314H ;通道2地址 MOV AL,26H ;只寫入低字節(jié) OUT DX,AL,初始化程序,【例2】利用8253控制LED的點亮或熄滅。 要求:循環(huán)點亮10秒鐘后再讓它熄滅10秒鐘(周期為20秒),設(shè)計接口電路并編程實現(xiàn)。這里8253的各端口地址為81H,83H,85H和87H,時鐘信號頻率為2MHz。 分析: 總體思路 對8253編程,輸出周期為20秒的方波信號,就能使LED交替亮滅。,時間常數(shù)計算 輸出頻率:(1/20)Hz 時間常數(shù):2M/(1/20

16、)=40M 一個通道的計數(shù)初值最多為65536,所以采用多通道級聯(lián)的方法實現(xiàn)。讓通道0和通道1都工作在方式3,通道1的CLK端接通道0的OUT。只要滿足兩個計數(shù)初值的乘積為N0*N1=40M即可,所以通道0的計數(shù)初值若為:5000;則通道1的則為:8000。,硬件電路設(shè)計 這種設(shè)計加上適當(dāng)?shù)尿?qū)動電路后,便可以用在交通紅綠燈控制和燈塔等場合 。,8253的初始化程序 MOV AL,00110111B ;通道0 方式3 BCD計數(shù) OUT 87H,AL MOV AL,00H OUT 81H,AL MOV AL,50H OUT 81H,AL MOV AL,01110111B ;通道1 方式3 BCD

17、計數(shù) OUT 87H,AL MOV AL,00H OUT 83H,AL MOV AL,80H OUT 83H,AL,【例3】利用8253設(shè)計接口電路,對某工程生產(chǎn)線上的產(chǎn)品的數(shù)量進行統(tǒng)計。 硬件電路設(shè)計,二、8253計數(shù)功能舉例,光電晶體管,工作原理 無工件通過時,光電晶體管導(dǎo)通,集電極為低電平,經(jīng)74LS14整形后送到CLK1端; 有工件通過時,光電晶體管截止,集電極為高,整形后送到CLK1端,工件通過后又變?yōu)榈汀?每通過一個工件CLK1端得到一個正脈沖信號,利用8253對脈沖進行計數(shù),即可得到工件的個數(shù)。 這種計數(shù)方案也可以用于其他場合,如:統(tǒng)計在高速公路上行駛的車輛數(shù),進入工廠的人數(shù)。,

18、編程思路 選擇計數(shù)器1工作在方式0,二進制計數(shù)。若選取計數(shù)初值n499,則經(jīng)過500個脈沖OUT1端輸出一個正跳變。向CPU發(fā)出一次中斷請求(或作為CPU查詢的狀態(tài)信號),表示計滿500個,在程序中使工件總數(shù)加上500。同時由程序?qū)⒂嫈?shù)初值499再裝入計數(shù)器1,繼續(xù)進行計數(shù)。,8253的初始化程序 設(shè)8253的4個端口地址:F0H,F2H,F4H和F6H,則初始化程序為: MOV AL,01110000B OUT 0F6H,AL MOV AX,499 OUT 0F2H,AL MOV AL,AH OUT 0F2H,AL,8253計數(shù)值的讀取 利用指令讀取8253的當(dāng)前計數(shù)值,但由于讀取計數(shù)值時計數(shù)過程還在進行,其數(shù)值不穩(wěn)定,導(dǎo)致讀取的數(shù)據(jù)錯誤的。為防止這種情況發(fā)生,可采取下面兩種方法: 計數(shù)器停止計數(shù)。關(guān)閉CLK脈沖或使GATE信號變?yōu)榈?,用IN指令讀出計數(shù)值。缺點是正常的計數(shù)過程被干擾。 飛讀。在計數(shù)的過程中讀取數(shù)據(jù)。先對8253寫入一個控制字(RL1、RL0為00),將當(dāng)前計數(shù)值鎖存到輸出鎖存器,再用IN指令讀取輸出鎖存器的值。,上例中若求已計工件件數(shù),可執(zhí)行下面的程

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論