7
BAB II TINJAUAN PUSTAKA
II.1.
Mikrokontroler Teknologi mikroprosesor telah mengalami perkembangan. Hal sama telah
terjadi pada mikrokontroller. Jika pada mikroprosesor terdahulu menggunakan teknologi CISC seperti prosesor intel 386/486 maka pada mikrokontroller produksi ATMEL adalah jenis MCS (AT89C51, AT89S51 dan AT89S52). Setelah mengalami perkembangan, teknologi mikroprosesor dan mikrokontroller mengalami peningkatan yang terjadi pada kisaran tahun 1996 s/d 1998 ATMEL mengeluarkan teknologi mikrokontroller terbaru berjenis AVR (Alf and Vegard’s Risc processor) yang menggunakan teknologi RISC (Reduce Instruction Set Computer) dengan keunggulan lebih banyak dibandingkan pendahulunya, yaitu mikrokontroller jenis MCS. Mikrokontroller jenis MCS memiliki kecepatan kerja 1/12 kali frekuensi osilator yang digunakan sedangkan pada kecepatan frekuensi AVR sama dengan kecepatan kerja frekuensi osilator yang digunakan. Jadi apabila menggunakan frekuensi osilator yang sama, maka AVR mempunyai kecepatan 12 kali lebih cepat dibandingkan dengan MCS. Berikut adalah diagram blok perkembangan mikrokontroller ATMEL.
8
ATMEL
AVR
MCS
AT89Cxx
AT89Sxx
ATtiny
ATMega
AT86RFxx
AT90Sxx
x Gambar II.1 Diagram Blok Contoh Perkembangan Mikrokontroller ATMEL Sumber : Afrie Setiawan, 2011 ; Hal. 1
II.1.1 Mikrokontroler ATMega8535 ATMega8535 merupakan salah satu mikrokontroler 8 bit buatan Atmel untuk keluarga AVR yang diproduksi secara masal pada tahun 2006. Karena merupakan keluarga AVR, maka ATMega8535 juga menggunakan arsitektur RISC (Reduced Instruction Set Computing). AVR atau sebuah kependekan dari Alf and Vegard’s Risc Processor merupakan chip mikrokontroler yang diproduksi oleh Atmel (Sumber: Afrie Setiawan; Mikrokontroller Atmega8535 & Atmega16; 2011), yang secara umum dapat dikelompokkan ke dalam 4 kelas : a. ATtiny b. ATMega c. AT90Sxx d. AT86RFxx
9
Bentuk fisik dari mikrokontroler Atmega8535 dapat dilihat pada Gambar II.2 berikut.
Gambar II.2 Bentuk Fisik Mikrokontroller Atmega8535 Sumber: www.atmel.com Mikrokontroler Atmega8535 juga memiliki fitur-fitur sebagai berikut : 1. Saluran I/O sebanyak 32 buah yang terdiri dari 4 buah port yaitu port A, port B, port C, dan port D. 2. ADC internal sebanyak 8 saluran. 3. Tiga buah Timer/Counter dengan kemampuan pembandingan. 4. Watchdog Timer dengan osilator internal. 5. Memori 512 byte SRAM. 6. Memori 512 byte EEPROM 7. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 8. Port antarmuka SPI yang berfungsi untuk men-download program ke flash. 9. Unit interupsi Internal dan External. 10. Komunikasi serial menggunakan Port USART dengan kecepatan maksimal 2,5 Mbps. 11. Antarmuka komparator analog.
10
12. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimum 16 MHz. Adapun
konfigurasi
pin-pin
yang
terdapat
pada
mikrokontroler
ATMega8535 sebagai berikut :
Gambar II.3 Konfigurasi PIN Mikrokontroler ATMega8535 Sumber : www.Atmel.com Untuk ketarangan tiap-tiap pin adalah : Tabel II.1 Keterangan pin – pin ATMega8535 No. Pin Nama Fungsi 1 PBO(XCK/TO) Port B.0 / Counter / clock eksternal untuk USART (xck) 2 PB1 (T1) Port B.1 / Counter 1 3 PB2 (INT2/AIN0) Port B.2 / Input (+) Analog Komparator (AIN0) dan interupsi eksternal 2 (INT2) 4 PB3 (OC0/AIN1) Port B.3 / Input (-) Analog Komparator (AIN1) dan output PWM 0 5 PB4 (SS) Port B.4 / SPI Slave Select Input (SS) 6 PB5 (MOSI) Port B.5 / SPI bus master Out Slave In 7 PB6 (MISO) Port B.6 / SPI bus master In Slave Out 8 PB7 (SJK) Port B.7 / Sinyal Clock Serial SPI 9 RESET Me-Reset Mikrokontroler 10 VCC Catu Daya (+) 11 GND Sinyal Ground terhadap catu daya 12-13 XTAL2 – XTAL1 Sinyal Input Clock eksternal (kristal) 14 PDO (RXD) Port D.0 / penerima data serial
11
15 16 17 18 19 20 21 22 23 24-27 28 29 30 31 32 33-40
PD1 (TXD) PD2 (INT0) PD3 (INT1) PD4 (OC1) PD5 (OC1A) PD6 (ICP1) PD7 (OC2) PC0 (SCL) PC1 (SDA) PC2 – PC5 PC6 (TOSC1) PC7 (TOSC2) AVCC GND AREFF PA0 (ADC0) – PA7 (ADC7)
Port D.1 / pengirim data serial Port D.2 / Interupsi eksternal 0 Port D.3 / Interupsi eksternal 1 Port D.4 / Pembanding Timer-Counter 1 Port D.5 / Output PWM 1A Port D.6 / Timer-Counter 1 Input Port D.7 / Output PWM 2 Port C.0 / Serial bus clock line Port C.1 / Serial bus data input-output Port C.2 – Port C.5 Port C.6 / Timer osilator 1 Port C.7 / Timer osilator 2 Tegangan ADC Sinyal Ground ADC Tegangan Referensi ADC Port A.0 – Port A.7 dan input untuk ADC (8 chanel : ADC0 – ADC7)
Sumber : Afrie Setiawan; 2011 ; Hal. 5 & 6
II.2.
Sensor Sensor adalah peralatan yang digunakan untuk merubah suatu besaran fisis
menjadi besaran listrik sehingga dapat dianalisa dengan rangkaian listrik tertentu. Sensor yang digunakan dalam perancangan alat ini yaitu sensor suhu LM35 yang mampu mendeteksi nilai suhu dan kelembaban suatu ruangan. (Afrie Setiawan; Mikrokontroller Atmega8535 & Atmega16; 2011)
II.2.1. Sensor Suhu LM35 Sensor suhu LM35 merupakan sensor solid state yang dapat mengubah besaran suhu menjadi besaran listrik berupa tegangan. Dengan demikian IC LM35 mempunyai kelebihan dibandingan sensor-sensor suhu linier yang dinyatakan dalam K, karena pemakaiannya tidak dituntut untuk mengurangi sejumlah besar tegangan konstan pada output-nya yang mencapai penskalaan centrigrade yang sesuai. IC LM35 ini tidak membutuhkan penyesuaian atau pengurangan eksternal apa pun untuk memberikan akurasi-akurasi khusus sebesar ± ¼ 0C, dalam sebuah
12
cakupan suhu penuh antara -55 sampai 150 0C. (Afrie Setiawan; Mikrokontroller Atmega8535 & Atmega16; 2011) IC LM35 merupakan sensor suhu dimana tegangan keluarannya proposional linear untuk suhu dalam 0C, mempunyai perubahan keluaran secara linear dan juga dapat dikalibrasi dalam K. Di dalam udara sensor ini mempunyai pemanasan diri (self heating) kurang 0,1 0C, dapat dipakai dengan menggunakan power supply tunggal. Dapat dihubungkan antar suhu (interface) ke rangkaian kontrol dengan sangat mudah, pada gambar II.3 menunjukkan bentuk fisik IC LM35. (Afrie Setiawan; Mikrokontroller Atmega8535 & Atmega16; 2011)
(a)
(b)
Gambar II.4 Bentuk fisik IC LM35 Sumber : Afrie Setiawan; 2011 ; Hal. 29 Berikut ini adalah karakteristik dari sensor LM35 : 1.
Memliki sensitivitas suhu, dengan faktor skala linier antara tegangan dan suhu 10 mVolt/0C, sehingga dapat kalibrasi langsung dalam celcius.
2.
Memiliki ketepatan atau akurasi kalibrasi yaitu 0,5 0C pada suhu 250C.
3.
Memliki jangkauan maksimal operasi suhu antara -550C sampai +1500C.
4.
Bekerja pada tegangan 4 sampai 30 volt.
5.
Memiliki arus rendah yaitu kurang dari 60 µA.
6.
Memiliki pemanasan sendiri yang rendah (low-heating) yaitu kurang dari 0,10C pada udara diam.
7.
Memiliki impedansi keluaran yang rendahm, yaitu 0,1 W beban 1 mA.
13
8.
Memiliki ketidaklinieran hanya ± ¼ 0C. Kelebihan dan Kelemahan IC Temperatur sensor Tipe LM35:
1.
Kelebihan : a. Rentang suhu yang jauh, antara 55 sampai +150 0C. b. Low self-heating, sebesar 0,008 0C. c. Beroperasi pada tegangan 4 sampai 30 V. d. Rangkaian tidak rumit. e. Tidak memerlukan pengondisian sinyal.
2.
Kekurangan : a. Membutuhkan sumber tegangan untuk beroperasi. b. Aliran arus (drain) kurang dari 60 µA. c. Pemanasan diri (self heating) rendah 0,08 0C.
II.3
Suhu Kita dapat merasakan panas atau dingin melalui indra peraba kita. Namun,
indra peraba kita tidak dapat mengukur dengan tepat derajat panas dinginnya suatu benda. Suhu atau temperatur benda adalah besaran yang menyatakan derajat panas suatu benda. Benda yang panas memiliki suhu yang tinggi, sedangkan benda yang dingin memiliki suhu yang rendah. Perlu diketahui bahwa suhu merupakan besaran, maka yang memiliki suhu air yang mendidih dan seterusnya. Jadi, tidak ada suhu tempat atau ruangan, yang ada adalah suhu udara di tempat atau ruangan tersebut. ( Sumber: http://id.shvoong.com
)
14
II.3.1 Alat Ukur Suhu ( Termometer ) Termometer adalah alat yang digunakan untuk mengukur suhu suatu benda. Berbagai jenis termometer dibuat berdasarkan pada beberapa sifat termometrik zat, seperti permuaian zat padat, permuaian zat cair, pemuaian gas, tekanan zat cair, tekanan udara, regangan zat padat, hambatan zat terhadap arus listrik, dan intensitas cahaya (radiasi benda). ( Sumber: http://id.shvoong.com
)
Berdasarkan sifat termometrik zat, jenis-jenis termometer antara lain sebagai berikut. a. Termometer zat cair Alat ini bekerja berdasarkan prinsip bahwa zat cair akan memulai (bertambah volumenya) jika dipanaskan. b. Termometer Bimetal Alat ini bekerja berdasarkan prinsip bahwa logam akan memuai (bertambah panjang) jika dipanaskan. c. Termometer Hambatan Alat ini bekerja berdasarkan prinsip bahwa bila seutas kawat logam dipanaskan, hambatan listriknya akan bertambah. Perubahan hambatan listrik ini kemudian diubah ke dalam pulsa-pulsa listrik. Pulsa listrik inilah yang menunjukkan suhu saat itu. d. Termokopel Perbedaan pemuaian antara dua logam yang kedua ujungnya disentuhkan dimanfaatkan pada termokopel. Pada prinsipnya, pemuaian yang berbeda antara
15
dua logam yang ujungnya disentuhkan akan menghasilkan gaya gerak listrik (ggl). Besar ggl inilah yang dimanfaatkan oleh termokopel untuk menunjukkan suhu. e. Termometer Gas Bila sejumlah gas dipanaskan volumenya dijaga tetap, tekanannya akan bertambah. Sifat termometrik inilah yang dimanfaatkan untuk mengukur suhu pada termometer gas. f. Pyrometer Pyrometer bekerja dengan mengukur intensitas radiasi yang dipancarkan oleh benda yang sangat panas. Instrumen pyrometer tidak menyentuh benda panas sehingga pyrometer dapat digunakan untuk mengukur suhu yang sangat tinggi (kira-kira 500°C - 3.000°C) yang dapat membakar habis termometer jenis lainnya. ( Sumber: http://id.shvoong.com )
Berdasarkan tampilan hasil pengukuran, ada dua jenis termometer yaitu: a. Termometer analog. b. Termometer digital. Berdasarkan manfaat atau tempatnya ada beberapa macam termometer, yakni: a. Termometer badan atau termometer kimia. b. Termometer dinding, c. Termometer maksimum-minimum, d. Termometer batang.
16
II.4.
LCD 2X16 LCD (Liquid Crystal Display) adalah suatu display dari bahan cairan
kristal yang pengoprasiannya menggunakan sistem dot matriks. LCD (Liquid Crystal Display) merupakan salah satu perangkat penampil yang sekarang ini mulai banyak digunakan. LCD (Liquid Crystal Display) banyak digunakan sebagai display dari alat-alat elektronika seperti kalkulator, multitester digital, jam digital dan sebagainya. Penampilan LCD (Liquid Crystal Display) mulai dirasakan menggantikan fungsi dari penampil CRT (Cathode Ray Tube), yang sudah berpuluh-puluh tahun digunakan manusia sebagai penampil gambar/text baik monokrom (hitam dan putih), maupun yang berwarna. CRT (Cathode Ray Tube) adalah tabung triode yang digunakan sebelum transistor ditemukan. Beberapa keuntungan LCD (Liquid Crystal Display) dibandingkan dengan CRT (Cathode Ray Tube) adalah konsumsi daya yang relatif kecil, lebih ringan, tampilan yang lebih bagus dan (menurut penulis) ketika berlama-lama di depan monitor, monitor CRT (Cathode Ray Tube) lebih cepat memberikan kejenuhan pada mata dibandingkan dengan LCD (Liquid Crystal Display). Yang mempunyai 16 pin konektor. Berikut ini adalah gambar LCD 2x16. (Heri Andrianto; Pemrograman Mikrokontroler AVR ATMega16; 2008)
Gambar II.5 Bentuk LCD 2x16 Sumber : Heri Andrianto, 2008; Hal.69
17
Adapun keterangan dari pin-pin tersebut adalah : Tabel II.2. Tabel pin-pin LCD PIN 1 2 3
Nama Pin VSS VCC VEE
4
RS
5
R/W
6
E
7 8 9 10 11 12 13 14 15 16
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 BPL GND
Fungsi Ground voltage +5V Contrast Voltage Register Select 0 = write mode 1 = read mode Read / Write, to choose write or read mode 0 = write mode 1 = read mode Enable 0 = start to lacht data to LCD character 1 = disable Data bit ke-0 (LSB) Data bit ke-1 Data bit ke-2 Data bit ke-3 Data bit ke-4 Data bit ke-5 Data bit ke-6 Data bit ke-7 Back Plane Light Ground voltage
Sumber : Heri Andrianto, 2008; Hal. 71 Keunggulan LCD (Liquid Crystal Display) adalah hanya menarik arus yang kecil (bebarapa mikro ampere), sehingga alat atau sistem menjadi portable karena dapat menggunakan catu daya yang kecil. Keunggulan lainnya adalah tampilan yang diperlihatkan dapat dibaca dengan mudah di bawah terang sinar matahari. Di bawah sinar cahaya yang remang-remang atau dalam kondisi gelap, sebuah lampu (berupa LED) harus dipasang di belakang layar tampilan. (Heri Andrianto; Pemrograman Mikrokontroler AVR ATMega16; 2008)
18
LCD (Liquid Crystal Display) yang digunakan adalah jenis LCD (Liquid Crystal Display) yang menampilkan data dengan 2 baris tampilan pada display. Keuntungan dari LCD (Liquid Crystal Display) ini adalah : 1.
Dapat menampilkan karakter ASCII, sehingga dapat memudahkan untuk membuat program tampilan.
2.
Mudah dihubungkan dengan port I/O karena hanya menggunakan 8 bit data dan 3 bit kontrol.
3.
Ukuran modul yang profesional.
4.
Daya yang digunakan relatif sangat kecil.
II.5.
Relay Relay merupakan komponen output yang paling sering digunakan pada
beberapa peralatan elektronika dan di berbagai bidang lainnya. Relay berfungsi untuk menghubungkan atau memutuskan aliran arus listrik yang dikontrol dengan memberikan tegangan dan arus tertentu pada kolinya. Ada 2 macam relay berdasarkan tegangan untuk menggerakan koilnya, yaitu AC dan DC. (Afrie Setiawan; Mikrokontroller Atmega8535 & Atmega16; 2011) Pada perangkat yang dibuat digunakan relay DC dengan tegangan koil 12VDC, arus yang diperlukan sekitar 20 sampai dengan 30 mA. Ada berbagai macam jenis relay berdasarkan pole-nya. Pada perancangan kali ini dipakai Single Pole Double Throw (SPDT) dan Double Pole Double Throw (DPDT) yang berfungsi untuk menghubungkan untuk menghubungkan dan memutuskan arus unutk menggerakkan peralatan di luar rangkaian.
19
Pada dasarnya relay adalah sebuah kumparan yang dialiri arus listrik sehingga kumparan mempunyai sifat sebagai magnet. Magnet sementara tersebut digunakan untuk menggerakan suatu sistem saklar yang terbuat dari logam sehingga pada saat relay dialiri arus listrik maka kumparan akan terjadi kemagnetan dan menarik logam tersebut, saat arus listrik diputus maka logam akan kembali pada posisi semula. (Afrie Setiawan; Mikrokontroller Atmega8535 & Atmega16; 2011)
Gambar II.6. Bentuk fisik relay Sumber : Afrie Setiawan, 2011 ; Hal. 21
II.6.
Transistor Transistor merupakan semikonduktor berbahan dasar Silicon atau
Germanium dengan bentuk kemasan yang sangat banyak jenisnya (TO-92, TO220, dll). Secara umum transistor memiliki 3 titik penyambungan, yaitu Basis (B), Kolektor (C), dan Emittor (E). (Afrie Setiawan; Mikrokontroller Atmega8535 & Atmega16; 2011) Pada prinsipnya transistor merupakan 2 buah dioda yang saling dipertemukan, yaitu diode Basis-Emittor dan diode Basis-Kolektor. Kondisi tersebut menyebabkan transistor semacam inin disebut juga dengan transistor pertemuan (Junctions). Dengan adanya 2 kemungkinan untuk mempertemukan kedua buah dioda tersebut, maka akan terdapat 2 jenis transistor yang dibentuk, yaitu transistor NPN (Negatif Positive Negatif) bila yang dipertemukan anodanya
20
dan transistor PNP (Positive Negatif Positive) bila yang dipertemukan katodanya. (Afrie Setiawan; Mikrokontroller Atmega8535 & Atmega16; 2011) C
C B
B E NPN
E PNP
Gambar II.7 Simbol Transistor dan tipe nya Sumber : Afrie Setiawan, 2011; Hal. 20
II.7.
Perancangan Perancangan adalah proses menuangkan ide dan gagasan berdasarkan teori
teori dasar yang mendukung. Proses perancangan dapat dilakukan dengan cara pemilihan komponen yang akan digunakan, mempelajari karakteristik dan data fisiknya, membuat rangkaian skematik dengan melihat fungsi-fungsi komponen yang dipelajari, sehingga dapat dibuat alat yang sesuai dengan spesifikasi yang diharapkan. ( Sumber : elib.unikom.ac.id/download.php?id-143047 )
II.8.
Kipas Angin Kipas angin dipergunakan untuk menghasilkan angin. Fungsi yang umum
adalah untuk pendingin udara, penyegar udara, ventilasi (exhaust fan), pengering (umumnya memakai komponen penghasil panas). Kipas angin juga ditemukan di mesin penyedot debu dan berbagai ornamen untuk dekorasi ruangan. Kipas angin secara umum dibedakan atas kipas angin tradisional antara lain kipas angin tangan dan kipas angin listrik yang digerakkan menggunakan tenaga listrik.
21
Perkembangan kipas angin semakin bervariasi baik dari segi ukuran, penempatan posisi, serta fungsi. Ukuran kipas angin mulai kipas angin mini (Kipas angin listrik yang dipegang tangan menggunakan energi baterai), kipas angin Kipas angin digunakan juga di dalam unit CPU komputer seperti kipas angin untuk mendinginkan processor, kartu grafis, power supply dan Cassing. Kipas angin tersebut berfungsi untuk menjaga suhu udara agar tidak melewati batas suhu yang di tetapkan. Kipas angin juga dipasang pada alas atau tatakan Laptop untuk menghantarkan udara dan membantu kipas laptop dalam mendinginkan suhu laptop tersebut. Kipas angin dapat dikontrol kecepatan hembusan dengan 3 cara yaitu menggunakan pemutar, tali penarik serta remote control. Perputaran baling-baling kipas angin dibagi dua yaitu centrifugal (Angin mengalir searah dengan poros kipas) dan Axial (Angin mengalir secara pararel dengan poros kipas).
II.9.
Perangkat Lunak
II.9.1. CodeVisionAVR CodeVisionAVR menyediakan sebuah editor yang di desain untuk menghasilkan program C secara otomatis untuk mikrokontroller AVR. Program C yang akan diimplementasikan menggunakan standar ANSI C yang sesuai dengan arsitektur AVR. (Syahban Rangkuti; Mikrokontroller ATMEL AVR; 2011) CodeVisionAVR adalah sebuah compiler C yang telah dilengkapi dengan fasilitas integrated development Environment (IDE) dan didesain agar dapat menghasilkan kode program secara otomatis untuk mikrokontroller Atmel AVR. Program ini dapat berjalan dengan mengggunakan sistem operasi Windows 2000,
22
XP, Vista dan Windows 7. Integrated development environment (IDE) telah dilengkapi dengan fasilitas pemrograman chip melalui metode In-System Programming sehingga dapat secara otomatis mentransfer file program ke dalam chip mikrokontroller AVR setelah dikompilasi. Software
In-System
Programmer
didesain
untuk
bekerja
ketika
dihubungkan dengan development board STK500, STK600, AVRISP, AVRISP mkII, AVR Dragon, AVRProg (AVR910 application note), Atmel JTAGICE mkII, Kanda System STK200+STK300, Dontronics DT006, Vogel Elektronik VTEC-SIP, Futurlec JRAVR and MicroTronics ATCPU, dan Mega2000. (Syahban Rangkuti; Mikrokontroller ATMEL AVR; 2011) Untuk
meningkatkan
kehandalan
program
ini,
maka
pada
CodeVisionAVR juda tergapat kumpulan pustaka (library) untuk: a.
Modul LCD Alphanumeric
b.
Philips I2C bus
c.
National Semiconductor sensor temprature LM75
d.
Philips PCF8563, PCFB8583 dan Maxim/Dallas Semiconductor Real Time Clock DS1302 dan DS1307
e.
Maxim/Dallas Semiconductor 1 wire protocol
f.
Maxim/Dallas Semiconductor Sensor temperature DS1820, DS18S20 dan DS18B20
g.
Maxim/Dallas Semiconductor Termometer/Termostat DS1621
h.
Maxim/Dallas Semiconductor EEPROMs DS2430 dan DS2433
i.
SPI
23
j.
Power Management
k.
Delays
l.
Gray Code Conversion
m. MMC/SD/SD HC Flash memory cards low level access n.
Akses FAT pada MMC/SD/SD HC Flash memory card CodeVisionAVR dapat menghasilkan kode program secara melalui fasilitas
CodeWizardAVR Automatic Program Generator. Dengan adanya fasilitas ini maka penulisan program dapat dilakukan dengan cepat dan lebih efisien. (Syahban Rangkuti; Mikrokontroller ATMEL AVR; 2011) Seluruh kode dapat diimplementasikan dengan fungsi sebagai berikut: a.
Identifikasi sumber reset.
b.
Mengatur akses memori eksternal.
c.
Inisialisasi port input/output.
d.
Inisialisasi interupsi eksternal.
e.
Inisialisasi timer/counter dan watchdog timer.
f.
Inisialisasi USART dan interupsi buffer untuk komunikasi serial.
g.
Inisialisasi komprator analog dan ADC.
h.
Inisialisasi interface SPI dan two wire interface (TWI).
i.
Inisialisasi I2C Bus, sensor suhu LM75, teherometer/thermostat DS1621 dan real time clock PCF8563, PCF8583, DS1320,DS1307.
j.
Inisialisasi 1 wire bus dan sensor suhu DS1820/DS18S20.
k.
Inisialisasi modul LCD. Adapun tampilan CodeVisionAVR adalah sebagai berikut :
24
+`
Gambar II.8. Tampilan CodeVisionAVR Sumber : www.hpinfotech.com II.9.2. Bahasa C Software atau perangkat lunak merupakan salah satu komponen utama dalam sistem mikrokontroler. Kerja mikrokontroler bergantung dari software yang telah ditanam di dalam memorinya. Software mikrokontroler berupa rangkaian instruksi yang diprogram sesuai keinginan programmer. Bahasa assembler merupakan bahasa yang langsung dimiliki oleh mikrokontroler. Bahasa C termasuk dalam bahasa tingkat tinggi yang instruksinya mudah untuk dipahami. Saat ini telah banyak mikrokontroler yang mempunyai Complier Bahasa C. Complier inilah yang menerjemahkan bahasa C menjadi object Code untuk didownload ke ROM mikrokontroler. (Bagus Hari Sasongko; Pemrograman Mikrokontroller dengan Bahasa C; 2012)
25
Beberapa keuntungan penggunaan bahasa C dibandingkan assembler : a.
Lebih cepat dalam implementasi software karena operasi yang panjang dengan bahasa assembler bisa ditulis lebih pendek dan lebih mudah dengan bahasa C.
b.
Intruksi bahasa C tidak sebanyak assembler dan mudah diingat.
c.
Kita tidak disibukkan dengan pengalokasikan variabel ke register-register mikrokontroler.
d.
Program yang sama bisa digunakan oleh banyak tipe mikrokontroler karena banyak vendor yang membuat complier C.
e.
Alur program lebih mudah dipahami dan dimodifikasi bahkan oleh program lain.
f.
Banyak orang yang menggembangkan software dengan bahasa C sehingga banyak referensi program bila dibutuhkan.
g.
Bahasa C bisa dikombinasikan dengan bahasa assembler bila dibutuhkan.
II.8.3 Perangkat Lunak Downloader Untuk memasukkan program yang telah di-compile menjadi bentuk file hex diperlukan software downloader. Adapun perangkat lunak yang penulis gunakan untuk memasukkan program ke dalam mikrokontroler ATmega8535 adalah Khazama Downloader. Cara menggunakan Khazama Downloader sangat mudah, cukup membuka file dengan ekstensi .hex yang akan dimasukkan ke dalam mikrokontroler serta menentukan
mikrokontroler yang digunakan
kemudian klik Auto Program maka dengan sendirinya file akan masuk ke dalam memori mikrokontroler ATmega8535. Jika berhasil maka akan keluar
26
pemberitahuan demikian juga jika tidak berhasil akan keluar pemberitahuan bahwasanya ada kesalahan ataupun error. Tampilan Khazama Downloader ditunjukkan pada Gambar II.9 berikut.
Gambar II.9. Tampilan Perangkat Khazama Downloader Sumber : http:// www.khazama.com