021定時器8254.ppt_第1頁
021定時器8254.ppt_第2頁
021定時器8254.ppt_第3頁
021定時器8254.ppt_第4頁
021定時器8254.ppt_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、8254定時/計數(shù)器,8254是可編程的定時/計數(shù)器,兼容8253,有3個可獨立編程的16位定時/計數(shù)器。,8254的編程,通過寫控制字可確定每個通道的工作方式。 方式0:計數(shù)結束輸出正躍變信號 方式1:單脈沖發(fā)生器 方式2:分頻器 方式3:方波發(fā)生器(分頻器方式) 方式4:軟件觸發(fā)的單脈沖發(fā)生器 方式5:硬件觸發(fā)的單脈沖發(fā)生器,控制字寄存器(0 x43),SC1 SC0 選通道,表明對那個通道進行操作。 0 0 通道 0 0 1 通道 1 1 0 通道 2 1 1 無效,D7D6D5D4D3D2D1D0,讀寫方式,RL1 RL0 確定讀寫計數(shù)值的方法和順序 0 0 鎖定當前計數(shù)值,供CPU讀

2、 0 1 只讀/寫低8位 1 0 只讀/寫高8位 1 1 先讀/寫低8位,再讀/寫高8位,確定工作方式,M2M1M0 確定通道的工作方式 0 0 0方式0 0 0 1方式1 X 1 0方式2 X 1 1方式3 1 0 0方式4 1 0 1方式5,BCD=1:BCD碼計數(shù) BCD=0:二進制計數(shù),09999 065535,8254在PC機中的應用,8254有兩條地址線,占4個連續(xù)的I/O端口地址。,通道0用于電子鐘定時基準,OUT0接到8259A的IR0作為中斷源,中斷類型號08H.。,通道1用于動態(tài)RAM刷新。,通道2產(chǎn)生音頻信號,供喇叭發(fā)聲。,通道2,outportb(0 x43,0 xb6

3、);,通道0的工作方式,通道0初始化為方式3 方波頻率發(fā)生器,OUT0端產(chǎn)生方波,方波的頻率等于CLK0端輸入脈沖頻率除以計數(shù)初值。,CLK0輸入脈沖頻率為 1.193MHz(1193182 Hz) 周期為 1/1.193MHz838ns,通道0 作為計數(shù)器,每838ns計數(shù)值減1,減到0時又自動恢復計數(shù)初值。這時OUT0輸出的方波完成一個周期,方波的上升沿觸發(fā)一次中斷。,計數(shù)初值,方波的頻率f2等于輸入脈沖頻率f1除以計數(shù)初值N f2=f1/N,方波的周期T2 =1/f2等于輸入脈沖周期T1=1/f1乘以計數(shù)初值N T2=T1 N,計數(shù)初值N等于方波的周期T2(單位為秒)除以輸入脈沖周期T1

4、 N=T2/T1=T2/838ns 更精確的辦法:N=T2*1193182;,通道0的初始化,MOVAL,36H OUT43H,AL MOVAL,0 OUT40H,AL OUT40H,AL,控制字36H=00110110B,D7 D6 D5 D4 D3 D2 D1 D0,二進制計數(shù),1111111111111111,0-1=65535!,0經(jīng)65536次減1后又減到0 方波完成一個周期,0相當最大的計數(shù)初值65536。,通道0的中斷周期,通道0的計數(shù)初值相當于65536 方波的頻率1.193MHz/6553618.2Hz 方波的周期838ns*6553655ms 通道0每55ms申請一次中斷,

5、每秒18.2次,通道0的中斷服務子程序TIMER-INT固化在BIOS中,有三個功能: 1.進行年、月、日、時、分、秒的計時。 2.軟盤I/O時,確定軟驅電機停止轉動的時間。 3.發(fā)出一個1CH類軟中斷,可以調用一個用戶程序。,思考題,1.若希望10ms中斷一次,計數(shù)初值是多少? 2.若CLK0輸入脈沖頻率為2MHz,采用二進制計數(shù)和BCD碼計數(shù)時最大的中斷周期是多少? 3.若CLK0輸入脈沖頻率為4MHz,希望中斷周期為10ms,寫出初始化程序。,時鐘中斷程序舉例,利用8254的通道0作為實時時鐘定時,每10ms中斷一次。編寫第8類中斷的中斷服務程序每中斷一次在CRT上顯示一個8字。,根據(jù)新的中斷周期對8254通道0初始化 寫中斷服務子程序 設置中斷向量,計數(shù)初值 10ms/838ns11933=0 x2e9d Int(0.010*1193182)=11931=0 x2e9b,程序清單,#include #include voidinterrupt myint8(void); voidmain(void) disable(); outportb(0 x43,0 x36); outportb(0 x40,0 x9d); outportb(0 x40,0 x2e); setvect(0 x08,

溫馨提示

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

評論

0/150

提交評論