第10章 定時器/計數(shù)器_第1頁
第10章 定時器/計數(shù)器_第2頁
第10章 定時器/計數(shù)器_第3頁
第10章 定時器/計數(shù)器_第4頁
第10章 定時器/計數(shù)器_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1第第10章章 定時定時/計數(shù)技術及接口計數(shù)技術及接口10.1 10.1 定時定時/計數(shù)技術概述計數(shù)技術概述 10.2 10.2 可編程定時器可編程定時器/計數(shù)器計數(shù)器8253/8254 10.3 825310.3 8253在微機系統(tǒng)中的應用在微機系統(tǒng)中的應用 10.1 定時定時/計數(shù)技術概述計數(shù)技術概述 10.1.1 10.1.1 系統(tǒng)的時間基準系統(tǒng)的時間基準 計算機為什么需要時間基準?計算機為什么需要時間基準?第一,計算機系統(tǒng)本身需要一個時間基準,以保證計算機第一,計算機系統(tǒng)本身需要一個時間基準,以保證計算機在確定時刻完成規(guī)定動作。在確定時刻完成規(guī)定動作。第二,用計算機構成的測控系統(tǒng)常被要

2、求能提供一些定時第二,用計算機構成的測控系統(tǒng)常被要求能提供一些定時和計數(shù)的功能和計數(shù)的功能 。計算機系統(tǒng)的時間基準:主時鐘頻率計算機系統(tǒng)的時間基準:主時鐘頻率(簡稱主頻) 10.1.2 系統(tǒng)定時分類系統(tǒng)定時分類 軟件定時:軟件定時: 用循環(huán)程序實現(xiàn)用循環(huán)程序實現(xiàn)定時定時: 簡單硬件定時:用硬件電路實現(xiàn)簡單硬件定時:用硬件電路實現(xiàn) 硬件定時:硬件定時: 可編程硬件定時:用可編程芯片實現(xiàn)可編程硬件定時:用可編程芯片實現(xiàn) (軟、硬件結合方式)(軟、硬件結合方式)系統(tǒng)定時分類系統(tǒng)定時分類2. 硬件定時硬件定時n硬件定時硬件定時由硬件電路來實現(xiàn)的定時。n優(yōu)點優(yōu)點減輕CPU的負擔,使得在定時期間CPU能做

3、 其它工作。 n不可編程的硬件定時不可編程的硬件定時555時基電路等n缺點:不易修改定時參數(shù),時間長了器件會老化。n可編程硬件定時可編程硬件定時8253定時/計數(shù)器等n優(yōu)點:定時參數(shù)和工作方式可由軟件來控制,定時 過程不需要CPU干預。 1. 軟件定時軟件定時 軟件定時:軟件定時:讓CPU執(zhí)行一段具有固定延時時間的循環(huán)程序來實 現(xiàn)的延時。是實現(xiàn)系統(tǒng)定時或延時控制的最簡單的方法。優(yōu)點優(yōu)點:不需要外加硬件電路且定時精確。缺點缺點:定時時間越長,CPU的開銷越大,而且不能響應中斷, 否則定時就不準確。10.2 可編程定時器可編程定時器/計數(shù)器計數(shù)器8253/8254 10.2.1 8253主要特性主

4、要特性 單一正單一正5V電源,電源,NMOS工藝制成。工藝制成。 片內具有片內具有3個獨立的個獨立的16位減法計數(shù)器(或稱計數(shù)位減法計數(shù)器(或稱計數(shù)通道)。通道)。 計數(shù)頻率為計數(shù)頻率為02MHz。 兩種計數(shù)方式:即二進制或兩種計數(shù)方式:即二進制或BCD方式計數(shù)。方式計數(shù)。 六種工作方式,既可對系統(tǒng)時鐘脈沖計數(shù)實現(xiàn)定六種工作方式,既可對系統(tǒng)時鐘脈沖計數(shù)實現(xiàn)定時,又可對外部事件進行計數(shù)。時,又可對外部事件進行計數(shù)。 可由軟件或硬件控制開始計數(shù)或停止計數(shù)??捎绍浖蛴布刂崎_始計數(shù)或停止計數(shù)。 10.2.2 8253 內部結構內部結構 8253 內部結構內部結構1. 數(shù)據(jù)總線緩沖器:數(shù)據(jù)總線緩沖器

5、:三態(tài)、雙向8位寄存器 CPU寫入的命令傳送的信息:傳送的信息: CPU寫入的計數(shù)初值 CPU讀出的當前計數(shù)值n 8254增加了回讀命令:CPU可讀出當前狀態(tài)8253 內部結構內部結構2. 讀讀/寫邏輯寫邏輯n讀讀/寫邏輯接收由寫邏輯接收由CPU發(fā)來的讀、寫信號和地址信號等,發(fā)來的讀、寫信號和地址信號等,選擇讀出或寫入寄存器,控制芯片完成讀寫操作。選擇讀出或寫入寄存器,控制芯片完成讀寫操作。3. 控制字寄存器控制字寄存器n控制字寄存器接收控制字寄存器接收CPU送來的控制命令。選擇計數(shù)器及送來的控制命令。選擇計數(shù)器及相應的工作方式。相應的工作方式。 控制字寄存器只能寫入,不能讀出??刂谱旨拇嫫髦?/p>

6、能寫入,不能讀出。8253 內部結構內部結構4. 計數(shù)器計數(shù)器n8253有三個獨立的計數(shù)通道 16位的計數(shù)單元(減位的計數(shù)單元(減1計數(shù)器)計數(shù)器)每個通道的組成:每個通道的組成: 16位初值寄存器(只寫)位初值寄存器(只寫) 16位輸出鎖存器位輸出鎖存器鎖存當前計數(shù)值鎖存當前計數(shù)值 控制單元控制單元控制該計數(shù)器的工作方式控制該計數(shù)器的工作方式 控制單元初值寄存器計數(shù)單元輸出鎖存器數(shù)據(jù)總線CLKOUTGATE圖圖10.2 計數(shù)器的內部邏輯計數(shù)器的內部邏輯 8253 內部結構內部結構計數(shù)初值寄存器:計數(shù)初值寄存器:用于存放計數(shù)初值(定時常數(shù)或稱分頻系數(shù)),最大計數(shù)值為65536(64K)。 計數(shù)

7、初值是在初始化時裝入計數(shù)初值寄存器的,計數(shù)初值在計數(shù)過程中保持不變。 計數(shù)單元:計數(shù)單元:用于進行減1計數(shù)操作,每來一個時鐘脈沖,它就作一次減1運算,直至將計數(shù)初值減為零。 當前計數(shù)值鎖存器:當前計數(shù)值鎖存器:用于鎖存減1計數(shù)器的內容,以供CPU讀出。8253 內部結構內部結構計數(shù)器工作原理:n初始化時n首先向計數(shù)通道裝入計數(shù)初值,送入計數(shù)初值寄存器n然后送到計數(shù)單元(減1計數(shù)器)。n計數(shù)啟動后(GATE允許),在時鐘脈沖CLK作用下,計數(shù)單元進行減1計數(shù),直到計數(shù)值減到0, OUT輸出端產(chǎn)生相應動作時,計數(shù)結束。計數(shù)初值寄存器的內容在計數(shù)過程中保持不變。n需要讀出當前計數(shù)值時,發(fā)鎖存命令,鎖

8、存器鎖定當前計數(shù)值,之后讀出當前計數(shù)值。10.2.3 8253外部特性外部特性 8253 的的 引引 腳腳 圖圖C SW RR DD7D6D5D4D3D2D1D0C L K0G N DVC CO U T0G A T E0A0A1C L K2O U T2G A T E2C L K1G A T E1O U T18 2 5 31234567891 01 11 21 31 41 51 61 71 81 92 02 12 22 32 48253外部特性外部特性n82538253的引腳分為兩部分:的引腳分為兩部分:1. 1. 與與CPU連接的引腳連接的引腳 CPU寫入的命令nD7D0:數(shù)據(jù)線(雙向,三態(tài))

9、,傳送 CPU寫入的計數(shù)初值 CPU讀出的當前計數(shù)值n :寫信號,用于控制完成寫操作n :讀信號,用于控制完成寫操作nA1、A0:地址線,用于尋址8253內部的4個端口n :片選信號,用于選中 8253芯片WRRDCSCS RD WR A1 A0 操操 作作 0 1 0 0 0 對計數(shù)器 0 設置計數(shù)初值 0 1 0 0 1 對計數(shù)器 1 設置計數(shù)初值 0 1 0 1 0 對計數(shù)器 2 設置計數(shù)初值 0 1 0 1 1 控制字寫入控制寄存器 0 0 1 0 0 從計數(shù)器 0 讀計數(shù)值 0 0 1 0 1 從計數(shù)器 1 讀計數(shù)值 0 0 1 1 0 從計數(shù)器 2 讀計數(shù)值 0 0 1 1 1 無

10、操作,三態(tài) 0 1 1 X X 無操作,三態(tài) 1 X X X X 未選中 表表10.1 8253端口操作中各信號組合所實現(xiàn)的功能端口操作中各信號組合所實現(xiàn)的功能 8253外部特性外部特性2. 2. 與外設的接口引腳與外設的接口引腳 nCLK02:計數(shù)時鐘,輸入。用于輸入定時脈沖或計數(shù)脈計數(shù)時鐘,輸入。用于輸入定時脈沖或計數(shù)脈沖信號。沖信號。nGATEGATE0 02 2:門控信號,輸入。用于外部控制計數(shù)器的啟動門控信號,輸入。用于外部控制計數(shù)器的啟動計數(shù)和停止計數(shù)的操作。計數(shù)和停止計數(shù)的操作。 nOUTOUT0 02 2:計數(shù)輸出端。當計數(shù)器從初值開始完成計數(shù)操作計數(shù)輸出端。當計數(shù)器從初值開始

11、完成計數(shù)操作時,時,OUTOUT引腳上輸出相應的信號。引腳上輸出相應的信號。 10.2.4 8253方式控制字(方式控制字(CW) 8253控控制制字字的的格格式式D7D6D5D4D3D2D1D00=二進制二進制1=二二十進制十進制工作方式選擇工作方式選擇000=方式方式0001=方式方式1X10= 方式方式2X11=方式方式3100=方式方式4101=方式方式5通道尋址通道尋址00=通道通道001=通道通道110=通道通道211=不用不用讀寫操作讀寫操作00=鎖定當前計數(shù)值鎖定當前計數(shù)值01=讀讀/寫計數(shù)器低寫計數(shù)器低8位位10=讀寫計數(shù)器高讀寫計數(shù)器高 8位位11=先讀先讀/寫計數(shù)器低寫計

12、數(shù)器低 8 位位再讀再讀/ /寫計數(shù)器高寫計數(shù)器高8 8位位 例:選擇例:選擇2 2號計數(shù)器,工作在方式號計數(shù)器,工作在方式3 3 ,計數(shù)初值為,計數(shù)初值為533H533H(2 2個字個字節(jié)),采用二進制計數(shù)。設節(jié)),采用二進制計數(shù)。設82538253的端口地址為的端口地址為304304H H307H307H。則其初始則其初始化程序段為化程序段為: : MOV DX,307H ;命令口;命令口 MOV AL,10110110 B ;2號計數(shù)器的初始化命令字號計數(shù)器的初始化命令字 OUT DX,AL ;寫入命令寄存器;寫入命令寄存器 MOV DX,306H ;2號計數(shù)器數(shù)據(jù)口號計數(shù)器數(shù)據(jù)口 MO

13、V AX,533H ;計數(shù)初值;計數(shù)初值 OUT DX,AL ;選送低字節(jié)到;選送低字節(jié)到2號計數(shù)器號計數(shù)器 MOV AL,AH ;取高字節(jié)送;取高字節(jié)送AL OUT DX,AL ;后送高字節(jié)到;后送高字節(jié)到2號計數(shù)器號計數(shù)器方波發(fā)生器(1) 工作方式編程舉例工作方式編程舉例工作方式工作方式3為輸出方波為輸出方波10.2.5 8253控制字的應用控制字的應用(2) 讀當前計數(shù)值讀當前計數(shù)值 在事件計數(shù)器的應用中,需要讀出計數(shù)過程中的當前計在事件計數(shù)器的應用中,需要讀出計數(shù)過程中的當前計數(shù)值,以便根據(jù)這個值做計數(shù)判斷。數(shù)值,以便根據(jù)這個值做計數(shù)判斷。 例:要求讀出并檢查例:要求讀出并檢查1 1號

14、計數(shù)器的當前計數(shù)值是否是全號計數(shù)器的當前計數(shù)值是否是全“1 1”。 設設82538253的端口地址為的端口地址為304304H H307H 307H ,假定只讀低,假定只讀低8 8位計位計數(shù)值數(shù)值。其程序段為:其程序段為: MOV DX, 307H ;命令口;命令口 L: MOV AL,01000000B ;1號計數(shù)器的鎖存命令號計數(shù)器的鎖存命令 OUT DX,AL ;寫入命令寄存器;寫入命令寄存器 MOV DX,305H ;指向;指向1號計數(shù)器數(shù)據(jù)端口號計數(shù)器數(shù)據(jù)端口 IN AL,DX ;讀;讀1號計數(shù)器的當前計數(shù)值號計數(shù)器的當前計數(shù)值 CMP AL,0FFH ;比較;比較 JNE L ;非

15、全;非全“1”,再讀,再讀 HLT ;是全;是全“1”,暫停,暫停 10.2.6 8253 初始化編程初始化編程 n初始化編程的具體步驟為:初始化編程的具體步驟為: 1. 寫入計數(shù)器的控制字,規(guī)定其工作方式等;寫入計數(shù)器的控制字,規(guī)定其工作方式等; 2. 寫入計數(shù)初值。寫入計數(shù)初值。n若規(guī)定只寫低若規(guī)定只寫低8位,則寫入的為計數(shù)值的低位,則寫入的為計數(shù)值的低8位,高位,高8位自動置位自動置0;n若規(guī)定只寫高若規(guī)定只寫高8位,則寫入的是計數(shù)值的高位,則寫入的是計數(shù)值的高8位,低位,低8位自動置位自動置0;n若規(guī)定寫若規(guī)定寫16位計數(shù)值,則分兩次寫入,先寫的必是低位計數(shù)值,則分兩次寫入,先寫的必是

16、低8位,后寫的必是高位,后寫的必是高8位。位。 n解:解:1按要求找出所用計數(shù)器的控制字按要求找出所用計數(shù)器的控制字 選計數(shù)器選計數(shù)器0 只寫低只寫低8位位 選工作方式選工作方式0 二進制計數(shù)二進制計數(shù) 選計數(shù)器選計數(shù)器1 只寫高只寫高8位位 選工作方式選工作方式2 BCD計數(shù)計數(shù) 0 0 0 1 0 0 0 0 0 1 1 0 0 1 0 1 例例10.1:n某微機系統(tǒng)中某微機系統(tǒng)中8253的端口地址為的端口地址為40H43H,要求計數(shù)器要求計數(shù)器0工作在方式工作在方式0,計數(shù)初值為,計數(shù)初值為FFH,按二進制計數(shù);計數(shù)器按二進制計數(shù);計數(shù)器1工工作在方式作在方式2,計數(shù)初值為,計數(shù)初值為1

17、000,按,按BCD碼計數(shù)。試寫出初始碼計數(shù)。試寫出初始化程序段?;绦蚨巍S嫈?shù)器計數(shù)器0的的控制字控制字:計數(shù)器計數(shù)器1的的控制字:控制字:例例10.1:2初始化程序段MOV AL,10H ;寫通道0控制字OUT 43H,ALMOV AL, 0FFH ;寫通道0計數(shù)初值OUT 40H,AL MOV AL, 65H ;寫通道1控制字OUT 43H,AL MOV AL, 10H ;寫通道1計數(shù)初值OUT 41H,AL 例10.2: n設8253端口地址為FFF0HFFF3H,要求計數(shù)器2工作在方式5,二進制計數(shù),初值為F03FH。試按上述要求完成8253的初始化。n解: 選計數(shù)器2 寫低8位 選

18、工作方式5 二進制計數(shù) 再寫高8位 1 0 1 1 1 0 1 0 1控制字控制字例10.2:2 2初始化程序段初始化程序段MOV DX,0FFF3H ;DX指向控制端口MOV AL, 0BAH ;寫控制字OUT DX,AL MOV DX,0FFF2H ;DX指向通道2MOV AL, 3FH ;寫初值低8全OUT DX,ALMOV AL, 0F0H ;寫初值高8位OUT DX,AL通常,在時鐘脈沖通常,在時鐘脈沖CLK的上升沿,門控信號的上升沿,門控信號GATE被采樣。對于一種被采樣。對于一種給定的工作方式,門控信號的觸發(fā)方式有具體規(guī)定,即或者用電平觸給定的工作方式,門控信號的觸發(fā)方式有具體規(guī)

19、定,即或者用電平觸發(fā),或者用邊沿觸發(fā)。發(fā),或者用邊沿觸發(fā)。方式方式0、4中,門控信號為電平觸發(fā);中,門控信號為電平觸發(fā);方式方式1、5中,門控信號為上升沿觸發(fā);中,門控信號為上升沿觸發(fā);方式方式2、3中,既可用電平觸發(fā),也可用上升沿觸發(fā)。中,既可用電平觸發(fā),也可用上升沿觸發(fā)。在時鐘脈沖的下降沿,計數(shù)器作減在時鐘脈沖的下降沿,計數(shù)器作減1計數(shù)。計數(shù)。0是計數(shù)器所能容納的最大是計數(shù)器所能容納的最大值值,因為用二進制計數(shù)時,因為用二進制計數(shù)時,16位計數(shù)器中,位計數(shù)器中,0相當于相當于216;用;用BCD碼計碼計數(shù)時,數(shù)時,0相當于相當于104。 幾條基本原則:幾條基本原則:n控制字寫入計數(shù)器時,所

20、有的控制邏輯電路立即復位,輸出端控制字寫入計數(shù)器時,所有的控制邏輯電路立即復位,輸出端OUT進進入初始狀態(tài)(高電平或者低電平)。入初始狀態(tài)(高電平或者低電平)。n初值寫入以后,要經(jīng)過一個時鐘上升沿和一個時鐘下降沿,計數(shù)執(zhí)行部初值寫入以后,要經(jīng)過一個時鐘上升沿和一個時鐘下降沿,計數(shù)執(zhí)行部件才開始計數(shù)。件才開始計數(shù)。 10.2.7 8253工作方式工作方式8253工作方式工作方式n工作方式及其特點工作方式及其特點n8253中有三個獨立的計數(shù)器,每個計數(shù)器都可編程選擇中有三個獨立的計數(shù)器,每個計數(shù)器都可編程選擇六種工作方式之一。六種工作方式之一。n主要從三個方面區(qū)別這六種工作方式:主要從三個方面區(qū)別

21、這六種工作方式:n其一其一是他們的輸出波形不同;是他們的輸出波形不同;n其二其二是啟動計數(shù)器的觸發(fā)方式不同;是啟動計數(shù)器的觸發(fā)方式不同;n其三其三是計數(shù)過程中門控信號對計數(shù)操作的影響不同。是計數(shù)過程中門控信號對計數(shù)操作的影響不同。1.1.方式方式0 0 -計數(shù)結束產(chǎn)生中斷計數(shù)結束產(chǎn)生中斷 圖3.4 8253的0方式時序波形n=5n=5CLKOUTWRWRGATEOUTWROUT 543210543210n=998n=443210圖圖10.4 方式方式0輸出波形圖輸出波形圖正常計數(shù)GATE影響新的初值影響方式方式0 0方式0有如下3個特點:正常計數(shù)過程:正常計數(shù)過程:寫入控制字后的時鐘上升沿寫入

22、控制字后的時鐘上升沿OUTOUT變低,變低,當向計數(shù)器寫完計數(shù)初值后,開始減當向計數(shù)器寫完計數(shù)初值后,開始減1 1計數(shù),在計數(shù)計數(shù),在計數(shù)過程中輸出端過程中輸出端OUTOUT一直保持低電平,當計數(shù)器一直保持低電平,當計數(shù)器減到減到0 0時時,OUTOUT立即變成高電平。立即變成高電平。 門控信號的影響:門控信號的影響:門控信號門控信號GATEGATE為高電平時,計數(shù)為高電平時,計數(shù)器工作;當器工作;當GATEGATE為低電平時,計數(shù)器停止工作,其為低電平時,計數(shù)器停止工作,其計數(shù)值保持不變。如果門控信號計數(shù)值保持不變。如果門控信號GATEGATE再次變高時,再次變高時,計數(shù)器從中止處繼續(xù)計數(shù)。

23、計數(shù)器從中止處繼續(xù)計數(shù)。 新的計數(shù)初值的影響:新的計數(shù)初值的影響:在計數(shù)器工作期間,如果重在計數(shù)器工作期間,如果重新寫入新的計數(shù)值,計數(shù)器將按新寫入的計數(shù)初值新寫入新的計數(shù)值,計數(shù)器將按新寫入的計數(shù)初值重新開始計數(shù)。重新開始計數(shù)。例例1:使計數(shù)器使計數(shù)器T T1 1工作在方式工作在方式0 0 ,進行,進行1616位二進制計數(shù),位二進制計數(shù),計數(shù)初值的高低字節(jié)分別為計數(shù)初值的高低字節(jié)分別為BYTEHBYTEH和和BYTELBYTEL。( (設設82538253的端口地址為的端口地址為304304H H307H307H) 其初始化程序段為其初始化程序段為: : MOV DX,307H MOV DX

24、,307H ;命令口;命令口 MOV ALMOV AL,01110000B01110000B ;方式字;方式字 OUT DXOUT DX,AL AL MOV DX MOV DX,305H 305H ;T T1 1數(shù)據(jù)口數(shù)據(jù)口 MOV ALMOV AL,BYTEL BYTEL ;計數(shù)值低字節(jié);計數(shù)值低字節(jié) OUT DXOUT DX,AL AL MOV AL MOV AL,BYTEH BYTEH ;計數(shù)值高字節(jié);計數(shù)值高字節(jié) OUT DXOUT DX,AL AL 2.2.方式方式1 1可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器圖3.5 8253的1方式時序波形n=4n=3CLKGATEWROUT

25、OUTWROUT 43210432132n=210210GATE40GATE圖圖10.5 方式方式1輸出波形圖輸出波形圖正常計數(shù)GATE影響新的初值影響n正常計數(shù)過程:正常計數(shù)過程: 寫入控制字后的時鐘上沿輸出寫入控制字后的時鐘上沿輸出OUTOUT變高變高, ,寫入計數(shù)初值后,寫入計數(shù)初值后,計數(shù)器并不立即開始工作;計數(shù)器并不立即開始工作; 門控信號門控信號GATEGATE有效有效( (上升沿到來上升沿到來) ),使輸出,使輸出OUTOUT變成低電平變成低電平, ,同時才開始減同時才開始減1 1計數(shù);計數(shù); 直到計數(shù)器值減到直到計數(shù)器值減到0 0后,輸出才變成高電平。后,輸出才變成高電平。 n

26、門控信號的影響:門控信號的影響: 在計數(shù)器工作期間,當在計數(shù)器工作期間,當GATEGATE又出現(xiàn)一個上升沿時,計數(shù)又出現(xiàn)一個上升沿時,計數(shù)器重新裝入原計數(shù)初值并重新開始計數(shù)。器重新裝入原計數(shù)初值并重新開始計數(shù)。 n新的計數(shù)初值的影響:新的計數(shù)初值的影響: 如果工作期間對計數(shù)器寫入新的計數(shù)初值,則要等到當如果工作期間對計數(shù)器寫入新的計數(shù)初值,則要等到當前的計數(shù)值計滿回零且門控信號再次出現(xiàn)上升沿后,才前的計數(shù)值計滿回零且門控信號再次出現(xiàn)上升沿后,才按新寫入的計數(shù)初值開始工作。按新寫入的計數(shù)初值開始工作。方式方式1 1說明說明例例2 2:使計數(shù)器:使計數(shù)器T T2 2 工作在方式工作在方式1 1 ,

27、進行,進行8 8位二進位二進制計數(shù),并設計數(shù)初值的低制計數(shù),并設計數(shù)初值的低8 8位為位為BYTELBYTEL。 ( (設設82538253的端口地址為的端口地址為304304H H307H307H) 其初始化程序段為其初始化程序段為 MOV DXMOV DX,307H 307H ;命令口;命令口 MOV ALMOV AL,10010010B10010010B ;方式字;方式字 OUT DXOUT DX,AL AL MOV DX MOV DX,306H 306H ;T T2 2數(shù)據(jù)口數(shù)據(jù)口 MOV ALMOV AL,BYTEL BYTEL ;低;低8 8位計數(shù)值位計數(shù)值 OUT DXOUT D

28、X,AL AL 3.3.方式方式2 2 分頻器分頻器n方式方式2 2是一種自動裝計數(shù)初值的是一種自動裝計數(shù)初值的N N分頻器。分頻器。圖3.6 8253的2方式時序波形n=4n=3CLKWROUTOUTWROUT 432101321321020(4)(0)GATEWRn=4n=3334320(3)21311圖圖10.6 方式方式2輸出波形圖輸出波形圖正常計數(shù)GATE影響新的初值影響方式方式2 2說明:輸出連續(xù)脈沖波說明:輸出連續(xù)脈沖波n正常計數(shù)過程:正常計數(shù)過程: 寫入控制字后的時鐘上沿輸出寫入控制字后的時鐘上沿輸出OUT變高,變高,寫入計數(shù)初值后,寫入計數(shù)初值后,計數(shù)器開始減計數(shù)器開始減1

29、1計數(shù),減到計數(shù),減到1 1時時OUTOUT變成低電平,減到變成低電平,減到0 0時時OUTOUT又變成高電平,同時初值自動重新裝入,并重復前一過程;又變成高電平,同時初值自動重新裝入,并重復前一過程;n門控信號的影響:門控信號的影響: 在計數(shù)器工作期間,當在計數(shù)器工作期間,當GATEGATE變?yōu)榈碗娖綍r終止計數(shù),而當變?yōu)榈碗娖綍r終止計數(shù),而當GATEGATE又恢復為高電平后,計數(shù)器重新裝入原計數(shù)初值并重又恢復為高電平后,計數(shù)器重新裝入原計數(shù)初值并重新開始計數(shù)。新開始計數(shù)。 n新的計數(shù)初值的影響:新的計數(shù)初值的影響: 如果工作期間對計數(shù)器寫入新的計數(shù)初值:如果工作期間對計數(shù)器寫入新的計數(shù)初值:

30、 GATEGATE一直為高電平:新的初值下次有效一直為高電平:新的初值下次有效則則 寫入新的初值后,遇到寫入新的初值后,遇到GATEGATE上升沿,新的初值立即有效上升沿,新的初值立即有效例例3 3:使計數(shù)器:使計數(shù)器T0 T0 工作在方式工作在方式2 2 ,進行,進行1616位二進制位二進制計數(shù)。計數(shù)。 ( (設設82538253的端口地址為的端口地址為304304H H307H307H) 其初始化程序段為其初始化程序段為 MOV DXMOV DX,307H 307H ;命令口;命令口 MOV ALMOV AL,00110100B00110100B ;方式字;方式字 OUT DXOUT DX

31、,AL AL MOV DX MOV DX,304H 304H ;T0T0數(shù)據(jù)口數(shù)據(jù)口 MOV ALMOV AL,BYTEL BYTEL ;低;低8 8位計數(shù)值位計數(shù)值 OUT DXOUT DX,AL AL MOV AL MOV AL,BYTEH BYTEH ;高;高8 8位計數(shù)值位計數(shù)值 OUT DXOUT DX,ALAL4.4.方式方式3 3方波發(fā)生器方波發(fā)生器n方式方式3 3與方式與方式2 2基本相同,也具有自動裝入時間基本相同,也具有自動裝入時間常數(shù)(計數(shù)初值)的功能。常數(shù)(計數(shù)初值)的功能。圖3.7 8253的3方式時序波形CLKWROUTOUT WR2n=4n=53222232圖圖1

32、0.7 方式方式3輸出波形圖輸出波形圖計數(shù)值為偶數(shù)計數(shù)值為奇數(shù) 方式方式2 2 OUTOUT輸出的是脈沖波輸出的是脈沖波方式方式3 3與方式與方式2 2的不同之處:的不同之處: 方式方式3 3 OUTOUT輸出的是方波輸出的是方波說明:說明:(1 1)工作在方式)工作在方式3 3 ,引腳,引腳OUTOUT輸出的是占空比為輸出的是占空比為1 1:1 1或近或近似似1 1:1 1的方波;當計數(shù)初值為偶數(shù)時,輸出嚴格方波(輸?shù)姆讲ǎ划斢嫈?shù)初值為偶數(shù)時,輸出嚴格方波(輸出脈沖占空比為出脈沖占空比為50%50%)。當計數(shù)初值為奇數(shù)時,輸出)。當計數(shù)初值為奇數(shù)時,輸出近似近似方波(輸出脈沖占空比方波(輸出

33、脈沖占空比約為約為50%50%)。)。(2 2)由于方式)由于方式3 3輸出的波形是方波,并且具有自動重裝計輸出的波形是方波,并且具有自動重裝計數(shù)初值的功能,因此,數(shù)初值的功能,因此,82538253一旦計數(shù)開始,就會在輸出端一旦計數(shù)開始,就會在輸出端OUTOUT輸出連續(xù)不斷的方波。輸出連續(xù)不斷的方波。5.5.方式方式4 4軟件觸發(fā)的選通信號發(fā)生器軟件觸發(fā)的選通信號發(fā)生器圖3.8 8253的4方式時序波形CLKWROUTOUT WR5n=54201321GATE554320OUTn=3310210n=2 圖圖10.8 方式方式4輸出波形圖輸出波形圖正常計數(shù)新的初值影響GATE影響方式方式4 4

34、說明:說明:輸出單次單拍負脈沖(軟件觸發(fā))輸出單次單拍負脈沖(軟件觸發(fā))n正常計數(shù)過程:正常計數(shù)過程: 寫入控制字后的時鐘上沿輸出寫入控制字后的時鐘上沿輸出OUT變高,變高,寫入計數(shù)初值寫入計數(shù)初值后,后,計數(shù)器開始減計數(shù)器開始減1計數(shù),減到計數(shù),減到0時時OUT變低變低1個時鐘周個時鐘周期,然后又恢復成高電平。期,然后又恢復成高電平。n門控信號的影響:門控信號的影響: 在計數(shù)器工作期間,在計數(shù)器工作期間,GATE=1GATE=1允許計數(shù),允許計數(shù),GATE=0GATE=0禁止計數(shù),禁止計數(shù),輸出輸出OUT維持當時的電平,只有維持當時的電平,只有計數(shù)計數(shù)減到減到0時時OUT才變才變低低1個時鐘

35、周期,然后又恢復成高電平。個時鐘周期,然后又恢復成高電平。 n新的計數(shù)初值的影響:新的計數(shù)初值的影響: 任何時候對計數(shù)器寫入新的計數(shù)初值,只要對計數(shù)器寫入新的計數(shù)初值,只要GATE=1GATE=1,就,就會立即終止現(xiàn)行的計數(shù)過程,而按新寫入的計數(shù)初值開會立即終止現(xiàn)行的計數(shù)過程,而按新寫入的計數(shù)初值開始工作。始工作。例例4 4:使計數(shù)器:使計數(shù)器T1T1工作于方式工作于方式4 4,進行,進行8 8位二進制計位二進制計數(shù),并且只裝入高數(shù),并且只裝入高8 8位計數(shù)值。位計數(shù)值。 ( (設設82538253的端口地的端口地址為址為304304H H307H307H) 其初始化程序段為:其初始化程序段為

36、: MOV DX MOV DX,307H 307H ;命令口;命令口 MOV ALMOV AL,01101000B 01101000B ;方式字;方式字 OUT DXOUT DX,AL AL MOV DX MOV DX,304H 304H ;T2T2數(shù)據(jù)口數(shù)據(jù)口 MOV ALMOV AL,BYTEH BYTEH ;低;低8 8位計數(shù)值位計數(shù)值 OUT DXOUT DX,ALAL6.6.方式方式5 5硬件觸發(fā)的選通信號發(fā)生器硬件觸發(fā)的選通信號發(fā)生器圖3.9 8253的5方式時序波形CLKWROUTOUT n=4GATE543210GATE54543210圖圖10.9 方式方式5輸出波形圖輸出波形

37、圖正常計數(shù)GATE影響 方式方式4 4由計數(shù)值觸發(fā)計數(shù)器計數(shù)由計數(shù)值觸發(fā)計數(shù)器計數(shù)方式方式5 5與方式與方式4 4的不同之處:的不同之處: 方式方式5 5由由GATEGATE上升沿觸發(fā)計數(shù)器計數(shù)上升沿觸發(fā)計數(shù)器計數(shù)方式方式5 5工作特點工作特點1)在方式5下,當寫入計數(shù)初值后,計數(shù)器并不立即開始計數(shù),而要由門控信號的上升沿啟動計數(shù)。2)在計數(shù)過程中(或者計數(shù)結束后),如果門控再次出現(xiàn)上升沿,計數(shù)器將從原裝入的計數(shù)初值重新計數(shù)。3)新的計數(shù)初值要等到下一個門控信號的上升沿到來才能生效。方式方式5說明:說明:輸出單次單拍負脈沖(硬件觸發(fā))輸出單次單拍負脈沖(硬件觸發(fā))6 6種工作方式的比較(參見表

38、種工作方式的比較(參見表10.310.310.6)10.6) 方式2 (分頻器)和方式3 (方波發(fā)生器),這兩種方式共同的特點是具有自動重加載功能(裝入初值)。二者的區(qū)別在于:方式2在計數(shù)過程中輸出高電平,而在每當減1至0時輸出寬度為1個TCLK的負脈沖。方式3是在計數(shù)過程中,OUT的信號是占空比為1:1的方波或近似方波。 方式4 (軟件觸發(fā)單脈沖)和方式5 (硬件觸發(fā)單脈沖)。這兩種方式的OUT輸出波形相同,兩者的區(qū)別是計數(shù)啟動的觸發(fā)信號不同,前者由寫初值啟動計數(shù),后者由GATE信號的上升沿啟動計數(shù))。方式0 (門控單穩(wěn))和方式1 (門控單穩(wěn)),這兩種方式的輸出波形類似。各種工作方式的輸出波

39、形方式方式 0方式方式 1方式方式 2方式方式 3方式方式 4方式方式 50N0N0N0/N110NN/2 N/2 0/N0N0 1N0 1N0 18253工作方式工作方式例:例:設8253的n計數(shù)器0,工作在方式1,計數(shù)初值為2050;n計數(shù)器1,工作在方式2,計數(shù)初值為3000;n計數(shù)器2,工作在方式3,計數(shù)初值為1000。n如果三個計數(shù)器的GATE都接高電平,三個計數(shù)器的CLK都接2MHz時鐘信號,試畫出OUT0、OUT1、OUT2的輸出波形。例:n分析:分析:n計數(shù)器0工作在方式1,即可編程的單脈沖方式。 種方式下,計數(shù)的啟動必須由外部門控脈沖GATE控制。因為GATE接了高電平,當方

40、式控制字寫入后OUT0變高,計數(shù)器無法啟動,所以OUT0輸出高電平。n計數(shù)器1工作在方式2,即分頻器的方式。 輸出波形的頻率f=2MHz/3000 =666.7HZ,其周期為1.5ms (1/666.70.0015),輸出負脈沖的寬度等于CLK的周期為0.5s。(1/2000000=0.0000005)n計數(shù)器2工作在方式3,即方波發(fā)生器的方式。 輸出頻率f=2MHz/1000= 2000Hz的對稱方波。OUT0 OUT1 OUT2 1.5ms 0.5s 250s 250s 三個三個OUTOUT的輸出波形如下:的輸出波形如下:11.2.8 8253應用舉例應用舉例 n例例10.3: IBM-P

41、C/XT微機的某擴展板上使用一片8253,其端口地址為200H203H。要求從定時器0的輸出端OUT0得到500Hz的方波信號,從定時器1的輸出端OUT1得到50Hz的連續(xù)單拍負脈沖信號。已知系統(tǒng)提供的計數(shù)脈沖頻率為250KHz,其硬件連接見圖10.10。試編寫初始化此8253的程序段。 圖圖10.10 例例10.3的硬件連接圖的硬件連接圖 111000A A 7 D0GNDOUTGATECLKOUTGATECLKVCC 0 1CSWRRDD 8253DBIORIOWA B譯碼電路PC總線250kHz +5V500Hz方波50Hz單拍負脈沖例例10.3解:解: 1確定工作方式n定時器0工作在方

42、式3;n定時器1工作在方式2。 2計算計數(shù)初值計數(shù)初值計數(shù)初值=分頻系數(shù)分頻系數(shù)=fklc/fout n定時器0:N0= fclk0 / fout0=250000/500=500 化為十六進制為01F4H。n定時器1: N1= fclk1 / fout1=500/50=10 化成16進制為0AH。 例例10.33確定控制字n定時器0:n定時器1: 0 0 1 1 0 1 1 0 選定時器0先寫低8位 選工作方式3二進制計數(shù) 后寫高8位 0 1 0 1 0 1 0 0 選定時器1 只寫低8位 選工作方式2 二進制計數(shù) 4初始化程序段初始化程序段MOV DX,203H ;寫定時器寫定時器0控制字控

43、制字MOV AL,36HOUT DX,ALMOV DX,200H ;寫定時器寫定時器0計數(shù)初值低計數(shù)初值低8位位MOC AL,0F4HOUT DX,ALMOV AL,01H ;寫定時器寫定時器0計數(shù)初值高計數(shù)初值高8位位OUT DX,ALMOV DX,203H ;寫定時器寫定時器1控制字控制字MOV AL,54HOUT DX,ALMOV DX,201H ;寫定時器寫定時器1計數(shù)初值計數(shù)初值MOV AL,0AHOUT DX,AL 例例10.4:n某某IBM PC/XT 應用系統(tǒng)中,當某一外部事件發(fā)生應用系統(tǒng)中,當某一外部事件發(fā)生時(給出一高電平信號),時(給出一高電平信號),1秒鐘后向主機申請中

44、秒鐘后向主機申請中斷。若用斷。若用8253實現(xiàn)此延遲,試設計硬件連接圖并實現(xiàn)此延遲,試設計硬件連接圖并對對8253進行初始化。設進行初始化。設8253的端口地址為的端口地址為40H43H。 圖圖10.11 例例10.4硬件連接圖硬件連接圖 GNDOUT2GATE2CLK2OUT1GATE1CLK1VCCA0A1CSWRRDD7D08253DBIORIOWAB譯 碼電 路PC總 線中 斷 請求 信 號事 件 發(fā) 生觸 發(fā) 信 號1.19MHZ+5V例例10.4:解解: 1確定工作方式確定工作方式 若若題目要求,OUT1輸出的是連續(xù)方波,而OUT2端輸出連續(xù)單拍負脈沖或高電平,則定時器1工作在方式3,定時器2必須工作在方式2或方式0。 2計算計數(shù)初值計算計數(shù)初值 若8253的定時器工作在方式2或方式3,實際上相當于分頻器,即OUT端的輸出信號頻率是由CLK端的信號頻率經(jīng)定時器分頻得到的,而分頻系數(shù)就

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論