Untuk menghasilkan variasi output LED kita dapat menggunakan bantuan push button, dimana ketika tombol push button ditekan maka nyala led akan berubah sesuai program yang telah kita buat.
Sebagai dasar pengendalian LED menggunakan tombol, kita harus mensetting salah satu PORT sebagai INPUT dan PORT lain sebagai OUTPUT. Pada Tahap awal kita menggunakan PORTB sebagai input dan PORTA sebagai outputnya. Led akan menyala sesuai dengan tombol pada PORTB yang ditekan. Jika tidak ada tombol ditekan maka semua led akan padam. Pada intinya PORTA hanya melihat perubahan konfigurasi pada PORTB dan mengikutinya.
Listing program menggunakan Codevision AVR nya sebagai berikut
#include <mega16.h>
//program diambil dari https://anotherorion.com
//kendali LED dengan tombol
void main(void)
{
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0x00;
while (1)
{
PORTA=PINB;
};
}
Tampilan rangkaian skematik menggunakan ATMega di Proteus ISIS sebagai berikut


Priyo Harjiyono, bekerja sebagai guru komputer sejak 2011, blogger tekno sejak 2005, Pernah bekerja sebagai Asisten Dosen Teknik Informatika dan Teknik Elektronika UNY, SEO Specialist di Indobot dan saat ini sebagai SEO Specialist di Kommunitas.net , memiliki latar belakang pendidikan Teknik Elektronika, Teknik Informatika dan Program Profesi Guru Teknologi Komputer dan Informatika. Memiliki pengalaman sebagai narasumber, pembicara di bidang digital marketing, SEO dan informatika untuk bisnis dan UMKM.
Pengalaman lengkap saya bisa dicek disini
Artikel ini terakhir diperbarui pada: 22 Februari 2013 untuk menjaga relevansi dengan kondisi terkini.



wah patut dicoba nih. buat referensi pemula seperti saya
Priyo Harjiyono numpang nyimak mas
kok tambah bingung ya aku….
bikin variable lokal kondisi=0 dulu,
nanti bikin perintah
if(PINB.0==1)
{ if(kondisi==0)
{
PORTA=0xff;
kondisi=1;
}
else
{
PORTA=0x00;
kondisi=0;
}
}
mas, kalo tombolnya di tekan tp lampunya tetep nyala terus kaya gimana, nanti pas ditekan lagi lampunya baru mati…
bener mas, klo 1 led pake 2 tombol nanti apa enggak malah jadi ribet? tapi klo dibuat seperti itu sih ya bisa bisa aja
mau tanya gan
ini kan tiap led punya push button masing"
kalau ane pingin bikin 1 led tapi punya 2 push button
yg 1 untuk menghidupkan led itu
yg 1 buat matiin
itu listing programnya gmna gan?