Top Banner
Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR System. Tujuan pemrogram adalah untuk menampilkan tulisan “Apa Kabar Dunia? SEMANGAT!” di LCD yang terhubung dengan PORTB dari mikrokontroler ATmega8535 pada DI-Smart AVR System. Tulisan akan ditampilkan pada LCD 16X2 Karakter yang pada latihan ini digunakan DI-Smart LCD16X2 Board. Langkah-langkah pemrograman: 1. Pilih File >> New:
22

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

Aug 31, 2018

Download

Documents

Vandan Gaikwad
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 ... · Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR System.

Kondisi sistem: Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR System. Tujuan pemrogram adalah untuk menampilkan tulisan “Apa Kabar Dunia? SEMANGAT!” di LCD yang terhubung dengan PORTB

dari mikrokontroler ATmega8535 pada DI-Smart AVR System. Tulisan akan ditampilkan pada LCD 16X2 Karakter yang pada latihan ini digunakan DI-Smart LCD16X2 Board.

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

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

2. Pilih Project >> OK:

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

3. Pilih Yes untuk menggunakan CodeWizardAVR:

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

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

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

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

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

6. Pilih Tab Ports kemudian pilih Tab Alphanumeric LCD kemudian klik Enable Alphanumeric LCD Support pada kotak Characters/Line pilih 16 kemudian pada kotak PORT ubah seluruhnya ke PORTB (disesuaikan dengan rangkaian) sedangkan pada bagian bit biarkan seperti default-nya (RS:0, RW:1, EN:2, D4:4, D5:5, D6:6, D7:7):

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

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

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

8. Simpan file skrip program dalam extensi *.c (contoh OUTPUT LCD PORTB.c) :

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

9. Simpan file project dalam extensi *.prj (contoh OUTPUT LCD PORTB.prj):

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

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

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

11. Berikut adalah tampilan awal:

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

12. Tambahkan library delay.h:

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

13. Berikut adalah skrip program lengkapnya:

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

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

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

15. Berikut jika program terjadi Error:

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

16. Klik pada tulisan Error pada layar bawah dan dengan otomatis CVAVR menunjukkan pada baris mana terjadinya Error (penunjukkan baris Error tidak selamanya pada baris tersebut bisa saja error sebenarnya terjadi pada 1 baris sebelum ataupun 1 baris setelahnya seperti pada contoh):

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

17. Berikut tampilan saat skrip program telah sukses:

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

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 ... · Mikrokontroler yang digunakan adalah ATmega8535, dalam hal ini untuk memudahkan digunakan DI-Smart AVR System.

/***************************************************** 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/21/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 // Alphanumeric LCD functions #include <alcd.h> // Declare your global variables here 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; // Port C initialization

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

// 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 PORTC=0x00; DDRC=0x00; // 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 ASSR=0x00; TCCR2=0x00; TCNT2=0x00;

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

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; // Alphanumeric LCD initialization // Connections are specified in the // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu: // RS - PORTB Bit 0 // RD - PORTB Bit 1 // EN - PORTB Bit 2 // D4 - PORTB Bit 4 // D5 - PORTB Bit 5 // D6 - PORTB Bit 6 // D7 - PORTB Bit 7 // Characters/line: 16 lcd_init(16); while (1) { // Place your code here lcd_clear(); // Membersihkan layar LCD dan memposisikan kursor pada koordinat baris pertama awal (0,0)

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

delay_ms(250); // Menunda layar kosong selama 250 milidetik lcd_putsf("Apa Kabar Dunia?"); // Menampilkan tulisan "Apa Kabar Dunia?" pada baris atas LCD lcd_gotoxy(0,1); // Memposisikan kursor pada koordinat baris kedua awal (0,1) lcd_putsf("SEMANGAT!"); // Menampilkan tulisan "SEMANGAT!" pada baris bawah LCD delay_ms(500); // Menunda layar bertulisan selama 500 milidetik } }