Senin, 03 April 2017

SIMULASI PROTEUS LED

Kali ini kita membagikan hasil pembelajaran dari lab Mekatronika bertema tentang LED menggunakan software proteus. Tugas yang saya peroleh tentang membuat rangkaian sistem minimum di proteus dengan 3 push button dan 8 buah LED. Dengan syarat :
-ketika button 1 ditekan, LED menyala dengan urutan (1,2,3,4,5,6,7,8)
-ketika button 2 ditekan, LED menyala dengan urutan (8,7,6,5,4,3,2,1)
-ketika button 3 ditekan, LED menyala dengan urutan(4,5),(3,6),(2,7),(1,8)
Sebelum mengerjakan tugas tersebut, software yang dibutuhkan adalah proteus dan cvavr.
Buka proteus, klik ikon schematic capture
Kemudian klik component mode, klik icon P,Kemudian tuliskan komponen yang dibutuhkan (Atmega32,Button,LED (Bisa warna terserah anda)) dan cari icon ground.
3 Rangkai Menjadi seperti gambar di bawah ini
4 Kemudian buka aplikasi CVAVR, klik new, kemudian pilih project, yes, AT90, lalu klik program, lalu generate save exit. Jangan lupa simpan gambar sebanyak 3X
5 Dan kita buat codingan
#include <mega32.h>
#include <delay.h>
void main(void)
{
PORTA=0x00; DDRA=0x00;
PORTB=0x00; DDRB=0x00;
PORTC=0xFF; DDRC=0x00;
PORTD=0x00; DDRD=0xFF;
TCCR0=0x00; TCNT0=0x00;
OCR0=0x00; TCCR1A=0x00;
TCCR1B=0x00; TCNT1H=0x00;
TCNT1L=0x00; ICR1H=0x00;
ICR1L=0x00; OCR1AH=0x00;
OCR1AL=0x00; OCR1BH=0x00;
OCR1BL=0x00; ASSR=0x00;
TCCR2=0x00; TCNT2=0x00;
OCR2=0x00; MCUCR=0x00;
MCUCSR=0x00; TIMSK=0x00;
UCSRB=0x00; ACSR=0x80;
SFIOR=0x00; ADCSRA=0x00;
SPCR=0x00; TWCR=0x00;
while (1) {
if (PINC.0==0)
{PORTD=0b00000001; delay_ms(15);
PORTD=0b00000010; delay_ms(15);
PORTD=0b00000100; delay_ms(15);
PORTD=0b00001000; delay_ms(15);
PORTD=0b00010000; delay_ms(15);
PORTD=0b00100000; delay_ms(15);
PORTD=0b01000000; delay_ms(15);
PORTD=0b10000000; delay_ms(15);
} else {
if (PINC.1==0)
{PORTD=0b10000000; delay_ms(15);
PORTD=0b01000000; delay_ms(15);
PORTD=0b00100000; delay_ms(15);
PORTD=0b00010000; delay_ms(15);
PORTD=0b00001000; delay_ms(15);
PORTD=0b00000100; delay_ms(15);
PORTD=0b00000010; delay_ms(15);
PORTD=0b00000001; delay_ms(15);
} else {
if (PINC.2==0)
{PORTD=0b00011000; delay_ms(15);
PORTD=0b00100100; delay_ms(15);
PORTD=0b01000010; delay_ms(15);
PORTD=0b10000001; delay_ms(15);
} else {
PORTD=0;}
};
};
}
}
6 Jangan lupa coba untuk mengetahui apakan codingan yang kita buat bisa menyala atau tidak