90 likes | 184 Views
單元六. 計時中斷系統. 89S51 的中斷系統. 89S51 的中斷系統包含了下列五種中斷:. 可透過軟體設定為 16 、 13 及 8 位元的計數器. 可選擇計數器訊號源. 計時中斷 (TIMER0 、 TIMER1). 利用石英振盪產生的脈波或外部時脈觸發單晶片內部的上數計數器,再利用計數器的溢位訊號做為中斷源。. 7. 6. 5. 4. 3. 2. 1. 0. GATE. C/T. M1. M0. GATE. C/T. M1. M0. TIMER0. TIMER1. TMOD 暫存器. 89S51 中計時系統設定.
E N D
單元六 計時中斷系統
89S51的中斷系統 89S51的中斷系統包含了下列五種中斷:
可透過軟體設定為16、13及8位元的計數器 可選擇計數器訊號源 計時中斷(TIMER0、TIMER1) 利用石英振盪產生的脈波或外部時脈觸發單晶片內部的上數計數器,再利用計數器的溢位訊號做為中斷源。
7 6 5 4 3 2 1 0 GATE C/T M1 M0 GATE C/T M1 M0 TIMER0 TIMER1 TMOD暫存器 89S51中計時系統設定
和INT中斷有關 和TIMER中斷有關 7 6 5 4 3 2 1 0 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TCON暫存器 TCON暫存器 為外部中斷及計時計數中斷共用之設定及中斷訊號存放之暫存器。
IE暫存器 為89S51所有中斷的致能和禁能的控制中心,要使單晶片的中斷系統能運作,就必需透過設定IE暫存器的值來控制。
計時器Timer0起始設定範例 將Timer0設為計時器且每0.01秒中斷1次 步驟一:設定TMOD值 MOVTMOD, #00010001B 步驟二:計算TL及TH之初值 以12M石英振盪,故機械週期為1uS,初值應為: 65536-10000=55536=D8F0H TH=D8H、TL=F0H 步驟三:致能總開關EA SETBEA 步驟四:致能Timer0開關 SETBET0 步驟五:將脈波接通至TL和TH計時器 SETBTR0
計時器Timer0中斷後設定 步驟一:配合設定時之初值 65536-10000=55536=D8F0H TH=D8H、TL=F0H 步驟二:返回主程式 RETI