MIKROKONTROLER
1.
Pendahuluan
Mikrokontroler adalah suatu unit yang adapat diprogram cara
kerjanya, sehingga dapat dipergunakan untuk keperluan yang berbeda. Pada masa
sekarang mikrokontroler banyak digunakan sebagai pengontrol pada
peralatan-peralatan mulai dari mainan/hobie, peralatan rumah tangga, sampai
kontrol pada peralatan industri.
Beberapa
mikrokontroler yang beredar dipasaran merupakan keluaran beberapa pabrik yang
sudah terkenal, misal:
Intel.,
contoh: 8031, 89C51 dll
Zilog,
contoh: Z8, Z8F1680 dll
Microchip,
contoh: PIC16F84, PIC16F877 dll
Motorola,
contoh: 68HC11, MC68HC705V12CFN dll
Philips
Semiconductors, contoh: LPC2000, LPC900, LPC700 dll
Atmel,
contoh: Atmel AT91 series (ARM THUMB architecture), AT90, Tiny & Mega
series – AVR (Atmel Norway design), Atmel AT89 series (Intel 8051/MCS51
architecture)
Dalam pembahasan modul ini akan dijelaskan penggunaan
mikrokontroler dari Atmel jenis AT89S series, dengan alasan lebih mudah dalam
pemrogramannya, pengembangannya dan harganya yang murah serta telah banyak
beredar di pasaran.
2.
Struktur
Mikrokontroler
Ø Register
adalah suatu tempat penyimpanan (Variabel) bilangan bulat 8 bit atau 16 bit.
Pada umumnya register berjumlah banyak, dan masing-masing ada yang memiliki
fungsi khusus dan ada yang memiliki fungsi umum.
Ø Accumulor
(register A), merupakan salah satu register khusus yang berfungsi sebagai
operand umum proses aritmatika dan logika.
Ø Program
counter, merupakan salah satu register khusus yang berfungsi sebagai
pencacah/penghitung eksekusi program mikrokontroler
Ø ALU
(Arithmetical and Logical Unit), ALU memiliki kemampuan khusus dalam
mengerjakan proses-proses arithmetika (penjumlahan, pengurangan, perkalian dan
pembagian) dan operasi logika (AND, OR, XOR dan NOT)
Ø Clock
circuits, mikrokontroler merupakan rangkaian digital sekuensial, dimana
kerjanya berjalan melalui sinkronisasi clock. Karenanya diperlukan clock
circuits yang menyediakan clock bagi seluruh bagian rangkaian
Ø Internal
ROM (On Chip Flash), merupakan memori yang isinya tidak dapat diubah atau
dihapus (pada saat mikrokontroler berjalan) isinya hanya dapat dibaca saja. ROM biasanya berisi program (urutan-urutan
instruksi) untuk menjalankan mikrokontroler. Data pada ROM dibaca secara
berurutan.
Ø Internal
RAM, merupakan memori yang isinya dapat diubah atau dihapus. RAM pada
mikrokontroler biasanya berisi data-data variable dan register. Data yang
tersimpan pada RAM bersifat hilang jika catu daya yang diberikan hilang (mati).
Ø Stack
pointer, merupakan bagian dari RAM yang memiliki metode penyimpanan dan
pengambilan data yang khusus. Dimana data yang paling terakhir dimasukkan
merupakan data yang pertama kali dibaca kembali (LIFO).
Ø I/O
port (serial dan parallel), merupakan sarana yang digunakan mikrokontroler untuk mengakses
peralatan di luar dirinya, memasukan dan mengeluarkan data.
Ø Interrupt
circuits, merupakan rangkaian yang mengendalikan sinyal-sinyal interupsi bail
internal maupun eksternal, dengan adanya sinyal interupsi akan mengakibatkan
program utama yang sedang dikerjakan berhenti sejenak, dan bercabang/.loncat ke
program rutin layanan interupsi (RLI) yang diminta, setelah RLI selesai
dikerjakan, mikrokontroler kembali melanjutkan program utama yang tertunda
tadi.
Setiap mikrokontroler memiliki blok diagram dan arsitektur
yang berbeda satu dengan yang lainnya, tergantung pada banyak device yang
terintegrasi di dalamnya, beberapa jenis mikrokontroler telah dilengkapi oleh
ADC/DAC, PWM, WDT dan lain-lain.
3.
Cara Kerja
Mikrokontroler
Prinsip kerja
mikrokontroler adalah sebagai berikut:
Ø Berdasarkan
nilai yang berada pada register Program Counter, mikrokontroler mengambil data
pada ROM dengan alamat sebagaimana yang tertera pada register Program Counter.
Selanjutnya isi dari register Program Counter ditambah dengan satu (Increment)
secara otomatis.
Data yang diambil pada ROM merupakan
urutan instruksi program yang telah dibuat dan diisikan sebelumnya oleh pengguna.
Ø Instruksi
yang diambil tersebut diolah dan dijalankan oleh mikrokontroler. Proses
pengerjaan bergantung pada jenis instruksi, bisa membaca, mengubah nilai-nilai
pada register, RAM, isi Port, atau melakukan pembacaan dan dilanjutkan dengan
pengubahan data.
Ø Program
Counter telah berubah nilainya (baik karena penambahan otomatis pada langkah 1,
atau karena pengubahan-pengubahan pada langkah 2). Selanjutnya yang dilakukan
oleh mikrokontroler adalah mengulang kembali siklus ini pada langkah 1.
Demikian seterusnya hingga power
dimatikan.
4.
Diagram Pin
dan Fungsinya
Diagram pin AT89S51 kemasan PDIP adalah
sebagai berikut:
Gambar 1.3. Diagram Pin AT89S51
Fungsi setiap pin adalah sebagai berikut:
Ø Pin
1 – 8, Port 1 (P1.0 sampai dengan P1.7), merupakan port input/output delapan
bit 8 dua arah dengan internal pull-up.
P1.5 (MOSI), P1.6 (MISO) dan P1.7 (SCK)
memiliki fungsi yang khusus dalam komunikasi serial multiprosesor, dan pada
pengisian program mikrokontroler dengan ISP (In System Programming)
Ø
Pin
9, digunakan untuk memberikan system reset pada Mikrokontroler, rangkaian reset
diberikan dengan konfigurasi sebagai berikut:
Gambar 1.4. Konfigurasi Reset
Ø Pin
10 – 17, Port 3 (P3.1 sampai dengan P3.7), merupakan port input/output delapan
bit 8 dua arah dengan internal pull-up.
Setiap pin pada Port 3 ini memiliki fungsi khusus yang langsung berhubungan
dengan hardware, fungsi tersebut adalah sebagai berikut:
P3.0 : RXD, port input/penerimaan data
pada komunikasi serial
P3.1 : TXD, port output/pengiriman data
pada komunikasi serial
P3.2 : (INT0), input interupsi eksternal
channel 0 (active low)
P3.3 : (INT1), input interupsi eksternal
channel 1 (active low)
P3.4 : T0, input clock ekternal untuk
timer 0
P3.5 : T1, input clock ekternal untuk
timer 1
P3.6 : (WR), merupakan saluran untuk
kendali penulisan (active low), saat mikrokontroler akan menulis data ke
memori/device luar
P3.7 : (RD), merupakan saluran untuk
kendali pembacaan (active low), saat mikrokontroler akan membaca data dari
memori/device luar
Ø Pin
18, XTAL 2
Ø Pin
19, XTAL 1
XTAL 1 dan XTAL 2 merupakan masukan untuk
rangkaian osilator internal, konfigurasinya bisa digunakan rangkaian sebagai
berikut:
Gambar 1.5. Konfigurasi kristal untuk osilator
Nilai C1 dan C2 harus seimbang, nilainya berkisar 30pF atau 33pF. Nilai
Kristal agar osilator internal bekerja berkisar 1MHz sampai 24 MHz, namun yang
paling lazim digunakan berkisar, 8 MHz, 11,0592MHz dan 12 MHz. Pada komunikasi
serial dan penggunaan timer lebih akurat digunakan kristal dengan nilai 11,0592
MHz
Ø Pin
20, GND, masukan catu daya 0 Volt atau Ground
Ø Pin
21 – 28, merupakan port input/output delapan bit 8 dua arah dengan internal
pull-up. Juga dapat difungsikan untuk jalur alamat byte tinggi (A8 sampai
dengan A15) pada penggunaan memori luar.
Ø Pin
29, (PSEN), Program Strore Enable (active low), sinyal pengontrol yang
diberfungsi untuk membaca program dari memori eksternal.
Ø Pin
30, ALE atau (PROG) active low, address latch enable, berfungsi menahan
sementara alamat byte rendah pada proses pengalamatan ke memori eksternal
Ø Pin
31, (EA) atau VPP, merupakan pin yang berfungsi untuk memilih program untuk
menjalankan mikrokontroler, jika EA = 0 atau di-ground-kan maka akan digunakan
program pada memori eksternal, jika EA = 1, maka akan digunakan program pada on
chip flash.
Ø Pin
32 – 39, Port 0 (P0.1 sampai dengan P0.7), merupakan port input/output delapan
bit 8 dua arah tanpa internal
pull-up, sehingga dalam aplikasi harus ditambahkan resistor pull-up eksternal
pada masing-masing pin, resistor pull up bernilai 4.7K Ohm terpasang langsung
ke VCC
Ø Pin
40, VCC, catu daya +5 Volt DC
0 komentar:
Posting Komentar