44
PART 7 Void & Define Dosen : Dwisnanto Putro, S.T, M.Eng

PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

  • Upload
    buitu

  • View
    484

  • Download
    6

Embed Size (px)

Citation preview

Page 1: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

PART 7 Void & Define Dosen : Dwisnanto Putro, S.T, M.Eng

Page 2: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Untuk LED ANODA : Logika 0 = led menyala

Logika 1 = led mati

• Untuk LED KATODA : Logika 0 = led mati

Logika 1 = led menyala

LED (LIGHT EMITING DIODE)

Published By Stefanikha69

Page 3: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi
Page 4: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi
Page 5: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Delay = tunda

• Penundaan terhadap kinerja mikrokontroler

•DELAY

Published By Stefanikha69

Page 6: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan.

• Sebelum memanggil fungsi, interupsi harus dimatikan terlebih dahulu, apabila tidak maka delay akan lebih lama dari yang diharapkan. Juga sangat penting untuk menyebutkan frekuensi clock chip IC AVR yang digunakan pada menu Project – configure - C compiler - Code Generation.

•DELAY

Published By Stefanikha69

Page 7: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Header delay

#include <delay.h>

• Perintah delay

delay_ms(------);

Waktu tunda dalam milidetik:

Misalkan:

delay_ms(1000); berarti ditunda selama 1 detik

•DELAY

Published By Stefanikha69

Page 8: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Dengan system delay, menciptakan system sinyal pulsa

•DELAY

Published By Stefanikha69

Page 9: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Biasanya digunakan untuk menyertakan file header (.h) atau file

library. File include berguna memberitahukan compiler agar

membaca file yang akan di include-kan lebih dahulu agar

mengenali definisi-definisi yang digunakan dalam program

sehingga tidak dianggap error.

#include

Published By Stefanikha69

Page 10: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Cara penulisan:

• # include <………> untuk lokasi standar file yang telah disetting oleh tools biasanya pada folder include atau folder direktori compiler.

• # include ”……….. “ untuk lokasi file yang kita tentukan sendiri.

#include

Published By Stefanikha69

Page 11: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Digunakan untuk mendefinisikan konstanta atau makro

• Cara penulisan:

#define identifier konstanta

Contoh: #define MAX 100

• (Setiap kemunculan max diganti dengan angka 100.)

#define

Published By Stefanikha69

Page 12: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Fungsi ini tidak memberikan hsil yang serupa nilai melainkan berupa sebuah proses. Fungsi ini bertipe void.

Contoh:

void kedip()

{

PORTD=0

delay_ms(500); //delay 500ms

PORTD=255;

delay_ms(500);

}

#void

Published By Stefanikha69

Page 13: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•New Project

• Run CodeVision

Published By Stefanikha69

Page 14: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

Published By Stefanikha69

Page 15: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Chip select

Published By Stefanikha69

Page 16: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

configuration chip select

• Chip ATMEGA 8535

• Clock 11.059200 Mhz

Published By Stefanikha69

Page 17: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Untuk port gunakan PORTC untuk LED

PORTC.0 – PORTC.7 = output (0)

Published By Stefanikha69

Page 18: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Save and Generate

Published By Stefanikha69

Page 19: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Save File – make folder and files

Published By Stefanikha69

Page 20: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Display

Published By Stefanikha69

Page 21: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•Configuration ready compile

Published By Stefanikha69

Page 22: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

Published By Stefanikha69

Page 23: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•CODE PROGRAM #inlude<mega8535.h> #include<delay.h> #define LED1 0b11111110 #define LED2 0b11111101 #define LED3 0b11111011 Void jalan() { PORTC=LED1; delay_ms(1000); PORTC=LED2; delay_ms(1000); PORTC=LED3; delay_ms(1000); } Void(main){ PORTC=0xFF; DDRC=0xFF; while(1){ Jalan(); } }

Published By Stefanikha69

Page 24: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

SETTING USB – DOWNLOADER : • INSTALL DEVICE USB DOWNLOADER

• CONNECT USB DOWNLOADER TO PC/LAPTOP

SETTING COM PORT: • COMPUTER -> MANAGE -> DEVICE MANAGER

• PORT (COM &LPT) -> PROLIFIC USB TO SERIAL COMM PORT (COM....)

Published By Stefanikha69

Page 25: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•Configuration PORT Programmer

Published By Stefanikha69

Page 26: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

Choice :

• AVR Chip programmer type

• COM PORT

• BAUD RATE

Published By Stefanikha69

Page 27: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•COMPILER AND BUILD ALL PROGRAM

Or Shift F9

Published By Stefanikha69

Page 28: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Connecting USB Downloader – PC/Laptop - Microcontroller, And....

Published By Stefanikha69

Page 29: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Process Downloading.........

Published By Stefanikha69

Page 30: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

FINISH

Published By Stefanikha69

Page 31: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

• Error DOWNLOADING

Solution : • Check COM PORT • Check Baud Rate • Check Connection Downloader • Check Prog/Serial TTL select

Published By Stefanikha69

Page 32: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•CV AVR WITH PROTEUS

OPEN PROGRAM ISIS PROTEUS PROFESSIONAL

Published By Stefanikha69

Page 33: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•synchronization cv avr with proteus

• Creat Project and Design

• Double click pict microcntroller

Published By Stefanikha69

Page 34: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•synchronization cv avr with proteus

• Select clock frequency

• Select program file, (HEX file type)

Published By Stefanikha69

Page 35: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

•synchronization cv avr with proteus

• Running ISIS Proteus

• FINISH...

Created by. Dwisnanto Putro, Manado, September 2012

Published By Stefanikha69

Page 36: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

Task

Buatlah #define untuk menyalakan led pada PIN0 sampai dengan PIN7

Published By Stefanikha69

Page 37: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

TASK

•BUATLAH project dengan system led berjalan pada PORTC.7, PORTC.6 dan PORTC.5 dengan masing-masing delay 250 ms (dengan menggunakan define dan Void)

Published By Stefanikha69

Page 38: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

TASK • BUATLAH project dengan system led berjalan pada

PORTC.1 s/d PORTC.6. masing-masing delay 100 ms. Misalkan:

• Step 1: hanya PORTC.1 mati

• Step 2: hanya PORTC.2 mati

• Step 3: hanya PORTC.3 mati

• Step 4: hanya PORTC.4 mati

• Step 5: hanya PORTC.5 mati

• Step 6: hanya PORTC.6 mati

(PORTC Yang lain menyala)

(dengan menggunakan define dan Void)

Published By Stefanikha69

Page 39: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

TASK

• BUATLAH project dengan system led berjalan pada PORTC.0 s/d PORTC.7. masing-masing delay 100 ms. (Secara berurutan menyala dari PORTC.7 s/d PORTC.0)

• (dengan menggunakan define dan Void)

Published By Stefanikha69

Page 40: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

TASK

• BUATLAH project dengan system led berjalan pada PORTC.0 s/d PORTC.7. masing-masing delay 100 ms. Misalkan:

• Step 1: PORTC.0 dan PORTC.7 ON

• Step 2: PORTC.1 dan PORTC.6 ON

• Step 3: PORTC.2 dan PORTC.5 ON

• Step 4: PORTC.3 dan PORTC.4 ON

• (dengan menggunakan define dan Void)

Published By Stefanikha69

Page 41: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

TASK • BUATLAH project dengan system led berjalan pada PORTC.0

s/d PORTC.7. masing-masing delay 100 ms. Misalkan:

• Step 1: PORTC.0 dan PORTC.7 ON

• Step 2: PORTC.1 dan PORTC.6 ON

• Step 3: PORTC.2 dan PORTC.5 ON

• Step 4: PORTC.3 dan PORTC.4 ON

• Step 5: PORTC.2 dan PORTC.5 ON

• Step 6: PORTC.1 dan PORTC.6 ON

• Step 7: PORTC.0 dan PORTC.7 ON

• (dengan menggunakan define dan Void)

Published By Stefanikha69

Page 42: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

TASK

BUATLAH project dengan system:

• JIKA PUSH BUTTON PADA PORTD.2 DITEKAN MAKA LED pada PORTC.2 MENYALA

• JIKA TIDAK DITEKAN PUSHBUTTON PADA PORTD.2 MAKA LED PADA PORTC.2 MATI

• (dengan menggunakan define dan Void)

Published By Stefanikha69

Page 43: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

TASK

BUATLAH project dengan system:

• JIKA PUSH BUTTON PADA PORTD.2 DITEKAN MAKA LED pada PORTC.2 MENYALA

• JIKA PUSH BUTTON PADA PORTD.3 DITEKAN MAKA LED pada PORTC.3 MENYALA

• JIKA TIDAK DITEKAN PUSHBUTTON PADA PORTD.2 dan PORTD.3 MAKA LED PADA PORTC.2 DAN PORTC.3 MATI

• (dengan menggunakan define dan Void)

Published By Stefanikha69

Page 44: PROJECT CODEVISION AVR C - … · Menghasilkan delay dalam program-C berada pada header delay.h yang harus dimasukan (include) sebelum digunakan. • Sebelum memanggil fungsi, interupsi

TASK

BUATLAH project dengan system:

• JIKA PUSH BUTTON PADA PORTD.2 DITEKAN MAKA terjadi proses LED berjalan pada PORTC.0 s/d PORTC.7

• JIKA PUSH BUTTON PADA PORTD.3 DITEKAN MAKA terjadi proses LED berjalan pada PORTC.7 s/d PORTC.0

• (dengan menggunakan define dan Void)

Published By Stefanikha69