Table Of ContentBAB 2
LANDASAN TEORI
Dalam bab ini penulis akan membahas tentang komponen - komponen yang
digunakan dalam seluruh unit alat ini. Agar pembahasan tidak melebar dan
menyimpang dari topik utama laporan ini, maka setiap komponen hanya di bahas
sesuai fungsi nya pada masing-masing unit nya.
2.1Mikrokontroler
Dalam merancang aplikasi elektronika digital dibutuhkan sebuah alat/komponen
yang dapat menghitung, mengingat, dan mengambil pilihan dan digunakan
sebagai otaknya. Kemampuan ini dimiliki oleh sebuah komputer, namun tidaklah
efisien jika harus menggunakan komputer hanya untuk keperluan tersebut. Untuk
itu komputer dapat digantikan dengan sebuah mikrokontroler. Mikrokontroler
sebenarnya adalah pengembangan dari mikroprosesor, namun dirancang khusus
untuk keperluan instrumentasi sederhana.
2.1.1 Mikrokontroler ATMega8
Mikrokontroler dapat dianalogikan sebagai sebuah sistem komputer yang dikemas
dalam sebuah chip, artinya di dalam sebuah IC mikrokontroler sebetulnya sudah
terdapat kebutuhan minimal agar mikroprosesor dapat bekerja, yaitu meliputi
mikroprosesor, ROM, RAM, I/O dan clock seperti halnya yang dimiliki oleh
sebuah PC.
4
Mengingat kemasannya yang berupa sebuah chip dengan ukuran yang
relatif lebih kecil, tentu saja spesifikasi dan kemampuan yang dimiliki oleh
mikrokontroller akan menjadi lebih rendah bila dibandingkan dengan sistem
komputer seperti PC baik dilihat dari segi kecepatannya. Tidak seperti system
komputer, yang mampu menangani berbagai macam program aplikasi (misalnya
pengolah kata, pengolah angka dan lain sebagainya), mikrokontroler hanya bisa
digunakan untuk satu aplikasi tertentu saja.
Meskipun dari sebuah kemampuan lebih rendah tetapi mikrokontroler
memiliki kelebihan yang tidak bisa diperoleh pada sistem komputer yaitu,dengan
kemasannya yang kecil dan kompak membuat mikrokontroller menjadi lebih
fleksibel dan praktis digunakan terutama pada sistem-sistem yang relatif tidak
terlalu kompleks atau tidak memerlukan bahan komputasi yang tinggi.
2.1.2 Arsitektur Mikrokontroler ATMega8
Mikrokontroller jenis AVR merupakan keluarga mikrokontroller RISC (Reduced
Instruction Set Computing) keluaran Atmel. Konsep arsitektur AVR pada
mulanya dibuat oleh dua orang mahasiswa di Norwegian institute of Technology (
NTH ) yaitu Alf-Egil Bogen dan Vegard Wollan. Mikrokontroler 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 pemograman masih
5
mengunakan kode mesin dan bahasa assembly. Untuk mempermudah dalam
pemograman pada desainer komputer kemudian mengembangkan bahasa
pemograman tingkat tinggi yang mudah dipahami manusia. Namun akibatnya,
intruksi yang ada semakin kompleks dan membutuhkan lebih banyak memori.
Dan tentu saja siklus eksekusi instruksinya menjadi semakin lama.
Dalam AVR dengan arsitektur RISC 8 bit, semua instruksi berukuran 16
bit sebagian besar dieksekusi dalam 1 siklus clock. Berbeda dengan MCS-51 yang
instruksinya bervariasi antara 8 bit sampai dengan 32 bit dan dieksekusi selama 1
sampai 4 siklus mesin membutuhkan 12 periode clock. Dalam pengembangannya
, AVR dibagi menjadi beberapa varian yaitu AT908xx, ATMega, AT86RFxx dan
ATTiny. Pada dasarnya yang membedakan masing-masing varian adalah
kapasitas memori dan beberapa fitur tambahan saja. Mikrokontroler ATMega8
merupakan mikrokontroler keluarga AVR 8bit.
Gambar 2.1 Mikrokontroler ATMega8
Beberapa tipe mikrokontroler yang berkeluarga sama dengan ATMega8
ini antara lain ATMega8535, ATMega16, ATMega32, ATmega328, dll. Yang
membedakan antara mikrokontroler yang disebutkan antara lain adalah, ukuran
memori, banyaknya GPIO (pin input/output), peripherial (USART, timer, counter,
dll). Dari segi ukuran fisik, ATMega8 memiliki ukuran fisik lebih kecil
6
dibandingkan dengan beberapa mikrokontroler disebutkan diatas. Namun untuk
segi memori dan periperial lainnya ATMega8 tidak kalah dengan yang lainnya
karena ukuran memori dan periperialnya relatif sama dengan ATMega8535,
ATMega32, dll, hanya saja jumlah GPIO lebih sedikit dibandingkan
mikrokontroler yang lainnya.
2.1.3 Fitur Mikrokontroler ATMega8
Pada mikrokontroler ATMega8 ini terdapat beberapa fitur didalamnya diantaranya
ialah fitur perangkat dan fitur spesial. Adapun yang dimaksud dari kedua fitur
tersebut ialah:
2.1.3.1Fitur Perangkat
1. Mempunyai dua buah Timer/Counter (pencacah) 8-bit dengan Prescale
yang terpisah (berbeda-beda satu dengan yang lain), juga terdapat mode
pembanding (Compare).
2. Memiliki satu buah Timer/Counter (pencacah) 16bit denganPrescale yang
terpisah, mode pembanding dan mode Capture.
3. Mencacah (counter) secara berkala (real time).
4. Mempunyai tiga saluran (channel) PWM (Pulse Width Modulation).
5. Terdapat delapan saluran ADC (Analog to Digital Converter) pada
kemasan/ paket TQFP (Thin Quad Flat Pack) dan QFN (Quad Flat No-
lead)/ MLF (Micro Lead Frame) dan bisa mencapai 10-bit dengan akurasi
yang tinggi.
6. Enam saluran ADC pada kemasan PDIP (Plastic Dual Inline Package),
bisa mencapai 10-bit dengan akurasi tinggi.
7
7. Memiliki antarmuka serial dua kabel (two-wire) berorientasi byte.
8. Dapat diprogram dengan komunikasi Serial USART (Universal
Synchronous and Asynchronous serial Receiver and Transmitter).
9. Memiliki antarmuka SPI (Serial Peripheral Interface) dengan
tingkat Master/ Slave.
10.Mempunyai Watchdog (monitoring) Timer dengan osilator yang terpisah
di dalam Chip.
11.Memiliki Analog Comparator (pembanding analog) di dalam Chip.
2.1.3.2Fitur Spesial
1. Terdapat Reset dengan Power-on, dan pendeteksi brown-out
Brown-out adalah kondisi ketidakstabilan power supply (sumber
tegangan) seperti kadang menyala, kadang tidak, kadang tegangan naik,
kadang turun, tetapi dengan waktu yang cepat sehingga kadang kita tidak
menyadarinya. Biasanya jika terdapat peristira ini lampu akan redup,
bahkan bisa hidup dan mati. Peristiwa ini bisa merusak perangkat jika
dibiarkan terus menerus.
2. Memiliki kalibrasi untuk osilator internal
Disamping menduukung osilator external, ATmega8 juga memiliki
osilator internal dan memiliki kalibrasi khusus yang terdapat didalamnya
3. Mempunyai sumber interrupt eksternal dan internal
Pin INT merupakan sistem interrupt dan memiliki sumber interrupt
eksternal dan internal
8
4. Terdapat lima mode sleep, yaitu:
Idle
ADC Noise Reduction
Power-safer
Power-down
Standby
2.1.4 Konfigurasi Pin Pada Mikrokontroler ATMega8
Gambar 2.2 Konfigurasi Pin Mikrokontroler ATMega8
Konfigurasi Mikrokontroler ATMega8 dapat dilihat digambar 2.1 diatas,
Mikrokontroler ATMega8 memiliki 28 pin yang terdiri dari Input/Output, Vcc,
GND,dan AREF. Secara fungsional konfigurasi pin-pin tersebut dapat dijelaskan
sebagai berikut:
1. VCC merupakan pin yang berfungsi sebagai pin masukan atau catu daya.
2. GND merupakan pin ground.
9
3. Port B (PB0 – PB7) merupakan jalur 8 bit yang difungsikan sebagai
input/output.
4. Port C (PC0 – PC6) merupakan jalur data 7 bit yang difungsikan sebagai
input/output data digital.
5. Port D (PD0 – PD7) merupakan jalur data 8bit yang masing-masing pin-
nya juga dapat difungsikan sebagai input/output.
6. AREF merupakan pin masukan tegangan referensi ADC.
2.1.5 Deskripsi Pin-pin Pada Mikrokontroler ATMega8
Mikrokontroler ATMega8 memiliki 3 buah PORT utama yaitu PORTB, PORTC,
dan PORTD dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat
difungsikan sebagai input/output digital atau difungsikan sebagai periperial
lainnya.
1. PORT B
PORTB merupakan jalur data 8bit yang dapat difungsikan sebagai input/output.
Selain itu PORTB juga dapat memiliki fungsi alternatif seperti yang tertera pada
tabel di bawah ini:
Tabel 2.1 Fungsi Alternatif PORT Bpada setiap pin
10
- ICP1(PB0), berfungsi sebagai Timer Counter 1 input capture pin.
- OC1A(PB1), OC1B(PB2) dan OC2(PB3) dapat difungsikan sebagai
keluaran PWM (pulse width modulation).
- MOSI(PB3), MISO(PB4), SCK(PB5), SS(PB2) merupakan
jalurkomunikasi SPI. Selain itu pin ini juga berfungsi sebagai jalur
pemograman serial (ISP). TOSC1(PB6) dan TOSC2(PB7) dapat
difungsikan sebagai sumber clock external untuk timer.
- XTAL1(PB6) dan XTAL2(PB7) merupakan sumber clock utama
mikrokontroler. Perlu diketahui, jika kita menggunakan clock internal
(tanpa crystal) maka PB6 dan PB7 dapat difungsikan sebagai input/output
digital biasa. Namun jika kita menggunakan clock dari crystal external
maka PB6 dan PB7 tidak dapat kita gunakan sebagai input/output.
2. PORT C
PORTC merupakan jalur data 7bit yang dapat difungsikan sebagai
input/output digital. Fungsi alternatif PORTC antara lain sebagai berikut:
Tabel 2.2 Fungsi Alternatif PORT C pada setiap pin
11
- ADC 6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi 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.
- 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
didisable dan diganti menjadi pin RESET. Kita dapat mendisable fungsi
pin RESET tersebut untuk menjadikan PC6 sebagai pin input/output. Kita
dapat melakukan konfigurasi di fusebit untuk melakukan pengaturannya,
namun saya sarankan untuk tidak merubahnya karena jika pin RESET di
disable maka kita tidak dapat melakukan pemograman melalui jalur ISP.
3. PORT D
PORTD merupakan jalur data 8bit yang masing-masing pin-nya juga dapat
difungsikan sebagai input/output. Sama seperti PORTB dan PORTC, PORTD
juga memiliki fungsi alternatif seperti terlihat pada tabel dibawah ini:
12
Tabel 2.3 Fungsi Alternatif PORT D pada setiap pin
- 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 clock.
- T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1 dan
timer 0.
- AIN0 dan AIN1 keduanya merupakan masukan input untuk analog
comparator.
13
Description:Dalam bab ini penulis akan membahas tentang komponen - komponen yang digunakan dalam .. membutuhkan resistor pull-up eksternal. SQW/OUT