MEMBUAT PROGRAM MENJALANKAN LED 2 KALI KEKIRI 2 KALI KEKANAN DENGAN CODEVISIONAVR


Ada baiknya anda membaca terlebih dahulu dasar teori tentang led di postingan saya sebelumnya Membuat Program Led Berjalan Dengan Codevisionavr
/*****************************************************
This program was produced by the
CodeWizardAVR V1.25.9 Evaluation
Automatic Program Generator
© Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date : 2/7/2010
Author : Freeware, for evaluation and non-commercial use only
Company :
Comments:
Chip type : ATmega8535L
Program type : Application
Clock frequency : 8.000000 MHz
Memory model : Small
External SRAM size : 0
Data Stack size : 128
*****************************************************/
#include <mega8535.h>
#include <delay.h>
// Declare your global variables here
#define led PORTA //Hubungkan 8 buah led diPORTA
int a,b; //Pendeklarasian variable a & b
void geserkiri()
{
for (a=0;a<2;a++) //perintah 2 kali perulangan
{ led=0x01; //led 1 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x02; //led 2 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x04; //led 3 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x08; //led 4 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x10; //led 5 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x20; //led 6 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x40; //led 7 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x80; //led 8 hidup
delay_ms(1000); //waktu tunda 1 detik
}
}
void geserkanan()
{
for (b=0;b<2;b++) //perintah 2 kali perulangan
{ led=0x80; //led 8 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x40; //led 7 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x20; //led 6 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x10; //led 5 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x08; //led 4 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x04; //led 3 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x02; //led 2 hidup
delay_ms(1000); //waktu tunda 1 detik
led=0x01; //led 1 hidup
delay_ms(1000); //waktu tunda 1 detik
}
}
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0
PORTA=0x00;
DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTB=0x00;
DDRB=0x00;
// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTD=0x00;
DDRD=0x00;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;
while (1)
{
// Place your code here
geserkiri(); //pemanggilan subfungsi geserkiri
geserkanan(); //pemanggilan subfungsi geserkanan
};
}

3 komentar:

  1. tuk juk sipa angguwai kalender
    ha ha

    tuk bak api co.cc ku mak kung pacak
    pira harani uy aktif na ...

    BalasHapus
  2. nama saya yudi lam knl mas, keren blognya
    mas untuk kontrol led ON/OFF menggunakan mikro dan vb secara serial, gmn caranya mas??
    mohon bantuannya
    email :yudi_themaster@yahoo.com

    BalasHapus

Silahkan Bergabung dulu untuk meninggalkan komentar Anda,Terima Kasih...!!!