BAB II
TINJAUAN PUSTAKA
ramah lingkungan dengan dua energi yaitu energi matahari dan energi angin yang
digunakan saat ini adalah mikrokontroller AVR. Dan aplikasi pemograman yang
digunakan sebagai pendukung dalam pembahasan mobil ini dari sisi software
2.2.1 Mikrokontroller
digunakan saat ini yaitu mikrokontroler AVR. AVR adalah mikrokontroler RISC
kelompok, yaitu keluarga AT90S. ATMega dan ATtiny. Pada dasarnya yang
arsitektur AVR RISC. Dengan mengeksekusi instruksi dalam satu (siklus) clock
satu siklus clock sehingga dapat mencapai eksekusi instruksi sebesar 1 MIPS
(Million Instruction Per Second) setiap 1 MHZ frekuensi clock yang digunakan
mikrokontroler tersebut.
Frekuensi clock yang digunakan dapat diatur melalui fuse bits dan kristal
kecepatan pemrosesan.
disebutkan Atmel dalam websitenya "The low-power Atmel 8-bit AVR RISC-
Reduced Instruction Set Computing (RISC) atau " set instruksi Komputasi
Mikrokontroler AVR memiliki daya tahan data (retensi data) 20 tahun ketika
suhu mencapai 85C atau 100 tahun ketika suhu mencapai 25C.
3. Memiliki Antarmuka JTAG (IEEE std. 1149.1 Compliant) Tidak hanya SPI,
sangat membantu kita untuk melakukan penelitian yang lebih baik, seperti
patut dicoba seperti 5 mode Sleep, eksternal dan internal interupsi, dan
operasi tegangan dari 2,7 Volt sampai 5,5 Volt. Ini sangat membantu kita untuk
overclock).
9
arus yang sangat kecil dibanding komponen analog yang biasa kita pakai. Hal
ini dibuktikan dengan konsumsi daya yang dibutuhkan ketika aktif saja hanya
dapat dilihat pada gambar 7. Dari gambar tersebut terlihat ATMega32 memiliki 8
10
pena untuk masing-masing Bandar A (PortA), Bandar B (port B), Bandar C (Port
1. Port A (PA7-PA0)
Port A adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin
memiliki internal pull-up resistor. Output buffer port A dapat mengalirkan arus
sebesar 20 mA. Ketika port A digunakan sebagai input dan di pull-up secara
aktifkan.
2. Port B (PB7-PB0)
Port B adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin
memiliki internal pull-up resistor. Output buffer port B dapat mengalirkan arus
sebesar 20 mA. Ketika port B digunakan sebagai input dan di pull-up secara
aktifkan.
3. Port C (PC7-PC0)
Port C adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin
memiliki internal pull-up resistor. Output buffer port C dapat mengalirkan arus
sebesar 20 mA. Ketika port C digunakan sebagai input dan di pull-up secara
aktifkan.
4. Port D (PD7-PD0)
Port D adalah 8-bit port I/O yang bersifat bi-directional dan setiap pin
memiliki internal pull-up resistor. Output buffer port D dapat mengalirkan arus
sebesar 20 mA. Ketika port D digunakan sebagai input dan di pull-up secara
aktifkan. Fungsi-fungsi khusus pin-pin port D dapat ditabelkan seperti pada tabel:
yang telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan
semua komponen standar yang ada pada bahasa C standar ANSI (seperti struktur
program, jenis tipe data, jenis operator, dan library fungsi standar-berikut
yang umum digunakan dalam aplikasi kontrol. Beberapa fungsi library yang
I2C, IC RTC (Real time Clock), sensor suhu LM75, SPI (Serial Peripheral
juga dilengkapi IDE yang sangat user friendly. Selain menu-menu pilihan yang
yang dapat digunakan untuk mentransfer kode mesin hasil kompilasi kedalam
dapat juga dengan double click icon software CodeVisionAVR yang tersedia di
desktop.
Pilih opsi toolbar File>>New kemudian pada File Type pilih Project.
16
menggunakan CodeWizardAVR ataukah tidak. Kita pilih Yes karena kita akan
software CodeVisionAVR.
17
Pada proses penyimpanan (save) file akan diminta menyimpan tiga jenis
file dengan ektensi yang berbeda. Beri nama file source(*.c), file project (*.prj),
dan file codewizard (*cwp) dengan nama yang anda senangi, beri nama ketiga file
Setelah selesai maka akan muncul jendela text-editor program seperti gambar
berikut ini.
CodeWizardAVR
tinggal melengkapi dengan kode-kode (syntax) program yang akan kita perlukan.
yang kita butuhkan. Langkahnya adalah pilih Project>>compile atau cukup tekan
tombol shortcut F9. Jika dalam program masih ada kesalahan, maka akan muncul
pesan dan peringatan error. Jika itu terjadi, perbaiki terlebih dahulu keselahan
yang terjadi kemudian lakukan kompilasi kembali. Jika sudah tidak ada kesalahan
menegah.
a. fungsi main
Merupakan fungsi yang menjadi inti dari program awal dari hasil eksekusi.
Fungsi ini harus ada dalam setiap program. Dalam kurawal buka{ merupakan
tanda awal fungsi main dan tanda kurawal tutup } merupakan tanda berakhirnya
fungsi main.
b. Deklarasi
c. Konstanta
Konstantan merupakan suatu nilai yang tidak dapat diubah selama proses program
d. Variable
suatu nilai tertentu di dalam proses program. Berbeda dengan konstanta yang
nilai nya selalu tetap, nilai dari suatu variable bisa diubah ubah sesuai kebutuhan.
25
microprossesor.
2. Kode bahasa C bersifat portable. suatu aplikasi yang ditulis dengan bahasa
portable, yaitu suatu program yang dibuat dengan bahasa C pada suatu computer
26
akan dapat dijalankan pada computer yang lain dengan sedikit tanpa ada
1. Assembler
2. Interpreter
3. Compiler
4. Sistem operasi
5. Program bantu(utility)
6. Editor
7. Dengan bahasa Paket program aplikasi
1. Fungsi main()
Fungsi main merupakan fungsi utama yang wajib ada pada saat kita
ada I buah fungsi main() saja. namun dalam bahasa C tidak membatasi
fungsi fungsi lain selain fungsi main() yang bisa memper mudah dalam
saja yang akan kita gunakan dalam program yang kita buat.
Digunakan untuk mengakses library apa saja yang kita perlukan dalam
seorang programmer sebagai sebuah catatan kecil yang mana komentar ini
mempunyai soft-copy software tersebut, karena software ini bersifat portable jadi
memori yang tidak hilang bila catu daya dimatikan, semacam EPROM, EEPROM
atau Flash memory, biasanya berisikan program atau data yang sifatnya tetap.
Pada awalnya mengisi EPROM dengan programmer yang cukup rumit, terdiri dari
tegangan 12 Volt. Saat ini pemrograman dapat dilakukan dengan ISP, artinya
cukup dengan memberikan data dan sinyal detak dengan aturan protokol data
tertentu saja. Pada mikrokontroler modern, flash memory ada jadi satu dengan
28
chip, dan dapat diprogram selagi chip ada dirangkaian, sinyal-sinyal tersebut
terhubung dengan pin-pin yang memang dibuat untuk itu, sinyal tersebut adalah;
MISO (Master In Slave Out) data keluar dari mikro, sebagai data dari flash
memory-nya untuk verifikasi, MOSI (Master Out Slave In) data masuk ke
mikro, sebagai data yang hendak ditulis di memory-nya dan SCK (Serial Clock),
yang mendorong data masuk keluar secara serial. Perlu diketahui bahwa transmisi
data dilakukan secara serial, seperti diperlihatkan pada gambar 1 dan gambar
sinyal diperlihatkan pada gambar 2. Pemrograman dilakukan pada saat pint RST,
reset-nya lo, AT89S resetnya hi. Sinyal-sinya data dari dan ke mikro dikemas
Lakukan klik dua kali (klik satu kali >> enter) pada file progisp.exe yang
Pada scroll kolom menu Select Chip pilih seri IC mikrokontroler yang sesuai
digunakan.
seluruh data yang dulu digunakan terhapus. Kemudian pilih menu File>>Load
FLASH.
30
Setelah file *.hex berhasil di Load, maka pada bagian report akan muncul