Abstrak — Pada praktikum kali ini kami menggunakan II. LANDASAN TEORETIS
mikrokontroller yang jenisnya ATmega8535. Dengan
mempelajari timer, counter dan interupt pada
mikrokontroller baik yang menggunakan switch maupun 2.1. TIMER/COUNTER
tidak kami dapat mengatur suatu program dengan Timer adalah sarana untuk menghitung durasi
menggunakan waktu yang diinginkan yang didapat dari kejadian seperti halnya stopwatch atau fungsi
hasil bagi antara frekuensi mikrokontroller dengan nilai waktu yang sumber clocknya berasal dari clock
Prescaller. Aplikasi yang digunakan untuk pemrograman internal. Sedangkan Counter merupakan fungsi
yaitu dengan menggunakan WinAVR dalam Bahasa C. perhitungan yang sumber clocknya berasal dari
selain itu praktikum kali ini salah satunya bertujuan clock external pengawal mikro.
untuk mengaplikasikan external interrupt pada AVR Timer/Counter ialah salah satu fitur yang terdapat
dengan menggunakan WinAVR. pada mikrokontroller yang mempunyai fungsi
Kata kunci : Timer, Counter, Interrupt, Prescaller dan penyacah nilai berdasarkan nilai frekuensi yang
WinAVR. digunakan.
Timer/counter dalam Atmega8535 ada 3 yaitu:
I. PENDAHULUAN a. Timer/counter 0
ada praktikum ini, kami melakukan beberapa Merupakan 8 bit timer/counter, pengaturan
Ppercobaan yaitu percobaan pada mikrokontroler Timer/Counter 0 diatur oleh TCCR0
(Timer/Counter control register 0) seperti
ATmega8535 yang menggunakan Port A sebagai input,
dan output pada Trainer Board. Dalam hal ini, sistem berikut ini:
minimum yang digunakan saat praktikum yaitu
ATmega8535 sebagai kit praktikum. Sehingga
diharapkan setelah melakukan percobaan ini mahasiswa
Gambar 2.1. Register TCCR0
dapat memahami dari tujuan pada praktikum ini.
Tujuan dari praktikum ini adalah:
▪ Bit 7 – FOC0: Force Output Compare
1. Memahami Datasheet ATMega8535. ▪ Bit 6, 3 – WGM01:0: Waveform
2. Mampu Membuat Aplikasi timer atau counter dan Generation Mode
interrupt pada AVR dengan menggunakan Bahasa ▪ Bit 5:4 – COM01:0: Compare Match
Pemrograman C pada WinAVR. Output Mode
3. Mampu membuat Aplikasi External Interrupt pada ▪ Bit 2:0 – CS02:0: Clock Select
AVR dengan menggunakan bahasa pemrograman Ketiga bit tersebut memilih sumber clock yang
C pada WinAVR. akan digunakan oleh timer/counter.
Dalam timer/counter pun ada pula description yang b. OCR0 (Output Compare Register)
menjelaskan setiap clock yang ada pada setiap CS, Register OCR0 (Output Compare Register)
baik dari CS02 hingga CS00. Seperti pada table adalah register yang selalu dicompare secara
dibawah ini. terus menerus dengan register TCNT0. Pada
Tabel 2.3. Clock Select Bit Description saat nilai dari register OCR0 dan TCNT0 sama,
dapat kita sebagai interupsi atau bias
digunakan outputnya menjadi PWM di pin
OCO. Gambar register dapat dilihat Seperti
pada gambar dibawah ini.
2.3. PRESCALLER
Prescaller ialah nilai pembagi yang besarnya ialah
Gambar 2.5. Register TIFR 1,8,32,64,128,256,1024.
Sebelum kita melakukan setting timer, maka
Adapun register – register yang digunakan untuk haruslah menentukan nilai delay yang ingin
keperluan external interrupt yaitu: digunakan sehingga dapat menentukan berapa nilai
• Register MCUCR TNCTnya dengan rumus dibawah ini.
Register MCUCR adalah register yang
mengatur pemicu interupsi dari fungsi
MCU secara umum atau menentukan mode
interupsi eksternal. Berikut adalah isi dari
Dimana:
register MCUCR.
• TCNT : Nilai Timer (Hexsa)
• Fclk : Frekuensi clock (crystal) yang
digunakan (Hz)
• Ttimer : Waktu Timer yang diinginkan.
• N : Prescaller
Gambar 2.6. Register MCUCR • 1 + FFFFh : Nilai max timer adalah
FFFFh dan Overflow saat FFFFh ke 0000h
Bit penyususnnya yaitu:
Bit ISC11 dan ISC10 bersama – sama 2.4. WinAVR
menentukan kondisi yang dapat WinAVR adalah seperangkat software open
menyebabkan interupsi eksternal pada pin source, termasuk di dalamnya adalah Programmers
INT1. Dan Bit ISC01 dan ISC00 bersama Notepad dan AVRDude, untuk membuat,
– sama menentukan kondisi yang dapat mengcompile dan mendownload program Atmel
menyebebkan interupsi eksternal pada pin AVR dalam bahasa C.
INT0. Keadaan selengkapnya terlihat pada
table berikut:
III. METODOLOGI
A. Alat dan Bahan
1. Starter kit AVR (1 buah)
2. Percobaan 2.B
2. Usbasp (1 buah)
3. Laptop (1 buah) buatlah program yang ada pada
modul menggunakan WinAVR
4. WinAVR
Compile dan transfer melalui
5. Khazamma Programmer aplikasi khazammah ke kit
6. Kabel Jumper (Secukupnya) Praktikum dengan file.hex
7. Kristal 4 MHz (1 buah) lihat hasil pada kit output LED
akan menyala bergantian selama 2
kali penekanan switch.
Langkah Percobaan
modifikasi sesuai modulo dan
Persiapan catat pada buku BCP.
Dimana:
F adalah frekuensi
N adalah Prescallar
4000000
− 1 = 15624
256
2. Percobaan 2 B
Pada percobaan kedua ini sama dengan
Gambar 4.3. Hasil Praktikum port A sebagai percobaan yang pertama. Hanya saja yang
input dengan bilangan 0xf0h membedakan pada percobaan kedua ini
menggunkan switch pada pemrogramannnya
dengan penekanan 2 kali penekanan tombol
interrupt dan counter input. Seperti pada gambar
script di bawah ini.