1 / 10

Robot Team of MIAT Lab Timer 與 Interrupt

Robot Team of MIAT Lab Timer 與 Interrupt. 指導教授 陳慶瀚 講者 賴史瑞. Timer. Timer 的時脈來源有兩種 ★ 8051 的內部時脈 -SYSCLK ★ 從 T0 與 T1 接腳所輸入的外部時脈 - 訊號產生器. TMOD 與 TCON. TMOD 的結構 時脈來源的選擇是由 TMOD 暫存器中的 C/T 位元來決定。當 C/T 設定為 1 時, Timer 使用外部時脈;當 C/T 設定為 0 時, Timer 使用內部時脈。 TCON 的結構

liv
Download Presentation

Robot Team of MIAT Lab Timer 與 Interrupt

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robot Team of MIAT LabTimer與Interrupt 指導教授 陳慶瀚 講者 賴史瑞

  2. Timer • Timer的時脈來源有兩種 ★ 8051的內部時脈-SYSCLK ★從T0與T1接腳所輸入的外部時脈-訊號產生器

  3. TMOD與TCON • TMOD的結構 • 時脈來源的選擇是由TMOD暫存器中的C/T位元來決定。當C/T設定為1時,Timer使用外部時脈;當C/T設定為0時,Timer使用內部時脈。 • TCON的結構 • 當TCON暫存器中的TR0為1時,則Timer0由TMOD暫存器的GATE位元與INT0接腳構成Timer的軟體控制;當TCON暫存器中的TR0為0時,則Timer0將停止計時/計數。

  4. Mode0 • 13位元Timer-由THx 8位元與TLx 5位元組成 • 13位元Timer的最大值為8192 • 當你要算5000次時 THx = (8129-5000)/32 TLx = (8192-5000)%32

  5. Mode1 • 16位元Timer-由THx 8位元與TLx 8位元組成 • 16位元Timer的最大值為65536 • 當你要算5000次時 THx = (65536-5000)/256 TLx = (65536-5000)%256

  6. Mode2 • 8位元自動重載Timer (適合用在需要固定時間的計時 ) • 計數完畢會把THx的值載入TLx中 • 8位元Timer的最大值為256 • 當你要算200次時 THx = 256-200

  7. Mode3 • 兩個獨立的8位元Timer • Timer0用TL0 暫存器 • Timer1用TH0 暫存器 • 8位元Timer的最大值為256 • 當你要算200次跟300次時 TH0 = 256-200 TL0 = 256-300

  8. Timer與Interrupt • IE的結構

  9. Timer與Interrupt(con.) • Timer0與Timer1的interrupt的產生 當Timer值產生overflow時,則對應之flag TF0與TF1設定為〝1〞;而當對應的interrupt服務副程式執行完畢後,要清除TF0與TF1 flag。 • 範例程式

  10. 練習時間 • 練習 請用Mode2讓LED每秒改變一次狀態 範例程式

More Related