Anda di halaman 1dari 5

Counter pada Mikrokontroler Atmega 32

A. .TeoriSingkat
Pada Atmega32 terdapat 3 buah timer, yaitu Timer0 (8 bit), Timer1 (16 bit) dan Timer2
(8 bit). Untuk perbedaan dan cara kerja masing-masing timer, teman-teman dapat membacanya
pada datasheet. Disini akan membahas Timer0 dan Timer1 saja. Sedangkan Timer2 memiliki
perlakuan yang sama dengan Timer0.
Timer 1:
Prosese yang sama juga terjadi pada timer 1, untuk register pencacah adalah TCNT1H (High
byte) dan TCNT1L (Low byte) karena kapasitas pencacahan timer 1 adalah 16 bit.
Prescaler timer 1= 1, 8, 64, 256, 1024.
Register pencacah pulsa TCNT1H (High byte) dan TCNT1L (Low byte) dengan total kapasitas
16 bit sehingga mampu mencacah sampa 65535 atau 0xFFFF.
Register pemantau (flag) atau overflow timer 1 adalah T0V1 yang bernilai 0 selama belum
melimpah dan akan bernilai 1 jika sudah melimpah.

Konfigurasi Timer pada codevisionAVR


Pemrograman timer semua mengacu pada register, Timer 0 registernya TCCR0 dan TCNT0,
TCCR0 berguna untuk mengatur timer 0
7

CS02

CS01

CS00

Tabel Konfigurasi TCCR0


CS02

CS01

CS00

Penjelasan

Timer\Counter tidak aktif

Timer (tanpa prescaler)

Timer 8 (dari prescaler)

Timer 64 (dari prescaler

Timer 256 (dari prescaler)

Timer 1024 (dari prescaler)

Sebagai Counter

Sebagai counter

Maksud dari konfigurasi TCCR0 adalah: Timer 0 dapat berfungsi sebagai Timer atau sebagai
counter. Tegantung CS02,CS01,CS00

Untuk nilai (urut CS02-CS01-CS00):


000 Timer\Counter off
001 101 Sebagai Timer
110 111 Sebagai Counter.

Timer 1 akan melibatkan register TCCR1B, TCNT1H serta TCNT1L:


TCCR1B untuk mengatur kerja timer 1

CS12

CS11

CS10

CS12

CS11

CS10

Penjelasan

Timer\Counter tidak aktif

Timer (tanpa prescaler)

Timer 8 (dari prescaler)

Timer 64 (dari prescaler

Timer 256 (dari prescaler)

Timer 1024 (dari prescaler)

Sebagai Counter

Sebagai counter

TCNT1H+TCNT1L Untuk menampung cacahan Timer 1.


TOV1 mengetahui apakah Timer 1 sudah melimpah atau belum

Counter bertugas untuk mencacah\menghitung pulsa dari luar mikrokontroler.


Atmega 32 mempunyai 2 counter
1. Counter 0 (8bit)
2. Counter 1 (16bit)

Edge detector berfungsi untuk mendeteksi pulsa yang masuk. Ada 2 model pendeteksian, yaitu
ketika pulsa naik atau ketika pulsa turun
B. Alatdanbahan
1. Downloader Atmega 8
2. Sistem Minimum Atmega 32
3. KabelPenghubung
4. Laptop dan Software Codevison AVR danprogisp

C. .LangkahKerja
1.Hubungkan downloader dengan system minimum menggunkan kabel penghubung
2.Dan kemudian hubungkan ke laptop
3.Buka software Codevision AVR untuk membuat program Timer dan Counter
4.Setelahprogram selesai,download program ke system minimum menggunakan
downloader
6.Kemudian lihat hasilnya pada sistem minimum

D. .HasilPercobaan
//program counter
#include <mega32.h>
#include <alcd.h>
#include <stdio.h>
char str[10];
void main()
{
DDRA.0=0;
PORTA.0=1;
lcd_init(16);
lcd_clear();
lcd_putsf("Counter 0=");
TCCR0=0B110;
while(1)
{
//lcd_clear();
sprintf(str,"%i",TCNT0);
lcd_gotoxy(10,0);
lcd_puts(str);
}
}

LAPORAN
PRATIKUM MIKROKONTROLER
COUNTER

MUHAMMAD IHSAN
1203105/2012

TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG
2014

Anda mungkin juga menyukai