第7章定時計數(shù)技術(shù)..ppt_第1頁
第7章定時計數(shù)技術(shù)..ppt_第2頁
第7章定時計數(shù)技術(shù)..ppt_第3頁
第7章定時計數(shù)技術(shù)..ppt_第4頁
第7章定時計數(shù)技術(shù)..ppt_第5頁
免費預(yù)覽已結(jié)束,剩余35頁可下載查看

下載本文檔

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

文檔簡介

接口與通訊技術(shù)武漢科技大學(xué)計算機(jī)科學(xué)與技術(shù)學(xué)院 第7章定時 計數(shù)技術(shù) 本章內(nèi)容7 1定時與計數(shù)7 2微機(jī)系統(tǒng)中的定時系統(tǒng)7 3外部定時方法及硬件定時器7 4可編程定時計數(shù)器82C54A7 5定時 計數(shù)器的應(yīng)用 7 1定時與計數(shù) 1 定時 日時鐘 實時鐘 時間延遲2 計數(shù)3 定時與計數(shù)的關(guān)系 7 2微機(jī)系統(tǒng)中的定時系統(tǒng) 1 內(nèi)部定時 計算機(jī)本身運行的時間基準(zhǔn)或時序關(guān)系 由計算機(jī)硬件決定 用戶無法更改2 外部定時 外設(shè)實現(xiàn)某種功能時 本身所需的時序關(guān)系3 時序配合 考慮外設(shè)與CPU連接時 以計算機(jī)的時序關(guān)系為依據(jù) 以滿足計算機(jī)的時序要求 7 3外部定時方法及硬件定時器 7 3 1定時方法1 軟件定時典型的延時程序段特點 不需增加硬件 浪費CPU資源 程序通用性差2 硬件定時特點 不占用CPU時間 定時準(zhǔn)確 定時程序具有通用性7 3 2定時器1 不可編程定時器常用定時器件 單穩(wěn)觸發(fā)器 555 556定時器2 可編程定時器常用可編程定時 計數(shù)器芯片 Intel8253 8254 82C54A MC6840 Zilog的CTC等對時間的計時方式 正計時 倒計時 7 4可編程定時 計數(shù)器82C54A 7 4 182C54A的外部特性和內(nèi)部寄存器82C54A的主要特性 3個獨立的 16位的 減1計數(shù)通道 T0 T2 每個通道有自己的GATE CLK OUT 6種工作方式1 82C54A的外部連接特性 24腳 雙列直插 5V供電 1 面向CPU的信號線 13 D0 D7 CS RD WR A1 A0 2 面向I O設(shè)備的信號線 9 GATEi Ti的門控信號 控制計數(shù)過程 具體作用視方式而定CLKi Ti的脈沖輸入 允許計數(shù)時對CLKi輸入的脈沖減1計數(shù)OUTi Ti的輸出信號 Ti減為0時OUTi有效 輸出波形視方式而定 7 4 182C54A的外部特性和內(nèi)部寄存器 2 82C54A的內(nèi)部寄存器 1 82C54A的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器 命令寄存器 3個計數(shù)通道 讀 寫邏輯各模塊的功能及82C54A的讀寫操作 2 3個計數(shù)通道的內(nèi)部結(jié)構(gòu)及各寄存器的功能 82C54A的內(nèi)部結(jié)構(gòu) 7 4 282C54A的編程模式 用戶擴(kuò)展的82C54A的I O端口地址 304H 307H1 方式命令 選擇通道 確定工作方式命令字各位含義及舉例2 鎖存命令 將選定計數(shù)通道的當(dāng)前計數(shù)值鎖存 以便讀取讀取當(dāng)前值的作用 求當(dāng)前所計脈沖數(shù) 應(yīng)用舉例3 讀回命令 既能鎖存計數(shù)值又能鎖存狀態(tài)信息CNT 鎖存選中計數(shù)器的內(nèi)容 0表示要讀取計數(shù)值ST 鎖存選中計數(shù)器的狀態(tài) 0表示要讀取狀態(tài)CNi 選擇計數(shù)器 1表示選中 82C54方式命令字各位的含義 RW1RW0 讀 寫長度選擇或發(fā)鎖存命令00 發(fā)鎖存命令 鎖存SC1SC0指定的通道 此時低4位無效01 只讀 寫一個低字節(jié)10 只讀 寫一個高字節(jié)11 先低后高讀 寫兩個字節(jié)M2M1M0 工作方式選擇 方式0 5分別由000 101選擇 讀取當(dāng)前值的應(yīng)用舉例 要求 用T0統(tǒng)計某個事件發(fā)生的次數(shù) 將結(jié)果存入寄存器BX中 假設(shè)該事件發(fā)生的次數(shù)在1 65535次范圍內(nèi)分析 由于發(fā)生次數(shù)在1 65535之間 故將初值送為0 采用二進(jìn)制計數(shù) 當(dāng)需要了解事件發(fā)生的實際次數(shù)時 只要用初值減去當(dāng)前值即可 方式可選0 1 4 5 以方式0為例 初始化程序 MOVDX 307HMOVAL 30HOUTDX AL 方式字MOVBX 0 計數(shù)初值MOVDX 304HMOVAL BLOUTDX ALMOVAL BHOUTDX AL 寫入初值 需要了解實際發(fā)生次數(shù)時執(zhí)行下列程序段 MOVDX 307HMOVAL 00HOUTDX AL 鎖存T0當(dāng)前值MOVDX 304HINAL DX 讀低字節(jié)MOVCL ALINAL DX 讀高字節(jié)MOVCH ALSUBBX CX BX 實際發(fā)生次數(shù) 7 4 382C54A的工作方式 區(qū)分6種工作方式的標(biāo)志 啟動計數(shù)器的觸發(fā)方式輸出波形計數(shù)過程中門控信號的作用1 0方式 計數(shù)結(jié)束輸出正跳變觸發(fā)方式 寫入初值后 WR 觸發(fā)輸出波形 計數(shù)過程中為低電平 減為0變高 并結(jié)束計數(shù)過程中GATE作用 1 允許 0 禁止 暫停 繼續(xù)2 1方式 可重觸發(fā)單穩(wěn)方式觸發(fā)方式 寫入初值后 GATE 觸發(fā)輸出波形 計數(shù)過程中為低電平 減為0變高 并結(jié)束計數(shù)過程中GATE作用 1 0 不影響 啟動或重新啟動 82C54A的0方式 CLK N 5 82C54A的1方式 CLK 7 4 382C54A的工作方式 3 2方式 N分頻器 速率波發(fā)生器 觸發(fā)方式 寫入初值后 WR 觸發(fā)輸出波形 計數(shù)過程中為高電平 減為1時變低 維持1個時鐘周期 再次變高并重新裝入計數(shù)初值 重復(fù)計數(shù)過程計數(shù)過程中GATE作用 1 允許 0 禁止 停止 重新開始4 3方式 方波發(fā)生器與2方式的區(qū)別僅在于輸出波形不同輸出波形 占空比為1 1或近似1 1的方波 初值為偶數(shù)時 前半周為高電平 后半周為低電平 初值為奇數(shù)時 前 N 1 2個脈沖為高電平方式2 方式3的特殊性 具有自動重新裝載計數(shù)初值的功能周期 頻率 兩種方式的占空比 82C54A的2方式 82C54A的3方式 7 4 382C54A的工作方式 5 4方式 軟件觸發(fā)選通方式觸發(fā)方式 寫入初值后 WR 觸發(fā)輸出波形 方式設(shè)定后輸出為高電平 并維持 減為0時變低 維持1個時鐘周期 再次變高并結(jié)束計數(shù)過程中GATE作用 1 允許 0 禁止 停止 重新開始6 5方式 硬件觸發(fā)選通方式 輸出波形同4方式 觸發(fā)方式同1方式 觸發(fā)方式 寫入初值后 GATE 觸發(fā)輸出波形 計數(shù)過程中為高 結(jié)束時輸出寬度為1個時鐘周期的負(fù)脈沖并結(jié)束計數(shù)過程中GATE作用 1 0 不影響 啟動或重新啟動 82C54A的4方式 82C54A的5方式 7 4 382C54A的工作方式 7 6種方式的比較觸發(fā)方式 方式1和方式5為硬件觸發(fā) 其余為軟件觸發(fā)輸出波形 方式2和方式3輸出重復(fù)波形 其余為單次波形 方式0 1基本相同 方式4 5相同計數(shù)過程的結(jié)束 方式2和方式3需外加控制信號令GATE 0 方式0 1 4 5計數(shù)結(jié)束會自動停止 7 4 482C54A的計數(shù)初值計算及裝入 1 計數(shù)初值的計算82C54A是逆計數(shù)器 減1計數(shù)器 減1計數(shù)器減為0時輸出有效定時的計數(shù)初值 時間常數(shù) 2 計數(shù)初值的裝入16位計數(shù)初值裝入順序 先低后高3 計數(shù)初值的范圍當(dāng)初值N 0時 計數(shù)脈沖數(shù)最多 二進(jìn)制計數(shù) 計65536個BCD碼計數(shù) 計10000個 7 4 582C54A的初始化1 初始化步驟 設(shè)置方式命令字 設(shè)置計數(shù)初始值2 初始化舉例輸入頻率為2MHz的時鐘信號 利用T1定時2ms 采用方式3 82C54A的初始化舉例 設(shè) 輸入時鐘頻率為2MHz 要求利用T1定時2ms 采用方式3計數(shù)初值 時間常數(shù) 方式字 76H 二進(jìn)制計數(shù) 或77H BCD碼計數(shù) MOVDX 307HMOVAL 76HOUTDX AL 寫入方式字MOVDX 305HMOVAX 4000OUTDX ALMOVAL AHOUTDX AL 寫入計數(shù)初值 4000H 7 5定時 計數(shù)器的應(yīng)用 7 5 1用戶擴(kuò)展的定時 計數(shù)器 304H 307H 應(yīng)用例7 1某系統(tǒng)要求用82C54A的T1測量脈沖 正脈沖 的寬度 系統(tǒng)提供輸入時鐘CLK 1MHz 采用二進(jìn)制計數(shù)分析 采用方式0 用被測脈沖控制GATE1 首先裝入初值0 當(dāng)被測信號變高時開始計數(shù) 被測信號變低時停止計數(shù) 鎖存并讀出當(dāng)前值n 則脈沖寬度為 65536 n s脈寬測量程序段 初始化MOVDX 307HMOVAL 70HOUTDX ALMOVDX 305HMOVAX 0000HOUTDX ALMOVAL AHOUTDX AL 測量脈寬MOVDX 307HMOVAL 40HOUTDX AL 鎖存T1MOVDX 305HINAL DXMOVBL ALINAL DXMOVBH AL BX 為當(dāng)前值MOVAX 0SUBAX BX 脈沖寬度測量原理 7 5 1用戶擴(kuò)展的定時 計數(shù)器的應(yīng)用 例7 282C54A用作定時要求 每隔5ms發(fā)出一個掃描負(fù)脈沖 系統(tǒng)提供時鐘CLK 20KHz 采用T2 用十進(jìn)制計數(shù)分析 T2工作于方式2計數(shù)初值為N TOUT TCLK TOUT CLK 5 10 3 20 103 100初始化程序 MOVDX 307HMOVAL 0B5HOUTDX ALMOVDX 306HMOVAX 100HOUTDX ALMOVAL AHOUTDX AL 7 5 1用戶擴(kuò)展的定時 計數(shù)器的應(yīng)用 例7 382C54A用作分頻器要求 用T0產(chǎn)生 1000Hz的方波 系統(tǒng)提供時鐘CLK 1 19318MHz 采用二進(jìn)制計數(shù)分析 工作于方式3計數(shù)初值為N CLK OUT 1 19318 106 1000 1193 4A9H初始化程序 MOVDX 307HMOVAL 36HOUTDX ALMOVDX 304HMOVAX 4A9HOUTDX ALMOVAL AHOUTDX AL 7 5 1用戶擴(kuò)展的定時 計數(shù)器的應(yīng)用 例7 482C54A同時用作計數(shù)與定時要求 控制產(chǎn)品流水線 每通過24個產(chǎn)品 暫停5s 等待打包 然后重啟流水線 按ESC鍵停止生產(chǎn) 系統(tǒng)提供時鐘100Hz分析 對24計數(shù) 選用T0 對5s定時 選用T1 用OUT0觸發(fā)T1控制流水線的暫停和重啟 設(shè)置T0方式2 T1方式1 由外部硬件信號 OUT0 進(jìn)行觸發(fā) 設(shè)兩個通道都采用十進(jìn)制計數(shù)T0方式字 00010101B 15H 初值N0 24HT1方式字 01110011B 73H 初值N1 5 100 H 500H硬件設(shè)計包裝流水線的程序段 包裝流水線計數(shù)定時裝置電路結(jié)構(gòu)原理 包裝流水線匯編語言程序段 CODESEGMENTASSUMECS CODESTART MOVDX 307H 通道0初始化MOVAL 15HOUTDX ALMOVDX 304HMOVAL 24HOUTDX ALMOVDX 307H 通道1初始化MOVAL 73HOUTDX ALMOVDX 305HMOVAX 500HOUTDX ALMOVAL AHOUTDX AL CHECK MOVAH 0BH 是否有鍵按下INT21HCMPAL 00HJECHECKMOVAH 08H 有鍵 判斷是否為ESCINT21HCMPAL 1BHJNECHECK 發(fā)停止生產(chǎn)的控制信號MOVAX 4C00H 是ESC則結(jié)束INT21HCODEENDSENDSTART 7 5 2系統(tǒng)配置的定時 計數(shù)器 40H 43H 應(yīng)用 1 微機(jī)系統(tǒng)配置的82C54A應(yīng)用設(shè)置OUT0 系統(tǒng)時鐘中斷OUT1 動態(tài)存儲器刷新OUT2 發(fā)聲系統(tǒng)音調(diào)控制 7 5 2系統(tǒng)配置的定時 計數(shù)器應(yīng)用 2 微機(jī)系統(tǒng)配置的82C54A初始化程序段 計數(shù)器0 定時中斷 約55ms申請一次中斷 MOVAL 00110110B 初始化方式命令OUT43H ALMOVAX 00H 初值為00H 最大值 OUT40H AL 先寫低字節(jié)MOVAL AHOUT40H AL 再寫高字節(jié) 計數(shù)器1 DRAM定時刷新 15 s請求一次DMA傳輸 MOVAL 01010100B 初始化方式命令OUT43H ALMOVAL 12H 初值為12HOUT41H AL 只寫低字節(jié) 計數(shù)器2 產(chǎn)生約900Hz的方波使揚聲器發(fā)聲MOVAL 10110110BOUT42H ALOUT43H ALMOVAL AHMOVAX 533HOUT42H AL 7 5 2系統(tǒng)配置的定時 計數(shù)器應(yīng)用 3 微機(jī)系統(tǒng)配置的82C54A應(yīng)用舉例例7 5發(fā)聲器設(shè)計要求 利用82C54A發(fā)600Hz的聲音 按任意鍵開始發(fā)聲 長 短音交替 按ESC鍵停止 82C54A的T2的輸入時鐘頻率1 19318MHz系統(tǒng)的硬件連接分析 聲音頻率 由初值控制N 1 19318 106 600 1988聲音開關(guān) 由82C55A的PB口控制PB0 PB1 1 開 PB0 0或PB1 0 關(guān)聲音長短 由開放聲音的延時時間控制BL作延時子程序入口參數(shù) BL 1 短音 BL 6 長音 軟件設(shè)計 由主程序和發(fā)聲子程序組成主程序流程圖主程序發(fā)聲子程序 發(fā)聲器硬件設(shè)計 發(fā)聲器主程序流程圖 說明 82C55A的PB口地址為61HINT21H的0BH號功能調(diào)用AL 00H 無鍵按下AL FFH 有鍵按下 再用8號調(diào)用取得該鍵的ASCII碼 發(fā)聲器主程序 CODESEGMENTASSUMECS CODEORG100HBEGIN MOVAL 0B6H 82C54方式字OUT43H ALMOVAX 1988 82C54初值OUT42H ALMOVAL AHOUT42H ALINAL 61HANDAL 0FCHOUT61H AL 關(guān)聲音 PB0 PB1 0 WT MOVAH 0BHINT21HCMPAL 0JZWT 無鍵按下 等待 L SOUND MOVBL 6CALLSOUND 發(fā)長音MOVAH 0BHINT21HCMPAL 0JES SOUND 無按鍵發(fā)短音MOVAH 8INT21HCMPAL 27JNES SOUND 非ESC 發(fā)短音EXIT MOVAH 4CHINT21H 按ESC 結(jié)束S SOUND

溫馨提示

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

評論

0/150

提交評論