• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI. Mikrokontroler sering disebut sebagai mikrokomputer atau embedded system.

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI. Mikrokontroler sering disebut sebagai mikrokomputer atau embedded system."

Copied!
23
0
0

Teks penuh

(1)

BAB II

LANDASAN TEORI

2.1. Mikrokontroler

Mikrokontroler sering disebut sebagai mikrokomputer atau embedded system. Mikrokontroler dipandang sebagai suatu sistem yang terdiri atas input,program dan output. Mikrokontroler dapat diatur oleh sebuah program. Proses untuk memasukkan program ke dalam mikrokotroler disebut dengan download dan alat yang digunakan disebut dengan downloader. Seperti sistem komputer nilai tambah sistem mikrokontroler dapat dilipatgandakan melalui program. Mikrokontroler diproduksi dalam bentuk rangkaian terpadu (IC) seperti gambar dibawah ini.

Gambar 2.1. Gambaran Umum Mikrontroler

Secara sederhana mikrokontroler adalah mikroprosesor yang dilengkapi dengan periperal dan peralatan pendukung yang di dalam mikroprosesor tidak dilengkapi. Dalam sistem tertanam berbasis mikroprosesor, pengantara periferal dan peralatan

(2)

tambahan di luar mikroprosesor itu. Mikrokontroler menerapkan arsitektur Harvard, dalam arsitektur ini penjemputan instruksi dapat dilaksanakan secara bersamaan dengan pemindahan data. Tetapi dalam kebanyakan mesin dengan arsitektur Harvard juga memori tersebut dihubungkan ke bus bersama sehingga paralelismenya sangat berkurang. Secara umum, mikrokontroler mengandung tujuh komponen : Prosesor (CPU), ROM, RAM, bandar (port) I/O, Rangkaian Interupsi, Timer, dan Bus yang dihubungkan.

- Prosesor : Prosesor (CPU) melaksanakan penjemputan intruksi dari memori mendekodekan dan menjalankannya dan mengarahkan perpindahan data antar register atau antara register dan memori.

- ROM : digunakan untuk menyimpan data yang bersifat permanen. Dalam mikrokontroler program disimpan dalam ROM, atau EPROM atau Flash EPROM. Ada mikrokontroler yang dapat ditambah ROM eksternal di luar serpih mikrokontroler. Disamping ROM untuk program juga digunakan EEPROM untuk menyimpan data.

- RAM : RAM digunakan untuk menyimpan data yang bersifat sementara. Dalam mikrokontroler, RAM yang tersedia sangat sedikit yang sebagiannya digunakan lagi sebagai register prosesor, dikatakan register dipetakan sebagai memori.

- Timer : Timer (pewaktu) adalah counter (pencacah) yang digunakan untuk membangkitkan pulsa atau deretan pulsa pada saat-saat tertentu atau dengan frekuensi tertentu. Pulsa ini digunakan untuk sebagai inetrupsi internal untuk memulai atau mengakhiri kegiatan tertentu. Dalam kebanyakan

(3)

mikrokontroler, pencacah ini adalah pencacah naik, berbeda dengan pencacah turun yang diterapkan dalam sistem mikroprosesor.

- Bandar I/O : Terdiri atas Port Paralel dan Port Seri yang mempunyai kemampuan tristate. Pada sebagian mikrokontroler disediakan bandar masukan/keluaran analog. Fungsi bandar ini pada umumnya dipilih (dikonfigurasi) sebagai masukan/keluaran paralel/seri analog. Arah aliran data pada Port masukan/keluaran pada umumnya dipilih melalaui register arah (Data Direction Register, disingkat DDR). Port ini juga dipetakan sebagai memori.

- Interupsi : interupsi dapat dibedakan atas interupsi perangkat lunak yang dibangkitkan oleh interupsi yang ditanamkan dalam program dan interupsi perangkat keras yang dibangkitkan oleh sinyal perangkat keras yang baik yang berasal dari sumber internal seperti timer atau sumber eksternal dari port seri atau paralel.

- Bus : bus adalah saluran yang melakukan (membawa) sinyal-sinyal perangkat keras. Sebagaimana dalam mikroprosesor, bus dibedakan atas bus data, alamat dan kontrol. Bus data melakukan data antara register dan memori atau I/O, bus ini bersifat dua arah.

Beberapa contoh keluarga mikrokontroler : - Keluarga MCS-48

- Keluarga MCS-51 - Keluarga MC68HC05 - Keluarga MC68HC08 - Keluarga MC68HC11

(4)

- Keluarga AVR

2.2. ATMEGA8

AVR merupakan salah satu jenis mikrokontroler yang di dalamnya terdapat berbagai macam fungsi. Perbedaannya pada mikro yang pada umumnya digunakan seperti MCS51 adalah pada AVR tidak perlu menggunakan oscillator eksternal karena di dalamnya sudah terdapat internal oscillator. Selain itu kelebihan dari AVR adalah memiliki Power-On Reset, yaitu tidak perlu ada tombol reset dari luar karena cukup hanya dengan mematikan supply, maka secara otomatis AVR akan melakukan reset. Untuk beberapa jenis AVR terdapat beberapa fungsi khusus seperti ADC, EEPROM sekitar 128 byte sampai dengan 512 byte.

Gambar 2.2. ATMEGA8

AVR ATmega8 adalah mikrokontroler CMOS 8-bit berarsitektur AVR RISC yang memiliki 8K byte in-System Programmable Flash. Mikrokontroler dengan konsumsi daya rendah ini mampu mengeksekusi instruksi dengan kecepatan maksimum 16MIPS pada frekuensi 16MHz. Jika dibandingkan dengan ATmega8L perbedaannya hanya terletak pada besarnya tegangan yang diperlukan untuk bekerja.

(5)

Untuk ATmega8 tipe L, mikrokontroler ini dapat bekerja dengan tegangan antara 2,7 - 5,5V sedangkan untuk ATmega8 hanya dapat bekerja pada tegangan antara 4,5–5,5 V.

2.2.1. Konfigurasi Pin Atmega8

Gambar 2.3. Konfigurasi Pin Atmega8

ATmega8 memiliki 28 Pin, yang masing-masing pin nya memiliki fungsi yang berbeda-beda baik sebagai port maupun fungsi yang lainnya. Berikut akan dijelaskan fungsi dari masing-masing kaki ATmega8.

a. VCC

Merupakan supply tegangan digital.

b. GND

Merupakan ground untuk semua komponen yang membutuhkan grounding.

c. Port B (PB7...PB0)

Didalam Port B terdapat XTAL1, XTAL2, TOSC1, TOSC2. Jumlah Port B adalah 8 buah pin, mulai dari pin B.0 sampai dengan B.7. Tiap pin dapat digunakan sebagai input maupun output. Port B merupakan sebuah 8-bit

(6)

bi-directional I/O dengan internal pull-up resistor. Sebagai input, pin-pin yang

terdapat pada port B yang secara eksternal diturunkan, maka akan mengeluarkan arus jika pull-up resistor diaktifkan. Khusus PB6 dapat digunakan sebagai input Kristal (inverting oscillator amplifier) dan input ke rangkaian clock internal, bergantung pada pengaturan Fuse bit yang digunakan untuk memilih sumber clock. Sedangkan untuk PB7 dapat digunakan sebagai output Kristal (output

oscillator amplifier) bergantung pada pengaturan Fuse bit yang digunakan untuk

memilih sumber clock. Jika sumber clock yang dipilih dari oscillator internal, PB7 dan PB6 dapat digunakan sebagai I/O atau jika menggunakan maka PB6 dan PB7 (TOSC2 dan TOSC1) digunakan untuk saluran input timer.

Tabel 2.1. Fungsi Alternatif Port B

d. Port C (PC5…PC0)

Port C merupakan sebuah 7-bit bi-directional I/O port yang di dalam masing-masing pin terdapat pull-up resistor. Jumlah pin nya hanya 7 buah mulai dari pin C.0 sampai dengan pin C.6. Sebagai keluaran/output port C memiliki karakteristik yang sama dalam hal menyerap arus (sink) ataupun mengeluarkan arus (source). ADC 6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi

(7)

sebesar 10bit. ADC dapat kita gunakan untuk mengubah input yang berupa tegangan analog menjadi data digital. I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada PORTC. I2C digunakan untuk komunikasi dengan sensor atau device lain yang memiliki komunikasi data tipe I2C seperti sensor kompas,

accelerometer nunchuck, dll. e. RESET/PC6

Jika RSTDISBL Fuse diprogram, maka PC6 akan berfungsi sebagai pin I/O. Pin ini memiliki karakteristik yang berbeda dengan pin-pin yang terdapat pada port C lainnya. Namun jika RSTDISBL Fuse tidak diprogram, maka pin ini akan berfungsi sebagai input reset. Dan jika level tegangan yang masuk ke pin ini rendah dan pulsa yang ada lebih pendek dari pulsa minimum, maka akan menghasilkan suatu kondisi reset meskipun clock-nya tidak bekerja. RESET merupakan salah satu pin penting di mikrokontroler, RESET dapat digunakan untuk merestart program. Pada ATMega8 pin RESET digabungkan dengan salah satu pin IO (PC6). Secara default PC6 ini di disable dan diganti menjadi pin RESET. Kita dapat melakukan konfigurasi di fusebit untuk melakukan pengaturannya.

(8)

f. Port D (PD7…PD0)

Port D merupakan 8-bit bi-directional I/O dengan internal pull-up resistor. Fungsi dari port ini sama dengan port-port yang lain. Hanya saja pada port ini tidak terdapat kegunaan-kegunaan yang lain. Pada port ini hanya berfungsi sebagai masukan dan keluaran saja atau biasa disebut dengan I/O.

Tabel 2.3. Fungsi Alternatif Port D

USART (TXD dan RXD) merupakan jalur data komunikasi serial dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data serial, sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi untuk menerima data serial. Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus sebagai interupsi

hardware. Interupsi biasanya digunakan sebagai selaan dari program, misalkan

pada saat program berjalan kemudian terjadi interupsi hardware/software maka program utama akan berhenti dan akan menjalankan program interupsi. XCK dapat difungsikan sebagai sumber clock external untuk USART, namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak perlu membutuhkan external

(9)

timer 0. AIN0 dan AIN1 keduanya merupakan masukan input untuk analog comparator.

g. Avcc

Pin ini berfungsi sebagai supply tegangan untuk ADC. Untuk pin ini harus dihubungkan secara terpisah dengan VCC karena pin ini digunakan untuk analog saja. Bahkan jika ADC pada AVR tidak digunakan tetap saja disarankan untuk menghubungkannya secara terpisah dengan VCC. Jika ADC digunakan, maka AVcc harus dihubungkan ke VCC melalui low pass filter.

h. AREF

Merupakan pin referensi jika menggunakan ADC.

2.2.2. Status Register

Pada AVR status register mengandung beberapa informasi mengenai hasil dari kebanyakan hasil eksekusi instruksi aritmatik. Informasi ini digunakan untuk altering arus program sebagai kegunaan untuk meningkatkan performa pengoperasian. Register ini di-update setelah operasi ALU (Arithmetic Logic Unit) hal tersebut seperti yang tertulis dalam datasheet khususnya pada bagian Instruction Set Reference.

Dalam hal ini untuk beberapa kasus dapat membuang penggunaan kebutuhan instruksi perbandingan yang telah didedikasikan serta dapat menghasilkan peningkatan dalam hal kecepatan dan kode yang lebih sederhana dan singkat. Register ini tidak secara otomatis tersimpan ketika memasuki sebuah rutin interupsi dan juga ketika menjalankan sebuah perintah setelah kembali dari interupsi. Namun hal tersebut harus dilakukan melalui software. Berikut adalah gambar status register.

(10)

Gambar 2.4. Status Register ATMega8 Penjelasan :

 Bit 7(I)

Merupakan bit Global Interrupt Enable. Bit ini harus di-set agar semua perintah interupsi dapat dijalankan. Untuk perintah interupsi individual akan di jelaskan pada bagian yang lain. Jika bit ini di-reset, maka semua perintah interupsi baik yang individual maupun yang secara umum akan di abaikan. Bit ini akan dibersihkan atau cleared oleh hardware setelah sebuah interupsi di jalankan dan akan di-set kembali oleh perintah RETI. Bit ini juga dapat di-set dan di-reset melalui aplikasi dan intruksi SEI dan CLL.

 Bit 6(T)

Merupakan bit Copy Storage. Instruksi bit Copy Instructions BLD (Bit Load) and BST (Bit Store) menggunakan bit ini sebagai asal atau tujuan untuk bit yang telah dioperasikan. Sebuah bit dari sebuah register dalam Register File dapat disalin ke dalam bit ini dengan menggunakan instruksi BST, dan sebuah bit di dalam bit ini dapat disalin ke dalam bit di dalam register pada Register File dengan menggunakan perintah BLD.

 Bit 5(H)

Merupakan bit Half Carry Flag. Bit ini menandakan sebuah Half Carry dalam beberapa operasi aritmatika. Bit ini berfungsi dalam aritmatika BCD.

(11)

Merupakan Sign bit. Bit ini selalu merupakan sebuah ekslusif di antara Negative Flag (N) dan two’s Complement Overflow Flag (V).

 Bit 3(V)

Merupakan bit Two’s Complement Overflow Flag. Bit ini menyediakan fungsi aritmatika dua komplemen.

 Bit 2(N)

Merupakan bit Negative Flag. Bit ini mengindikasikan sebuah hasil negative di dalam sebuah fungsi logika atai aritmatika.

 Bit 1(Z)

Merupakan bit Zero Flag. Bit ini mengindikasikan sebuah jasil nol “0” dalan sebuah fungsi aritmatika atau logika.

 Bit 0(C)

Merupakan bit Carry Flag. Bit ini mengindikasikan sebuah Carry atau sisa dalam sebuah aritmatika atau logika.

2.2.3. Memori AVR Atmega

Memori atmega terbagi menjadi tiga yaitu :

a. Memori Flash

Memori flash adalah memori ROM tempat kode-kode program berada. Kata flash menunjukan jenis ROM yng dapat ditulis dan dihapus secara elektrik. Memori flash terbagi menjadi dua bagian yaitu bagian aplikasi dan bagian boot. Bagian aplikasi adalah bagian kode-kode program apikasi berada. Bagian boot adalah bagian yang digunakan khusus untuk booting awal yang dapat diprogram untuk menulis bagian aplikasi tanpa melalui programmer/downloader, misalnya melalui

(12)

Gambar 2.5. Peta Memory ATMEGA8

b. Memori Data

Memori data adalah memori RAM yang digunakan untuk keperluan program. Memori data terbagi menjadi empat bagian yaitu : 32 GPR (General Purphose

Register) adalah register khusus yang bertugas untuk membantu eksekusi

program oleh ALU (Arithmatich Logic Unit), dalam instruksi assembler setiap instruksi harus melibatkan GPR. Dalam bahasa C biasanya digunakan untuk variabel global atau nilai balik fungsi dan nilai-nilai yang dapat memperingan kerja ALU. Dalam istilah processor komputer sahari-hari GPR dikenal sebagai “chace memory”.I/O register dan Aditional I/O register adalah register yang difungsikan khusus untuk mengendalikan berbagai pheripheral dalam mikrokontroler seperti pin port, timer/counter, usart dan lain-lain. Register ini dalam keluarga mikrokontrol MCS51 dikenal sebagai SFR (Special Function

Register).

c. EEPROM

EEPROM adalah memori data yang dapat mengendap ketika chip mati (off), digunakan untuk keperluan penyimpanan data yang tahan terhadap gangguan catu daya.

(13)

2.2.4. Timer/Counter 0

Timer/counter 0 adalah sebuah timer/counter yang dapat mencacah sumber pulsa/clock baik dari dalam chip (timer) ataupun dari luar chip (counter) dengan kapasitas 8-bit atau 256 cacahan. Timer/counter dapat digunakan untuk :

- Timer/counter biasa.

- Clear Timer on Compare Match (selain Atmega 8) - Generator frekuensi (selain Atmega 8)

- Counter pulsa eksternal

2.2.5. Komunikasi Serial Pada Atmega 8

Mikrokontroler AVR Atmega 8 memiliki Port USART pada Pin 2 dan Pin 3 untuk melakukan komunikasi data antara mikrokontroler dengan mikrokontroler ataupun mikrokontroler dengan komputer. USART dapat difungsikan sebagai transmisi data sinkron, dan asinkron. Sinkron berarti clock yang digunakan antara transmiter dan

receiver satu sumber clock. Sedangkan asinkron berarti transmiter dan receiver

mempunyai sumber clock sendiri-sendiri. USART terdiri dalm tiga blok yaitu clock generator, transmiter, dan receiver.

(14)

2.2.6. Arsitektur Mikrokontroler Atmega8

Gambar 2.6. Blok Diagram ATmega8

2.2.7. Kelebihan (Fitur) Mikrokontroler AVR ATmega8

Mikrokontroler AVR ATmega8 merupakan CMOS dengan konsumsi daya rendah, mempunyai 8-bit proses data (CPU) berdasarkan arsitektur AVR RISC. Dengan mengeksekusi instruksi dalam satu (siklus) clock tunggal, ATmega8 memiliki kecepatan data rata-rata (throughputs) mendekati 1 MIPS per MHz, yang

(15)

memungkinkan perancang sistem dapat mengoptimalkan konsumsi daya dan kecepatan pemrosesan. Berikut kelebihan yang dimiliki ATmega8 :

1. Kinerja Tinggi, Low-power AVR® 8-bit Microcontroller

Seperti yang disebutkan Atmel dalam websitenya "The low-power Atmel 8-bit

AVR RISC-based microcontroller... The device supports throughput of 16 MIPS at 16 MHz and operates between 2.7-5.5 volts". AVR (Alf (Egil Bogen) and Vegard (Wollan) 's Risc processor) mengeluarkan ATmega8 dengan fitur

yang sangat menarik untuk dicoba. Selama ini Penulis masih merasakan bahwa ATmega8 sangat bagus dalam hal kinerja, cocok untuk penelitian, pembuatan produk, bahkan untuk pembelajaran Robotik. Disamping kinerjanya yang handal, ATmega8 juga hemat energi (daya rendah), karena mampu beroperasi pada tegangan 2,7 sampai 5,5 Volt, dan hanya mengkonsumsi arus sebesar 3,6 mA.

2. Kemajuan Arsitektur RISC

Mikrokontroler AVR memiliki arsitektur Reduced Instruction Set Computing (RISC) atau "set instruksi Komputasi yang disederhanakan". Arsitektur Reduced Instruction Set Computing (RISC) atau "Set instruksi Komputer yang disederhanakan" pertama kali digagas oleh John Cocke, peneliti dari IBM di Yorktown, New York pada tahun 1974 saat ia membuktikan bahwa sekitar 20% instruksi pada sebuah prosesor ternyata menangani sekitar 80% dari keseluruhan kerjanya. Komputer pertama yang menggunakan konsep RISC ini adalah IBM PC/XT pada era 1980-an. Istilah RISC sendiri pertama kali dipopulerkan oleh David Patterson, pengajar pada

(16)

Mikrokontroler AVR ini memiliki arsitektur RISC delapan bit, di mana semua instruksi dikemas dalam kode 16-bit (16 bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu ) siklus clock.

3. Daya Tahan Tinggi dan Segmen Memori non-volatile.

Mikrokontroler AVR memiliki daya tahan data (retensi data) 20 tahun ketika suhu mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C. ATmega8 memiliki 8 KB (KiloByte) memori Flash internal yang dapat dimasukan kode program utama (seperti file .hex) sehingga cukup untuk diterapkan dalam penelitian skala kecil - menengah. Disamping memori Flash, ATmega8 juga memiliki 512 Byte EEPROM yang dapat menampung data meskipun dalam keadaan OFF. Mikrokontroler ini juga memiliki 1K Byte Internal SRAM sehingga proses data bisa lebih cepat.

Gambar 2.7. Flash ATmega8 Kelebihan lainnya dari ATmega8 adalah :

 Dapat diisi data (write) dan dihapus (eraser) sampai 10.000 kali (untuk Flash) dan 100.000 kali untuk EEPROM

 Memiliki daya tahan data (retensi data) 20 tahun ketika suhu mencapai 85°C atau 100 tahun ketika suhu mencapai 25°C

(17)

 Terdapat pilihan Kode Boot Section dengan Lock Bits independen

 Sistem keamanan data dengan mengunci program untuk Software Security

2.3. Sensor MQ-2

MQ-2 adalah komponen elektronika untuk mendeteksi kadar gas hidrokarbon seperti iso butana (C4H10 / isobutane), propana (C3H8 / propane), metana (CH4 / methane), etanol (ethanol alcohol, CH3CH2OH), hidrogen (H2 / hydrogen), asap

(smoke), dan LPG (liquid petroleum gas). Gas sensor ini dapat digunakan untuk mendeteksi kebocoran gas di rumah / pabrik, misalnya untuk membuat rangkaian elektronika pendeteksi kebocoran elpiji.

MQ-2 berfungsi untuk mendeteksi keberadaan asap rokok di udara. Sensor akan mendeteksi keberadaan gas yang terkandung dalam asap rokok seperti asap maka resistansi elektrik sensor akan turun. Memanfaatkan prinsip kerja dari sensor MQ-2 ini, kandungan gas asap tersebut dapat terdeteksi. Sensor MQ-2 ini memiliki 6 buah masukan yang terdiri dari tiga buah supply power (VCC) sebasar +5 volt untuk mengaktifkan heater dan sensor, VSS (Ground), dan pin keluaran dari sensor tersebut. Pin keluaran dari sensor dihubungkan dengan ADC 0832 pada chanel 2 sebagai masukan. Tampilan sensor asap rokok MQ-2 seperti pada gambar di bawah ini.

(18)

Nilai RL sesuai dengan datasheet yaitu 10 KΩ. Tingkat sensitivitas sensor MQ-2 bervariasi untuk masing-masing tipe gas hidrokarbon yang dapat dideteksi sesuai tabel berikut ini:

• LPG & propana: 200 - 5000 ppm

• i-butana: 300 - 5.000 ppm

• metana: 5.000 - 20.000 ppm (untuk sensor yang lebih sensitif terhadap

methane, gunakan gas sensor MQ-4)

• hidrogen: 300 - 5.000 ppm

• etanol / alkohol: 100 - 2.000 ppm (bila diperlukan sensor yang spesifik untuk alkohol, gunakan MQ-3 Alcohol Detector Sensor)

Keluaran sensor ini berupa resistansi analog yang dengan mudah dapat dikonversi menjadi tegangan dengan menambahkan satu resistor biasa (bisa juga menggunakan potensiometer sehingga ambang batas sensitivitas deteksi dapat disetel sesuai kebutuhan). Dengan mengkonversi impedansi ini menjadi tegangan, hasil bacaan sensor dapat dibaca oleh pin ADC (analog to digital converter) pada microcontroller. Nilai resistansi dari MQ-2 adalah perbedaan untuk berbagai jenis dan berbagai gas konsentrasi. Sensor ini, penyesuaian sensitivitas sangat diperlukan dengan mengkalibrasi detektor untuk 1000ppm liquified petroleum gas (LPG), atau konsentrasi 1000ppm iso-butana (i-C4H10) nilai udara dan penggunaan Resistensi beban yang (RL) sekitar 20 KΩ (5KΩ dengan 47 KΩ). Ketika akurat mengukur, titik alarm yang tepat untuk detektor gas harus ditentukan setelah mempertimbangkan pengaruh suhu dan kelembaban.

(19)

2.4. Code Vision AVR

CodeVisionAVR pada dasarnya merupakan perangkat lunak pemrograman

microcontroller keluarga AVR berbasis bahasa C. Ada tiga komponen penting yang

telah diintegrasikan dalam perangkat lunak ini: Compiler C, IDE dan Program generator. Berdasarkan spesifikasi yang dikeluarkan oleh perusahaan pengembangnya,

Compiler C yang digunakan hampir mengimplementasikan semua komponen standar

yang ada pada bahasa C standar ANSI (seperti struktur program, jenis tipe data, jenis operator, dan library fungsi standar-berikut penamaannya). Tetapi walaupun demikian, dibandingkan bahasa C untuk aplikasi komputer, compiler C untuk

microcontroller ini memiliki sedikit perbedaan yang disesuaikan dengan arsitektur

AVR tempat program C tersebut ditanamkan (embedded).

Ada beberapa program yang dapat digunakan sebagai editor dan compiler untuk mikrokontroler AVR, salah satunya adalah Code Vision. CodeVision AVR merupakan sebuah software yang digunakan untuk memprogram mikrokontroler sekarang ini telah umum. CodeVision AVR adalah salah satu alat bantu pemrograman yang bekerja dalam pengembangan di lingkungan perangkat lunak yang telah terintegrasi (Integrated Development Environment, IDE). Seperti aplikasi IDE lainnya Code VisionAVR dilengkapi dengan source code editor, compiler, linker, dan dapat memanggil Atmel AVR Studio untuk debuggernya. Mulai dari penggunaan untuk kontrol sederhana sampai kontrol yang cukup kompleks, mikrokontroler dapat berfungsi jika telah diisi sebuah program, pengisian program ini dapat dilakukan menggunakan compiler yang selanjutnya diprogram ke dalam mikrokontroler menggunakan fasilitas yang sudah disediakan oleh program tersebut.

(20)

mempunyai suatu keunggulan dari compiler lain, yaitu adanya codewizard, fasilitas ini memudahkan kita dalam inisialisasi mikrokontroler yang akan kita gunakan. Untuk memulai menjalannkan CodeVision buka program CodeVision lalu melalui menu Start|ALL Program||CodeVision|CodeVisionAVR C Compiler atau melalui lambang CodeVision melalui dekstop.

2.5. LCD (Liquid Cristal Display)

LCD (Liquid Cristal Display) adalah salah satu komponen elektronika yang berguna untuk menampilkan suatu data, baik karakter, huruf maupun grafik. Tampilan LCD sudah tersedia dalam bentuk modul yaitu tampilan LCD beserta rangkaian pendukungnya termasuk ROM dan pelengkap lainnya. LCD mempunyai pin data, kontrol catu daya, dan pengatur kontras tampilan. LCD dapat bekerja dengan tegangan sebesar 5 volt yang didapat dari keluaran mikrokontroler, untuk itu biasanya LCD dihubungkan dengan mikrokontroler.

LCD adalah modul penampil yang banyak digunakan karena tampilannya menarik. LCD yang paling banyak digunakan saat ini ialah LCD M1632 refurbish karena harganya cukup murah. LCD M1632 merupakan modul LCD dengan tampilan 2x16 (2 baris x 16 kolom) dengan konsumsi daya rendah. Modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk mengendalikan LCD.

(21)

Mikrokontroler HD44780 buatan Hitachi yang berfungsi sebagai pengendali LCD memiliki CGROM (Character Generator Read Only Memory), CGRAM (Character

Generator Random Access Memory), dan DDRAM (Display Data Random Access Memory). driver LCD seperti HD44780 memiliki dua register yang aksesnya diatur

menggunakan pin RS. Pada saat RS berlogika 0, register yang diakses adalah perintah, sedangkan pada saat RS berlogika 1, register yang diakses adalah register data.

Gambar 2.10. Susunan Alamat pada LCD

Alamat awal karakter 00H dan alamat akhir 39H. Jadi, alamat awal di baris kedua dimulai dari 40H. Jika Anda ingin meletakkan suatu karakter pada baris ke-2 kolom pertama, maka harus diset pada alamat 40H. Jadi, meskipun LCD yang digunakan 2x16 atau 2x24, atau bahkan 2x40, maka penulisan programnya sama saja. CGRAM merupakan memori untuk menggambarkan pola sebuah karakter, dimana bentuk dari karakter dapat diubah-ubah sesuai dengan keinginan. Namun, memori akan hilang saat power supply tidak aktif sehingga pola karakter akan hilang. Berikut tabel pin untuk LCD M1632. Perbedaannya dengan LCD standar adalah pada kaki 1 VCC, dan kaki 2 Gnd. Ini kebalikan dengan LCD standar.

(22)

Kaki pin LCD 16x2 memiliki beberapa fungsi dan kegunaan yang sesuai dengan karakteristik sebagai berikut :

1. Pin data

Pin data dapat dihubungkan dengan bus data dari rangkaian lain seperti Mikrokontroler dengan lebar data 8 bit. Pin data ini berguna untuk menampilkan data yang terbaca dari mikrokontroler.

2. Pin RS (Register Select)

Pin RS (Register Select) berfungsi sebagai indikator atau yang menentukan jenis data yang masuk, apakah data atau perintah. Logika low menunjukan yang masuk adalah perintah, sedangkan logika high menunjukan yang masuk adalah data.

3. Pin R/W (Read Write)

Pin R/W (Read Write) berfungsi sebagai instruksi pada LCD jika low tulis data, sedangkan high baca data. Pin R/W juga sering disebut dengan pin perintah.

4. Pin E (Enable)

Pin E (Enable) digunakan untuk membaca data baik masuk atau keluar. Data masukan ataupun keluaran dari mikrokontroler yang akan ditampilkan pada layar LCD 16x2. 5. Pin LCD

Pin LCD berfungsi mengatur kecerahan tampilan (kontras) dimana pin ini dihubungkan dengan trimpot 5 Kohm, jika tidak digunakan dihubungkan dengan ground, sedangkan tegangan catu daya yang dibutuhkan untuk mengaktifkan LCD sebesar 5 volt.

2.5.1 Cara Kerja LCD

Untuk menerima data dari mikrokontroler adalah pin D1-D7 dimana untuk menerima data, pin 5 pada LCD (R/W) harus diberi logika nol dan logika satu untuk

(23)

mengirimkan data ke mikrokontroler. Setiap menerima atau mengirimkan data untuk mengaktifkan LCD diperlukan sinyal E (chip Enable) dalam bentuk perpindahan logika 1 ke logika 0. Sedangkan pin RS (Register Selector) berguna untuk memilih instructio register (IR) atau data register (DR). Jika nilai RS 1 dan R/W 1 maka akan dilakukan operasi penulisan data ke DDRAM atau CGRAM. Sedangkan jika RS berlogika 1 dan berlogika R/W 1 maka akan membaca data dari DDRAM atau CGRAM ke register DR. Karakter yang ditampilkan ke display disimpan di memori DDRAM.

Fungsi display dalam suatu aplikasi microcontroller sangat penting sekali . diantaranya untuk:

• Memastikan data yg kita input valid

• Mengetahui hasil suatu proses

• Memonitoring suatu proses

• Mendebug program

Gambar

Gambar 2.1. Gambaran Umum Mikrontroler
Gambar 2.2. ATMEGA8
Gambar 2.3. Konfigurasi Pin Atmega8
Tabel 2.1. Fungsi Alternatif Port B
+7

Referensi

Dokumen terkait

Peserta yang dinyatakan lolos sebagai mahasiswa UT penerima beasiswa melaporkan kesediaannya untuk mengikuti studi di UT kepada UPBJJ-UT untuk registrasi dan mengikuti

Menyatakan bahwa skripsi yang berjudul “Uji Kualitas Fisikokimiawi dan Mikrobiologi pada Wine Kombinasi Buah Tropis Apel Malang ( Malus pumila ), Belimbing Manis (

Dari penjelasan yang disampaikan oleh Prapto Prawiro tersebut bahwa Tirtha yang digunakan dalam ritual Pasar Jajan Tradisional Naliko Semono tersebut sudah diberi mantra

Hal tersebut menunjukkan terdapat hubungan antara kadar TNF-  dengan skor PASI, makin tinggi TNF-  makin bertambah pula derajat keparahannya 11 , tetapi beberapa

Dari berbagai hasil penelitian yang sudah dipaparkan, penelitian penilaian formatif dengan feedback sangat minim diaplikasikan dalam kelas kimia SMA.Sebagian besar

Selain itu dari hasil penelitian sebelumnya yang dilakukan oleh Ayu Sapitri dalam Jurnal FKIP S1 PGSD Universitas Jambi Tahun 2014 bahwa berdasarkan penelitian

Pembubaran organisasi hanya dapat dilakukan oleh Rapat Umum Luar Biasa yang khusus dilaksanakan untuk itu dan dihadiri oleh lebih dari dua per tiga (2/3) jumlah anggota

(2006), “Analisis faktor psikologis konsumen yang mempengaruhi keputusan pembelian roti merek Citarasa di Surabaya”, skripsi S1 di jurusan Manajemen Perhotelan, Universitas