About my Blog

think what I think

Selasa, 18 Desember 2012

Rangkaian Traffic Light


Berikut tahap-tahap dalam membuat rangkaian Traffic dengan AVR
Alat-alat yang dibutuhkan adalah sebagai berikut:
1. ATMEGA-16
2. Crystal
3. 7Seg-Com-Cat-Green
4. 7Seg-Com-Cathode
5. BC107
6. Resistor

Langkah selanjutnya adalah melakukan simulasi dengan menggunakan beberapa software pendukung, software yang dibutuhkan adalah:
1. Proteus(ISIS 7 Professional)
2. Micro C(AVR).

Mari kita mulai untuk melakukan simulasi terlebih dahulu:
1. Buatlah rangkaian sesuai dengan gambar di bawah ini dengan menggunakan Software Proteus(ISIS 7 Profesional):
2. setelah selesai merangkai gunakan software Micro C(AVR) dengan mengetikkan kode sebagai berikut:
sbit red_1 at PORTA.B0;
sbit yellow_1 at PORTA.B1;
sbit green_1 at PORTA.B2;
sbit red_2 at PORTA.B3;
sbit yellow_2 at PORTA.B4;
sbit green_2 at PORTA.B5;
sbit green_a at PORTA.B6;
sbit red_a at PORTA.B7;
sbit green_b at PORTB.B0;
sbit red_b at PORTB.B1;

unsigned char a,b;
unsigned char segment (unsigned char input){
switch(input){
case 1:{return 0×06;break;}
case 2:{return 0x5B;break;}
case 3:{return 0x4F;break;}
case 4:{return 0×66;break;}
case 5:{return 0x6D;break;}
case 6:{return 0x7D;break;}
case 7:{return 0×07;break;}
case 8:{return 0x7F;break;}
case 9:{return 0x6F;break;}
case 0:{return 0x3F;break;}
}
}

void delay_green(void){
red_a=0;
green_b=0;
a=9;
b=0;
while(b!=10){
Delay_ms(1000);
b++;
PORTC=segment(a);
green_a=1;
red_b=1;
a–;
}
a=9;
}

void delay_red(void){
green_a=0;
red_b=0;
a=9;
b=0;
while(b!=10){
Delay_ms(1000);
b++;
PORTC=segment(a);
red_a=1;
green_b=1;
a–;
}
}

void main(void){
PORTA=0X00;
DDRA=0XFF;
PORTB=0X00;
DDRB=0X03;
PORTC=0X00;
DDRC=0XFF;
PORTD=0X00;
DDRD=0XFF;

while(1){
red_1=0;
red_2=1;
green_1=1;
delay_green();

green_1=0;
yellow_1=1;
Delay_ms(1500);

yellow_1=0;
red_1=1;
red_2=0;
green_2=1;
delay_red();

yellow_2=1;
green_2=0;
Delay_ms(1500);
yellow_2=0;
};
}

1 komentar:

Anonim mengatakan...

ada layoutan ga gan?

Posting Komentar