LANDASAN TEORI
II.1 Mikrokontroler
1. Sama – sama memiliki unit pengolah pusat atau yang lebih dikenal
atau tempat, biasanya dari ROM (Read Only Memory) atau RAM
satu macam aplikasi saja sesuai dengan program atau aplikasi yang telah dibuat
oleh programmer.
Selain perbedaaan tersebut, mikrokontroler juga memiliki ciri khas
tertanam
2. Berfungsi untuk satu macam fungsi saja, dimana dalam laporan ini
penting adalah jika mikroprosesor hanya merupakan sebuah CPU tanpa adanya
diatas umumnya memiliki CPU, memori, jalur input – output dan beberapa fungsi
atau fitur tertentu seperti ADC (Analog to Digital Converter) yang sudah
terintegrasi dalam IC mikrokontroler tersebut. Kelebihan utama dari
mikrokontroler adalah tersedianya RAM, jalur input – output dan fitur – fitur
beredar luas di dunia, diantaranya yang terkenal adalah Intel, Maxim, Motorolla
memiliki arsitektur RISC (Reduce Instruction Set Computing) delapan bit, dimana
semua instruksi dikemas dalam kode 16-bit (16 bits word) dan sebagian besar
http://id.wikipedia.org/wiki/Atmel_AVR
Nama AVR sendiri berasal dari “Alf and Vegard RISC processor”
dimana Alf Egil Bogen dan Vegard Wollan adalah dua penemu berkebangsaan
Atmel.
software yaitu yang disediakan oleh Atmel sendiri yaitu AVR Studio dan
beberapa software buatan pihak ketiga diantaranya AVR GCC, WinAVR,
2.03.9 standar.
Selain itu, RISC juga umum dipakai pada Advanced RISC Machine
Hewlett-Packard.
Desain RISC pertama kali digagas oleh John Cocke, peneliti dari
menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an.
http://id.wikipedia.org/wiki/RISC
II.2.2 ATMega32
frekuensi 16 MHz
Port D
mode Compare
line Package) dapat dilihat pada Gambar 2.1. Dari gambar tersebut dapat
mikrokontroler
memisahkan antara memori dan bus untuk program dan data untuk
terdiri dari 32x8 bit general purpose register yang dapat diakses dengan
hasilnya disimpan kembali pada register dalam satu clock cycle. Operasi
aritmatik dan logic pada ALU akan mengubah bit – bit yang terdapat pada
instruksi berjalan secara parallel, dapat dilihat pada gambar dibawah ini :
yang terdapat dalam CPU, masing – masing register ditentukan juga dalam
seperti register pointer X, Y dan Z dapat diset menuju index dari register
file manapun.
II.2.7 Stack Pointer
semua instruksi AVR memiliki format 16 atau 32 bit, Flash diatur dalam
adalah program kecil yang bekerja pada saat start up time yang dapat
buah register umum, 64 buah register I/O dan 2 Kbyte SRAM internal.
mulai dari $20 hingga $5F. Memori I/O merupakan register yang khusus
dam sebagainya.
ATMega32 terdiri dari 1024 byte memori data EEPROM 8 bit, data
dapat tulis/baca dari memori ini. Ketika catu daya dimatikan, data terakhir
yang ditulis pada memori EEPROM masih tersimpan pada memori ini,
atau dengan kata lain memori EEPROM bersifat non-volatile atau tidak
menguap.
II.2.9 Status Register (SREG)
tingkat rendah seperti assembler maupun bahasa tingkat tinggi seperti C, Basic,
Pascal, Forth dan sebagainya. Namun masing – masing memiliki kelebihan dan
relatif lebih kecil bila dibandingkan dengan bahasa tingkat tinggi dan memiliki
waktu eksekusi lebih cepat namun untuk pengembangannya sedikit sulit karena
bahasa yang ditulis mendekati bahasa mesin sehingga kurang dapat dimengerti.
Selain itu kekurangan bahasa assembler adalah sifatnya yang non-universal yaitu
Bahasa tingkat tinggi seperti C, Basic, Pascal dan lain – lain meiliki
mudah. Selain itu bahasa tingkat tinggi bersifat fleksibel yaitu dapat digunakan
berpindah dari jenis mikrokontroler satu ke jenis lainnya, yang berbeda hanya
dihasilkan relatif lebih besar dibandingkan dengan program hasil bahasa assember
karena dibutuhkan compiler untuk merubah struktur bahasa tingkat tinggi kepada
bahasa yang dimengerti mesin. Selain itu, karena ukuran yang dihasilkan lebih
besar maka berpengaruh kepada waktu eksekusi program yang lebih lama
pemrogramannya.
II.4 Bahasa C
Thomson pada tahun 1972, Bahasa C merupakan salah satu bahasa pemrograman
merupakan bahasa pemrograman yang sangat fleksibel dan tidak terlalu terikat
dengan berbagai aturan yang sifatnya kaku. Satu – satunya hal yang membatasi
saja secara bebas menjumlahkan karakter huruf (misal ‘A’) dengan sebuah
bilangan bulat (misal ‘2’), dimana hal yang sama tidak mungkin dapat dilakukan
dengan menggunakan bahasa tingkat tinggi lainnya. Karena sifatnya ini, seringkali
bahasa C saat ini mulai menggeser penggunaan bahasa tingkat rendah assembler.
diatas, perusahaan Atmel merancang sedemikian rupa sehingga arsitektur AVR ini
AVR ini tidak dilakukan sendiri oleh perusahaan Atmel tetapi ada kerja sama
yaitu IAR C)
II.4.2 Preprocessor
header (.h) atau file library. File include berguna untuk memberitahu
lokasi standar file yang telah di-setting oleh tools biasanya pada folder
File header io.h adalah file yang berisi segala informasi atau
definisi tentang register – register fungsi khusus (SFR) dan bit – bit atau
dengan angka 1.
Kata kunci atau keywords adalah kata – kata yang tidak bisa
kunci adalah : Auto, break, Case, Char, double, else, enum, extern, int,
long, switch, typedef, union, const, continue, default, do, float, For, goto,
II.4.5 Variabel
disimpan, hal ini akibat dari byte memori yang dipesan dan bentuk
bilangan dari 0 sampai dengan 255 sedangkan jika bertanda dari -128
sampai dengan 127. Tipe data pada bahasa C dapat dilihat pada tabel
berikut.
Tipe Data Byte bit Minimum Maksimum
mikrokontroler terletak pada bit msb atau bit paling kanan tipe data yang
digunakan dimana msb=0 jika bilangan itu positif dan sebaliknya msb=1
global, variabel global adalah variabel yang dapat diakses oleh seluruh
diletakan diatas semua program, nilai variabel global berubah tiap kali
variabel itu diakses dan variabelnya tidak hilang (menetap). Nilai yang
sedang terjadi adalah nilai terakhir ketika variabel itu diakses baik oleh
adalah variabel yang hanya dapat diakses oleh blok fungsi yang
Pendeklarasian variabel lokal ini berada pada bagian atas didalam blok
dan nilainya pun hilang. Jika menghendaki nilai variabel lokal tidak hilang
maka dalam deklarasi variabel harus ditambahkan static diikuti tipe data
II.4.6 Fungsi
input menjadi output yang diinginkan, namun ada juga fungsi yang tidak
+ Penambahan A=b+c
- Pengurangan A=b-c
* Perkalian A=b*c
++ Increment A++
-- Decrement A--
+= Penugasan + X += 8 X=X+8
-= Penugasan - X -= 8 X=X-8
*= Penugasan * X *= 8 X=X*8
/= Penugasan / X /= 8 X=X/8
%= Penugasan % X %= 8 X=X%8
Operator Operasi
== Sama dengan
Operator Operasi
II.5 CodeVisionAVR
dijalankan pada sistem operasi Windows 95, 98, ME, NT4, 2000 dan XP.
Gambar 2.11 : CodeVisionAVR
ANSI C, sejauh yang diizinkan oleh arsitektur AVR, dengan tambahan beberapa
tambahan fitur untuk mengambil kelebihan khusus dari arsitektur AVR dan
File object COFF hasil dari kompilasi dapat digunakan untuk keperluan
terminal.
tertentu untuk :
Semiconductor
9. SPI
11. Delay
5. Inisialisasi Timer/Counter
9. Inisialisasi ADC
DS1307
14. Inisialisasi Bus 1-Wire dan Sensor Suhu DS1820 dan DS18S20
ECU (Engine Control Unit) atau dikenal juga sebagai ECM (Engine
Control Module) atau PCM (Power-train Control Module) adalah sebuah unit
campuran bahan bakar dengan udara, waktu pengapian yang sesuai dan lainnya
sesuai dengan masukan dari sensor yang terdapat dalam mesin. ECU generasi
pertama dibuat pada pertengahan tahun 1980 dimana cara kerjanya adalah dengan
memanfaatkan sistem kerja mesin yang saat itu masih menerapkan sistem mekanis
yang telah disimpan dalam sebuah chip ROM digital. ECU dengan sistem kerja
yang lebih kompleks diperkenalkan pertama kali oleh General Motors pada tahun
1981 yang diaplikasikan pada mesin untuk mobil Cadillac, dimana pada mobil
tersebut sistem suplai bahan bakar yang awalnya menggunakan karburator diganti
menggunakan sistem injeksi bahan bakar yang pengaturannya ditangani oleh ECU
Yang pada awalnya hanya mengatur suplai bahan bakar saja, kemudian terus
berkembang hingga hampir semua kinerja mesin diatur oleh ECU tersebut. Cara
kerja ECU modern adalah memanfaatkan masukan dari sensor yang terdapat
dimesin kendaraan untuk kemudian diolah pada ECU sesuai dengan program yang
telah dibuat oleh perancang ECU tersebut yang kemudian menghasilkan keluaran
untuk mengatur kinerja mesin lainnya. Jenis sensor yang terdapat pada mesin
sangat beragam sesuai dengan spesifikasi yang diinginkan oleh pabrik mobil itu
sendiri, namun pada umumnya sensor yang terdapat pada mesin mobil baik itu
mobil keluaran lama ataupun baru hampir sama, yang membedakan teknologinya
hanya pada tahun pembuatannya saja. Sensor yang berada pada mesin biasanya
tidak hanya tergantung dari satu sensor saja melainkan terkadang membutuhkan
bukaan throttle sehingga debit udara yang masuk mesin dari saluran
Perkembangan ECU tidak hanya pada sektor mesin saja, namun ada juga
ECU yang mengatur sistem transmisi, sistem pengereman, sistem suspensi dan
lainnya. Namun karena ECU yang dipergunakan oleh penulis dalam pembuatan
interface kali ini hanya ECU untuk mesin maka pembahasan hanya dibatasi pada
Nissan Sentra adalah mobil jenis sedan yang diproduksi oleh pabrik
Nissan di Jepang. Untuk pasar di Jepang sendiri sebenarnya nama Sentra tidak
untuk produk Nissan tersebut yang memasuki jalur ekspor untuk negara lain.
Generasi pertama dari jenis ini diproduksi dari tahun 1982 sampai
dengan 1986, diberi nama Nissan Sunny dengan kode rangka B11 bermesin E15
Generasi kedua dari jenis ini diproduksi dari tahun 1985 sampai dengan
1990 yang memiliki kode rangka B12 dan lebih dikenal sebagai Nissan Tsuru II.
Nissan Sentra (1991 – 1994) dan Nissan TsuruIII (1994 – 1997). Perbedaan
keduanya hanya terletak pada sistem suplai bahan bakar saja, yaitu Nissan Sentra
bermesin GA16DE 1600cc DOHC dengan sistem suplai bahan bakar injeksi
sedangkan Nissan Tsuru III bermesin GA16DE 1600cc DOHC dengan sistem
suplai bahan bakar karburator. Namun disisi lain perbedaan suplai bahan bakar
digunakan ECU sebagai pengatur kerja mesinnya sedangkan pada Nissan Tsuru
produk tersebut dikenal dengan Nissan Sentra Genesis (Nissan Sentra) Nissan
Sunny (Nissan Tsuru III), dimana Nissan Sunny digunakan untuk armada taksi
menggantikan Nissan seri B12 yang digunakan untuk taksi pada periode
sebelumnya.
B14 diproduksi pada 1995 sampai 1999, menggunakan mesin SR20DE 2000cc
SOHC dan menerapkan teknologi baru yaitu Nissan Variable Intake Valve Timing
Control System (NVTCS) yaitu teknologi pengaturan katup variabel seperti VVTi
Setelah B14 masih ada varian B15 dan B16 sebagai generasi terakhir Nissan seri
B pada saat ini, namun karena varian ini tidak beredar di Indonesia maka penulis