Pengenalan CodeVisionAVR
Transcript of Pengenalan CodeVisionAVR
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.
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;
};}