Halaman

Selasa, 06 Oktober 2015

Rotating LED

Pemberitahuan bagi yang ingin membuat rotating LED ini  bisa menghubungi whatsapp saya :
082141643012

Pada kesempatan kali ini kami menggunakan Atmega 8 dalam pembuatannya :

Kami menggunakan PORTC dan PORTD untuk output LED-nya,,,
Skema Rangkaian Rotating LED :


Board Circuit :


 Berikut ini adalah program Rotating LED yang telah kami buat, mungkin bisa untuk referensi program.
/*******************************************************
This program was created by the
CodeWizardAVR V3.20 Evaluation
Automatic Program Generator
© Copyright 1998-2015 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : Rotating LED
Version : 3.1
Date    : 24/06/2015
Author  : Electronic Engineering
Company : mandornya.blogspot.co.id
Comments:


Chip type               : ATmega8
Program type            : Application
AVR Core Clock frequency: 8,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*******************************************************/

#include <io.h>
#include <delay.h>
#define LED1    PORTC
#define LED2    PORTD

// Declare your global variables here
void II()
{
    LED2=0b11111111; delay_us(800);
    LED2=0b11111111; delay_us(300);
    LED2=0b01111110; delay_us(300);
    LED2=0b00000000; delay_us(300);
    LED2=0b01111110; delay_us(300);
    LED2=0b11111111; delay_us(300);
}
void L()
{
    LED2=0b11111111; delay_us(300);
    LED2=0b11111111; delay_us(300);
    LED2=0b11111110; delay_us(300);
    LED2=0b11111110; delay_us(300);
    LED2=0b01111110; delay_us(300);
    LED2=0b00000000; delay_us(300);
    LED2=0b11111111; delay_us(300);
}
void O()
{
    LED2=0b11111111; delay_us(300);
    LED2=0b11000111; delay_us(300);
    LED2=0b10111011; delay_us(300);
    LED2=0b10111101; delay_us(300);
    LED2=0b11011110; delay_us(300);
    LED2=0b10111101; delay_us(300);
    LED2=0b10111011; delay_us(300);
    LED2=0b11000111; delay_us(300);
    LED2=0b11111111; delay_us(300);
}
void V()

    LED2=0b11111111; delay_us(300);
    LED2=0b00000011; delay_us(300);
    LED2=0b11111101; delay_us(300);
    LED2=0b11111110; delay_us(300);
    LED2=0b11111101; delay_us(300);
    LED2=0b00000011; delay_us(300);
    LED2=0b11111111; delay_us(300);
}
void E()
{
    LED2=0b11111111; delay_us(800);
    LED2=0b01101110; delay_us(300);
    LED2=0b01101110; delay_us(300);
    LED2=0b01101110; delay_us(300);
    LED2=0b00000000; delay_us(300);
    LED2=0b11111111; delay_us(300);
}                           
void U()
{
    LED2=0b11111111; delay_us(800);
    LED2=0b00000001; delay_us(300);
    LED2=0b11111110; delay_us(300);
    LED2=0b11111110; delay_us(300);
    LED2=0b01111110; delay_us(300);
    LED2=0b00000001; delay_us(300);
    LED2=0b11111111; delay_us(300);
}
void a()
{
    LED1=0b1111111; delay_us(300);   //1500
    LED1=0b1000000; delay_us(200);
    LED1=0b1101010; delay_us(200);
    LED1=0b1101010; delay_us(200);
    LED1=0b1101010; delay_us(200);
    LED1=0b1101010; delay_us(200);
    LED1=0b1100010; delay_us(200);
}
void b()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1000011; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1000000; delay_us(200);
}
void c()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1101101; delay_us(200);
    LED1=0b1011110; delay_us(200);
    LED1=0b1011110; delay_us(200);
    LED1=0b1011110; delay_us(200);
    LED1=0b1011110; delay_us(200);
    LED1=0b1100001; delay_us(200);
}
void d()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1000000; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1000011; delay_us(200);
}
void e()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1101001; delay_us(200);
    LED1=0b1011010; delay_us(200);
    LED1=0b1011010; delay_us(200);
    LED1=0b1011010; delay_us(200);
    LED1=0b1011010; delay_us(200);
    LED1=0b1100001; delay_us(200);                           
}
void f()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111010; delay_us(200);
    LED1=0b1111010; delay_us(200);
    LED1=0b1111010; delay_us(200);
    LED1=0b1111010; delay_us(200);
    LED1=0b1000001; delay_us(200);
    LED1=0b1111011; delay_us(200);
}
void g()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111110; delay_us(200);
    LED1=0b1100000; delay_us(200);
    LED1=0b1010110; delay_us(200);
    LED1=0b1010110; delay_us(200);
    LED1=0b1010110; delay_us(200);
    LED1=0b1111001; delay_us(200);
}
void h()

    LED1=0b1111111; delay_us(300);
    LED1=0b1000011; delay_us(200);
    LED1=0b1111011; delay_us(200);
    LED1=0b1111011; delay_us(200);
    LED1=0b1111011; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void i()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111111; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1000010; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1111111; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void j()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111111; delay_us(200);
    LED1=0b1111111; delay_us(200);
    LED1=0b1000001; delay_us(200);
    LED1=0b1011101; delay_us(200);
    LED1=0b1001111; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void k()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111111; delay_us(200);
    LED1=0b1001110; delay_us(200);
    LED1=0b1110101; delay_us(200);
    LED1=0b1110011; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void l()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1011111; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void m()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111110; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111110; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111110; delay_us(200);
}
void n()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111110; delay_us(200);
    LED1=0b1111110; delay_us(200);
    LED1=0b1111110; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111110; delay_us(200);
}
void o()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111111; delay_us(200);
    LED1=0b1100001; delay_us(200);
    LED1=0b1011110; delay_us(200);
    LED1=0b1011110; delay_us(200);
    LED1=0b1100001; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void p()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111111; delay_us(200);
    LED1=0b1111001; delay_us(200);
    LED1=0b1110110; delay_us(200);
    LED1=0b1110110; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void q()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1011110; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1110110; delay_us(200);
    LED1=0b1110110; delay_us(200);
    LED1=0b1111001; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void r()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111101; delay_us(200);
    LED1=0b1111110; delay_us(200);
    LED1=0b1111110; delay_us(200);
    LED1=0b1111110; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void s()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111111; delay_us(200);
    LED1=0b1100101; delay_us(200);
    LED1=0b1010110; delay_us(200);
    LED1=0b1011010; delay_us(200);
    LED1=0b1101001; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void t()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1011111; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1000000; delay_us(200);
    LED1=0b1111011; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void uu()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111111; delay_us(200);
    LED1=0b1100000; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1100000; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void v()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1110000; delay_us(200);
    LED1=0b1101111; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1101111; delay_us(200);
    LED1=0b1110000; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void w()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1100000; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1100011; delay_us(200);
    LED1=0b1011111; delay_us(200);
    LED1=0b1100000; delay_us(200);
    LED1=0b1111111; delay_us(200);
}
void x()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1011110; delay_us(200);
    LED1=0b1101101; delay_us(200);
    LED1=0b1110011; delay_us(200);
    LED1=0b1110011; delay_us(200);
    LED1=0b1101101; delay_us(200);
    LED1=0b1011110; delay_us(200);
}
void y()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1111100; delay_us(200);
    LED1=0b1111011; delay_us(200);
    LED1=0b1100111; delay_us(200);
    LED1=0b1011011; delay_us(200);
    LED1=0b1111101; delay_us(200);
    LED1=0b1111110; delay_us(200);
}
void z()
{
    LED1=0b1111111; delay_us(300);
    LED1=0b1101110; delay_us(200);
    LED1=0b1011100; delay_us(200);
    LED1=0b1011010; delay_us(200);
    LED1=0b1010110; delay_us(200);
    LED1=0b1001110; delay_us(200);
    LED1=0b1011101; delay_us(200);
}            

void main(void)
{

// Declare your local variables here

// Input/Output Ports initialization
// Port B initialization
// Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
DDRB=(0<<DDB7) | (0<<DDB6) | (0<<DDB5) | (0<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
// State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);

// Port C initialization
// Function: Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRC=(1<<DDC6) | (1<<DDC5) | (1<<DDC4) | (1<<DDC3) | (1<<DDC2) | (1<<DDC1) | (1<<DDC0);
// State: Bit6=1 Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
PORTC=(1<<PORTC6) | (1<<PORTC5) | (1<<PORTC4) | (1<<PORTC3) | (1<<PORTC2) | (1<<PORTC1) | (1<<PORTC0);

// Port D initialization
// Function: Bit7=Out Bit6=Out Bit5=Out Bit4=Out Bit3=Out Bit2=Out Bit1=Out Bit0=Out
DDRD=(1<<DDD7) | (1<<DDD6) | (1<<DDD5) | (1<<DDD4) | (1<<DDD3) | (1<<DDD2) | (1<<DDD1) | (1<<DDD0);
// State: Bit7=1 Bit6=1 Bit5=1 Bit4=1 Bit3=1 Bit2=1 Bit1=1 Bit0=1
PORTD=(1<<PORTD7) | (1<<PORTD6) | (1<<PORTD5) | (1<<PORTD4) | (1<<PORTD3) | (1<<PORTD2) | (1<<PORTD1) | (1<<PORTD0);

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=(0<<CS02) | (0<<CS01) | (0<<CS00);
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=0xFFFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=(0<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (0<<WGM10);
TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (0<<CS10);
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: Timer2 Stopped
// Mode: Normal top=0xFF
// OC2 output: Disconnected
ASSR=0<<AS2;
TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (0<<CS22) | (0<<CS21) | (0<<CS20);
TCNT2=0x00;
OCR2=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=(0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (0<<TOIE0);

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=(0<<ISC11) | (0<<ISC10) | (0<<ISC01) | (0<<ISC00);

// USART initialization
// USART disabled
UCSRB=(0<<RXCIE) | (0<<TXCIE) | (0<<UDRIE) | (0<<RXEN) | (0<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8);

// Analog Comparator initialization
// Analog Comparator: Off
// The Analog Comparator's positive input is
// connected to the AIN0 pin
// The Analog Comparator's negative input is
// connected to the AIN1 pin
ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0);
SFIOR=(0<<ACME);

// ADC initialization
// ADC disabled
ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0);

// SPI initialization
// SPI disabled
SPCR=(0<<SPIE) | (0<<SPE) | (0<<DORD) | (0<<MSTR) | (0<<CPOL) | (0<<CPHA) | (0<<SPR1) | (0<<SPR0);

// TWI initialization
// TWI disabled
TWCR=(0<<TWEA) | (0<<TWSTA) | (0<<TWSTO) | (0<<TWEN) | (0<<TWIE);

while (1)
      {
        a();n();a();i();r();t();i();f();
        LED1=0b1111111;
        delay_ms(20);
      
        i();t();a();w();a();m();h();c();a();r();
        LED1=0b1111111;
        delay_ms(5);
      
        LED2=0b11111111;
        delay_ms(20);                                                        
        U();E();V();O();L();II();
        LED2=0b11111111;
        delay_ms(20);
      
      }
}




Tidak ada komentar:

Posting Komentar