Anda di halaman 1dari 10
1 | 10
1 | 10

[CvAVR] Basic C Language

Tutorial Singkat

Bahasa C Pada Aplikasi mikrokontroller

(Sumber : CodeVisionAVR Help v2.04 by Too PayZ)

(Sumber : CodeVisionAVR Help v2.04 by Too PayZ) C Preprocessor C Preprocessor adalah macro processor

C Preprocessor

C

Preprocessor adalah macro processor yang digunakan secara otomatis oleh compiler

C

untuk mengubah program anda sebelum di kompilasi secara keseluruhan.

Fungsi atau tujuannya antar lain :

Menggunakan atau menambahkan file lain ke dalam project program yang dibuat. Misalnya menambahkan library, header, source lain, dll.

Mendefinisikan macro yang mempermudah dalam penulisan program dan meningkatkan legibility (keterbacaan) source code.

Mengatur kompilasi bersyarat untuk tujuan debugging dan untuk meningkatkan portabilitas program.

Menentukan compiler specific directives.

Contoh-contoh Preprocessor

#include

<file_name>

#include

“file_name”

#define

PORTbutton

PORTA.0

#define

ON

1

#define

strA

‘A’

#define

SUM(a,b)

:

a+b

cara menggunakan

int i=SUM(2,3);

#define

PRINT_MSG(t)

:

printf(#t)

cara menggunakan

PRINT_MSG(hello);

#define

ALFA(a,b)

:

a ## b

cara menggunakan

char ALFA(x,y)=1;

#define

ALFA(a,b)

a ## b

2 | 10
2 | 10

[CvAVR] Basic C Language

Komentar2 | 10 [CvAVR] Basic C Language Memulai komentar dengan karakter /* dan diakhiri karakter */

Memulai komentar dengan karakter /* dan diakhiri karakter */. Contoh:

/* This is a comment

/* This is a

*/

multiple line comment */

Komentar satu baris menggunakan dua buah garis miring. Contoh :

// This is also a comment

Reserved Keyword / Kata kuncidua buah garis miring. Contoh : // This is also a comment Reserved Keyword adalah kata

Reserved Keyword adalah kata kunci yang digunakan oleh kompiler CodeVisionAVR dan tidak boleh / tidak dapat digunakan sebagai nama identifier, variabel, dll.

eeprom

double

return

flash

eeprom

short

interrupt

else

signed

task

enum

sizeof

_Bool

extern

sfrb

break

flash

sfrw

bit

float

static

bool

for

struct

case

goto

switch

char

if

typedef

const

inline

union

continue

int

unsigned

default

interrupt

void

defined

long

volatile

do

register

while

3 | 10
3 | 10

[CvAVR] Basic C Language

Identifier3 | 10 [CvAVR] Basic C Language Identifier adalah nama yang Anda berikan label, variabel, fungsi

Identifier adalah nama yang Anda berikan label, variabel, fungsi atau objek lain.

9), serta karakter garis bawah (_).

Namun identifier hanya dapat dimulai dengan huruf atau garis bawah. Bahasa C adalah case sensitive sehingga huruf besar dan huruf kecil berbeda, variable1 yaitu tidak sama dengan

Variable1. Identifier dapat memiliki hingga 64 karakter.

Identifier bisa berisi huruf

Z, a

z) dan angka (0

Data Type Tabel berikut mencantumkan semua tipe data yang didukung oleh CodeVisionAVR C compiler, jangkauan dan nilai Tabel berikut mencantumkan semua tipe data yang didukung oleh CodeVisionAVR C compiler, jangkauan dan nilai yang mungkin dan ukuranya:

C compiler, jangkauan dan nilai yang mungkin dan ukuranya: Tipe data bit tidak diperbolehkan dalam jenis

Tipe data bit tidak diperbolehkan dalam jenis elemen array atau struktur / union. Secara default tipe Char adalah pilihan unsigned char memiliki rentang 0-255. Untuk pengaturan default char silahkan cek atau uncek pada Project | Configure | C Compiler | Kode Generation | char is unsigned atau gunakan # pragma uchar +.

4 | 10
4 | 10

[CvAVR] Basic C Language

4 | 10 [CvAVR] Basic C Language Operator Kompiler CodeVision AVR mendukung beberapa operator, antara lain
4 | 10 [CvAVR] Basic C Language Operator Kompiler CodeVision AVR mendukung beberapa operator, antara lain

Operator

Kompiler CodeVision AVR mendukung beberapa operator, antara lain :

+

-

*

/

%

++

--

=

==

~

!

!=

<

>

<=

>=

&

&&

|

||

^

?

:

<<

>>

-=

+=

/=

%=

&=

*=

^=

|=

>>=

<<=

sizeof

5 | 10
5 | 10

[CvAVR] Basic C Language

Aritmatika

Operator

 

Contoh

Keterangan dan contoh.

=

 

Y

= A;

Pemberian nilai A ke Y.

+

Y

= A + B;

Penjumlahan A dan B hasil di Y

++

 

Y++;

Increment / Kenaikan

   

Y

= Y + 1;

--

 

Y--;

Decrement / Penurunan Y = Y -1;

-

Y

= A – B;

Pengurangan A dan B hasil di Y

*

Y

= A * B;

Perkalian A dan B hasil di Y

/

Y

= A / B;

Pembagian A dan B hasil di Y

   

Modulus atau sisa hasil bagi.

Y

= 25 % 5;

// Y = 0

%

Y

= A % B

 

Y

= 26 % 5;

// Y = 1

Y

= 14 % 6;

// Y = 2

   

Penjumlahan variable tersebut dengan

+=

 

Y

+ =4;

konstanta atau nilai tertentu.

   

Y

= Y + 4;

   

Pengurangan variable tersebut dengan

-=

 

Y

- =4;

konstanta atau nilai tertentu.

   

Y

= Y - 4;

   

Perkalian variable tersebut dengan

*=

 

Y

* = 4;

konstanta atau nilai tertentu.

   

Y

= Y * 4;

   

Pembagian variable tersebut dengan

/=

 

Y

/ = 4;

konstanta atau nilai tertentu.

   

Y

= Y / 4;

%=

 

Y % = 4;

Modulus variable tersebut dengan konstanta atau nilai tertentu.

   

Y

= Y % 4;

6 | 10
6 | 10

[CvAVR] Basic C Language

Logika

Operator

Contoh

Keterangan dan contoh.

= =

if (A == B)

Jika A sama dengan B maka True

!=

if (A != B)

Jika A tidak sama dengan B maka True

<

if (A < B)

Jika A lebih kecil dari B maka True

<=

if (A <= B)

Jika A lebih kecil sama dengan B maka True

>

if (A > B)

Jika A lebih besar dari B maka True

>=

if (A >= B)

Jika A lebih besar sama dengan B maka True

!

if (!A)

Jika tidak sama dengan A maka True.

&&

if (Y==A && B== C)

Jika Y = A dan B = C maka True.

||

if (Y==A || B== C)

Jika Y = A atau B = C Maka True.

7 | 10
7 | 10

[CvAVR] Basic C Language

Manipulasi Bit

Operator

 

Contoh

Keterangan dan contoh.

   

Nilai Y kebalikan dari nilai A

~

 

Y = ~A

Jika

A = 11110000

 

Maka Y = 00001111

   

Gerbang logika AND / perkalian bit

Jika

A = 11110000 B = 11001100

&

Y

= A & B

 

Jika

Maka Y = 11000000

   

Gerbang logika OR / penjumlahan bit

Jika

A = 11110000 B = 11001100

|

Y = A | B

Jika

Maka Y = 11111100

   

Gerbang logika XOR

Jika

A = 11110000 B = 11001100

^

Y

= A ^ B

 

Jika

Maka Y = 00111100

   

Pergeseran bit ke kiri sebanyak n bit.

Jika

A = 00000001 Y = A<<6

<<

Y

= A << n

 

dan

Maka Y = 01000000

   

Pergeseran bit ke kanan sebanyak n bit.

Jika

A = 10000000 Y = A<<6

>>

Y

= A >> n

 

dan

Maka Y = 00000010

8 | 10
8 | 10

[CvAVR] Basic C Language

8 | 10 [CvAVR] Basic C Language Operator Kondisional Berikut beberapa contoh operator kondisional:  if

Operator Kondisional

Berikut beberapa contoh operator kondisional:

if (kondisi) then pernyataan; Contoh :

if (Y == A)

{

putsf(“nilai Y sama dengan A.”);

}

if (kondisi) then pernyataan_1; else pernyataan_2;

Contoh :

if (Y == A)

{

putsf(“nilai Y sama dgn A.”);

}

else

{

putsf(“nilai Y beda dgn A.”);

}

if (kondisi_1) then pernyataan_1; else if (kondisi_2) then pernyataan_2; else pernyataan_3; Contoh :

if (Y == A)

{

putsf(“nilai Y sama dgn A.”);

}

else if (Y == B)

{

putsf(“nilai Y beda dgn B.”);

}

else

{

putsf(“nilai Y beda dgn A dan B.”);

}

9 | 10
9 | 10

[CvAVR] Basic C Language

switch(ekspresi)

{

case kondisi1 :

pernyataan 1

break; case kondisi2 :

pernyataan 2

break;

}

Contoh :

switch (Y)

{

case 1:

putsf(“nilai Y sama dgn 1.”);

case 2:

break; putsf(“nilai Y sama dgn 2.”);

}

break;

switch(ekspresi)

{

case kondisi1 :

pernyataan 1

break;

case kondisi2 :

pernyataan 2

break;

default :

break;

}

Contoh :

pernyataan default

switch (Y)

{

case 1:

putsf(“nilai Y sama dgn 1.”);

case 2:

break; putsf(“nilai Y sama dgn 2.”);

default:

break; putsf(“Kondisi default Y berbeda.“);

}

break;

10 | 10
10 |
10

[CvAVR] Basic C Language

10 | 10 [CvAVR] Basic C Language Perulangan ( Looping) Berikut beberapa contoh perulangan : 

Perulangan ( Looping)

Berikut beberapa contoh perulangan :

for (nilai_awal;

syarat_perulangan;

{

pernyataan dalam loop;

}

Contoh :

proses_increament/decreament;)

for (y = 0; y <= 5; y++)

{

printf(“Forloop 1, ke-%d”,y);

}

for (y = 0; y < 5; y++)

{

printf(“Forloop 2, ke-%d”,y);

}

for (y = 5; y <= 0; y--)

{

printf(“Forloop 3, ke-%d”,y);

}

while(ekspresi)

{

pernyataan dalam loop;

}

Contoh :

Y = 5

While(y--)

{

printf(“while loop, ke-%d”,y);

}

do

{

pernyataan dalam loop;

}

while (ekspresi);

Contoh :

Y = 5;

do

{

printf(“dowhile loop, ke-%d”,y); Y--;

}

while(Y != 0);