MODUL PEMBELAJARAN I
ARSITEKTUR MIKROKONTROLER AT89S/CXX
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
Blok diagram umum mikrokontroler adalah sebagai berikut:
Gambar 1.1. Blok Diagram Mikrokontroler
Masing-masing bagian tersebut saling dihubungkan melalui
internal BUS, umumnya terdiri dari 3 jenis bus, yaitu: address bus, data bus
dan control bus.
Diagram Arsitektur AT89SXX
Gambar 1.2. Arsitektur
Mikrokontroler
Fungsi setiap bagian:
Ø
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
Lembar Evaluasi
- Apa yang dimaksud dengan BUS? Jelaskan!
- Apa yang dimaksud dengan register umum? Beri contoh!
- Apa yang dimaksud dengan register khusus? Beri contoh!
- Pada penggunaan memori terdapat istilah volatile dan non volatile, jelaskan kedua istilah tersebut!
- Jelaskan istilah berikut:
-
Parallel
-
Serial
-
PDIP
-
PLCC
-
Pull Up
-
PDIP = Port Dual In Line
Package
-
Pull Up = Pulled High /
Port yang ditarik tinggi atau dibuat high keadaannya
-
MODUL PEMBELAJARAN I : ARSITEKTUR MIKROKONTROLER AT89S/CXX
4/
5
Oleh
Unknown