Algoritma & Pemograman

Programming Mikrokontroler AVR dengan C

Pemrograman Bahasa C untuk AVR Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya. Untuk mengetahui dasar bahasa C dapat dipelajari sebagai berikut.

1. Struktur penulisan program

#include < [library1.h] > // Opsional

#include < [library2.h] > // Opsional

#define [nama1] [nilai] ; // Opsional

#define [nama2] [nilai] ; // Opsional

[global variables] // Opsional

[functions] // Opsional

void main(void) // Program Utama

{ [Deklarasi local variable/constant] [Isi Program Utama] }

2. Tipe data

char : 1 byte ( -128 s/d 127 )

unsigned char : 1 byte ( 0 s/d 255 )

int : 2 byte ( -32768 s/d 32767 )

unsigned int : 2 byte ( 0 s/d 65535 )

long : 4 byte ( -2147483648 s/d 2147483647 )

unsigned long : 4 byte ( 0 s/d 4294967295 )

float : bilangan desimal

array : kumpulan data-data yang sama tipenya.

3. Deklarasi variabel & konstanta

Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah.

Penulisan : [tipe data] [nama] = [nilai] ;

Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah.

Penulisan : const [nama] = [nilai] ;

Tambahan: Global variabel/konstanta yang dapat diakses di seluruh bagian program.

Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya.

4. Statement

Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar.

Contoh: suhu=adc/255*100; //contoh rumus perhitungan suhu

5. Function Function

adalah bagian program yang dapat dipanggil oleh program utama.

Penulisan : [tipe data hasil] [nama function]([tipe data input 1],[tipe data input 2]) { [statement] ; }

6. Conditional statement dan looping if else

digunakan untuk penyeleksian kondisi

if ( [persyaratan] ) { [statement1]; [statement2]; } else { [statement3]; [statement4]; }

for : digunakan untuk looping dengan jumlah yang sudah diketahui

for ( [nilai awal] ; [persyaratan] ; [operasi nilai] ) { [statement1]; [statement2]; }

while : digunakan untuk looping jika dan salama memenuhi syarat tertentu

while ( [persyaratan] ) { [statement1]; [statement2]; }

do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun min 1 kali

do { [statement1]; [statement2]; } while ( [persyaratan] )

switch case : digunakan untuk seleksi dengan banyak kondisi

switch ( [nama variabel] ) { case [nilai1]: [statement]; break; case [nilai2]: [statement]; break; }

7. Operasi logika dan biner Logika

AND :&&

NOT : !

OR :

Biner AND : &

OR :

XOR : ^

Shift right: >>

Shift left : <<

Komplemen : ~

8. Operasi relasional (perbandingan)

Sama dengan : ==

Tidak sama dengan : !=

Lebih besar : >

Lebih besar sama dengan : >=

Lebih kecil : <

Lebih kecil sama dengan : <=

9. Operasi aritmatika

+ , – , * , / : tambah,kurang,kali,bagi

+= , -= , *= , /= : nilai di sebelah kiri operator di tambah/kurang/kali/bagi dengan nilai di sebelah kanan operator

% : sisa bagi

++ , — : tambah satu (increment) , kurang satu (decrement)

Contoh :

a = 5 * 6 + 2 / 2 -1 ;

maka nilai a adalah 30 a *= 5 ;

jika nilai awal a adalah 30, maka nilai a = 30×5 = 150. a += 3 ;

jika nilai awal a adalah 30, maka nilai a = 30+5 = 33. a++ ;

jika nilai awal a adalah 5 maka nilai a = a+1 = 6. a– ;

jika nilai awal a adalah 5 maka nilai a = a-1 = 4.

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s