Thursday, April 14, 2011

Belajar Membuat Program Lampu Led Pada Atmega-8 dengan CodeVisionAVR

Bukalah program CodeVisionAVR dengan tampilan default sperti ini :
Klik File – New – Project – OK - yes,  sampai muncul tampilan berikut :
Pada Tab Chip, ubah pada posisi Atmega8 dan Clock pada 1 Mhz
Pada Tab Ports,  klik pada Port D
Pada Data Direction Bit 0 s/d Bit 7 ubah pada posisi “out” dengan cara klik pada kotak ” in” hingga berubah menjadi out
Kemudian File – Generate, Save and Exit  akan muncul tampilan sbb:
Simpan pada folder Anda, dengan nama terserah, misal  “coba”
Penyimpanan dilakukan 4 kali yaitu untuk file tipe:
  1. C Compiler files (*.c),
  2. Poject files (*.prj), dan
  3. C Compiler source files (*.c)
  4. CodeWizardAVR project files (*.cwp)
Simpanlah dengan nama file yang sama
Setelah semua selesai disimpan, akan muncul jendela berikut
Analisislah code yang telah dibuat:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.4a Advanced
Automatic Program Generator
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
Project :
Version :
Date    : 4/15/2011
Author  : NeVaDa
Company :
Comments:
Chip type               : ATmega8
Program type            : Application
AVR Core Clock frequency: 1.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/
#include <mega8.h>
// Declare your global variables here
void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// 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
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;
// Port D 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
PORTD=0x00;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// 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=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: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=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
     };
}
Teks program di atas adalah code yang dibuat dengan wizard secara otomatis (port, clock, tipe ic, input dan output, diatus secara otomatis), kita tinggal memasukkan code utama pada  “// Place your code here

Karena diawal kita telah mensetting port D sebagai output, maka kita akan coba membuat progam lampu pada port D. Maksudnya, lampu LED yang kita kendalikan adalah lampu LED yang tersambung pada port D pada kaki-kaki ic Atmega8.

Masukkan Kode
PORTD = 0b11110000; (tanpa petik) pada “// Place your code here”  sehingga hasilnya adalah sbb:

while (1)
     {
     PORTD = 0b11110000;
     };
}
Kemudian Project – Build All, akan muncul tampilan berikut sebagai tanda bahwa proses compiler sukses
Bukalah pada folder tempat penyimpanan file yang telah dibuat , buka folder “exe” dan cari file bertipe (*.hex) dan (*.rom)

Apabila kedua file tersebut belum ada berarti program yang kita buat masih belum berhasil, perlu diketahui saat kita mendownload program ke dalam ic atmega8, file yang dibutuhkan adalah file bertipe .hex

No comments:

Post a Comment

MY LINK