TimerCounter Apa itu timercounter Merupakan suatu pencacahcounter yang
- Slides: 19
Timer/Counter
Apa itu timer/counter? • Merupakan suatu pencacah(counter) yang bisa menghitung naik/turun • Pencacah berupa register 8 bit/16 bit • Nilai cacahan yg tersimpan di register tersebut akan naik/turun pada transisi naik (positive edge) clock masukan
Gambaran timer Clock in enable Register pencacah Clock internal mux Clock eksternal select
Timer dan counter • Timer : clock untuk timer berasal dari clock yang dipakai oleh sistem (internal). Jika kita menggunakan kristal, clock untuk timer bersumber dari kristal. Timer biasanya digunakan untuk pewaktuan • Counter: clock berasal dari pin Tn(T 0, T 1 atau TOSC 1 -TOSC 2). Digunakan untuk mencacah event dari luar(mencacah pulsa dsb)
Sumber clock untuk timer • Langsung terhubung ke clock sistem(f_clk) • Lewat prescaler(pembagi) – f_clk/8 – f_clk/64 – f_clk/256 – f_clk/1024
Timer 0 • Timer 8 bit • Register yang digunakan: – TCNT 0 register pencacah, menampung nilai yang dicacah – TCCR 0 register kontrol, untuk memilih mode operasi, memilih prescaler – OCR 0 register untuk menentukan nilai maks pada mode operasi compare – TIMSK register untuk meng-enable/disable dan memilih interupsi timer(digunakan juga di timer 1 dan 2) – TIFR register flag yang menandai terjadinya suatu interupsi timer (digunakan juga di timer 1 dan 2)
Mode Operasi Timer 0 Mode Normal – Register TCNT 0 count up dari suatu nilai sampai mencapai nilai 0 x. FF kemudian restart ke nilai 0 x 00 – Peristiwa restart itu disebut overflow – Pada saat overflow, bit TOV 0 akan logika 1 dan mengakibatkan interupsi(jika interupsi di -enable)
Mode Operasi Timer 0 2. Mode clear timer on compare match(CTC) • TCNT 0 akan count up dari suatu nilai sampai mencapai nilai maks (< 0 x. FF) • Nilai maks ini didefinisikan di register OCR 0 • Setelah mencapai nilai maks, TCNT 0 akan reset kembali ke 0 x 00 dan bit OCF 0 (output compare flag) akan set • Interupsi akan terjadi jika di-enable
Mode Operasi Timer 0 3. Fast PWM mode 4. Phase correct PWM 3 dan 4 akan dibicarakan pada pertemuan berikutnya
Register TCNT 0
Register TCCR 0, bit WGM • Bit WGM digunakan untuk memilih mode operasi
Reg TCCR 0 bit COM • Digunakan untuk konfigurasi mode CTC(compare match)
TCCR 0 bit CS • Untuk memilih sumber clock dan prescaler
Output Compare Register (OCR 0) • Digunakan untuk menyimpan nilai ‘compare’ yang akan selalu dibandingkan dengan nilai TCNT 0 pada mode compare match
Timer interrupt mask register • Digunakan untuk aktivasi interupsi timer, yang digunakan untuk timer 0 hanya bit 0 dan 1
Memakai timer 0 dalam program • Memakai timer 0 dalam mode overflow, menggunakan interupsi – Setting vektor interupsi, memberikan perintah RJMP pada alamat vektor interupsi timer 0 overflow, yaitu alamat 0 x 009 – Inisialisasi : mengisi nilai awal TCNT 0 – Setting TCCR 0 untuk setting mode operasi overflow (WGM 00=0, WGM 01=0) dan memilih sumber clock dan prescaler (CS 02. . CS 01) – Meng-enable bit TOIE 0 pada register TIMSK – Meng-enable global interrupt (perintah SEI)
Timer 0 compare match • Memakai timer 0 dalam mode compare match, menggunakan interupsi – Setting vektor interupsi, memberikan perintah RJMP pada alamat vektor interupsi timer 0 overflow, yaitu alamat 0 x 013 – Inisialisasi: mengisi nilai awal TCNT 0 dan mengisi nilai OCR 0 – Setting TCCR 0 untuk setting mode operasi overflow (WGM 00=0, WGM 01=1) dan memilih sumber clock dan prescaler (CS 02. . CS 01) – Meng-enable bit TOIE 0 pada register TIMSK – Meng-enable global interrupt (perintah SEI)
Contoh soal • Buatlah sebuah tampilan pencacah naik yang ditampilkan di LED pada PORTC. Pencacah naik setiap 1 detik. Kristal yang digunakan 4 MHz. Sistem juga menampilkan variasi nyala LED pada PORTB, yang timing-nya diatur dengan delay register
Setting timer • Misalnya diinginkan menggunakan timer 0 dalam mode normal (overflow) • timer dirancang overflow 0. 01 detik sekali (100 Hz-biar frekuensi tidak terlalu kecil) • Karena frekuensi overflow cukup rendah, gunakan prescaler 1024, jadi frekuensi xtal 4 MHz akan dibagi 1024 baru masuk ke pencacah • F_pencacah=4 M/1024 = 3906. 25 Hz • Untuk mencapai 100 Hz harus dibagi 39 • Sehingga TCNT 0 harus diisi dahulu dengan nilai sebesar 0 x. FF – 39 = 216, nilai ini juga harus diisikan ulang pada saat interupsi timer • Timer 0 sudah bisa overflow tiap 0. 01 detik, supaya bisa menghasilkan 1 detik, pada rutin interupsi timer dilakukan operasi increment register bantu
- Tccr register
- Designsensor
- Timercounter
- Daya tampung suatu populasi adalah
- Rencana kerja yang memuat garis-garis besar suatu karangan
- Information security assets examples
- Bentuk informasi 2d yang statis disebut ... *
- Kupu kupu berhati mulia
- Kelebihan dan kekurangan teknik pengumpulan data
- Apa yang dimaksud dengan napkin folding
- Jenis laporan berdasarkan isinya
- Kumpulan keterangan atau informasi yang diperoleh dari
- Gejala gejala gelombang
- Motivasi untuk membuat algoritma adalah...
- L a t t i c e
- Semakin tinggi harga suatu barang maka .... *
- Proses katabolisme merupakan suatu reaksi eksoterm karena
- Internet merupakan singkatan dari ..... *
- Bagaimana sikap orang yang dipanggil oleh tuhan yesus
- Jelaskan keluarga yang kuat melahirkan pribadi yang kuat