Farikh_ notes


Membuat Stop Watch menggunakan mikrokontroller ATMega16

Posted in mikrokontroller oleh farikhardiansyah pada Desember 15, 2012

Mungkin temen- temen semua sudah familiar dengan stop watch. Yuup……… biasanya waktu kita olahraga lari, stop watch sering digunakan untuk mengetahui berapa waktu yang dibutuhkan kita untuk mengitari lapangan.

Eeits…..🙂 disini kita tidak membahas tentang olahraga, tetapi kita akan membahas tentang mikrokontroller. Disini kita akan belajar membuat stop watch dengan menggunakan mikrokontroller ATMega16. download datasheet ATMega16 klik disini

Hmmm……untuk gambar rangkainnya dapat temen2 lihat di bawah ini dan dapat langsung digambar dan disimulasikan di proteus. Berikut gambar rangkain stop watch:

rangkaian

Setelah kita selesai mnggambar rangkaian tersebut…sekarang kita beralih ke dalam programnya aja…😀 dalam projek ini kita menggunakan codevision AVR dalam pemogramanya. Berikut program stop watchnya dapat temen – temen lihat :

Programnya sebagai berikut :

unsigned char count, temp[16], indeks=0;

unsigned char detik=0, menit=0, jam=0;

#include <mega16.h>

#include <stdio.h>

#include <stdlib.h>

#include <delay.h>

 

void hitung()

{

if (count>=100)

{

lcd_clear();

detik++;

count=0;

}

if (detik>=60)

{

menit++;

detik=0;

}

 

if (menit>=60)

{

jam++;

menit=0;

}

}

 

 

void tombol()

{

if (PINA.0==0 && (indeks==0 || indeks==2))//run timer

{

indeks=1;

TIMSK=0x01;

lcd_clear();

}

if (PINA.1==0 && indeks==1)//stop timer

{

indeks=2;

TIMSK=0x00;

lcd_clear();

}

 

if (PINA.2==0 && indeks==2)//reset timer

{

indeks=0;

count=0;

detik=0;

menit=0;

jam=0;

lcd_clear();

}

}

 

void tampil_lcd()

{

lcd_gotoxy(0,0);

sprintf(temp,”Timer %d:%d:%d:%d”,jam,menit,detik,count);

lcd_puts(temp);//tampilkan waktu di LCD baris pertama

 

if (indeks==0)

{

lcd_gotoxy(0,1);

lcd_putsf(“START”);

}

if (indeks==1)

{

lcd_gotoxy(0,1);

lcd_putsf(“STOP”);

}

if (indeks==2)

{

lcd_gotoxy(0,1);

lcd_putsf(“START      RESET”);

}

}

 

while (1)

{

tombol();

hitung();

tampil_lcd();

};

 

 

Hmmmmmm……temen-temen dapat berkreasi dengan programnya dengan menambahi dengan program lain….

Mungkin cukup dulu untuk saat ini…..😀

Semoga bermanfaat…😀

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s


%d blogger menyukai ini: