[KT015]
Oleh : Akhmad Musafa, M.T.
Sesi 3 :
Teknik Pemrograman
Mikrokontroler AVR dengan
Bahasa C
Tujuan Pembelajaran
Mahasiswa dapat memahami dan
menjelaskan teknik pemrograman
mikrokontroler AVR dengan bahasa C
Mahasiswa dapat membuat program
mikrokontroler AVR ATmega16 dengan
bahasa C
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
Preprocessor (#) :
Digunakan untuk memasukkan
(include) text dari file lain dan
mendefinisikan macro
//variabel global
unsigned int i,j;
void main(void)
{
//deklarasi variabel lokal
char data_1;
DDRA = 0xFF;
PORTA = 0xFF;
..
while(1) {
..
};
}
Aplikasi Mikrokontroler
Inisialisasi
Program Utama
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
ALFA
SUM(a,b)
sensor
pompa
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
0xFF
a+b
PINA.2
PORTB.0
5
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
Tipe Data
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
Operator (1)
Operator Kondisi
Operator
Operasi
==
Sama dengan
!=
<
Kurang dari
>
Lebih dari
<=
>=
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
10
Operator (2)
Operator Aritmatika
Operator
Operasi
Penjumlahan
Pengurangan
Perkalian
Pembagian
Sisa pembagian
Bil. bulat
Bil. bulat
Aplikasi Mikrokontroler
Tipe Operan
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
Tipe hasil
11
Operator (3)
Operator Logika
Operator
OPERASI
Boolean NOT
&&
Logika AND
||
Logika OR
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
12
Operator (4)
Operator Bitwise
Operator
OPERASI
Komplemen Bitwise
&
Bitwise AND
Bitwise OR
Bitwise XOR
<<
>>
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
13
Teknik Percabangan
Percabangan adalah teknik yang digunakan untuk
mengarahkan alur proses dalam program.
Teknik percabangan banyak digunakan terutama
dalam pemrograman yang kompleks.
Teknik Percabangan (dalam bahasa C) :
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
14
syarat?
Tidak
Ya
pernyataan
if (syarat)
{
pernyataan;
----}
next instruction
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
15
Struktur Percabangan
if-then-else
Struktur :
Tidak
syarat?
pernyataan
jika salah
Ya
pernyataan
jika benar
next instruction
Aplikasi Mikrokontroler
if (syarat)
{
pernyataan jika benar;
--}
else
{
pernyataan jika salah;
--}
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
16
Struktur Percabangan
Nested if
Percabangan bersarang terjadi apabila pada cabang
terjadi kondisi yang menyebabkan terjadinya
percabangan kembali
FALSE
syarat1
FALSE
pernyataan1
pernyataan2
TRUE
syarat2
TRUE
pernyataan3
Aplikasi Mikrokontroler
if (syarat1)
{
if (syarat2)
{ pernyataan3;
}
else {penyataan2;}
}
else
{
pernyataan1;
}
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
17
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
18
Ya
statemen_1
Tidak
Kondisi_2
dipenuhi?
Ya
statemen_2
Tidak
Kondisi_n
dipenuhi?
Ya
Statemen_n
Tidak
next instruction
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
19
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
20
Teknik Perulangan
Statemen for
Statemen while
Statetmen dowhile
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
21
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
22
inisialisasi
kondisi
Y
3
proses_dalam_loop
perubahan_indeks
5 next instruction
Aplikasi Mikrokontroler
Melakukan inisialisasi
(memberikan nilai awal
kondisi)
Memeriksa nilai kondisi
Jika benar, maka laksanakan
loop 3, setelah itu rubah kondisi
4, kemudian kembali ke no-2
Jika salah, maka langsung keluar
dari loop melaksanakan langkah
5 (loop selesai)
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
23
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
24
inisialisasi
kondisi
inisialisasi;
while (kondisi)
{
proses_dalam_loop;
perubahan_indeks;
}
next instruction;
Y
3
Proses_dalam_loop
Perubahan_indeks
5 next instruction
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
25
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
26
inisialisasi
proses_dalam_loop
perubahan_indeks
4
Y
kondisi
inisialisasi;
do
{
proses_dalam_loop;
perubahan_indeks;
}
while(kondisi);
next instruction;
N
5 next instruction
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
27
Array
Array adalah deretan variabel dengan
nama dan tipe data sama.
Setiap anggota deretan (elemen) diberi
nomor yang disebut indeks (dimulai dari
nol).
Jenis Array :
Satu dimensi
Dua dimensi
Multi dimensi
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
28
Deklarasi Array :
tipe_array nama_array[ukuran];
Contoh :
int nilai[5];
nilai[0] nilai[1] nilai[2] nilai[3] nilai[4]
70
60
85
75
65
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
29
Fungsi
Sebuah program yang besar dapat
dipecah menjadi beberapa sub program
yang terpisah untuk melakukan fungsi
tertentu.
Sub program seperti ini disebut fungsi.
Jenis fungsi :
Fungsi dengan nilai balik
Fungsi tanpa nilai balik
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
30
Deklarasi fungsi :
tipe nama_fungsi(argumen);
tipe
Nilai yang dihasilkan oleh fungsi.
Jika tidak dinyatakan, hasil fungsi dianggap bertipe integer.
Deklarasi tipe void dapat digunakan untuk menghindari
terjadinya nilai balik.
argumen
Deklarasi variabel apa saja yang dibutuhkan oleh fungsi
Bersifat optional
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
31
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
32
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
33
Catatan
Pernyataan return dapat menyatakan dua hal :
return mengakhiri jalannya fungsi dan kembali ke
program utama
Mengirim nilai balik
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
34
Parameter actual
Parameter yang terdapat pada saat
pemanggilan fungsi
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
35
Fungsi Input/Output
Fungsi Tipe Karakter
Fungsi Standar
Fungsi Matematika
Fungsi Konversi BCD
Fungsi LCD
Fungsi Delay
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
36
void putchar(char c)
Fungsi ini digunakan untuk mengirimkan karakter c
menggunakan UART pada komunikasi serial menggunakan
sistem polling (mengirimkan data serial).
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
37
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
38
char toint(char c)
digunakan untuk menginterpretasikan karakter c sebagai
digit heksadesimal dan mengkonversikannya menjadi
unsigned char dari 0 sampai 15.
char tolower(char c)
digunakan untuk mengubah karakter c menjadi huruf kecil.
char toupper(char c)
digunakan untuk mengubah karakter c menjadi huruf besar.
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
39
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
40
Terima kasih
kasih!
Aplikasi Mikrokontroler
Sesi-3 : Pemrograman
Mikrokontroler AVR dengan C
41