Top Banner
Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR System. Tujuan pemrogram adalah untuk menyalakan LED yang active-low dan terhubung dengan PORTC dari mikrokontroler ATmega8535 yang sudah terintegrasi pada DI-Smart AVR System. LED akan dinyalakan secara bergeser dari kanan ke kiri secara kontinu. Langkah-langkah pemrograman: 1. Pilih File >> New:
21

Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

Apr 28, 2019

Download

Documents

doandiep
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR System. Tujuan pemrogram adalah untuk menyalakan LED yang active-low dan terhubung dengan PORTC dari mikrokontroler ATmega8535

yang sudah terintegrasi pada DI-Smart AVR System. LED akan dinyalakan secara bergeser dari kanan ke kiri secara kontinu.

Langkah-langkah pemrograman: 1. Pilih File >> New:

Page 2: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

2. Pilih Project >> OK:

Page 3: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

3. Pilih Yes untuk menggunakan CodeWizardAVR:

Page 4: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

4. Pilih AT90, ATtiny, ATmega, FPSLIC >> OK:

Page 5: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

5. Pilih Tab Chip kemudian set Chip >> Atmega8535 dan Clock >> 11.059200 MHz:

Page 6: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

6. Pilih Tab Ports kemudian pilih Tab Port C kemudian pada Data Direction set menjadi Out dan pada Pullup/Output Value set menjadi “1” :

Page 7: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

7. Klik lambang roda gigi untuk meng-Generate program, save and exit:

Page 8: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

8. Simpan file skrip program dalam extensi *.c (contoh OUTPUT LED PORTC.c) :

Page 9: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

9. Simpan file project dalam extensi *.prj (contoh OUTPUT LED PORTC.prj):

Page 10: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

10. Simpan file linker yang dibutuhkan CVAVR dalam extensi *.cwp (contoh OUTPUT LED PORTC.cwp):

Page 11: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

11. Berikut adalah tampilan awal:

Page 12: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

12. Tambahkan library delay.h dan deklarasikan/pesan memori di RAM dengan tipe data char dengan nama rdata:

Page 13: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

13. Berikut adalah skrip program lengkapnya:

Page 14: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

14. Setelah selesai penulisan skrip program, lanjutkan dengan Build all project files:

Page 15: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

15. Berikut jika program terjadi Error:

Page 16: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

16. Klik pada tulisan Error pada layar bawah dan dengan otomatis CVAVR menunjukkan pada baris mana terjadinya Error:

Page 17: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

17. Berikut tampilan saat skrip program telah sukses:

Page 18: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

18. Setelah sukses, selanjutnya adalah mengunduh (men-download) program ke IC dengan meng-klik Run the chip programmer:

Page 19: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

/***************************************************** This program was produced by the CodeWizardAVR V2.05.3 Evaluation Automatic Program Generator © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 4/18/2012 Author : Freeware, for evaluation and non-commercial use only Company : Comments: Chip type : ATmega8535 Program type : Application AVR Core Clock frequency: 11.059200 MHz Memory model : Small External RAM size : 0 Data Stack size : 128 *****************************************************/ #include <mega8535.h> #include <delay.h> //DITAMBAHKAN OLEH PROGRAMMER // Declare your global variables here char rdata=1; //PEMESANAN RAM = 1 BYTE void main(void) { // Declare your local variables here // Input/Output Ports initialization // Port A 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 PORTA=0x00; DDRA=0x00; // 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;

Page 20: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

// Port C initialization // Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out // State7=1 State6=1 State5=1 State4=1 State3=1 State2=1 State1=1 State0=1 PORTC=0xFF; DDRC=0xFF; // 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=0xFF // OC0 output: Disconnected TCCR0=0x00; TCNT0=0x00; OCR0=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: Timer1 Stopped // Mode: Normal top=0xFFFF // 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=0xFF // OC2 output: Disconnected

Page 21: Kondisi sistem: Mikrokontroler yang digunakan adalah ... · Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR

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; // USART initialization // USART disabled UCSRB=0x00; // Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC disabled ADCSRA=0x00; // SPI initialization // SPI disabled SPCR=0x00; // TWI initialization // TWI disabled TWCR=0x00; while (1) { // Place your code here PORTC = ~rdata; // PORTC = NEGASI DARI rdata rdata <<= 1; // rdata digeser satu kali ke kanan if (rdata == 0) rdata = 1; // jika rdata sampai ke data paling kiri, kembali ke awal delay_ms (250); // tunda 250 ms = 0.25 detik } }