APLIKASI MIKROKONTROLER MIKROKONTROLER Kesimpulan dan Saran

commit to user BAB II TINJAUAN PUSTAKA Bab ini menguraikan teori-teori yang diperlukan dalam mendukung perancangan, sehingga pelaksanaan pembuatan alat dilakukan secara teoritis.

2.1 APLIKASI MIKROKONTROLER

Mikrokontroler merupakan salah satu perkembangan teknologi yang mengintegrasikan sebuah sistem komputer kedalam sebuah chip tunggal single chip, sehingga teknologi ini mampu berfungsi seperti sebuah sistem komputer, salah satunya adalah proses pengendalian. Aplikasi dari sistem pengontrolan ini dapat kita lihat dari perancangan sistem kunci pintu digital dengan sistem keamanan berbasis sms. Sistem ini menggunakan password sebagai keyword untuk membuka kunci. Cara kerja dari sistem ini adalah pemilik dapat mengunci ataupun membuka pintu dari jarak jauh hanya dengan mengirimkan sms, sehingga pemilik akan lebih mudah karena tidak perlu datang untuk mengunci dewapur.wordpress.com, 2008.

2.2 MIKROKONTROLER

Mikrokontroler adalah otak dari suatu sistem elektronika seperti halnya mikroprosesor sebagai otak computer Iswanto, 2008. Mikrokontroler memiliki nilai tambah karena didalamnya sudah terdapat memori dan sistem inputoutput dalam suatu kemasan IC. Atmel adalah perusahaan pembuat chip yang terkenal dalam teknologi pembuatan flash memory dan EEPROM. Setelah Atmel meletakkan flash PROM di mikrokontroler seri AT89C sebagai anggota baru dari jenis mikrokontroler MCS51, MCS1 semakin di nikmati, menyusul keberhasilan Atmel tersebut, Atmel merancang mikrokontroler baru yang dikategorikan sebagai jenis mikrokontroler AVR. AVR atau sebuah kependekan dari Alf and Vegard’s Risc Processor merupakan chip mikrokontroler yang diproduksi oleh Atmel dikelompokkan ke dalam 4 kelas ATtiny,ATMega,AT90Sxx, AT86RFxx. Perbedaan yang terdapat pada masing-masing kelas adalah kapasitas memori, peripheral, dan fungsinya. Dalam hal arsitektur maupun instruksinya, II-1 commit to user hampir tidak ada perbedaan sama sekali. Mikrokontroler AVR dirancang sebagai sebuah mesin RISC Reduce Intruction Set Computer yang hampir semua instruksinya selesai di kerjakan dalam satu siklus mesin, dilengkapi dengan 32 buah register serbaguna yang kesemuanya dapat berfungsi sebagai akumulator Iswanto, 2008. 2.3 MIKROKONTROLER ATMega32 Mikrokontroler adalah sebuah chip, kata mikro berarti bahwa objek tersebut berukuran kecil, sedangkan controller dalam bahasa inggris berarti alat tersebut dapat digunakan untuk pengendali objek proses maupun kejadian. Mikrokontroler mempunyai kemiripan dengan mikroprosesor dalam sebuah komputer. Keduanya memiliki central processing unit CPU. CPU mengeksekusi instruksi logika, matematika, dan fungsi-fungsi data dari sebuah komputer. Membuat sebuah komputer yang lengkap, sebuah mikroprosesor memerlukan memori untuk menyimpan data dan program, serta antarmuka input output. Sebaliknya, mikrokontroler adalah komputer sebuah chip, karena dalam satu chip selain berisikan CPU telah dilengkapi memori dan antarmuka IO. AVR Alf and Vegard’s RISC processor merupakan seri mikrokontroler CMOS 32-bit buatan Atmel, berbasis arsitektur RISC Reduced Instruction Set Computer. Hampir semua instruksi dieksekusi dalam satu siklus clock. AVR mempunyai 32 register general-purpose, timercounter fleksibel dengan mode compare, interrupt internal dan eksternal, serial UART, programmable Watchdog timer, dan mode power saving. Beberapa diantaranya mempunyai ADC dan PWM internal. AVR juga mempunyai In-System Programmable Flash on-chip yang mengijinkan memori program untuk diprogram ulang dalam sistem menggunakan hubungan serial SPI Sulhan, 2006. ATmega32 adalah mikrokontroler CMOS 8-bit daya-rendah berbasis arsitektur RISC yang ditingkatkan. Kebanyakan instruksi dikerjakan pada satu siklus clock, ATmega32 mempunyai throughput mendekati 1 MIPS per MHz membuat disainer sistem untuk mengoptimasi konsumsi daya dengan kecepatan proses. Pada mikrokontroler dengan teknologi RISC semua instruksi dikemas dalam kode 16 bit 16 bits words dan sebagian besar instruksi dieksekusi dalam 1 II-2 commit to user clock, sedangkan pada teknologi CISC seperti yang diterapkan pada mikrokontroler MCS-51, untuk menjalankan sebuah instruksi diperlukan waktu sebanyak 12 siklus clock. Secara garis besar, arsitektur mikrokontroler ATMEGA32, yaitu: 1. 32 saluran IO Port A, Port B, Port C, dan Port D. 2. 10 bit 8 Channel ADC Analog to Digital Converter. 3. 4 channel PWM. 4. 6 Sleep Modes : Idle, ADC Noise Reduction, Power-save, Power-down, Standby and Extended Standby. 5. 3 buah timercounter. 6. Analog comparator. 7. Watchdog timer dengan osilator internal. 8. 512 byte SRAM. 9. 512 byte EEPROM. 10. 8 kb Flash memory dengan kemampuan Read While Write. 11. Unit interupsi internal eksternal. 12. Port antarmuka SPI32 “memory map”. 13. Port USART untuk komunikasi serial dengan kecepatan optimum 2,5Mbps. 14. 4.5 sampai 5.5V operation, 0 sampai 16MH. 2.3.1 Konfigurasi Pin ATMEGA32 Konfigurasi pin ATMega32 dapat dilihat pada gambar 2.1. Dari gambar tersebut dapat dijelaskan secara fungsional konfigurasi pin ATMega32, sebagai berikut: 1. VCC = pin masukan catu daya. 2. GND = pin ground. 3. Port A PA0 – PA7 = pin IO bidirectional, pin ADC. 4. Port B PB0 – PB7 = pin IO bidirectional, pin timercounter, analog comparator, SPI. 5. Port C PC0 – PC7 = pin IO bidirectional, TWI, analog comparator, Timer Oscilator. II-3 commit to user 6. Port D PD0 – PD7 = pin IO bidirectional, analog comparator, interupsi eksternal, USART. 7. RESET = pin untuk me-reset mikrokontroler. 8. XTAL1 XTAL2 = pin untuk clock eksternal. 9. AVCC = pin input tegangan ADC. 10. AREF = pin input tegangan referensi ADC. Gambar 2.1 IC mikrokontroler dan pin-pin Sumber: Atmel, 2009 2.3.2 Peta Memory ATMega32 ATMega32 memiliki ruang pengalamatan memori data dan memori program yang terpisah. Memori data terbagi menjadi 3 bagian yaitu 32 buah register umum, 64 buah register IO, dan 512 byte SRAM internal. Register untuk keperluan umum menempati space data pada alamat terbawah yaitu 00 sampai 1F. Sementara itu register khusus untuk menangani IO dan kontrol terhadap mikrokontroler menempati 64 alamat berikutnya yaitu mulai dari 20 sampai 5F. Register tersebut merupakan register yang khusus digunakan untuk mengatur fungsi terhadap berbagai peripheral mikrokontroler seperti kontrol register, timercounter, fungsi IO, dan sebagainya. Register khusus alamat memori secara lengkap dapat dilihat pada gambar 2.2. Alamat memori berikutnya digunakan untuk SRAM 512 byte, yaitu pada lokasi 60 sampai dengan 25F. II-4 commit to user Gambar 2.2 Skema memori data AVR ATMega32 Sumber: Iswanto, 2008 Memori program yang terletak pada flash perom tersusun dalam word atau 2 byte karena setiap instruksi memiliki lebar 16-bit atau 32bit. AVR ATMega32 memiliki 4KByte x 16 Bit flash perom dengan alamat mulai dari 000 sampai FFF. AVR tersebut memiliki 12 bit program counter PC sehingga mampu mengalamati isi flash. II-5 commit to user Gambar 2.3 Skema memori program AVR ATMega32 Sumber: Iswanto, 2008 Selain itu AVR Atmega32 juga memilki memori data berupa EEPROM 8-bit sebanyak 512 byte. Alamat EEPROM dimulai dari 000 sampai 1FF Iswanto, 2008. 2.3.3 Status Register Status register adalah register berisi status yang dihasilkan pada setiap operasi yang dilakukan ketika suatu instruksi dieksekusi. SREG merupakan bagian dari inti CPU mikrokontroler. Gambar 2.4 Status register ATMega32 Sumber : Iswanto, 2008 Status register ATMega32 dapat dilihat pada gambar 2.4. Dari gambar tersebut dapat dijelaskan register dari ATMega32, sebagai berikut: 1. Bit7 -- I global Iinterrupt enable, Bit harus di set untuk mengenable semua jenis interupsi. II-6 commit to user 2. Bit6 -- T bit copy storage, Instruksi BLD dan BST menggunakan bit T sebagai sumber atau tujuan dalam operasi bit. Suatu bit dalam sebuah register GPR dapat disalin ke bit T menggunakan instruksi BST, dan sebaliknya bit T dapat disalin kembali kesuatu bit dalam register GPR dengan menggunakan instruksi BLD. 3. Bi5 -- H half cary flag. 4. Bit4 -- S sign bit merupakan hasil operasi EOR antara flag -N negatif dan flag V komplemen dua overflow. 5. Bit3 -- V twos component overflow flag bit ini berfungsi untuk mendukung operasi matematis. 6. Bit2 -- N negative flag flag N akan menjadi set, jika suatu operasi matematis menghasilkan bilangan negatif. 7. Bit1 -- Z zero flag bit ini akan menjadi set apabila hasil operasi matematis menghasilkan bilangan 0. 8. Bit0 -- C cary flag bit ini akan menjadi set apabila suatu operasi menghasilkan carry.

2.4 RANGKAIAN SISTEM