MIKROPENGENDALI C TEMU 4 AVR TIMER AND COUNTER. Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom

dokumen-dokumen yang mirip
Apa itu timer/counter?

Timer/Counter. AVR ATMega 8535

JOBSHEET VIII MENGGUNAKAN TIMER/COUNTER DALAM MIKROKONTROLER ATMEGA8535

Sistem Mikrokontroler FE UDINUS

Materi 8: AVR Timer Programming

PERBANDINGAN KECEPATAN PENCACAHAN ANTARA TIMER 0 (8 BIT) DENGAN TIMER 1 (16 BIT) PADA SISTEM MIKROKONTROLER

Timer / Counter. Hendawan Soebhakti. November 2009

MODE OPERASI TIMER/COUNTER. Oleh : Sumarna, Jurdik Fisika, FMIPA, UNY

JAM DIGITAL 2.2 REGISTER TCNT, TIMSK, OCR, DAN TIFR 1. PENDAHULUAN 2. STUDI PUSTAKA 2.1 CLOCK DAN PRESCALER 3. METODOLOGI 3.

MAKALAH. Timer atau Counter 0 dan 1. Oleh : Rizky Dwi N ( ) Satrio Teguh Yulianto ( ) D3 TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO

AVR ATmega8. Kuliah SBM

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB Abstrak

BAB II LANDASAN TEORI

BAB II DASAR TEORI. Current Transformer atau yang biasa disebut Trafo arus adalah tipe instrument

BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER. program pada software Code Vision AVR dan penanaman listing program pada

PERTEMUAN TIMER & COUNTER MIKROKONTROLER 89C51

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

Bab II Dasar Teori (2.1)

TUGAS AKHIR SIMULATOR PENGHITUNG JUMLAH ORANG PADA PINTU MASUK DAN KELUAR GEDUNG

MIKROPENGENDALI C TEMU 2b AVR ARCHITECTURE. Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom

MONITORING ARUS PLTMH UMM MELALUI JALA-JALA LISTRIK BERBASIS ATMEGA

MENGENAL MIKROKONTROLER AVR ATMega16

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

TIMER DAN COUNTER MIKROKONTROLER ATMEL

MAKALAH PERANCANGAN KEYPAD MESIN FOTOKOPI SISTEM MIKROPROSESOR

=== PENCACAH dan REGISTER ===

MICROCONTROLER AVR AT MEGA 8535

Materi 9: AVR Interrupt

BAB II TINJAUAN PUSTAKA

7.1. TUJUAN Mengenal, mengerti dan memahami operasi dasar pencacah maju maupun pencacah mundur menggunakan rangkaian gerbang logika dan FF.

BAB III PERANCANGAN UIMEGA 8535

BAB 2 LANDASAN TEORI

Implementasi Mikrokontroller Untuk Pembangkitan Pulsa Pada Inverter 3 Fasa 18-Step

Timer Counter. D3 Telekomunikasi.

Perbandingan Waktu Konversi antara ADC 8 bit dan 10 bit dalam Mikropengendali ATMega8535

Mikrokontroler 89C51 Bagian II :

i ii BAB I MENGENAL ATMEGA BAB II MENGENAL BAHASA C BAB III TRAINER MIKROKONTROLER 1. Modul Boar..

BAB III KEGIATAN PENELITIAN TERAPAN

KONFIGURASI PIN AT MEGA 16A

Mikrokontroler AVR. Hendawan Soebhakti 2009

PRODUKSI OBAT ASMA SEDUH BERBASIS MIKROKONTROLER ATmega8535

PENCACAH. Gambar 7.1. Pencacah 4 bit

Perancangan Prototipe Anemometer Berbasis Gelombang Suara Ultrasonik Frekuensi Rendah

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

BAB II LANDASAN TEORI

Pemrograman Mikrokontroler dengan Bahasa C Lanjut

Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

PEMBANGKIT DAN PENGHITUNG FREKUENSI

TUGAS AKHIR ROBOT PENERIMA TAMU. Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar SarjanaTeknik Program Studi Teknik Elektro.

BAB 3 PERANCANGAN SISTEM

PERANCANGAN KEYPAD MESIN FOTOCOPY SEDERHANA MENGGUNAKAN ATMEL AVR ATmega8535

4. Port Input/Output Mikrokontroler MCS-51

BAB II TEORI DASAR. Gambar 2.1 Sistem poros sederhana yang mengalami kondisi tak seimbang

SISTEM INTERUPSI MIKROKONTROLER ATMEL

ADC (Analog to Digital Converter)

BAB II LANDASAN TEORI

BAB IV PEMBAHASAN. waktu tertentu. Dimana alat tersebut dapat dioperasikan melalui komputer serta

BAB 2 LANDASAN TEORI

PENGATURAN TIRAI BERDASARKAN WAKTU NYATA

=== PERANCANGAN RANGKAIAN SEKUENSIAL ===

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

MICROCONTROLER AVR AT MEGA 8535

TEMPAT SAMPAH BERJALAN TERKENDALI JARAK JAUH

TERJADI INTERRUPT MELAYANI INTERRUPT KEMBALI MENERUSKAN PROGRAM YANG TERHENTI PROGRAM YANG SEDANG BERJALAN. Gambar 4.1 Interrupt

TUTORIAL DASAR MEMBUAT PROJECT ARDUINO UNO

STERILISATOR BASAH MENGGUNAKAN ATMega8535

BAB II TEORI DASAR 2.1 Mikrokontroller ATmega Gambaran Umum Mikrokontroller ATmega Fitur Mikrokontroller ATmega 8535

SISTEM MONITORING INFUS BERBASIS MIKROKONTROLER AVR ATMEGA 16 ABSTRAK

REFS0-1 (Reference Selection Bits) REFS0-1 adalah bit-bit pengatur mode tegangan referensi ADC.

ARSITEKTUR SISTEM KOMPUTER. Wayan Suparta, PhD Maret 2018

ALAT PENAKAR VOLUME AIR BERBASIS MIKROKONTROLER

BAB 2 TINJAUAN TEORITIS

DT-SENSE Application Note

BAB II LANDASAN TEORI. Definisi PLC menurut National Electrical Manufacturing Association (NEMA)

Pengenalan CodeVisionAVR

BAB III LANDASAN TEORI. digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator

8086/88 Device Specifications

1). Synchronous Counter

Sistem Mikrokontroler FE UDINUS

MODUL 8 Analog Digital Converter (ADC)

FLIP-FLOP (BISTABIL)

Register & Counter -7-

Bab III Perancangan Sistem

BAB 2 LANDASAN TEORI. Motor listrik adalah sebuah perangkat elektromagnetis yang mengubah energi

BAB II KONSEP DASAR PERANCANGAN

BAB 2 LANDASAN TEORI

8. TRANSFER DATA. I. Tujuan

SISTEM PENGEPEKAN BENDA MENGGUNAKAN SENSOR INFRA MERAH BERBASIS MIKROKONTROLER. ATmega8535

BAB II LANDASAN TEORI

MENGENAL MIKROKONTROLER ATMEGA-16

Fungsi Soft Timer untuk Keperluan Operasi Tundaan dan Penjadwalan (Scheduling) Pada Sistem Embedded

BAB II LANDASAN TEORI

Tutorial Pemrograman Mikrokontroler AVR dengan AVR Studio dan WinAVR GCC (ATMega16/32/8535)

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

MIKROKONTROLER AT89S52

BAB II TINJAUAN PUSTAKA. [10]. Dengan pengujian hanya terbatas pada remaja dan didapatkan hasil rata-rata

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

PERCOBAAN 9 T I M E R/ COUNTER

keterangan motor litrik BLDC

Transkripsi:

MIKROPENGENDALI C TEMU 4 AVR TIMER AND COUNTER Oleh : Danny Kurnianto,S.T.,M.Eng Sekolah Tinggi Teknologi Telematika Telkom

PENDAHULUAN Pada mikropengendali terdapat register Timer/Counter yang berfungsi untuk menghitung suatu even dari luar (Counter) atau menghasilkan waktu tunda (Timer). Untuk menghitung suatu even dari luar, maka pin clock dari Register Counter harus dihubungkan dengan sumber even luar. Saat even terjadi, isi counter akan naik sesuai dengan jumlah even yang terjadi. Sehingga isi counter merepresentasikan berapa jumlah even yang telah terjadi

Jika register counter/timer difungsikan sebagai penghitung waktu tunda (timer) maka pin clock pada counter harus dihubungkan ke osilator. Saat osilator berdetak, maka isi counter akan naik sesuai dengan detak dari osilator. Isi register counter merepresentasikan berapa banyak detak yang telah terjadi dihitung dari waktu awal counter di reset (clear). Jika kecepatan osilator dari mikropengendali diketahui, maka dapat dihitung periode detak dari timer. Misalkan jika digunakan osilator dg frekeunsi 1 MHz, maka periode detaknya adalah 1 us. Jika diinginkan waktu tunda sebesar 100 us, maka register counter di reset(clear) lalu menunggu isinya mencapai nilai 100.

Programming Timer 0,1 and 2 Pada AVR ATMEGA32 terdapat 3 Timer yaitu Timer 0,1 dan 2. Timer 0 dan 2 adalah 8 Bit Timer, sedangkan Timer 1 adalah 16 bit Timer. 16 Bit Timer 8 Bit Timer

Ada 3 register yang berperan saat kita menggunakan Timer, yaitu Register TCNT, TCCR, dan TIFR. TCNT = Timer/Counter Register TCCR = Timer/Counter Control Register TIFR = Timer/Counter Interupt Flag Register OCR = Output Compare Register Pada AVR ATMega 32 terdapat 3 register TCNT, yaitu TCNT0, TCNT1 dan TCNT2. Register TCNT berisi 0 (nol) jika di reset, dan isinya akan bertambah naik mengikuti detak pulsa. Register TCNT ini dapat ditulis maupun dibaca isinya dengan mengakses TCNTn.

Register TCCR (Timer/Counter Control Register) digunakan untuk mengatur mode operasi dari Timer. Pada Register TIFR (Timer/Counter Interupt Flag Register) terdapat flag TOVn (Timer Overflow) yang akan di set 1 saat timer overflow. Pada register OCRn (Output Compare Register), isi dari register OCR akan dibandingkan dengan isi Register TCNTn, dan jika sama maka flag OCF pada register TIFR akan di set 1.

1. Timer 0 Programing Timer 0 adalah Timer 8 Bit dengan registernya adala TCNT0. TCCR0 (Timer/Counter Control Register 0) TCCR0 adl register 8 bit yg digunakan untuk mengatur Timer 0.

FOC0 = Force Compare Match, bit ini hanya dapat ditulis saja yang digunakan untuk menghasilkan sinyal/gelombang. Menulis bit 1 pada FOC0 akan mengakibatkan generator sinyal bekerja. WGM00, WGM01 COM01, 00

CS02-00

Contoh : 1. 2

TIFR (Timer/Counter Interrupt Flag Register) Register TIFR berisi flag-flag Timer-timer yang berbeda. Yang akan dibahas adalah Flag TOV0 yang berhubungan dengan Timer 0.

TOV0 = flag ini akan di set 1 jika counter overflow, dari $FF ke $00. Flag ini di reset/clear dengan software.

Langkah-langkah memprogram Timer 0 pada mode Normal Untuk menghasilkan waktu tunda menggunakan Timer 0 pada mode normal, berikut langkah-langkah yang harus dilakukan. 1. Isi register TCNT0 dengan nilai awal. 2. Isi nilai pada register TCCR0, yang mengindikasikan mode timer yang digunakan (8 bit dan 16 bit) dan pilihan prescaler. 3. Tetap memonitor flag overflow timer (TOV0), jika TOV0 berlogika high, maka keluar dari looping. 4. Stop timer dengan memutuskan sumber clock dengan memberikan nilai $00 pada register TCCR0. 5. Reset / clear flag TOV0 untuk proses selanjutnya. 6. Kembali ke langkah 1 untuk mengisi nilai TCNT0 lagi.

Contoh : Isi register TCNT0 dengan nilai 0xF2. Jalankan Timer 0 Timer 0 akan menghitung mulai dari nilai 0xF2 sampai 0xFF. Saat nilai 0xFF berubah menjadi 0x00, maka Timer 0 Overflow dan flag TOV0 akan bernilai 1. Matikan timer 0. Reset flag TOV0 kembali (nilai 0 ).

Contoh : Hitunglah waktu tunda yang dihasilkan oleh Timer 0 jika menggunakan XTAL = 8 MHz. Asumsikan bahwa nilai awal adalah 0xF2. Jawab: Periode clock adalah 1/8 MHz = 0,125 us. Waktu tunda = jumlah cacah Timer 0 x 0,125 us. Jumlah cacah Timer 0 dapat dihitung dengan melihat nilai awal register TCNT0 sebesar 0xF2. Untuk mencapai nilai 0xFF, diperlukan sebanyak 13 kali cacah. Ditambah 1 kali cacah saat nilai berubah dari 0xFF menjadi 0x00. Sehingga waktu tunda adalah 14 x 0,125 us = 1,75 us.

Menentukan Nilai Pada Register TCNT0 Jika kita sudah mengetahui besarnya waktu tunda yang dikehendaki, lalu bagaimana caranya menentukan nilai yang harus diisikan pada register TCNT0?. Berikut langkahlangkahnya. 1. Tentukan terlebih dahulua periode clock timer yang digunakan. 2. Bagi waktu tunda yang diinginkan dengan Tclock Untuk mengetahui berapa banyak clock yan dibutuhkan. 3. Lakuan pengurangan 256 n, dimana n adalah nilai desimal yang diperoleh dari langkah nomor 2. 4. Konversi hasil dari nomor 3 ke heksadesimal (hex), lalu diisikan ke register TCNT0.

Prescaler dan Waktu Tunda Yang Lebih Besar Besarnya waktu tunda tergantung dari 2 faktor yaitu frekuensi kristal dan register timer 8 bit. Jika pada kondisi Timer 0 tanpa Prescaler dan nilai register TCNT0 adalah 0x00, ternyata wantu tunda yang dihasilkan masih kurang sesuai (kurang lama), maka digunakan Prescaler untuk meningkatkan waktu tunda dengan mengurangi periode. Terdapat 4 jenis Prescaler pada Timer 0 yaitu 1. Clck/8 2. Clck/64 3. Clck/256 4. Clck/1024 Gambar dibawah ini menunjukkan Prescaler Timer 0

Mode Timer 0 pada CTC (Clear Timer on Compare Match) Jika kita memilih mode Timer 0 pada CTC, maka kita akan menggunakan register OCR0. Sama seperti mode normal, pada mode CTC, Nilai Timer akan naik mengikuti detak clock, tetapi kenaikan nilai timer ini sampai pada kondisi dimana nilai register TCNT0 sama dengan nilai register OCR0. Timer akan di reset dan flag OCR0 di set 1 jika clock selanjutnya muncul. Misalkan jika nilai TCNT0 = 0 dan nilai OCR0 = 9, maka lihat flag OCF0 dibawah ini.