Sismin ATmega16
Siapkan :-Downloader
-Sismin Atmega16
-Aplikasi Push button dan Led Array
Ceritanya disini saya akan mengontrol Led array dengan pushbutton, ketika dalam keadaan awal/ push button tidak tertekan maka LED 0 dan LED 7 akan menyala dan mati bergantian dengan jeda waktu 800ms. kemudian apabila push button 7 ditekan maka LED 7 akan menyala dan LED 0 akan mati. namun sebaliknya jika push button 0 ditekan maka LED 0 akan menyala dan LED 7 yang akan mati. dari cerita diatas dapat disimpulkan lewat suatu pemrograman dibawah ini :
Listing pemrograman scanning push button dengan AVR Studio4
//#define F_CPU 16000000
#include <util/delay.h>
int main()
{
PORTC=0xFF; //set output for hight value
DDRC=0xFF; //set data direction for output status
PORTD=0xFF; //set input for hight value
DDRD=0x00; //set data direction for input status
// percobaan scanning pushbutton //
while(1)
{
if(bit_is_clear(PIND,0)) //PB0 ditekan
{ PORTC=0xFE; } //LED 0 akan menyala
else if(bit_is_clear(PIND,7)) //PB7 ditekan
{ PORTC=0x7F; } //LED 7 akan menyala
else //jika tidak ada yang ditekan
{
PORTC=0xFE; //maka LED 0 dan LED 7 akan nyala
_delay_ms(800); //secara bergantian
PORTC=0x7F;
_delay_ms(800);
}
}
//================================//
}
Keterangan :
PORTx DDRx Keterangan
0 0 PORT = nilai rendah , DDR = Berstatus Input
1 0 PORT = nilai tinggi , DDR = Berstatus input
1 1 PORT = nilai tinggi , DDR = Berstatus Output
0 1 PORT = nilai rendah , DDR = Berstatus Output
Alhasil akan dari pemrograman diatas dapat dilihat lewat video dibawah ini :
Selamat mencoba semoga bermanfaat bagi para pemula seperti saya ini ........................
myrobo
School Of Robotics Bandung
Jl.Purwakarta no 124 Antapani Bandung