Pengenalan
CodeVisionAVR
Hendaw an Soebhakti
2
Sub Pokok Bahasan
Pengenalan CodeVision
Menampilkan Data Ke Port Output
CodeVisionAVR C Compiler
CodeVisionAVR C Compiler adalah software yang
digunakan untuk membuat program mikrokontroler AVR
dalam bahasa C.
Program tersebut kemudian diterjemahkan oleh
4
Memulai Project
1. Start menu, Program File dan pilih CodeVisionAVR C Compiler
Memulai Project
3. Pada CodeWizardAVR pilih menu
Chip
dan pilih menu pilihanATmega8535L
serta pilih frekuensiClock
sebesar11,059200 MHz.
• Pada CodeWizardAVR kita bisa
melakukan setting terhadap fitur-fitur yang disediakan seperti Timer, USART, ADC dan yang lainnya.
• File yang dihasilkan dari setting
CodeWizardAVR ini akan dimasukkan (included) ke source program secara otomatis.
6
Memulai Project
4. Masih pada CodeWizardAVR, pilih menu
Ports
, kemudian settingPort A
Memulai Project
5. Setelah selesai melakukan setting maka klik menu
File- > Generate, Save and Exit.
8
Memulai Project
Setting Programmer
Setelah selesai membuat program, anda harus melakukan setting programmer untuk memilih jenis AVR Chip Programmer yang anda gunakan untuk mendownload program ke mikrokontroler. I kuti 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 pilihjenis chip programmer yang anda gunakan. Pastikan juga setting port komputer sudah benar
10
Mengkompilasi Project
Untuk menghasilkan file hex yang nantinya akan didownload ke mikrokontroler, maka sebelumnya anda harus mengkompilasi project yang anda buat.
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 fungsi setting tersebut.
12
Mengkompilasi Project
Klik menu
Project- > Make
untuk mengkompilasi program.Jika program anda sudah benar, maka klik
Program
untuk memulai proses download ke mikrokontroler.Namun jika masih terdapat kesalahan pada program, anda harus memperbaikinya terlebih dahulu.
Setting Port
Setiap port ATMega8535 terdiri dari 3 register I / O yaitu DDRx, Portx dan PI Nx.
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 untuk mengaktifkan 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.
14
Menampilkan Data Ke Port Output
Pada percobaan ini, kita akan membuat program untuk menampilkan data 0xFF ke PortA selama 1 detik, kemudian data pada PortA tersebut berubah menjadi 0x00 selama 1 detik berikutnya. Demikian siklus berulang-ulang
Menampilkan Data Ke Port Output
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 PORTA delay_ms(1000); //Delay 1S
PORTA=0x00; //Keluarkan 0x00 ke PORTA delay_ms(1000); //Delay 1S
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 sampai
0xFF dengan interval 1 detik
#include <mega8535.h> #include <delay.h>
// Declare your global variables here void main(void) { . . while (1) {
// Place your code here
unsigned char x; //Mendefinisikan variable x
x++; //x=x+1 kalau ingin dikurangi gunakan x--PORTA=x; //Keluarkan x ke PORTA
delay_ms(1000); //Delay 1S };
18
Membaca Data Dari Port I nput
Pada contoh ini, kita akan membuat program untuk membaca data dari Port B dan menampilkan data tersebut ke PortA
Membaca Data Dari Port I nput
#include <mega8535.h>
// Declare your global variables here
void main(void)
{
.
.
.
while (1)
{
// Place your code here
PORTA=PINB;
20
Membaca Data Dari Port I nput
Contoh 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 here void main(void) { . . . while (1) {
// Place your code here
if(PINB.0==0){PORTA.0=0;PORTA.1=0;} if(PINB.1==0)PORTA=0xFF;