Jumat, 27 November 2015

Timer AVR

TIMER AVR




Timer dan Counter
Mikrokontroler    AVR    ATMega8535    (juga    seri    lainnya)    memiliki    tiga     macam    timer/counter(pewaktu/pencacah), yaitu Timer0, Timer1 dan Timer2:
Timer0 dan Timer2 merupakan timer 8-bit (bisa mencacah dari 0 sampai dengan 255) 
Timer1 merupakan timer 16-bit (bisa mencacah dari 0 sampai dengna 65535). Sifat dasar dari timer/counter ini sama seperti RAM yang bisa dibaca dan diulisi, namun menawarkan 
fasilitas yang lebih dari sekedar baca/tulis:

Timer  melakukan  pencacahan  bisa  secara  otomatis  (makanya  disebut  sebagai  pewaktu). 
Cukup  Anda  berikan  perintah  untuk   mengaktifkan  (START   TIMERn)  atau  menghentikan
(STOP  TIMERn),  jika  melibatkan  interupsi  bisa  digunakan  instruksi  ENABLE  TIMERn  atau 
DISABLE TIMERn (n diganti angka 0, 1 atau 2) /timer yang akan digunakan
Falling (1 ke 0)
Rising  (0 ke 1) 

Mari kita bahas timer 0 (16 bit)
Timer/counter1 (16bit)
Timer/counter 1 adalah sebuah timer/counter yang mempunyai kapasitas cacahan 16 bit (65535) baik pulsa internal maupun eksternal yang dilengkapi prescaler sumber clock hingga 10 bit (1024). Timer/counter 1 mempunyai 2 kelompok register :
1. Register Kerja
  • TCNT1 = register pencacah/penghitung
  • OCR1A = register pembanding A
  • OCR1B = register pembanding B
  • ICR1 = register penangkap isi TCNT1
2. Register Kontrol
Kombinasi TCCR1A dan TCCR1B untuk mengendalikan berbagai mode timertimer
Register-register timer/counter 1
Timer/Counter 1 Control Register A – TCCR1A
Timer/Counter 1 Control Register B – TCCR1B
Output Compare Register 1 A – OCR1A (OCR1AH dan OCR1AL)
Output Compare Register 1 B – OCR1B (OCR1BH dan OCR1BL)
Input Capture Register 1 – ICR1 (ICR1H dan ICR1L)
Timer/counter Interrupt Mask Register – TIMSK
Timer/Counter Interrupt Flag Register – TIFR

Prescaler
Pada dasarnya timer hanya menghitung pulsa clock. Frekuensi pulsa clock yang dihitung tersebut bisa sama dengan frekuensi crystal yang digunakan atau dapat diperlambat menggunakan prescaler dengan faktor 8, 64, 256 atau 1024.

Perhitungan waktu Timer/Counter 16 bit




Contoh :
Diinginkan sebuah timer 16 bit bekerja selama 0,5 detik, dengan frekuensi clock sebesar 11,0592 Mhz dan presecaller 1024. Tentukan nilai TCNT?
Jawab :


 

Jadi, TCNT1H = EAh dan TCNT1L = E8h

Share:

0 comments:

Posting Komentar

Copyright © FILAB | Powered by FILAB
Design by Fickry Muhammad | Technology by Filab.id