常用可編程接口芯片1定時器課件_第1頁
常用可編程接口芯片1定時器課件_第2頁
常用可編程接口芯片1定時器課件_第3頁
常用可編程接口芯片1定時器課件_第4頁
常用可編程接口芯片1定時器課件_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、常用可編程接口芯片1定時器1 第第 8 8 章章 常用接口技術(shù)常用接口技術(shù) 8.1 8.1 定時控制接口定時控制接口 8.2 8.2 并行接口并行接口 8.3 8.3 異步串行通信接口異步串行通信接口 8.4 8.4 模擬接口模擬接口 常用可編程接口芯片1定時器2 8.1 8.1 定時控制接口定時控制接口 定時控制具有極為重要的作用定時控制具有極為重要的作用 n微機控制系統(tǒng)中常需要定時中斷、定時檢測、微機控制系統(tǒng)中常需要定時中斷、定時檢測、 定時掃描等定時掃描等 n實時操作系統(tǒng)和多任務(wù)操作系統(tǒng)中要定時進行實時操作系統(tǒng)和多任務(wù)操作系統(tǒng)中要定時進行 進程調(diào)度進程調(diào)度 nPCPC機的日時鐘計時、機的

2、日時鐘計時、DRAMDRAM刷新定時和揚聲器音刷新定時和揚聲器音 調(diào)控制都采用了定時控制技術(shù)調(diào)控制都采用了定時控制技術(shù) 可編程定時器芯片可編程定時器芯片 n軟硬件相結(jié)合、方便靈活的定時電路軟硬件相結(jié)合、方便靈活的定時電路 軟件延時方法軟件延時方法 n處理器執(zhí)行延時子程序處理器執(zhí)行延時子程序 常用可編程接口芯片1定時器3 8.1.1 8.1.1 定時器定時器8253/82548253/8254 定時器(計數(shù)器):由數(shù)字電路中的計數(shù)電路構(gòu)成,定時器(計數(shù)器):由數(shù)字電路中的計數(shù)電路構(gòu)成,記錄輸記錄輸 入脈沖的個數(shù)入脈沖的個數(shù) n脈沖信號具有一定隨機性,往往脈沖信號具有一定隨機性,往往通過脈沖的個通

3、過脈沖的個 數(shù)可以獲知外設(shè)的狀態(tài)變化次數(shù)(計數(shù))數(shù)可以獲知外設(shè)的狀態(tài)變化次數(shù)(計數(shù)) n脈沖信號的周期固定脈沖信號的周期固定( (使用高精度晶振產(chǎn)生脈沖使用高精度晶振產(chǎn)生脈沖 信號信號) ),個數(shù)乘以周期就是時間間隔(定時)個數(shù)乘以周期就是時間間隔(定時) Intel 8253/8254Intel 8253/8254可編程間隔定時器可編程間隔定時器 n3 3個獨立的個獨立的1616位計數(shù)器通道位計數(shù)器通道 n每個計數(shù)器有每個計數(shù)器有6 6種工作方式種工作方式 常用可編程接口芯片1定時器4 1. 1. 內(nèi)部結(jié)構(gòu)和引腳內(nèi)部結(jié)構(gòu)和引腳 與計算機系統(tǒng)總線的接口與計算機系統(tǒng)總線的接口 3 3個相互獨立的

4、計數(shù)器通道個相互獨立的計數(shù)器通道, ,結(jié)構(gòu)完全相同結(jié)構(gòu)完全相同 n計數(shù)器計數(shù)器0 0 n計數(shù)器計數(shù)器1 1 n計數(shù)器計數(shù)器2 2 常用可編程接口芯片1定時器5 常用可編程接口芯片1定時器6 每個計數(shù)器通道每個計數(shù)器通道 n1616位減法計數(shù)器位減法計數(shù)器 n1616位預(yù)置寄存器位預(yù)置寄存器 n輸出鎖存器輸出鎖存器 預(yù)置寄存器預(yù)置寄存器 GATE CLK OUT 減減1計數(shù)器計數(shù)器 輸出鎖存器輸出鎖存器 常用可編程接口芯片1定時器7 定時器外設(shè)引腳定時器外設(shè)引腳 CLKCLK時鐘輸入信號時鐘輸入信號 n在計數(shù)過程中,此引腳上每輸入一個時鐘信號在計數(shù)過程中,此引腳上每輸入一個時鐘信號 (下降沿),

5、計數(shù)器的計數(shù)值減(下降沿),計數(shù)器的計數(shù)值減1 1 GATEGATE門控輸入信號門控輸入信號 n控制計數(shù)器工作,可分成電平控制和上升沿控控制計數(shù)器工作,可分成電平控制和上升沿控 制兩種類型制兩種類型 OUTOUT計數(shù)器輸出信號計數(shù)器輸出信號 n當(dāng)一次計數(shù)過程結(jié)束(計數(shù)值減為當(dāng)一次計數(shù)過程結(jié)束(計數(shù)值減為0 0),),OUTOUT引引 腳上將產(chǎn)生一個輸出信號腳上將產(chǎn)生一個輸出信號 常用可編程接口芯片1定時器8 連接處理器引腳連接處理器引腳 lD7D7D0D0數(shù)據(jù)線數(shù)據(jù)線 lA1A1A0A0地址線地址線注意,當(dāng)在注意,當(dāng)在80868086,IA-32IA-32構(gòu)架上使用,構(gòu)架上使用, 一般通過系統(tǒng)

6、數(shù)據(jù)總線一般通過系統(tǒng)數(shù)據(jù)總線D7D0D7D0傳送數(shù)據(jù),這時應(yīng)該使用偶傳送數(shù)據(jù),這時應(yīng)該使用偶 數(shù)地址(數(shù)地址(A0=0A0=0) lRDRD* *讀信號讀信號 lWRWR* *寫信號寫信號 lCSCS* *片選信號,假設(shè)片選信號,假設(shè)A15A3A15A3為為0000 0000 0100 00000 0000 0100 0* * *0 0 計算機計算機 A2 A1 A2 A1 CSCS* * A A1 1 A A0 0 I/OI/O地地 址址 讀操作讀操作RDRD* *寫操作寫操作WRWR* * 0 0 00 0 0 0 0 10 0 1 0 1 00 1 0 0 1 10 1 1 40H40H

7、 42H42H(41(41 H)H) 44H44H(42(42 H)H) 46H46H(43(43 H)H) 讀計數(shù)器讀計數(shù)器0 0 讀計數(shù)器讀計數(shù)器1 1 讀計數(shù)器讀計數(shù)器2 2 無操作無操作 寫計數(shù)器寫計數(shù)器0 0 寫計數(shù)器寫計數(shù)器1 1 寫計數(shù)器寫計數(shù)器2 2 寫控制字寫控制字 奇數(shù)地址有誤 常用可編程接口芯片1定時器9 可編程計數(shù)器可編程計數(shù)器/定時器定時器功能功能 功能體現(xiàn)在兩個方面:功能體現(xiàn)在兩個方面: 一是一是:作為計數(shù)器。:作為計數(shù)器。 即在設(shè)置好計數(shù)初值后,便開始即在設(shè)置好計數(shù)初值后,便開始減減1計數(shù),減到計數(shù),減到0時,輸時,輸 出一個信號出一個信號 二是二是:作為定時器。

8、:作為定時器。 即在設(shè)置好定時時間常數(shù)后,便開始減一計數(shù),并按定即在設(shè)置好定時時間常數(shù)后,便開始減一計數(shù),并按定 時時間常數(shù)不斷地輸出時鐘周期整數(shù)倍的定時信號。時時間常數(shù)不斷地輸出時鐘周期整數(shù)倍的定時信號。 兩者之間的差別:兩者之間的差別: 計數(shù)器只輸出一個信號,除非沖服觸發(fā)計數(shù)器只輸出一個信號,除非沖服觸發(fā) 定時器輸出連續(xù)信號(減到定時器輸出連續(xù)信號(減到0后,自動回復(fù)時間常數(shù)初值并重新后,自動回復(fù)時間常數(shù)初值并重新 開始計數(shù))。開始計數(shù))。 常用可編程接口芯片1定時器10 典型用處典型用處 在多任務(wù)的分時系統(tǒng)中作為中斷信號實現(xiàn)程序的在多任務(wù)的分時系統(tǒng)中作為中斷信號實現(xiàn)程序的 切換。切換。

9、可往可往I/O設(shè)備輸出精確的定時信號。設(shè)備輸出精確的定時信號。 作為一個可編程的波特率發(fā)生器。作為一個可編程的波特率發(fā)生器。 實現(xiàn)時間延遲。實現(xiàn)時間延遲。 常用可編程接口芯片1定時器11 基本結(jié)構(gòu)原理基本結(jié)構(gòu)原理 原理就是可預(yù)置初值的減法計數(shù)器。原理就是可預(yù)置初值的減法計數(shù)器。 主要組成包括:主要組成包括: (1)初值寄存器)初值寄存器接收并保存接收并保存CPU送來的初值送來的初值 (2)計數(shù)寄存器)計數(shù)寄存器從初值寄存器接收計數(shù)初值從初值寄存器接收計數(shù)初值,減法計數(shù)器。減法計數(shù)器。 計數(shù)脈沖就是時鐘輸入信號,在門控信號有效時開始計數(shù)。 (3)控制寄存器)控制寄存器接收接收CPU的控制信號,選

10、擇不同的工作模的控制信號,選擇不同的工作模 式等式等 (4)狀態(tài)寄存器)狀態(tài)寄存器保存計數(shù)器的狀態(tài)保存計數(shù)器的狀態(tài) 基本原理圖如下圖基本原理圖如下圖 常用可編程接口芯片1定時器12 常用可編程接口芯片1定時器13 2. 2. 工作方式工作方式 82538253有有6 6種工作方式,由方式控制字確定種工作方式,由方式控制字確定 每種工作方式的過程類似:每種工作方式的過程類似: 設(shè)定工作方式設(shè)定工作方式 設(shè)定計數(shù)初值設(shè)定計數(shù)初值 硬件啟動硬件啟動 計數(shù)初值進入減計數(shù)初值進入減1 1計數(shù)器計數(shù)器 每輸入一個時鐘計數(shù)器減每輸入一個時鐘計數(shù)器減1 1的計數(shù)過程的計數(shù)過程 計數(shù)過程結(jié)束計數(shù)過程結(jié)束 常用可

11、編程接口芯片1定時器14 (1)(1)定時器方式定時器方式0 0:計數(shù)結(jié)束中斷:計數(shù)結(jié)束中斷 GATE OUT CLK 03124 4 方式方式0 WR 設(shè)設(shè) 定定 工工 作作 方方 式式 設(shè)設(shè) 定定 計計 數(shù)數(shù) 初初 值值 計計 數(shù)數(shù) 值值 送送 入入 計計 數(shù)數(shù) 器器 計計 數(shù)數(shù) 過過 程程 計計 數(shù)數(shù) 結(jié)結(jié) 束束 常用可編程接口芯片1定時器15 方式方式0 0的波形如圖所示的波形如圖所示. . 當(dāng)控制字寫入控制字寄存器后,輸出當(dāng)控制字寫入控制字寄存器后,輸出OUTOUT就變低,當(dāng)計數(shù)值寫就變低,當(dāng)計數(shù)值寫 入計數(shù)器后開始計數(shù),在整個計數(shù)過程中,入計數(shù)器后開始計數(shù),在整個計數(shù)過程中,OUT

12、OUT保持為低,當(dāng)保持為低,當(dāng) 計數(shù)到計數(shù)到0 0后,后,OUTOUT變高;變高;GATEGATE的高低電平控制計數(shù)過程是否進的高低電平控制計數(shù)過程是否進 行。行。 寫控制字寫控制字 寫計數(shù)初值寫計數(shù)初值 GATE=1GATE=1計數(shù)計數(shù) 常用可編程接口芯片1定時器16 工作方式工作方式0 0有如下特點:有如下特點: 計數(shù)器只計一遍,當(dāng)計數(shù)到計數(shù)器只計一遍,當(dāng)計數(shù)到0 0時,不重新開始計數(shù)保持為時,不重新開始計數(shù)保持為 高,直到輸入一新的計數(shù)值,高,直到輸入一新的計數(shù)值,OUTOUT才變低,開始新的計數(shù);才變低,開始新的計數(shù); 計數(shù)值是在寫計數(shù)值命令后經(jīng)過一個輸入脈沖,才裝入計計數(shù)值是在寫計數(shù)

13、值命令后經(jīng)過一個輸入脈沖,才裝入計 數(shù)器的,下一個數(shù)器的,下一個 脈沖開始計數(shù),因此,如果設(shè)置計數(shù)器脈沖開始計數(shù),因此,如果設(shè)置計數(shù)器 初值為初值為N N,則輸出,則輸出OUTOUT在在N N1 1個個 脈沖后才能變高;脈沖后才能變高; 在計數(shù)過程中,可由在計數(shù)過程中,可由GATEGATE信號控制暫停。信號控制暫停。 當(dāng)當(dāng)GATEGATE0 0時,暫停計數(shù);時,暫停計數(shù); 當(dāng)當(dāng)GATEGATE1 1時,繼續(xù)計數(shù);時,繼續(xù)計數(shù); 常用可編程接口芯片1定時器17 在計數(shù)過程中可以改變計數(shù)值,且這種改變是立即有效的,在計數(shù)過程中可以改變計數(shù)值,且這種改變是立即有效的, 分成兩種情況:分成兩種情況:

14、若是若是8 8位計數(shù),則寫入新值后的下一個脈沖按新值計數(shù);位計數(shù),則寫入新值后的下一個脈沖按新值計數(shù); 若是若是1616位計數(shù),則位計數(shù),則 在寫入第一個字節(jié)后,停止計數(shù),寫入在寫入第一個字節(jié)后,停止計數(shù),寫入 第二個字節(jié)后的下一個脈沖按新值計數(shù)。第二個字節(jié)后的下一個脈沖按新值計數(shù)。 常用可編程接口芯片1定時器18 (2 2)定時器方式定時器方式1 1:可編程單穩(wěn)脈沖:可編程單穩(wěn)脈沖 設(shè)設(shè) 定定 工工 作作 方方 式式 設(shè)設(shè) 定定 計計 數(shù)數(shù) 初初 值值 硬硬 件件 啟啟 動動 計計 數(shù)數(shù) 值值 送送 入入 計計 數(shù)數(shù) 器器 計計 數(shù)數(shù) 過過 程程 計計 數(shù)數(shù) 結(jié)結(jié) 束束 GATE OUT C

15、LK 03124 4 方式方式1 WR 常用可編程接口芯片1定時器19 方式方式1 1的波形如圖所示,的波形如圖所示,CPUCPU向向82538253寫入控制字后寫入控制字后OUTOUT變高,變高, 并保持,寫入計數(shù)值后并不立即計數(shù),只有當(dāng)外界并保持,寫入計數(shù)值后并不立即計數(shù),只有當(dāng)外界GATEGATE信號啟信號啟 動后(一個正脈沖)的下一個脈沖才開始計數(shù),動后(一個正脈沖)的下一個脈沖才開始計數(shù),OUTOUT變低,計變低,計 數(shù)到數(shù)到0 0后,后,OUTOUT才變高,此時再來一個才變高,此時再來一個GATEGATE正脈沖,計數(shù)器又正脈沖,計數(shù)器又 開始重新計數(shù),輸出開始重新計數(shù),輸出OUTO

16、UT再次變低,再次變低,. 因此輸出為一負脈沖,脈沖寬度受計數(shù)初值控制,由因此輸出為一負脈沖,脈沖寬度受計數(shù)初值控制,由 GATE信號觸發(fā)。信號觸發(fā)。 常用可編程接口芯片1定時器20 特點特點 輸出輸出OUTOUT寬度為計數(shù)初值的單脈沖;寬度為計數(shù)初值的單脈沖; 輸出受門控信號輸出受門控信號GATEGATE的控制,分三種情況:的控制,分三種情況: n計數(shù)到計數(shù)到0 0后,再來后,再來GATEGATE脈沖,則重新開始計數(shù),脈沖,則重新開始計數(shù),OUTOUT 變低;變低; n在計數(shù)過程中來在計數(shù)過程中來GATEGATE脈沖,則從下一脈沖,則從下一CLKCLK脈沖開始重脈沖開始重 新計數(shù),新計數(shù),O

17、UTOUT保持為低;保持為低; n改變計數(shù)值后,只有當(dāng)改變計數(shù)值后,只有當(dāng)GATEGATE脈沖啟動后,才按新值計脈沖啟動后,才按新值計 數(shù),否則原計數(shù)過程不受影響,仍繼續(xù)進行,即新值的數(shù),否則原計數(shù)過程不受影響,仍繼續(xù)進行,即新值的 改變是從下一個改變是從下一個GATEGATE開始的。開始的。 計數(shù)值是多次有效的,每來一個計數(shù)值是多次有效的,每來一個GATEGATE脈沖,就自動裝入脈沖,就自動裝入 計數(shù)值開始從頭計數(shù),因此在初始化時,計數(shù)值寫入一次計數(shù)值開始從頭計數(shù),因此在初始化時,計數(shù)值寫入一次 即可。即可。 常用可編程接口芯片1定時器21 (3 3)方式)方式2 2 分頻器分頻器 方式方式

18、2 2的波形如圖所示的波形如圖所示。在這種方式下,在這種方式下,CPUCPU輸出控制字后,輸輸出控制字后,輸 出出OUTOUT就變高,寫入計數(shù)值后的下一個就變高,寫入計數(shù)值后的下一個CLKCLK脈沖開始計數(shù),計脈沖開始計數(shù),計 數(shù)到數(shù)到1 1后,輸出后,輸出OUTOUT變低,經(jīng)過一個變低,經(jīng)過一個CLKCLK以后,以后,OUTOUT恢復(fù)為高,恢復(fù)為高, 計數(shù)器重新開始計數(shù)。因此在這種方式下,只需寫入一次計數(shù)計數(shù)器重新開始計數(shù)。因此在這種方式下,只需寫入一次計數(shù) 值,就能連續(xù)工作,輸出連續(xù)相同間隔的負脈沖(前提:值,就能連續(xù)工作,輸出連續(xù)相同間隔的負脈沖(前提:GATEGATE 保持為高),即周

19、期性地輸出,保持為高),即周期性地輸出, 常用可編程接口芯片1定時器22 特點特點 通道可以連續(xù)工作;通道可以連續(xù)工作; GATEGATE可以控制計數(shù)過程,當(dāng)可以控制計數(shù)過程,當(dāng)GATEGATE為低時暫停計數(shù),恢為低時暫停計數(shù),恢 復(fù)為高后重新從初值;(注意:該方式與方式復(fù)為高后重新從初值;(注意:該方式與方式0 0不同,方不同,方 式式0 0是繼續(xù)計數(shù))是繼續(xù)計數(shù)) 重新設(shè)置新的計數(shù)值即在計數(shù)過程中改變計數(shù)值,則新的重新設(shè)置新的計數(shù)值即在計數(shù)過程中改變計數(shù)值,則新的 計數(shù)值是下次有效的,同方式計數(shù)值是下次有效的,同方式1 1。 常用可編程接口芯片1定時器23 (4 4)定時器方式定時器方式3

20、 3:方波發(fā)生器:方波發(fā)生器 03124 GATE OUT CLK 4 方式方式3 03124 03124 03124 WR 常用可編程接口芯片1定時器24 方式方式3 3的波形如圖所示,這種方式下的輸出與方式的波形如圖所示,這種方式下的輸出與方式2 2都是周期性都是周期性 的,不同的是:輸出的是方波。的,不同的是:輸出的是方波。 當(dāng)計數(shù)值當(dāng)計數(shù)值N N是偶數(shù),輸出正負脈沖寬度是偶數(shù),輸出正負脈沖寬度 N/2N/2的方波的方波 當(dāng)計數(shù)值當(dāng)計數(shù)值N N是奇數(shù),正脈沖寬度是奇數(shù),正脈沖寬度 (N+1)/2N+1)/2, 負脈沖寬度(負脈沖寬度(N-1)/2N-1)/2。 常用可編程接口芯片1定時器

21、25 特點特點 通道可以連續(xù)工作;通道可以連續(xù)工作; 關(guān)于計數(shù)值的奇偶,若為偶數(shù),則輸出標(biāo)準(zhǔn)方波,高低電關(guān)于計數(shù)值的奇偶,若為偶數(shù),則輸出標(biāo)準(zhǔn)方波,高低電 平各為平各為N/2N/2個;若為奇數(shù),則正脈沖寬度(個;若為奇數(shù),則正脈沖寬度(N N1 1)/2/2個個 CLKCLK周期,負脈沖寬度(周期,負脈沖寬度(N N1 1)/2/2個個CLKCLK周期;周期; GATE GATE信號能使計數(shù)過程重新開始,當(dāng)信號能使計數(shù)過程重新開始,當(dāng)GATEGATE0 0時,停止時,停止 計數(shù),當(dāng)計數(shù),當(dāng)GATEGATE變高后,計數(shù)器重新裝入初值開始計數(shù),變高后,計數(shù)器重新裝入初值開始計數(shù), 尤其是當(dāng)尤其是當(dāng)

22、GATEGATE0 0時,若時,若OUTOUT此時為低,則立即變高,此時為低,則立即變高, 其它動作同上;其它動作同上; 在計數(shù)期間改變計數(shù)值不影響現(xiàn)行的計數(shù)過程,一般情況在計數(shù)期間改變計數(shù)值不影響現(xiàn)行的計數(shù)過程,一般情況 下,新的計數(shù)值是在現(xiàn)行半周結(jié)束后才裝入計數(shù)器。但若下,新的計數(shù)值是在現(xiàn)行半周結(jié)束后才裝入計數(shù)器。但若 中間遇到有中間遇到有GATEGATE脈沖,則在此脈沖后即裝入新值開始計脈沖,則在此脈沖后即裝入新值開始計 數(shù)。數(shù)。 常用可編程接口芯片1定時器26 (5 5)定時器方式定時器方式4 4:軟件觸發(fā)選通信號:軟件觸發(fā)選通信號 GATE OUT CLK 03124 4 方式方式4

23、 2233 3 1 0 WR 常用可編程接口芯片1定時器27 方式方式4 4的波形如圖所示。的波形如圖所示。CPUCPU寫入控制字后,寫入控制字后,OUTOUT立即變高,立即變高, 寫入計數(shù)值開始計數(shù),當(dāng)計數(shù)到寫入計數(shù)值開始計數(shù),當(dāng)計數(shù)到0 0后,后,OUTOUT變低,經(jīng)過一個變低,經(jīng)過一個 CLKCLK脈沖后,脈沖后,OUTOUT變高,這種計數(shù)是一次性的(與方式變高,這種計數(shù)是一次性的(與方式0 0有有 相似之處),只有當(dāng)寫入新的計數(shù)值后才開始下一次計數(shù)。相似之處),只有當(dāng)寫入新的計數(shù)值后才開始下一次計數(shù)。 常用可編程接口芯片1定時器28 當(dāng)計數(shù)值為當(dāng)計數(shù)值為N N時,則間隔時,則間隔N N

24、1 1個個CLKCLK脈沖輸出一個負脈沖脈沖輸出一個負脈沖 (計數(shù)一次有效);(計數(shù)一次有效); GATEGATE0 0時,禁止計數(shù),時,禁止計數(shù),GATEGATE1 1時,恢復(fù)繼續(xù)計數(shù);時,恢復(fù)繼續(xù)計數(shù); 在計數(shù)過程中重新裝入新的計數(shù)值,則該值是立即有效的在計數(shù)過程中重新裝入新的計數(shù)值,則該值是立即有效的 (若為(若為1616位計數(shù)值,則裝入第一個字節(jié)時停止計數(shù),裝入位計數(shù)值,則裝入第一個字節(jié)時停止計數(shù),裝入 第二個字節(jié)后開始按新值計數(shù))。第二個字節(jié)后開始按新值計數(shù))。 常用可編程接口芯片1定時器29 (6 6)定時器方式定時器方式5 5:硬件觸發(fā)選通信號:硬件觸發(fā)選通信號 GATE OUT

25、 CLK 03124 4 方式方式5 2233 3 11 0 WR 常用可編程接口芯片1定時器30 當(dāng)控制字寫入后,當(dāng)控制字寫入后,OUTOUT立刻變高,寫入計數(shù)值后并不立即開始立刻變高,寫入計數(shù)值后并不立即開始 計數(shù),而是由計數(shù),而是由GATEGATE的上升沿觸發(fā)啟動計數(shù)的,當(dāng)計數(shù)到的上升沿觸發(fā)啟動計數(shù)的,當(dāng)計數(shù)到0 0時,時, 輸出變低,經(jīng)過一個輸出變低,經(jīng)過一個CLKCLK之后,輸出恢復(fù)為高,計數(shù)停止,之后,輸出恢復(fù)為高,計數(shù)停止, 若再有若再有GATEGATE脈沖來,則重新裝入計數(shù)值開始計數(shù),上述過脈沖來,則重新裝入計數(shù)值開始計數(shù),上述過 程重復(fù)。程重復(fù)。 常用可編程接口芯片1定時器3

26、1 特點特點 在這種方式下,若設(shè)置的計數(shù)值是在這種方式下,若設(shè)置的計數(shù)值是N N,則在,則在GATEGATE脈沖后,脈沖后, 經(jīng)過(經(jīng)過(N N1 1)個)個CLKCLK才一個負脈沖;才一個負脈沖; 若在計數(shù)過程中又來一個若在計數(shù)過程中又來一個GATEGATE脈沖,則重新裝入初值開脈沖,則重新裝入初值開 始計數(shù),輸出不變,即計數(shù)值多次有效;始計數(shù),輸出不變,即計數(shù)值多次有效; 若在計數(shù)過程中修改計數(shù)值,則該計數(shù)值在下一個若在計數(shù)過程中修改計數(shù)值,則該計數(shù)值在下一個GATEGATE 脈沖后裝入開始按此值計數(shù)。脈沖后裝入開始按此值計數(shù)。 常用可編程接口芯片1定時器32 3. 8253/82543.

27、 8253/8254的編程的編程 82538253是可編程接口芯片是可編程接口芯片 8253/82548253/8254需要處理器對他進行初始化編程,才能正確工作。需要處理器對他進行初始化編程,才能正確工作。 編程指的是編程指的是 設(shè)置控制字設(shè)置控制字 設(shè)置時間常數(shù)設(shè)置時間常數(shù) 等等 常用可編程接口芯片1定時器33 (1 1)控制寄存器與控制字)控制寄存器與控制字 有兩個有兩個模式設(shè)置寄存器和讀出控制寄存器模式設(shè)置寄存器和讀出控制寄存器 模式設(shè)置控制字模式設(shè)置控制字 (a a)BCDBCD計數(shù)初值格式,計數(shù)初值格式,=0=0,二進制,二進制 =1=1,BCDBCD碼碼 地址:最高端口地址:最高

28、端口控制端口控制端口 常用可編程接口芯片1定時器34 (b b)M2M2,M1M1,M0M0模式選擇模式選擇 000 000 模式模式0 0 001001模式模式1 1 X10X10模式模式2 2 X11X11模式模式3 3 100100模式模式4 4 101101模式模式5 5 (c c)WR1WR1,WR0WR0讀讀/ /寫指示位。寫指示位。 0000對計數(shù)器進行鎖存,以便讀出對計數(shù)器進行鎖存,以便讀出 0101只讀只讀/ /寫低寫低8 8位位 1010只讀只讀/ /寫高寫高8 8位位 1111先讀先讀/ /寫低寫低8 8位,后讀位,后讀/ /寫高寫高8 8位位 常用可編程接口芯片1定時器

29、35 (d d)SC1SC1,SC0 SC0 計數(shù)器選擇計數(shù)器選擇 0000選擇計數(shù)器選擇計數(shù)器0 0 0101選擇計數(shù)器選擇計數(shù)器1 1 1010選擇計數(shù)器選擇計數(shù)器2 2 1111讀出控制字的標(biāo)識碼讀出控制字的標(biāo)識碼, ,只要該只要該2 2位位=0=0,寫入的是,寫入的是 讀出模式控制字讀出模式控制字 常用可編程接口芯片1定時器36 控制字寫入控制字控制字寫入控制字I/OI/O地址:地址:A1A0A1A01111 計數(shù)器計數(shù)器讀寫格式讀寫格式工作方式工作方式數(shù)制數(shù)制 D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D0 00 計數(shù)器計數(shù)器0 01 計數(shù)器計數(shù)器1 10 計數(shù)器計

30、數(shù)器2 11 非法非法 (8253) 11 讀回命令讀回命令 (8254) 00 計數(shù)器鎖存命計數(shù)器鎖存命 令令 01 只讀寫低字節(jié)只讀寫低字節(jié) 10 只讀寫高字節(jié)只讀寫高字節(jié) 11 先讀寫低字節(jié)先讀寫低字節(jié) 后讀寫高字節(jié)后讀寫高字節(jié) 000 方式方式0 001 方式方式1 *10 方式方式2 *11 方式方式3 100 方式方式4 101 方式方式5 0 二進制二進制 1 十進制十進制 常用可編程接口芯片1定時器37 設(shè)置模式設(shè)置控制字舉例設(shè)置模式設(shè)置控制字舉例 假設(shè)假設(shè)8253端口:端口:80H,82H,84H, 86H,通道,通道0使用二進制計數(shù),工作使用二進制計數(shù),工作 在模式在模式0

31、,通道,通道1使用使用BCD計數(shù),模計數(shù),模 式式1,通道,通道2使用二進制計數(shù),模式使用二進制計數(shù),模式2, 全部通道全部通道16位計數(shù)器,先寫低位計數(shù)器,先寫低8位,位, 后寫高后寫高8位。位。 通道通道0模式控制字:模式控制字: 00110000B 通道通道1模式控制字:模式控制字: 01110011B 通道通道2模式控制字:模式控制字: 10110110B MOV DX,86H; MOV AL,30H;控制字;控制字 OUTDX,AL MOV AL,73H; OUTDX,AL MOV AL,0B6H OUTDX,AL 常用可編程接口芯片1定時器38 . 讀出控制字讀出控制字 D7,D6

32、,=11,為讀出模式控制字,這時,為讀出模式控制字,這時D0=0 D5:=0,將所選定的計數(shù)器當(dāng)前計數(shù)值鎖存,以便后面讀取,將所選定的計數(shù)器當(dāng)前計數(shù)值鎖存,以便后面讀取 D4:=0,將所選定的計數(shù)器的狀態(tài)進行鎖存,將所選定的計數(shù)器的狀態(tài)進行鎖存, D3,D2,D1:分別對應(yīng):分別對應(yīng)3個計數(shù)通道,個計數(shù)通道,=1,選中通道被鎖存,選中通道被鎖存 可以同時鎖存多個通道的計數(shù)器的計數(shù)值可以同時鎖存多個通道的計數(shù)器的計數(shù)值 但不能同時鎖存多個計數(shù)器的狀態(tài)但不能同時鎖存多個計數(shù)器的狀態(tài) 地址:最高端口地址:最高端口控制端口控制端口 寫寫 常用可編程接口芯片1定時器39 (2) (2) 狀態(tài)寄存器狀態(tài)寄

33、存器 只有只有8254有狀態(tài)端口,有狀態(tài)端口,8253無該端口。無該端口。 D7: 輸出端輸出端OUT的狀態(tài)的狀態(tài) D6: 表示初值是否已裝入計數(shù)器,表示初值是否已裝入計數(shù)器,=0:已裝入,:已裝入,=1未裝入未裝入 D5D0:與模式寄存器含義相同:與模式寄存器含義相同 常用可編程接口芯片1定時器40 (3) (3) 編程命令與初始化編程編程命令與初始化編程 編程原則:編程原則: 設(shè)置初值前必須先寫模式控制字設(shè)置初值前必須先寫模式控制字 初值設(shè)置要符合控制字中的格式規(guī)定初值設(shè)置要符合控制字中的格式規(guī)定 要讀取計數(shù)器的當(dāng)前值(或讀取狀態(tài)字),必須用控制字先要讀取計數(shù)器的當(dāng)前值(或讀取狀態(tài)字),必

34、須用控制字先 鎖定,再讀取。鎖定,再讀取。 編程命令有兩類:編程命令有兩類: 寫入命令寫入命令 讀出命令讀出命令 常用可編程接口芯片1定時器41 寫入命令寫入命令33個個 有三個有三個 (1 1)設(shè)置模式控制字命令)設(shè)置模式控制字命令 設(shè)置工作模式等。 (2 2)設(shè)置初始值命令)設(shè)置初始值命令 (3 3)鎖存命令)鎖存命令 與讀出命令配合,在讀出前,要先鎖存 常用可編程接口芯片1定時器42 讀出命令讀出命令22個個 (1)讀取計數(shù)器當(dāng)前的值。)讀取計數(shù)器當(dāng)前的值。 要先鎖定,然后再讀出。要先鎖定,然后再讀出。 (2)對)對8254,還可讀取狀態(tài)字,還可讀取狀態(tài)字 要先鎖定,然后再讀出。要先鎖定

35、,然后再讀出。 例如要讀出通道例如要讀出通道2的計數(shù)值,先向讀出控制寄存器寫鎖定命令的計數(shù)值,先向讀出控制寄存器寫鎖定命令 端口地址:端口地址:70H70H,72H72H,74H74H,76H76H 例如要讀出通道例如要讀出通道2 2的的 1111 0 0 1 1 1 1 0 0 0 0 0 0 常用可編程接口芯片1定時器43 讀出控制字讀出控制字 D7,D6,=11,為讀出模式控制字,這時,為讀出模式控制字,這時D0=0 D5:=0,將所選定的計數(shù)器當(dāng)前計數(shù)值鎖存,以便后面讀取,將所選定的計數(shù)器當(dāng)前計數(shù)值鎖存,以便后面讀取 D4:=0,將所選定的計數(shù)器的狀態(tài)進行鎖存,將所選定的計數(shù)器的狀態(tài)進

36、行鎖存, D3,D2,D1:分別對應(yīng):分別對應(yīng)3個計數(shù)通道,個計數(shù)通道,=1,選中通道被鎖存,選中通道被鎖存 可以同時鎖存多個通道的計數(shù)器的計數(shù)值可以同時鎖存多個通道的計數(shù)器的計數(shù)值 但不能同時鎖存多個計數(shù)器的狀態(tài)但不能同時鎖存多個計數(shù)器的狀態(tài) 地址:最高端口地址:最高端口控制端口控制端口 寫寫 常用可編程接口芯片1定時器44 方式控制字編程示例方式控制字編程示例 ; 8253; 8253的計數(shù)器的計數(shù)器0 0、1 1、2 2端口和控制端口地址:端口和控制端口地址: 40H40H43H43H ; ;設(shè)置其中計數(shù)器設(shè)置其中計數(shù)器0 0為方式為方式0 0 ; ;采用二進制計數(shù),先低后高寫入計數(shù)值采

37、用二進制計數(shù),先低后高寫入計數(shù)值 mov al,mov al,30h30h ; ;方式控制字:方式控制字:30H30H0000 11 11 000000 0B 0B outout 43h43h,al,al ; ;寫入控制端口:寫入控制端口:43H43H 常用可編程接口芯片1定時器45 3. 3. 編程:寫入計數(shù)值編程:寫入計數(shù)值 選擇二進制時選擇二進制時 n計數(shù)值范圍:計數(shù)值范圍:0000H0000HFFFFHFFFFH n0000H0000H是最大值,代表是最大值,代表6553665536 選擇十進制(選擇十進制(BCDBCD碼)碼) n計數(shù)值范圍:計數(shù)值范圍:000000009999999

38、9 n00000000代表最大值代表最大值1000010000 計數(shù)值寫入計數(shù)器各自的計數(shù)值寫入計數(shù)器各自的I/OI/O地址地址 按方式控制字規(guī)定的讀寫格式進行按方式控制字規(guī)定的讀寫格式進行 常用可編程接口芯片1定時器46 計數(shù)值編程示例計數(shù)值編程示例 ; 8253; 8253的計數(shù)器的計數(shù)器0 0、1 1、2 2端口和控制端口地址:端口和控制端口地址:40H40H43H43H ; ;設(shè)置計數(shù)器設(shè)置計數(shù)器0 0采用二進制計數(shù)采用二進制計數(shù) ; ;寫入計數(shù)初值:寫入計數(shù)初值:10241024(400H400H) mov ax,1024mov ax,1024; ;計數(shù)初值:計數(shù)初值:1024102

39、4(400H400H) ; ;寫入計數(shù)器寫入計數(shù)器0 0地址:地址:40H40H out out 40h40h,al,al; ;寫入低字節(jié)計數(shù)初值寫入低字節(jié)計數(shù)初值 mov al,ahmov al,ah outout 40h40h,al,al; ;寫入高字節(jié)計數(shù)初值寫入高字節(jié)計數(shù)初值 常用可編程接口芯片1定時器47 8.1.2 8.1.2 定時器的應(yīng)用定時器的應(yīng)用(1 1)方波脈沖)方波脈沖 要求利用要求利用82538253在在 OUT2OUT2輸出輸出2KHZ2KHZ方方 波波 編寫相應(yīng)的程序編寫相應(yīng)的程序 常用可編程接口芯片1定時器48 地址:地址:1000 000 1000 000 *

40、* * * * * XX0 XX0 ( (沒有使用的地址信號,沒有使用的地址信號,0 0和和1 1都可以,這里使用都可以,這里使用0 0比較方便比較方便) ) 通道通道0 0數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:8000H8000H 通道通道1 1數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:8002H8002H 通道通道2 2數(shù)據(jù)寄存器:數(shù)據(jù)寄存器:8004H8004H 控制寄存器控制寄存器 :8006H8006H 方波:通道方波:通道3 3選擇方式選擇方式3 3,2MHz-2KHz2MHz-2KHz分頻系數(shù)分頻系數(shù)10001000,使用二,使用二 進制,控制字:進制,控制字: 10 10 11 11 011 011 0 0

41、其它通道不用其它通道不用 時間常數(shù):時間常數(shù):100003E8H100003E8H 如果要求輸出脈沖寬度為如果要求輸出脈沖寬度為1 1個時鐘周期的分頻脈沖而不是方波個時鐘周期的分頻脈沖而不是方波 脈沖,就選用方式脈沖,就選用方式2 2 常用可編程接口芯片1定時器49 CODE SEGMENTCODE SEGMENT ASSUME CS: CODE,DS:DATAASSUME CS: CODE,DS:DATA START:START: MOVMOVDX, 8006HDX, 8006H;控制字端口;控制字端口 MOVMOVAL, 0B6HAL, 0B6H;控制字;控制字 OUTOUTDX, ALD

42、X, AL MOVMOVDX, 8004HDX, 8004H;通道;通道2 2時間常數(shù)端口時間常數(shù)端口 MOVMOVAL, 0E8HAL, 0E8H;低;低8 8位時間常數(shù)位時間常數(shù) OUTOUTDX, ALDX, AL MOVMOVAL, 03HAL, 03H;高;高8 8 位時間常數(shù)位時間常數(shù) OUTOUTDX, ALDX, AL JMP $JMP $; ;沒有其他工作,只產(chǎn)生脈沒有其他工作,只產(chǎn)生脈 沖,故沖,故 ;完成設(shè)置后,在此死循環(huán);完成設(shè)置后,在此死循環(huán) CODE ENDSCODE ENDS END STARTEND START 常用可編程接口芯片1定時器50 (2 2) 定時中

43、斷定時中斷 mov al,36hmov al,36h; ; 計數(shù)器計數(shù)器0 0為方式為方式3 3,二進制計數(shù),二進制計數(shù) ; ; 先低后高寫入計數(shù)值先低后高寫入計數(shù)值 out 43h,alout 43h,al; ; 寫入方式控制字寫入方式控制字 mov al,0mov al,0 ; ; 計數(shù)值為計數(shù)值為0 0 out 40h,alout 40h,al; ; 寫入低字節(jié)計數(shù)值寫入低字節(jié)計數(shù)值 out 40h,alout 40h,al; ; 寫入高字節(jié)計數(shù)值寫入高字節(jié)計數(shù)值 計數(shù)器計數(shù)器0 0:方式方式3 3,計數(shù)值:計數(shù)值:6553665536,輸出方波,輸出方波 頻率:頻率:1.19318MHz1.19318MHz655366553618.206Hz18.206Hz,不斷產(chǎn)生,不斷產(chǎn)生 OUTOUT0端接端接8259A8259A的的IRQIRQ0,每秒產(chǎn)生,每秒產(chǎn)生18.20618.206次中斷請求,次中斷請求, 或說每隔或說每隔55ms55ms(54.925493ms54.925493ms)申請一次中斷)申請一次中斷 DOSDOS系統(tǒng)利用計數(shù)器系統(tǒng)利用計數(shù)器0 0的這個特點,通過的這

溫馨提示

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

最新文檔

評論

0/150

提交評論