BAB II LANDASAN TEORI

dokumen-dokumen yang mirip
BAB II DASAR TEORI. 2.1 Ethanol

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERENCANAAN DAN REALISASI

MICROCONTROLER AVR AT MEGA 8535

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

BAB II DASAR TEORI. Gambar 2.1 Sensor MLX 90614[5]

BAB II KONSEP DASAR PERANCANGAN

Nama : Zulham.Saptahadi Nim : Kelas : 08 Tk 04

Mikrokontroler AVR. Hendawan Soebhakti 2009

Rancangan Sistem Autofeeder Ikan pada Aquarium Berbasis Mikrokontroler ATMEGA8535

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

BAB II LANDASAN TEORI. pada itu dapat juga dijadikan sebagai bahan acuan didalam merencanakan suatu system.

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

MICROCONTROLER AVR AT MEGA 8535

BAB II TINJAUAN PUSTAKA. [10]. Dengan pengujian hanya terbatas pada remaja dan didapatkan hasil rata-rata

BAB II LANDASAN TEORI

BAB III PERANCANGAN SISTEM

II. TINJAUAN PUSTAKA. Mikrokontroler ATmega8535 merupakan salah satu jenis mikrokontroler keluarga AVR

BAB II LANDASAN TEORI. ATMega 8535 adalah mikrokontroller kelas AVR (Alf and Vegard s Risc

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN DAN REALISASI ALAT

BAB II DASAR TEORI. AVR(Alf and Vegard s Risc processor) ATMega32 merupakan 8 bit mikrokontroler berteknologi RISC (Reduce Instruction Set Computer).

BAB III PERANCANGAN SISTEM

BAB II. PENJELASAN MENGENAI System-on-a-Chip (SoC) C8051F Pengenalan Mikrokontroler

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN SISTEM. sebuah alat pemroses data yang sama, ruang kerja yang sama sehingga

BAB II TINJAUAN PUSTAKA

BAB III MIKROKONTROLER

BAB II KONSEP DASAR SISTEM MONITORING TEKANAN BAN

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

BAB II TINJAUAN PUSTAKA. Atmel AVR adalah jenis mikrokontroler yang paling sering dipakai dalam

ANALISIS KETEPATAN FREKUENSI PEMBANGKIT CLOCK BERBASIS MIKROKONTROLER

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB II LANDASAN TEORI

BAB III PERANCANGAN DAN REALISASI PERANGKAT KERAS DAN PERANGKAT LUNAK SISTEM. Dari diagram sistem dapat diuraikan metode kerja sistem secara global.

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

II. TINJAUAN PUSTAKA. kondisi cuaca pada suatu daerah. Banyak hal yang sangat bergantung pada kondisi

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

BAB II LANDASAN TEORI. Model Markov Tersembunyi atau lebih dikenal sebagai Hidden Markov

BAB IV CARA KERJA DAN PERANCANGAN SISTEM. ketiga juri diarea pertandingan menekan keypad pada alat pencatat score, setelah

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

Sistem Mikrokontroler FE UDINUS

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III METODE PENELITIAN

BAB III DESKRIPSI MASALAH

BAB IV HASIL DAN PEMBAHASAN. Setelah pembuatan modul maka perlu dilakukan pendataan melalui proses

III. METODOLOGI PENELITIAN. Penelitian dan perancangan tugas akhir ini telah dimulai sejak bulan Juli 2009

BAB 3 PERANCANGAN SISTEM

BAB III METODE PENELITIAN. Penelitian ini dilakukan pada bulan Maret 2015 sampai dengan Agustus

AN2014 : Pembuatan Jam Digital dengan Development System DST -R8C

BAB III PERANCANGAN PERANGKAT KERAS DAN LUNAK. Perangkat keras dari alat ini secara umum terdiri dari rangkaian dibagi

MIKROKONTROLER AT89S52

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB II DASAR TEORI. Gambar 2.1 Mikrokontroler ATMega16

Gambar 2.1 Mikrokontroler ATMega 8535 (sumber :Mikrokontroler Belajar AVR Mulai dari Nol)

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

BAB II TINJAUAN PUSTAKA. Jantung dalam terminologi sederhana, merupakan sebuah pompa yang terbuat

BAB II LANDASAN TEORI

BAB III PERANCANGAN ALAT

PEMROGRAMAN ROBOT PENJEJAK GARIS BERBASIS MIKROKONTROLER

8. Mengirimkan stop sequence

BAB III PERANCANGAN SISTEM

BAB II DASAR TEORI. mikrokontroler yang berbasis chip ATmega328P. Arduino Uno. memiliki 14 digital pin input / output (atau biasa ditulis I/O,

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. memudahkan penggunaan elektronik dalam berbagai

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III METODE PENELITIAN. Pada pengerjaan tugas akhir ini metode penelitian yang dilakukan yaitu. dengan penelitian yang dilakukan.

BAB II LANDASAN TEORI. merealisasikan suatu alat pengawas kecepatan pada forklift berbasis mikrokontroler.

PEMBANGKIT DAN PENGHITUNG FREKUENSI

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB III PERANCANGAN ALAT DAN PROGRAM MIKROKONTROLER. program pada software Code Vision AVR dan penanaman listing program pada

Sistem Tertanam. Pengantar Atmega328 dan Arduino Uno. Dennis Christie - Universitas Gunadarma

Real Time Clock Menggunakan I2C Bus pada Modul DST-52

BAB IV PENGUJIAN DAN ANALISA DATA

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN ALAT PENDETEKSI KERUSAKAN KABEL

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB III PERANCANGAN. Perancangan tersebut mulai dari: spesifikasi alat, blok diagram sampai dengan

BAB 3 PERANCANGAN SISTEM

BAB V PENGUJIAN DAN ANALISIS. dapat berjalan sesuai perancangan pada bab sebelumnya, selanjutnya akan dilakukan

BAB II LANDASAN TEORI

BAB III METODE PENELITIAN. oleh karenanya akan dibuat seperti pada Gambar 3.1.

BAB III PERENCANAAN DAN REALISASI

BAB IV PENGUJIAN DAN ANALISA

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

Transkripsi:

1 BAB II LANDASAN TEORI 2.1. Real-Time Clock (RTC) DS1307 Real Time Clock berhubungan dengan waktu mulai dari detik, menit, jam, hari, tanggal, bulan dan tahun. Tetapi IC RTC ini juga bisa dipakai untuk menyimpan data di dalam internal RAM RTC ini, di mana data tersebut tidak bisa hilang meskipun supply diputus, hal ini karena di dalam IC RTC tersebut ada battery-nya yang selalu hidup untuk menjalankan clock-nya jadi waktu (clock) tetap berjalan meskipun supply dimatikan. IC RTC ini masih mempunyai kelebihan bisa dipakai sebagai timer atau alarm. Untuk hitungan detik, menit, jam, hari, tanggal, bulan dan tahun dengan tahun kabisat yang valid sampai 2100 karena compensation valid up to 2100. Mode yang dipilih juga bisa 12 or 24 hour clock with AM dan PM in 12 hour mode. RTC 1307 menggunakan teknik I2C yaitu memakai 2 jalur untuk keperluan transfer data secara seri, sedangkan SPI dan MicroWire memakai 3 jalur. Semua teknik mempunyai 1 jalur untuk Clock, I2C hanya punya satu jalur data 2 arah, sedangkan SPI dan MicroWire mempunyai 2 jalur data satu arah, masing-masing untuk jalur data masuk dan jalur data keluar. Komunikasi dengan protokol I2C pada RTC 1307 mempunyai cara yang sama seperti mengakses eeprom serial tipe 24C04 misalnya. Pertama kirim start-

2 bit, alamat RTC(0xC0) dengan bit R/W low, kemudian nomor register yang ingin diakses. Real-time clock DS1307 memiliki fitur sebagai berikut: 1. Real-time clock (RTC) meyimpan data-data detik, menit, jam, tanggal dan bulan dalam seminggu, dan tahun valid hingga 2100. 2. 56-byte, battery-backed, RAM nonvolatile (NV) RAM untuk penyimpanan. 3. Antarmuka serial Two-wire (I2C). 4. Sinyal keluaran gelombang-kotak terprogram (Programmable squarewave). 5. Deteksi otomatis kegagalan-daya (power-fail) dan rangkaian switch. 6. Konsumsi daya kurang dari 500nA menggunakan mode baterai cadangan dengan operasional osilator. 7. Tersedia fitur industri dengan ketahanan suhu: -40 C hingga +85 C. 8. Tersedia dalam kemasan 8-pin DIP atau SOIC. Untuk lebih jelas mengenai fungsi dan kegunaan dari IC ini terlebih dahulu akan dijelaskan fungsi dari tiap-tiap pin pada IC keluarga DS1307, di mana diketahui bahwa IC DS1307 memiliki 8 pin atau kaki.

3 Gambar 2.1. Diagram pin RTC DS1307 (Data Sheet IC Real-Time Clock DS1307). Konfigurasi Pin IC RTC DS1307 1. X1 dan X2 adalah pembangkit pulsa yang terhubung dengan quart krtstal 32,768Khz sebagai internal circuit oscillator yang didesain dengan C L 12,5pF. X1 adalah osilator input yang terhubung langsung dengan kristal, sedang X2 adalah keluaran dari osilator kristal internal. 2. Power Control merupakan catu daya yang mensuplay tegangan ke DS1307, Vcc adalah daya luar sebesar 5V dan V BAT sebagai suplai input dengan 3V lithium Cell. Tegangan baterei harus berada diantara batasan minimum dan maksimum pengoperasian. Baterei lithium 48mAh atau lebih dapat mempertahankan fungsi RTC selama 10 tahun. 3. Serial Bus Interface And Address Register merupakan jalur data serial dan pengalamatan register DS1307 dengan akses pulsa melalui SCL dan SDA. SCL (Serial Clock) berfungsi sebagai clock input I 2 C dan digunakan untuk sinkronisasi data serial. SDA (Serial Data) berfungsi sebagai data input/output untuk I 2 C serial, baik SCL dan SDA masih memerlukan pull up eksternal.

4 4. Control Logic merupakan pengendali data-data yang dibaca ataupun ditulis melalui SCL dan SDA dengan pewaktu dari osilator kristal. 5. Buffer (7 bytes) adalah penyangga sementara sebelum data diterima atau dikirim, berkisar 7 bytes (7 x 8 bit) sebagai transit pengalamatan register 8 bit detik-menit-jam-hari-tanggal-bulan-tahun. 6. Clock, Calender and Control Register atau CR berisi informasi clock dan kalender serta register pengendali untuk mengontrol pengoperasian SQW/OUT. Gambar 2.2. Blok Diagram Internal (Data Sheet IC Real-Time Clock DS1307).

5 2.1.1. Prinsip Komunikasi I2C I2C singkatan dari Inter Integrated Circuit, adalah sebuah protokol untuk komunikasi serial antar IC, dan sering disebut juga Two Wire Interface (TWI). Komunikasi dilakukan melalui dua jalur: SDA (serial data) dan SCL (serial clock). Setiap divice I2C memiliki 7-bit alamat yang unik. MSB adalah fix dan ditujukan untuk kategori divice. Sebagai contoh, 1010 biner ditujukan untuk serial EEPROM. Tiga bit berikutnya memungkinkan 8 kombinasi alamat I2C, yang berarti, dimungkinkan 8 divice dengan tipe yang sama, beroperasi pada bus I2C yang sama. Pengiriman data hanya dapat dimulai ketika saluran tidak sibuk, ditdai dengan kondisi HIGH yang cukup lama pada pin SCL maupun SDA. Selama pengiriman data, saluran data (SDA) harus dalam keadaan stabil ketika saluran clock (SCL) dalam keadaan high. Perubahan kondisi SDA pada saat SCL high akan dianggap sebagai sinyal-sinyal kendali, seperti: sinyal START (HIGH ke LOW) atau sinyal STOP (LOW ke HIGH). Gambar 2.3. Prinsip komunikasi serial bus I2C (Data Sheet RTC DS1307).

6 2.1.1.1. Pengalamatan 7-bit I2C/ TWI Byte pertama setelah sinyal START yang dikirim oleh master adalah alamat slave. Pengalamatan 7-bit memungkinkan 128 divice pada bus yang sama. Alamat I2C dikirim dalam byte pertama. LSB dari byte ini digunakan untuk menunjukkan bila master akan melakukan penulisan (0) atau pembacaan (0) terhadap slave. Divice yang mengirim data sepanjang bus disebut master, divice yang menerima data disebut slave. Master memulai transmisi dengan sebuah sinyal start, dan menghentikan transmisi dengan sebuah sinyal stop pada jalur SDA. Selama sinyal start dan stop, jalur SCL harus dalam keadaan HIGH. Setelah master memulai pengiriman data dengan sebuah sinyal start, master menulis satu byte alamat divice kepada slave. Setiap byte data harus memiliki panjang 8-bit. Slave harus memberikan konfirmasi dari byte data yang diterimanya dengan sebuah bit acknowledge (ACK). (Data Sheet IC Real-Time Clock DS1307). 2.1.1.2. Defenisi-defenisi Kondisi Bus Berikut ini adalah defenisi kondisi bus pada sistem komunikasi serial I2C/ TWI: 1. Bus tidak sibuk (bus not busy): menyatakan pada saat ini bus tidak sibuk yaitu pada saat jalur clock (SCL) dan jalur data (SDA) duaduanya dalam keadaan HIGH. 2. Mulai transfer data (start data transfer): ditandai dengan perubahan kondisi SDA dari HIGH ke LOW ketika SCL dalam kondisi HIGH.

7 3. Stop transfer data (stop data transfer): ditandai dengan perubahan kondisi SDA dari LOW ke HIGH ketika SCL dalam kondisi HIGH. 4. Data valid: data yang dikirim bit demi bit dianggap valid jika setelah START, kondisi SDA tidak berubah selama SCL HIGH, baik SDA HIGH maupun SDA LOW tergantung dari bit yang ingin ditransfer. Setiap siklus HIGH SCL baru menandakan pengiriman bit baru. Duty cycle untuk SCL tidak mesti 50%, tetapi frekuensi kemunculannya hanya ada dua macam, yaitu mode standar 100 khz dan fast mode atau mode cepat 400 khz. Setelah SCL mengirimkan sinyal HIGH yang kedelapan, arah transfer SDA berubah, sinyal kesembilan pada SDA ini dianggap sebagai acknowledge dari receiver ke transmitter. DS1307 hanya bisa melakukan transfer pada mode standar 100 khz. 5. Pemberitahuan (Acknowledge): setiap receiver wajib mengirimkan sinyal acknowledge atau sinyal balasan setiap selesai pengiriman 1- byte (8-bit data). Master harus memberikan eksta clock atau clock tambahan pada SCL, yaitu clock kesembilan untuk memberikan kesempatan receiver mengirimkan sinyal acknowledge ke transmitter berupa keadaan LOW pada SDA selama SCL HIGH. Meskipun master berperan sebagai receiver, ia tetap sebagai penentu sinyal STOP. Pada bit akhir penerimaan byte terakhir, master tidak mengirimkan sinyal acknowledge, SDA dibiarkan HIGH oleh receiver dalam hal ini master, kemudian master mengubah SDA dari LOW menjadi HIGH yang berarti sinyal STOP. (Data Sheet IC Real-Time Clock DS1307).

8 2.1.1.3. Mode Pengoperasian Transfer Data Mode pengoperasian transfer data berdasarkan kondisi bit R/W, ada dua jenis transfer data yaitu: transfer data dari transmitter master ke receiver slave dan transfer data dari transmitter slave ke receiver master. A. Transfer Data dari Transmitter Master ke Receiver Slave Byte pertama yang dikirimkan oleh master adalah alamat slave, setelah itu master mengirimkan sejumlah byte data. Slave atau receiver mengirimkan sinyal acknowledge setiap kali menerima 1-byte data. Pada tiap byte, bit pertama yang dikirim adalah MSB dan bit yang terakhir adalah LSB. B. Transfer Data dari Transmitter Slave ke Receiver Master Meskipun master berperan sebagai receiver, byte pertama dikirimkan oleh master berupa alamat slave. Setelah itu slave meengirimkan bit acknowledge, dilanjutkan dengan pengiriman sejumlah byte dari slave ke master. Master mengirimkan bit acknowledge untuk setiap byte yang diterimanya kecuali byte terakhir. Pada akhir byte, master mengirimkan sinyal not avknowledge, setelah itu master mengirimkan sinyal STOP. Gambar 2.4. Proses transfer data pada I2C (data sheet RTC DS1307).

9 2.1.1.4. Peta Alamat RTC DS1307 Pemetaan alamat (address map) pada RTC dimana register-register RTC di tempatkan pada lokasi pengalamatan 00h sampai 07h. sedangkan registerregister RAM (Random Access Memory) ditempatkan pada lokasi pengalamatan 08h sampai 3Fh. Khusus alamat 02H, bit-6 LOW untuk siklus jam 00 24 dan HIGH untuk siklus jam 00 12. Bit-5 HIGH pada saat PM dan LOW pada saat AM atau angka puluhan jika bit-6 LOW Tabel 2.1. Peta alamat RTC DS1307 (Data sheet RTC DS1307). 2.2 Mikrokontroler ATMega8535 Atmel AVR adalah jenis mikrokontroller yang paling sering dipakai dalam bidang elektronika dan instrumentasi. Mikrokontroler AVR ini memiliki arsitektur RISC (Reduce Instruction Set Computing) delapan bit, di mana semua instruksi dikemas dalam kode 16-bit (16 bits word) dan sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. Arsitektur mikrokontroler jenis AVR pertama kali dikembangkan pada tahun 1996 oleh dua orang mahasiswa Norwegian Institute of Technology yaitu Alf-Egil Bogen dan Vegard Wollan.

10 Mikrokontroler AVR kemudian dikembangkan lebih lanjut oleh Atmel. Seri pertama AVR yang dikeluarkan adalah mikrokontroler 8 bit AT90S8515, dengan konfigurasi pin yang sama dengan mikrokontroler 8051, termasuk address dan data bus yang termultipleksi. Mikrokontroler AVR menggunakan teknologi RISC dimana set instruksinya dikurangi dari segi ukurannya dan kompleksitas mode pengalamatannya. Pada awal era industri komputer, bahasa pemrograman masih menggunakan kode mesin dan bahasa assembly. Untuk mempermudah dalam pemrograman para desainer komputer kemudian mengembangkan bahasa pemrograman tingkat tinggi yang mudah dipahami manusia. Namun akibatnya, instruksi yang ada menjadi semakin komplek dan membutuhkan lebih banyak memori. Dan tentu saja siklus eksekusi instruksinya menjadi semakin lama. Mikrokontroler AVR ATmega8535 memiliki fitur yang cukup lengkap. Mikrokontroler AVR ATmega8535 telah dilengkapi dengan ADC internal, EEPROM internal, Timer/Counter, PWM, analog comparator, dll (M.Ary Heryanto, 2008). Sehingga dengan fasilitas yang lengkap ini memungkinkan kita belajar mikrokontroler keluarga AVR dengan lebih mudah dan efisien, serta dapat mengembangkan kreativitas penggunaan mikrokontroler ATmega8535. Fitur-fitur yang dimiliki oleh mikrokontroler ATmega8535 adalah sebagai berikut: 1. Saluran I/O sebanyak 32 buah, 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. CPU yang terdiri atas 32 buah register.

11 5. SRAM sebesar 512 byte. 6. Memori Flash sebesar 8 kb dengan kemampuan Read While Write. 7. Port antarmuka SPI 8. EEPROM sebesar 512 byte yang dapat diprogram saat operasi. 9. Antarmuka komparator analog. 10. Port USART untuk komunikasi serial. 11. Sistem mikroprosesor 8 bit berbasis RISC dengan kecepatan maksimal 16 MHz. 12. Dan lain-lainnya. 2.2.1 Arsitektur ATMega 8535 Dalam AVR dengan arsitektur RISC 8 bit, semua instruksi berukuran 16 bit dan sebagian besar dieksekusi dalam 1 siklus clock. Berbeda dengan mikrokontroler MCS-51 yang instruksinya bervariasi antara 8 bit sampai 32 bit dan dieksekusi selama 1 sampai 4 siklus mesin, dimana 1 siklus mesin membutuhkan 12 periode clock. Dalam perkembangannya, AVR dibagi menjadi beberapa varian yaitu AT90Sxx, ATMega, AT86RFxx dan ATTiny. Pada dasarnya yang membedakan masing-masing varian adalah kapasitas memori dan beberapa fitur tambahan saja. Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler ATmega8535 memiliki 3 jenis memori, yaitu memori program, memori data dan memori EEPROM. Ketiganya memiliki ruang sendiri dan terpisah.

12 1. Memori program ATmega8535 memiliki kapasitas memori progam sebesar 8 Kbyte yang terpetakan dari alamat 0000h 0FFFh dimana masing-masing alamat memiliki lebar data 16 bit. Memori program ini terbagi menjadi 2 bagian yaitu bagian program boot dan bagian program aplikasi. 2. Memori data ATmega8535 memiliki kapasitas memori data sebesar 608 byte yang terbagi menjadi 3 bagian yaitu register serba guna, register I/O dan SRAM. ATmega8535 memiliki 32 byte register serba guna, 64 byte register I/O yang dapat diakses sebagai bagian dari memori RAM (menggunakan instuksi LD atau ST) atau dapat juga diakses sebagai I/O (menggunakan instruksi IN atau OUT), dan 512 byte digunakan untuk memori data SRAM. 3. Memori EEPROM ATmega8535 memiliki memori EEPROM sebesar 512 byte yang terpisah dari memori program maupun memori data. Memori EEPROM ini hanya dapat diakses dengan menggunakan registerregister I/O yaitu register EEPROM Address, register EEPROM Data, dan register EEPROM Control. Untuk mengakses memori EEPROM ini diperlakukan seperti mengakses data eksternal, sehingga waktu eksekusinya relatif lebih lama bila dibandingkan dengan mengakses data dari SRAM.

13 Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM (Ultra Violet Eraseable Progamble ROM) yang kemudian dinilai mahal dan ditinggalkan setelah ada flash PEROM yang harganya jauh lebih murah. ATMega8535 memiliki On-Chip In-System Reprogrammable Flash Memory untuk menyimpan program. Untuk alasan keamanan, memori program dibagi menjadi dua bagian yaitu boot flash section dan application flash section. Boot flash section digunakan untuk menyimpan program boot loader, yaitu program yang harus dijalankan pada saat AVR reset atau pertamakali diaktifkan. Application flash section digunakan untuk menyimpan program aplikasi yang dibuat user. AVR tidak dapat menjalankan program aplikasi ini sebelum menjalankan program boot loader. Besarnya memori boot flash section dapat diprogram dari 128 word sampai 1024 word tergantung setting pada konfigurasi bit di register BOOTSZ. Jika boot loader diproteksi, maka program pada application flash section juga sudah aman. (Lingga Wrdhana, 2006).

14 Gambar 2.5. IC Mikrokontroler ATMega8535 (Data Sheet IC AT90S8535, AT90L8535). Konfigurasi Pin Mikrokontroler AVR ATmega8535: 1. VCC - Merupakan pin yang berfungsi sebagai pin masukan catu daya. 2. GND Merupakan pin ground. 3. Port A (PA0...PA7) - Merupakan pin I/O dan pin masukan ADC. 4. Port B (PB0 PB7) Merupakan akan pin I/O dua arah dan pin fungsi khusus, yaitu sebagai Timer/Counter, komperator analog dan SPI. 5. Port C (PC0 PC7) Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu TWI, komperator analog, input ADC dan Timer Osilator. 6. Port D (PD0 PD7) Merupakan pin I/O dua arah dan pin fungsi khusus, yaitu komperator analog, interupsi eksternal dan komunikasi serial. 7. RESET Merupakan pin yang digunakan untuk mereset mikrokontoler. 8. XTAL1 dan XTAL2 Merupakan pin masukan clock eksternal. 9. AVCC Merupakan pin masukan tegangan untuk ADC. 10. AREF Merupakan pin tegangan referensi ADC.

15 2.2.2 Menentukan Lamanya Satu Detik Baik jam digital maupun alalog pada prinsipnya sama, yaitu frekuensi getaran. Perbedaanya hanya terletak pada sumber getaran / frekuensinya. Kalau jam analog menggunakan ayunan mekanik dan gear dengan kombinasi tertentu sehingga dia mampu untuk menentukan lamanya 1 detik dan menghitung 1 menit = 60 detik. Skema jam digital sumber frekuensinya dengan detak/ clock ditunjukkan pada gambar 2.6.Sebuah pembangkit getaran /sumber detak 1 Hz akan dicacah dengan menggunakan MOD 60, artinya 1 Hz = 1 detik,setelah melewati MOD 60,maka 60 detik = 1 menit. Begitu pula dengan jam, 60 menit = 1 jam dan 24 jam = 1 hari Gambar 2.6. Skema penentuan detik, menit dan jam (http://elektroarea.blogspot.com/2009_01_13_archive.html). 2.2.3 Menentukan Satu Detik Menggunakan Osilator Kristal Pembagian suatu sinyal osilator dengan menggunakan frekuensi kristal untuk menghasilkan akurasi (0,01%) waktu 1 detik. Dua buah kounter 12 stage

16 (CD4040) membentuk sebuah kounter biner 24 stage dan bit-bit yang sesuai digerbangkan bersama untuk memperoleh hasil yang diinginkan. Menggunakan sebuah kristal 50 khz, perhitungan 50000 diperoleh ketika bit-bit yang sesuai dijumlahkan untuk menghasilkan nilai 50000 adalah berlogika high (1). Bit-bit sesuai yang dijumlahkan adalah: bit 15 (= 32768) + bit 14 (= 16384) + bit 9 (= 512) + bit 8 (= 256) + bit 6 (= 64) + bit 4 (= 16). Bit 14 dan 15 adalah stage ke-3 dan ke-4 pada kounter kedua (Q3 pin 6 dan Q4 pin 5), bit 0 adalah stage pertama pada kounter pertama (Q1 pin 9). Untuk menggunakan kristal 100 khz, masing-masing bit digeser ke kanan sebanyak satu kali menjadi: 65536(bit 16) + 32768(bit 15) + 1024(bit 10) + 512(bit 9) + 128(bit 7) + 32(bit 5) = 100.000. Dan jika menggunakan kristal 1MHz, bit-bit berikut ini akan diperlukan: Bit 19-Right counter Q8-pin 1 Decimal value = 524288 18 Q7-pin 4 262144 17 Q6-pin 2 131072 16 Q5-pin 3 65536 14 Q3-pin 6 16384 Bit 9- Left counter Q10- pin 14 512 6 Q7- pin 4 64 Pada 1 MHz, resistor 330K pada rangkaian osilator dibutuhkan untuk peredaman yang setara dengan kira-kira 15K. Ketika hitungan terminal tercapai, sebuah pulsa reset 7 us dibangkitkan oleh inverter Schmitt Trigger yang

17 mengikuti gerbang NAND. Resistor 47K dan kapasitor 470 pf menopang output agar kounter-kounternya menghasilkan reset ke nol. Ini kurang dari satu siklus klok pada 50kHz dan tidak menghasilkan error akan menjadi sama dengan 7 siklus pada 1 MHz yang akan menyebabkan kounter kehilangan 7 mikro sekon waktu dalam setiap detiknya. Ini bukan error yang besar (7 bagian dari 1 juta). Lebar pulsa reset minimum untuk kounter CMOS kira-kira 1.5 mikro sekon, jadi pulsa reset tidak dapat dibuat terlalu singkat. 2.2.4 Menentukan Satu Detik Pada Mikrokontroler Sebuah mikrokontroler mempunyai beberapa port keluaran. Dari port tersebut dapat dikeluarkan isyarat clock dengan frekuensi tertentu. Aras rendah clock dapat dikeluarkan dengan memberikan logika rendah pada keluaran port tersebut; dan aras tinggi clock dapat dikeluarkan dengan memberikan logika tinggi pada keluaran port tersebut. Frekuensi tertinggi clock yang dapat dikeluarkan sebuah port tergantung pada frekuensi clock yang diberikan kepada mikrokontoler tersebut dan pemilihan instruksi yang tepat. Pembangkit isyarat clock Pembangkitan isyarat clock dapat dilakukan minimal dengan tiga cara. Pertama, dengan mengeluarkan data logika tinggi diikuti dengan data logika rendah secara periodis. Hal ini dapat dilakukan dengan instruksi pemindahan data seperti MOV. Agar dapat diperoleh frekuensi clock cukup tinggi, maka dipilih instruksi yang mempunyai waktu eksekusi paling kecil yaitu satu siklus. Contoh instruksi tersebut adalah MOV P1, A (Atmel Corp., 1997). Jika suatu mikrokontroler dioperasikan dengan clock 24 MHz, maka

18 dengan instruksi tersebut perubahan logika keluaran port 1 dapat dilakukan setiap 0,5 mikrodetik sekali. Cara kedua dengan mengeset dan mereset sebuah pin port keluaran. Hal ini dapat dilakukan dengan instruksi SETB <pin_port> dan CLR <pin_port>. Cara kedua ini mempunyai kelebihan tidak terlibatnya data di memori lain. Sedangkan cara ketiga adalah dengan menegasikan logika port keluaran. Dengan menggunakan instruksi CPL <pin_port>, maka logika keluaran di suatu pin pada port keluaran dapat dinegasikan setiap satu siklus sekali atau 0,5 mikrodetik sekali. Pembangkit clock 1 MHz Dengan mengoperasikan mikrokontroler pada frekuensi 24 MHz, maka satu siklus bahasa mesin yang terdiri dari enam fase dapat dieksekusi dalam waktu 0,5 mikrodetik (Atmel Corp., 2007). Dengan menggunakan instruksi CPL P1.0 berturut-turut, maka di pin 0 port 1 akan diperoleh keluaran isyarat clock dengan periode 1 mikrodetik atau berfrekuensi 1 MHz. Keluaran pin 0 port 1 diharapkan berbentuk gelombang kotak dengan frekuensi 1 MHz. Namun dengan adanya efek kapasitif pada keluaran port tersebut, bentuk gelombang berbentuk keluaran mungkin tidak kotak, tapi mendekati keluaran gelombang kotak yang telah melalui untai integrator. Untuk mengembalikan bentuk tersebut ke gelombang kotak dapat digunakan gerbang dengan pemicu Schmitt, misalnya gerbang NOT dengan pemicu Schmitt 74LS14 (Tocci dan Widmer, 1998).

19 Gambar 2.7. Pembangkitan clock 1 MHz di port 1 pin 0 (Teknoin, Volume 13, Nomor 2, Desember 2008, 6-10. ISSN: 0853-8697). Pembangkit clock kurang dari 1 MHz Clock dengan frekuensi kurang dari 1 MHz dapat dibentuk dengan menunda pelaksanaan instruksi CPL P1.0 berikutnya. Penundaan dapat dilakukan dengan menyisipkan instruksi untuk tidak mengerjakan apa-apa, yaitu NOP (No operation). Instruksi tersebut membutuhkan waktu eksekusi satu siklus. Penyisipan satu instruksi NOP di antara dua instruksi CPL P1.0 akan menunda eksekusi instruksi CPL P1.0 berikutnya selama satu siklus. Dengan mengoperasikan mikrokontroler ini pada clock 24 MHz, maka instruksi CPL berikutnya akan tertunda satu siklus atau 0,5 mikrodetik, sehingga selang eksekusi dua instruksi CPL adalah 1 μs. Gambar 2.8, Pembangkitan clock 500 khz (Teknoin, Volume 13, Nomor 2, Desember 2008, 6-10. ISSN: 0853-8697)

20 Penyisipan satu instruksi NOP akan membentuk clock dengan periode 2 mikrodetik atau berfrekuensi 500 khz. Penyisipan dua instruksi NOP akan membentuk clock dengan frekuensi 333.333 Hz. Jumlah instruksi NOP yang dapat disisipkan dan frekuensi clock keluaran pada tabel 2.2. Tabel 2.2. Jumlah instruksi NOP yang disisipkan dan frekuensi clock Output (Teknoin, Volume 13, Nomor 2, Desember 2008, 6-10. ISSN: 0853-8697). 2.3. Liquid Crystal Display (LCD) LCD (Liquid Crystal Display) adalah suatu jenis media tampil yang menggunakan kristal cair sebagai penampil utama. LCD sudah digunakan diberbagai bidang misalnya alal alat elektronik seperti televisi, kalkulator, ataupun layar komputer. Pada bab ini aplikasi LCD yang dugunakan ialah LCD karakter dengan jumlah karakter 2 x 16. LCD sangat berfungsi sebagai penampil yang nantinya akan digunakan untuk menampilkan status kerja alat. Adapun fitur yang disajikan dalam LCD ini adalah : 1. Terdiri dari 16 karakter dan 2 baris. 2. Mempunyai 192 karakter tersimpan. 3. Terdapat karakter generator terprogram.

21 4. Dapat dialamati dengan mode 4-bit dan 8-bit. 5. Dilengkapi dengan back light. LCD Karakter dalam pengendaliannya cenderung lebih mudah dibandingkan dengan LCD Grafik. Namun ada kesamaan diantara keduanya, yaitu inisialisasi. Inisialisasi adalah prosedur awal yang perlu dilakukan dan dikondisikan kepada LCD agar LCD dapat bekerja dengan baik. Hal yang sangat penting yang ditentukan dalam proses inisialisasi adalah jenis interface (antarmuka) antara LCD dengan controller (pengendali). Pada umumnya terdapat dua jenis antarmuka yang dapat digunakan dalam pengendalian LCD karakter: 1. 4 Bit 2. 8 Bit Untuk dapat mengendalikan LCD karakter dengan baik, tentu perlu koneksi yang benar. Dan koneksi yang benar dapat diwujudkan dengan cara mengetahui pin-pin antarmuka yang dimiliki oleh LCD karakter tersebut. LCD karakter yang beredar di pasaran memiliki 16 pin antarmuka: Gambar 2.9. Antar Muka LCD 16X2

22 Pin Konfigurasi 1. Vss 0V Supply Voltage for logic Ground 2. Vdd 5.0V Supply Voltage for logic and LED backlight 3. Vo (Variable) Operating voltage for LCD (Contrast Adjusment) 4. RS H/L H:DATA, L: Register select signal 5. R/W H/L H: Read Write Signal 6. E H,H L Chip enable signal 7. DB0 H/L Data bit 0 8. DB1 H/L Data bit 1 9. DB2 H/L Data bit 2 10. DB3 H/L Data bit 3 11. DB4 H/L Data bit 4 12. DB5 H/L Data bit 5 13.DB6 H/L Data bit 6 13. DB7 H/L Data bit 7 14. A/Vee Power supply for backlight V+/Negative Voltage Output +4.2 V 15. K Power supply for backlight V Pada aplikasi umumnya RW diberi logika rendah 0. Bus data terdiri dari 4-bit atau 8-bit. Jika jalur data 4-bit maka yang digunakan ialah DB4 sampai dengan DB7. Sebagaimana terlihat pada table diskripsi, interface LCD merupakan sebuah parallel bus, dimana hal ini sangat memudahkan dan sangat cepat dalam pembacaan dan penulisan data dari atau ke LCD. Kode ASCII yang ditampilkan sepanjang 8-bit dikirim ke LCD secara 4-bit atau 8 bit pada satu waktu. Jika mode 4-bit yang digunakan, maka 2 nibble data dikirim untuk

23 membuat sepenuhnya 8-bit (pertama dikirim 4-bit MSB lalu 4-bit LSB dengan pulsa clock EN setiap nibblenya). Jalur kontrol EN digunakan untuk memberitahu LCD bahwa mikrokontroller mengirimkan data ke LCD. Untuk mengirim data ke LCD program harus menset EN ke kondisi high 1 dan kemudian menset dua jalur kontrol lainnya (RS dan R/W) atau juga mengirimkan data ke jalur data bus. Saat jalur lainnya sudah siap, EN harus diset ke 0 dan tunggu beberapa saat (tergantung pada datasheet LCD), dan set EN kembali ke high 1. Ketika jalur RS berada dalam kondisi low 0, data yang dikirimkan ke LCD dianggap sebagai sebuah perintah atau instruksi khusus (seperti bersihkan layar, posisi kursor dll). Ketika RS dalam kondisi high atau 1, data yang dikirimkan adalah data ASCII yang akan ditampilkan dilayar. Misal, untuk menampilkan huruf A pada layar maka RS harus diset ke 1. Jalur kontrol R/W harus berada dalam kondisi low (0) saat informasi pada data bus akan dituliskan ke LCD. Apabila R/W berada dalam kondisi high 1, maka program akan melakukan query (pembacaan) data dari LCD. Instruksi pembacaan hanya satu, yaitu Get LCD status (membaca status LCD), lainnya merupakan instruksi penulisan. Jadi hampir setiap aplikasi yang menggunakan LCD, R/W selalu diset ke 0. Jalur data dapat terdiri 4 atau 8 jalur (tergantung mode yang dipilih pengguna), DB0, DB1, DB2, DB3, DB4, DB5, DB6 dan DB7. Mengirim data secara parallel baik 4-bit atau 8- bit merupakan 2 mode operasi primer. Untuk membuat sebuah aplikasi interface LCD, menentukan mode operasi merupakan hal yang paling penting. Mode 8-bit sangat baik digunakan ketika kecepatan menjadi keutamaan dalam sebuah aplikasi dan setidaknya minimal tersedia 11 pin I/O (3 pin untuk

24 kontrol, 8 pin untuk data).sedangkan mode 4 bit minimal hanya membutuhkan 7- bit (3 pin untuk kontrol, 4 pin untuk data). Bit RS digunakan untuk memilih apakah data atau instruksi yang akan ditransfer antara mikrokontroller dan LCD. Jika bit ini di set (RS = 1), maka byte pada posisi kursor LCD saat itu dapat dibaca atau ditulis. Jika bit ini di reset (RS = 0), merupakan instruksi yang dikirim ke LCD atau status eksekusi dari instruksi terakhir yang dibaca. 2.4. Keypad 4X4 Dalam perancangan alat ini dibutuhkan sebuah keypad sebagai inputan ke mikrokontroler yang berfungsi untuk menjalankan suatu aplikasi yang sudah jadi, dengan adanya keypad dapat menginputkan suatu besaran nilai yang dinginkan dan selain itu dapat memerintahkan suatu aplikasi agar dapat di proses.keypad adalah sarana inputan yang banyak digunakan dalam aplikasi MMI (Man Machine Interface). Misalnya: 1. Pada sistem pengaturan suhu, keypad bisa digunakan operator untuk memasukkan set point suhu yang diinginkan 2. Pada sistem pengaturan motor, keypad bisa digunakan operator untuk memasukkan set point kecepatan motor yang diinginkan 3. Proses inputan waktu untuk set waktu 4. Dan sebagainya

25 Gambar 2.10. Keypad 4X4 Ada 16 buah tombol pushbutton yang dirangkai sedemikian hingga menjadi 4 jalur kolom (K1,K2,K3,K4) dan 4 jalur baris (B1,B2,B3,B4). Dari konstruksi ini, kita bisa mendapatkan data-data karakteristiknya sebagai berikut: 1. Jika tidak ada penekanan tombol sama sekali, maka semua jalur akan saling lepas (tidak ada yang tersambung) 2. Tidak ada satu kondisipun yang memungkinkan terjadinya persambungan antar 3. Sesama jalur kolom atau antar sesama jalur baris, kecuali ada penekanan lebih dari satu tombol. Misalnya tombol 1 dan tombol 2 ditekan bersamaan, maka K1-K2-B1 akan tersambung. 4. Untuk penekanan hanya satu tombol, maka hanya terjadi persambungan antara jalur kolom dan jalur baris yang terhubung pada tombol yang ditekan tersebut. Misalnya, jika tombol 1 ditekan, maka K1-B1 akan tersambung.

26 Tabel 2.3. Konfigurasi Keypad 4X4 Tombol yang Jalur Yang Tombol yang Jalur Yang Ditekan Terhubung Ditekan Terhubung 1 B1-K1 7 B3-K1 2 B1-K2 8 B3-K2 3 B1-K3 9 B3-K3 A B1-K4 C B3-K4 4 B2-K1 * B4-K1 5 B2-K2 0 B4-K2 6 B2-K3 # B4-K3 B B2-K4 D B4-K4