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