Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
TIMER, COUNTER
Bagas Yuda Ananda (119130102)
Asisten : M. Mashyuda (13117077)
Tanggal Percobaan : 17/04/2021
EL2209_A-10_Praktikum_Sistem_Mikroprosesor
Laboraturium Teknik Elektro
Institut Teknologi Sumater
Abstrak – pada praktikum kali ini yang melakukan Adapun tujuan dari praktikum ini adalah :
percobaan timer dan counter pada ATMega 8535,
yang mana pada percobaan yang dilakukan terdapat 2 1. Praktikan mampu membuat aplikasi
percobaan yaitu dengan menggunakan 8-bit timer/counter pada AVR dengan
timer/counter dan percobaan yang kedua menggunakan bahasa pemrograman C
menggunakan 16-bit timer/counter. Lalu pada
BAB II
praktikum ini juga untuk mengetahui apakah timer
LANDASAN TEORI
berfungsi dengan baik atau tidak, menggunakan led
sebagai output nya sehingga bisa terlihat dengan jelas Timer Dan Counter
hasil dari timer yang sudah di percobakan.
Mikrokontroler ATMega8535 memiliki beberapa pre-
Kata kunci – timer, counter, atmega8535 dimensi variable (register yangterdapat pada
datasheet) dengan fungsi tertentu. Tiga diantaranya
BAB I
adalah Timer0, Timer1dan Timer2.
PENDAHULUAN
1. Timer0Merupakan timer 8 bit jadi dapat
Timer /Counter adalah suatu peripheral yang
tertanam didalam microcontroller yang berfungsi menghitung dari 0 sampai dengan 255 yang
pewaktu. Dengan peripheral ini pengguna multi fungsi,fitur-fitur dari Timer0 adalah:a.
microcontroller dapat dengan mudah menentukan Counter 1 kanalb. Timer di-nol-kan saat nilai
kapan suatu perintah dijalankan (delay), tentu saja perbandingan tercapaic. Sebagai pembangkit
fungsi timer tidak hanya untuk penundaan perintah gelombang PWMd. Sebagai pembangkit
saja, timer juga dapat berfungsi sebagai oscilator, frekuensi2.
PWM, ADC, dan lain-lain. Cara kerja timer adalah
2. Timer1Merupakan timer 16 bit jadi dapat
dengan cara memberikan prescaling (membagi
frekuensi) pada clock yang terpasang pada menghitung dari 0 sampai dengan 65535
microcontroller sehingga timer dapat berjalan dengan yangmemungkinkan program pewaktu
frekuensi yang diinginkan. menjadi lebih akurat, fitur yang ada pada
Timer1 antaralaina. Dua buah unit
Didalam Atmega8535 dan beberapa microcontroller pembandingb. Dua buah register
AVR lainnya sudah terdapat 3 buah timer, yaitu pembandingc. Satu buah input capture unitd.
TIMER0 (8 bit), TIMER1 (16 bit)dan TIMER2 (8
Dapat menghasilkan gelombang PWMe.
bit). Perbedaan timer yang 8 bit dan timer 16 terdapat
pada maksimal waktu yang dapat dijangkau, semakin Sebagai pembangkit frekuensi3.
besar bit suatu timer semakin besar waktu yang dapat 3. Timer2Merupakan timer 8 bit jadi dapat
dicapai. Sebagai contoh TIMER1 yang memiliki menghitung dari 0 sampai dengan 255,
kapasitas hingga 16 bit dapat menjangkau waktu dengan fiturhampir sama dengan timer0
hingga 67 detik lebih pada clock 1MHz berbeda
dengan TIMER0 dan 2 yang memiliki kapasitas hanya Register Timer Dan Counter
8 bit sehingga hanya dapat menjangkau maksimal 0,2
detik pada clock 1MHz namun ini bukan merupakan ▪ TCNT0 = Register Timer 1
kekurangan. ▪ TCNT 1 = Register Timer 0
▪ Ttimer0 = Periode Timer 0
▪ Ttimer 1 =Periode Timer 1 Rangkai rangkaian
▪ Tosc = Periode Clock pada aplikasi proteus
▪ Fosc = Frekuensi Crystall Clock
▪ N = Prescaler (1, 8, 64, 256, 1024)
B. Diagram alir
1. Pada timer sebagai pencacah dalam suatu Syahrin. (2013). Sekilas tentang interupsi pada
frekuensi mikrokontroler. jakarta.
2. Timer berguna dalam mempercepat atau
memperlambat suatu program
# include <mega8535.h>
Unsigned char led = 0xFE;
Void main (void)
{ 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}
PORTA = led
}
Percobaan 2 :
#include <mega8535.h>
#include <delay.h>
TCCR1A = 0x82;
TCCR1B = 0x12;
TCNT1 = 0x0000;
ICR1H = 0xFF;
ICR1L = 0xFF;
OCR1A = 0x0000;
temp = 0x0FF0;
while (1){
if (PINC.0==0){
delay_ms(100);
temp-=0xFF;
if(temp==0xFF01) temp=0x0000;
{
if (PINC.1==0){
delay_ms(100);
temp+=0xFF;
if (temp==0x00FE) temp = 0xFFFF;
}
OCR1A = temp;
};
}
}}
LAMPIRAN