Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
2.Counter
I. PENDAHULUAN Secara prinsip, memfungsikan Timer/Counter sebagai Counter
Mikrokontroler ATmega8535 dilengkapi timer/counter yang sama dengan fungsi sebagai Timer akan tetapi sumber clock
berfungsi sebagai pewaktuan/pencacahan.Timer/counter dibagi bukan berasal dari frekuensi kristal, tetapi input dari kaki Tn.
menjadi 3 bagian yaitu timer/counter 0,timer/counter 1,dan Dengan memanfaatkan counter naik, maka bisa diberikan nilai
timer/counter 2.Secara umum fitur timer/counter dsari TCNT yang sesuai dengan rumus berikut: TCNT =
mikrokontroler ATmega8535 dapat digunakan sebagai (1+FFH) – jumlah counter Sehingga jika diinginkan membuat
timer/delay time,dan sebagai counter. counter 5, maka nilai TCNT adalah FBH
Adapun tujuan dari praktikum modul III ini,yaitu : Timer/Counter mengalami overflow pada saat hitungan
● Praktikan mampu membuat aplikasi timer/counter pada AVR Timer/Counter (TCNT0/TCNT1/TCNT2) mencapai
dengan menggunakan Bahasa pemograman C. maksimum (FFH untuk 8-bit atau FFFFH untuk 16-bit
Timer/Counter) dan kembali ke hitungan 00H atau 0000H. Pada
II. LANDASAN TEORETIS mode operasi normal Timer/Counter Overflow Flag
(TOV0/TOV1/TOV2) akan otomatis berlogika ‘1’ pada saat
TIMER/COUNTER Timer/Counter Register menjadi nol. Bit Timer/Counter
Overflow Flag dapat dibersihkan (menjadi berlogika ‘0’)
Mikrokontroler AVR ATMEGA8535 memiliki dua 8-bit dengan memberikan nilai logika ‘1’ pada flag tersebut. Mode
Timer/Counter (Timer/Counter0 dan Timer/Counter2) dan satu operasi Timer/Counter0 antara lain mode normal (sebagai
16-bit Timer/Counter (Timer/Counter1). timer/counter biasa), mode CTC (Clear Timer on Compare
Match), mode Fast PWM (singleslope), dan mode Phase
Timer/counter dalam ATmega8535 ada 3 yaitu: Timer/counter Correct PWM (dual slope). Pemilihan mode operasi
0, Timer/counter 1,imer/counter 2 Interrupt timer berasal dari Timer/Counter0 diatur pada bit WGM01:0 (bit WGM01 DAN
dua sumber yaitu: pertama Overflow interrupt, dimana interrupt WGM00) pada I/O register TCCR0 bit ke 3 dan 6. Untuk mode
terjadi jika TCNTn mencapai 255 untuk timer 8 bit untuk timer operasi normal bit WGM01 diberi logika ‘0’ dan WGM00
8 bit dan 65535 untuk timer 16 bit. dan 65535 untuk timer 16 diberi logika ‘0’. Pemilihan mode Timer/Counter0 yang lebih
bit, kedua Compare match interrupt, dimana interrupt terjadi lengkap terdapat pada datasheet ATMEGA8535 pada bagian 8-
jika nilai OCR sama dengan TCNTn. Secara umum fitur bit Timer/Counter Register Description (Timer/Counter
Timer/Counter Timer/Counter mikrokontroler mikrokontroler Control Register – TCCR0). Mode operasi Timer/Counter2
ATmega8535 ATmega8535 dapat digunakan untuk berbagai sama dengan Timer/Counter0 yaitu mode normal, mode CTC,
mode Fast PWM, dan mode Phase Correct PWM. Pemilihan Pengaturan sumber clock
mode operasi Timer/Counter2 diatur pada bit WGM21:0 (bit
WGM21 DAN WGM20) pada I/O register TCCR2 bit ke 2 dan
6. Untuk mode operasi normal bit WGM21 diberi logika ‘0’ dan
WGM20 diberi logika ‘0’. Pemilihan ode Timer/Counter2 yang
lebih lengkap terdapat pada datasheet ATMEGA8535 pada
bagian 8-bit Timer/Counter Register Description
(Timer/Counter Control Register – TCCR2)
B. Langkah Kerja
1.Pengunaan 8-Bit Timer/counter0 untuk mengendalikan
LED
Jalankan software
Buka Software
CV AVR dan
proteus pada
masukkan source
ATmega8535
code program
hubungkan PORTA
yang terdapat di
pada LED
modul praktikum
#include <mega8535.h>
unsigned char led=0xfe;
Input file Hex pada void main(void)
ATmega8535 {
// Please write your application code here
DDRA=0xff;
PORTA=led;
2. Penggunaan 16-bit timer/counter sebagai PWM untuk TCNT0=0x00;
mengendalikan kecepatan putar motor DC. TCCR0=0x05;
TIMSK=0x01;
TIFR=0x00;
Buka software Proteus #asm ("sei");
while(1)
{PORTA=led;}
}
Buat rangkaian skematik yang telah interrupt [TIM0_OVF] void timer0_overflow(void)
ditentukan di modul praktikum {
TCNT0 = 0x00;
led<<=1;
led|=1;
Buka software CV AVR dan masukkan if (led==0xff) {led=0xfe;}
source code program yang terdapat di // else {led=0xff;}
modul praktikum PORTA=led;
}
V. SIMPULAN
Fitur timer/counter yang terdapat pada mikrokontroler
ATmega8535 dapat membuat aplikasi pada AVR dengan
menggunakan Bahasa pemograman C.
REFERENSI
Pada saat PC0 ditekan Motor DC mengalami perputaran dengan [1] Modul III Praktikum Teknik Elektro-Institut Teknologi Sumatera
kecepatan yang lambat. [2] Modul dan Hasil Praktikum Timer/Counter (Mikroprosesor) ~ Elektro
Kingdom (faismuhamadkingdom.blogspot.com)
#include <mega8535.h>
unsigned char led=0xfe;
void main(void)
{
// Please write your application code here
DDRA=0xff;
PORTA=led;
TCNT0=0x00;
TCCR0=0x05;
TIMSK=0x01;
TIFR=0x00;
#asm ("sei");
while(1)
{PORTA=led;}
}
interrupt [TIM0_OVF] void timer0_overflow(void)
{
TCNT0 = 0x00;
led<<=1;
led|=1;
if (led==0xff) {led=0xfe;}
// else {led=0xff;}
PORTA=led;
}