Powered By Blogger

Rabu, 26 November 2014

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] // Opsionalvoid 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.

Tidak ada komentar:

Posting Komentar