Pengenalan CodeVisionAVR

20
Pengenalan CodeVisionAVR Hendawan Soebhakti Oktober 2009

Transcript of Pengenalan CodeVisionAVR

Pengenalan CodeVisionAVR

Hendawan SoebhaktiOktober 2009

2

Sub Pokok Bahasan

Pengenalan CodeVision Menampilkan Data Ke Port Output Membaca Data Dari Port Input

3

CodeVisionAVR C Compiler

CodeVisionAVR C Compiler adalah software yang digunakan untuk membuat program mikrokontroler AVR dalam bahasa C.

Program tersebut kemudian diterjemahkan olehCodeVisionAVR C menjadi kode heksadesimal yang akandidownload ke dalam chip mikrokontroler AVR.

4

Memulai Project

1. Start menu, Program File dan pilih CodeVisionAVR C Compiler

2. Klik Yes untuk menggunakan CodeWizardAVR

5

Memulai Project3. Pada CodeWizardAVR pilih menu Chip dan pilih menu pilihan

ATmega8535L serta pilih frekuensi Clock sebesar 11,059200 MHz.

• Pada CodeWizardAVR kita bisamelakukan setting terhadap fitur-fituryang disediakan seperti Timer, USART, ADC dan yang lainnya.

• File yang dihasilkan dari setting CodeWizardAVR ini akan dimasukkan(included) ke source program secaraotomatis.

• Dengan CodeWizzardAVR pekerjaanprogrammer menjadi lebih mudahkarena tidak perlu membuat sendiriprogram untuk mengaktifkan fitur-fiturAVR.

6

Memulai Project4. Masih pada CodeWizardAVR, pilih menu Ports, kemudian setting Port A

sebagai output dengan output value 0.

7

Memulai Project

5. Setelah selesai melakukan setting maka klik menu File->Generate, Save and Exit.

6. Simpan dengan nama file sesuai keinginan anda.

8

Memulai Project7. Selanjutnya anda bisa membuat program pada editor yang sudah disediakan.

9

Setting ProgrammerSetelah selesai membuat program, anda harus melakukan setting programmer untukmemilih jenis AVR Chip Programmer yang anda gunakan untuk mendownload program kemikrokontroler. Ikuti langkah-langkah berikut :

1. Hubungkan programmer dengan komputer dan pastikan koneksinya sudah benar.2. Pastikan mikrokontroler sudah terpasang dengan benar.3. Nyalakan power supply pada programmer anda.4. Klik menu Settings->Programmer kemudian pilih

jenis chip programmer yang anda gunakan. Pastikan juga setting port komputer sudah benarsesuai dengan koneksi antara komputer dan programmer.

10

Mengkompilasi Project

Untuk menghasilkan file hex yang nantinya akan didownload ke mikrokontroler, makasebelumnya anda harus mengkompilasi project yang anda buat.

Hal ini dimaksudkan untuk mengetahui apakah program yang anda buat sudah benarsesuai syntax bahasa C atau belum.

11

Mengkompilasi Project

Klik menu Project->Configure, kemudian pilih Program the Chip.

Perhatian ! Pastikan Chip Programming Options pada pilihan No Protection.

Jangan mengubah setting yang lain jika anda belum paham benar fungsisetting tersebut.

Setelah selesai klik OK.

12

Mengkompilasi Project

Klik menu Project->Make untuk mengkompilasi program.

Jika program anda sudah benar, maka klik Program untuk memulai prosesdownload ke mikrokontroler.

Namun jika masih terdapat kesalahan pada program, anda harus memperbaikinyaterlebih dahulu.

Tunggu hingga proses download selesai.

13

Setting PortSetiap port ATMega8535 terdiri dari 3 register I/O yaitu DDRx, Portx dan PINx.

DDRx (Data Direction Register)Register DDRx digunakan untuk memilih arah pin. Jika DDRx = 1 maka Pxn sebagai pin output Jika DDRx = 0 maka Pxn sebagai input.

Portx (Port Data Register)Register Portx digunakan untuk 2 keperluan yaitu untuk jalur output atau untukmengaktifkan resistor pullup.1. Portx berfungsi sebagai output jika DDRx = 1 maka :

Portxn = 1 maka pin Pxn akan berlogika high.Portxn = 0 maka pin Pxn akan berlogika low.

2. Portx berfungsi untuk mengaktifkan resistor pullup jika DDRx = 0 maka :Portxn = 1 maka pin Pxn sebagai pin input dengan resistor pull up.Portxn = 0 maka pin Pxn sebagai output tanpa resistor pull up.

14

Menampilkan Data Ke Port Output

Pada percobaan ini, kita akan membuat program untuk menampilkan data 0xFF kePortA selama 1 detik, kemudian data pada PortA tersebut berubah menjadi 0x00 selama 1 detik berikutnya. Demikian siklus berulang-ulang

Contoh 1 : LED ON/OFF

15

Menampilkan Data Ke Port OutputPada CodeWizard, setting mode Port bisa dilakukan dengan memilih bit Data Direction dan Pullup/Output Value pada menu Ports

16

Menampilkan Data Ke Port Output

#include <mega8535.h>#include <delay.h>void main(void){...while (1)

{// Place your code here

PORTA=0xFF; //Keluarkan data 0xFF ke PORTAdelay_ms(1000); //Delay 1SPORTA=0x00; //Keluarkan 0x00 ke PORTAdelay_ms(1000); //Delay 1S

};}

17

Menampilkan Data Ke Port Output

Pada percobaan ini, kita akan membuat program untuk menampilkan data pada PortA yang naik satu persatu (increment) mulai dari 0x00 sampai0xFF dengan interval 1 detik

#include <mega8535.h>#include <delay.h>// Declare your global variables herevoid main(void){..while (1)

{// Place your code here

unsigned char x; //Mendefinisikan variable xx++; //x=x+1 kalau ingin dikurangi gunakan x--PORTA=x; //Keluarkan x ke PORTAdelay_ms(1000); //Delay 1S

};}

Contoh 2 : Data Increment

18

Membaca Data Dari Port Input

Pada contoh ini, kita akan membuat program untuk membaca data dari Port B dan menampilkan data tersebut ke PortA

Contoh 1 : Membaca Data PortB

19

Membaca Data Dari Port Input

#include <mega8535.h>// Declare your global variables herevoid main(void){...while (1)

{// Place your code herePORTA=PINB;};

}

20

Membaca Data Dari Port InputContoh 2 : Membaca Data Per Bit Pada PinB

Pada percobaan ini, kita akan membuat program untuk membaca data dari PinB.0 dan PinB.1 Jika PinB.0 berlogika 0 maka PortA.0 dan PortA.1 akan berlogika 0. Jika PinB.1 berlogika 0 maka data pada PortA adalah 0xFF.

#include <mega8535.h>// Declare your global variables herevoid main(void){...while (1)

{// Place your code here

if(PINB.0==0){PORTA.0=0;PORTA.1=0;}if(PINB.1==0)PORTA=0xFF;

};}