Friday, May 31, 2013

Mikrokontroller Dasar AVR Studio4

Sekarang saya akan coba curahkan bagaimana mengoperasikan i/o sederhana pada aplikasi LED array dan Pushbutton dengan sebuah sismin ATmega16. Kenapa saya pakai ATmega16? murah, fitur lumayan lengkap, kapasitas memory juga lumayan gede. Ini ni sismin yang saya punya
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

#include <avr/io.h>
//#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

No comments:

Post a Comment