Eh ini judul ceritanya lagi ngomong apa sih yah? Oh ya ini lagi dalam rangka kurang kerjaan aja nambah isi materi pembelajaran mikrokontroler atmega16 sih, daripada gak ngapa-ngapain kan ya? So tema kali ini adalah belajar mikrokontroler ATMega16; Membuat nyala led sesuai jumlah penekanan tombol
Judulnya emang gak jelas, intinya sebenernya hanyalah led akan menyala sebanyak jumlah penekanan tombol. Klo tombol ditekan 5 kali ya bakalan nyala 5 kali, klo tombol gak ditekan? ya diem dong ya? masak suruh kedip-kedip gitu?
Pada prinsipnya kita hanya menggunakan bantuan variabel i sebagai pengcounter input tombol, lalu digunakan untuk membuat nilai maksimal pada looping for penyalaan led. Pustaka delay digunakan untuk menghindari bounce rate saja sih, soal lama delay dan looping for nya monggo disesuaikan sesuai selera masing-masing.
Oke begini listing programnya
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Advanced
Automatic Program Generator
© Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.comProject : tombol counting
Version :
Date : 19/09/2015
Author : priyo harjiyono
Company : anotherorion.com
Comments: ini hanya proyek atmega kurang kerjaan saja
Chip type : ATmega16
Program type : Application
AVR Core Clock frequency: 8,000000 MHz
Memory model : Small
External RAM size : 0
Data Stack size : 256
*****************************************************/#include <mega16.h>
#include <delay.h>void main(void)
{
char d, i, h;
DDRA=0x00;
DDRB=0x01;
while (1)
{
i=0;
for(d=0;d<30;d++)
{
if(PINA.0==1)
{
delay_ms(10);
i++;
}
delay_ms(10);
}
for(h=0;h<i;h++)
{
PORTB=1; delay_ms(100);
PORTB=0; delay_ms(100);
}
}
}
Untuk file lengkap download source codevision dan simulasi proteusnya monggo diambil disini.
trimakasih pak priyo sangat membantu
speechless saya 😀
hihihi beda dunianya ya mbak 😀
makasih banyak mas 🙂