8. AVCC merupakan pin masukan tegangan untuk ADC.
9. AREFF merupakan pin masukan tegangan referensi ADC.
2.2 Pengenalan Pemrograman C
Pengenalan merupakan sebuah nama yang didefinisikan oleh pemrograman untuk menunjukkan identitas dan sebuah konstanta, variabel,
fungsi, label atau tipe data khusus. Pemberian nama sebuah pengenalan dapat ditentukan bebas sesuai keinginan pemrogram tetapi harus memenuhi aturan
berikut: 1.
Karakter pertama tidak boleh menggunakan angka. 2.
Karakter kedua dapat berupa huruf, angka, atau garis bawah. 3.
Tidak boleh menggunakan spasi. 4.
Bersifat case sensitif, yaitu huruf kapital dan huruf kecil dianggap berbeda. 5.
Tidak boleh menggunakan kata-kata yang merupakan sintaks maupun operator dalam pemrograman C, misalnya: void, short, const, if, static, bit,
long, case, do, switch, char, float, for, else, break, int, double, include, while.
Contoh penamaan pengenal yang diperbolehkan yaitu nama, _nama, nama2, nama_pengenal_yang_panjang_juga_boleh. Contoh penamaan pengenal yang
diperbolehkan yaitu: a.
2nama tidak boleh diawali dengan angka b.
Nama+2 tidak boleh menggunakan operator ‘+’ c.
Nama panjang tidak boleh menggunakan spasi.
Universitas Sumatera Utara
2.2.1 Tipe Data
Berikut ini adalah tipe-tipe data yang ada dalam bahasa C dan yang dikenali oleh Compiler CodeVisionAVR:
Tabel 2.4 Tipe Data
Tipe Data Ukuran
Jangkauan Nilai Bit
1 bit 0 atau 1
Chart 1 byte
-128 sd 127 Unsigned Char
1 byte 0 sd 225
Signed Char 1 byte
-128 sd 127 Int
2 byte -32,768 sd 32,767
Short Int 2 byte
-32,768 sd 32,767 Unsigned Int
2 byte 0 sd 65,535
Signed Int 2 byte
-32,768 sd 32,767 Long Int
4 byte -2,147,483,648 sd 2,147,483,647
Unsigned Long Int 4 byte
0 sd 4,294,967,295 Signed Long Int
4 byte -2,147,483,648 sd 2,147,483,647
Float 4 byte
1,210
-38
sd 3,410
+38
Double Ukuran
1,210
-38
sd 3,410
+38
2.2.2 Konstanta Dan Variabel
Konstanta dan variabel merupakan sebuah tempat untuk menyimpan data yang berada dalam memori. Konstanta berisi data yang nilainya tetap dan tidak
dapat diubah selama program dijalankan, sedangkan variabel berisi data yang bisa
Universitas Sumatera Utara
berubah nilainya pada saat prrogram dijalankan. Untuk membuat sebuah konstanta atau variabel maka kita harus mendeklarasikannya terlebih dahulu.
Deklarasi Konstanta: Const [tipe_data] [nama_konstanta]=[nilai] Contoh: Const char konstantaku=0x10;
Deklarasi Variabel: [tipe_data] [nama_variabel]=[nilai_awal] Contoh :
Char variabelku; Char variabelku=0x20;
Bit variabel_bit; Bit variabel bit=1;
2.2.3 Variabel Bertanda Signed Dan Tak Bertanda Unsigned
Untuk pendeklarasian tipe yang berupa bilangan bulat yaitu chart, int, short dan long dapat ditambahkan signed atau unsigned. Signed digunakan untuk
mendefinisikan bahwa data yang disimpan dalam variabel adalah bertanda sedangkan unsigned untuk data yang tidak bertanda.
Contoh : Unsigned char data1;
Signed char data2;
2.2.4 Pengarah Preprosesor
Pengarah preprosesor digunakan untuk mendefinisikan prosesor yang digunakan, dalam hal ini adalah untuk mendefinisikan jenis mikrokontroler yang
digunakan. Dengan pengarah preprosesor ini maka pendeklarasian register- register dan penamaannya dilakukan pada file lain yang disisipkan dalam program
utama dengan sintaks sebagai berikut: include nama_preprosesor
Universitas Sumatera Utara
Contoh : include mega8535.h
2.2.5 Pernyataan
Pernyataan adalah satu buah instruksi lengkap yang berdiri sendiri. Berikut adalah contoh sebuah pernyataan: PORTC = 0x0F;
Pernyataan diatas merupakan sebuah instruksi untuk mengeluarkan data 0x0F ke Port C.
2.2.6 Blok Pernyataan
Kumpulan beberapa pernyataan yang berada dalam satu bagian program disebut dengan blok pernyataan. Satu blok pernyataan ditandai dengan tanda ‘{‘
dan diakhiri dengan tanda ‘}’. Contoh sebuah blok pernyataan:
{ PORTA=0x00;
pernyataan_1 PORTB=0x0F;
pernyataan_2 PORTC=0xFF;
pernyataan_2 }
2.2.7 Fungsi Pustaka
Bahasa C memiliki sejumlah fungsi pustaka yang berada pada file-file tertentu dan sengaja disediakan untuk menangani berbagai hal dengan cara
memanggil fungsi-fungsi yang telah dideklarasikan di dalam file tersebut. Dalam banyak hal, pustaka-pustaka yang tersedia tidak berbentuk kode sumber
melainkan dalam bentuk yang telah dikompilasi. Pada saat proses linking, kode-
Universitas Sumatera Utara
kode dari fungsi ini akan dikaitkan dengan kode-kode yang ditulis oleh pemrograman. Sintaks untuk menggunakan fungsi pustaka ini adalah sebagai
berikut : include nam_file_pustaka
Contoh : include lcd.h
2.2.8 Pernyataan if
Pernyataan if digunakan untuk melakukan pengambilan keputusan terhadap dua buah kemungkinan yaitu mengerjakan suatu blok pernyataan atau
tidak. Bentuk pernyataan if adalah sebagai berikut: if kondisi
{ blok pernyataan yang akan dikerjakan
jika kondisi if terpenuhi }
Contoh: if PINA0x80
{ dataku = PINA;
PORTC=0x0FF }
Pernyataan if diatas akan mengecek apakah data yang terbaca pada Port A PINA nilainya lebih dari 0x80 atau tidak, jika ya maka variabel dataku diisi
dengan nilai PINA dan data 0xFF dikeluarkan ke Port C. Apabila dalam blok pernyataan hanya terdapat satu pernyataan saja maka tanda { dan } dapat
dihilangkan seperti contoh berikut: if PINA0x80 PORTC=0xFF;
Universitas Sumatera Utara
2.2.9 Pernyataan If..Else
Pernyataan if..else hampir sama dengan pernyataan if diatas atau yaitu digunakan untuk melakukan pengambilan keputusan terhadap dua buah
kemungkinan, hanya yang berbeda adalah bahwa kedua kemungkinan tersebut berupa mengerjakan suatu blok pernyataan atau mengerjakan blok pernyataan
yang lain. Bentuk pernyataan if..else adalah sebagai berikut: if kondisi
{ blok pernyataan yang akan dikerjakan
jika kondisi if terpenuhi }
Else {
blok pernyataan yang akan dikerjakan jika kondisi if tidak terpenuhi
} Contoh :
if PIN.0x80
{ dataku = ~PINA;
PORTC=0x00; }
Pernyataan if..else diata akan mengecek apakah data yang terbaca pada Port A PINA nilainya lebih dari 0x80 atau tidak, jika ya maka variabel dataku
disiisi dengan nilai PINA dan data 0xFF dikeluarkan ke port C tetapi jika tidak
Universitas Sumatera Utara
maka variabel dataku diisi dengan nilai komplemen dari PINA ~PINA dan data 0x00 dikeluarkan ke port C.
2.2.10 Pernyataan While
Pernyataan while digunakan untuk pengulangan sebuah pernyataan atau blok pernyataan secara terus menerus selama kondisi tertentu masih terpenuhi.
Bentuk pernyataan while adalah sebagai berikut: while kondisi
{ sebuah pernyataan atau blok pernyataan
} Jika pernyataan yang akan diulang hanya berupa sebuah pernyataan saja
maka tanda { dan } bisa dihilangkan. Contoh: unsigned char a=0;
..... while a10
{ PORTC=a;
a++; }
Pernyataan diatas akan mengeluarkan data as ke port C secara berulang- ulang. Setiap kali pengulangan nilai a akan bertambah 1 dan sebuah nilai a
mencapai 10 maka pengulangan selelsai.
Universitas Sumatera Utara
2.2.11 Bentuk Dasar Program C
Sebuah program dalam bahasa C setidaknya harus memiliki sebuah fungsi. Fungsi dasar ini disebut dengan fungsi utama dan memiliki kerangka program
sebagai berikut:
void main void
{ pernyataan-pernyataan
} Jika kita memiliki beberapa fungsi yang lain maka fungsi utama inilah
yang memiliki kedudukan paling tinggi dibandingkan fungsi-fungsi yang lain sehingga setiap kali program dijalankan akan selalu dimulai dari memanggil
fungsi utama terlebih dahulu. Fungsi-fungsi yang lain dapat dipanggil setelah fungsi utama dijalankan melalui pernyataan-pernyataan yang berada di dalam
fungsi utama. Contoh: prototipe fungsi inisialisasi port
void inisialisasi_port char A, char B, char C, char D;
definisi fungsi inisialisasi port
void inisialisasi_port char A, char B, char C, char D
{ DDRA = A;
DDRB = B; DDRC = C;
DDRD = D; }
Universitas Sumatera Utara
fungsi utama
void main void
{ inisialisasi_port 90xFF, 0xF0, 0x0F, 0x00;
}
2.3 CodeVision AVR