Mikrokontroler
DISUSUN OLEH:
NAMA
NIM
M3107105
KELAS
TEKNIK INFORMATIKA B
P. Mikrokontroler
A. PENDAHULUAN
Yang dimaksud dengan mikrokontroler adalah sebuah sistem mikroprosesor
lengkap yang terkandung didalam sebuah chip yang mempunyai masukan dan
keluaran serta kendali dengan program yang bisa ditulis dan dihapus dengan cara
yang khusus. Cara kerja mikrokontroler sebenarnya hanya membaca dan menulis
data. Sebagai contoh, bayangkan diri kita saat mulai belajar membaca dan
menulis, ketika kita sudah bisa melakukan hal itu maka kita dapat membaca
tulisan apapun baik buku, cerpen, artikel dan sebagainya, dan kita juga dapat
menulis hal-hal sebaliknya. Apabila kita sudah mahir membaca dan menulis data
maka kita dapat membuat program untuk membuat suatu sistem pengaturan
otomatis menggunakan mikrokontroler sesuai keinginan kita.
Mikrokontroler berbeda dari mikroprosesor serba guna yang digunakan di
dalam sebuah PC, karena sebuah mikrokontroler umumnya telah berisi
komponen-komponen pendukung, seperti : prosesor, memori, dan I/O. Namun,
secara analogi mikrokontroler merupakan komputer didalam chip yang digunakan
untuk mengontrol peralatan elektronik, yang ditekankan untuk efisiensi dan
efektifitas biaya. Secara harfiahnya juga dapat disebut "pengendali kecil" dimana
sebuah sistem elektronik yang sebelumnya banyak memerlukan komponenkomponen pendukung seperti IC TTL dan CMOS dapat direduksi/diperkecil dan
akhirnya terpusat serta dikendalikan oleh mikrokontroler ini.
Dengan penggunaan mikrokontroler ini maka :
1. Sistem elektronik akan menjadi lebih ringkas.
2. Tingkat keamanan dan akurasi yang lebih baik.
3. Rancang bangun sistem elektronik akan lebih cepat karena sebagian besar
dari sistem adalah perangkat lunak yang mudah dimodifikasi.
4. Kemudahan
dalam
penggunaannya
untuk
sistem
yang
berbasis
mikrokontroler.
5. Pencarian gangguan lebih mudah ditelusuri karena sistemnya yang kompak.
Namun demikian, tidak sepenuhnya mikrokontroler dapat mereduksi
komponen ICTTL dan CMOS karena seringkali masih diperlukan untuk aplikasi
P. Mikrokontroler
kecepatan tinggi atau menambah jumlah saluran masukan dan keluaran (I/O).
Beberapa periperal yang langsung dapat dimanfaatkan, misalnya port paralel, port
serial, komparator, konversi digital ke analog (DAC), konversi analog ke digital
dan sebagainya hanya menggunakan sistem minimum yang tidak rumit atau
kompleks.
B. MANFAAT MIKROKONTROLER
Manfaat sistem mikrokontroler banyak sekali, apabila hanya mendengar
penjelasan dari teori, maka batasnya hanya sampai kepada imajinasi kita . Oleh
karena itu kita harus mempraktekannya. Dengan praktek perlahan kita dapat
menguasainya, dan menerapkannya ke dalam kehidupan sehari-hari seperti
mengendalikan suatu perangkat elektronik dengan berbagai sensor dan kondisi
seperti cahaya, dingin, panas, getaran, lembab dan lain-lain.
Sekedar contoh sederhana penggunaan mikrokontroler, dapat kita lihat di
sekitar lingkungan ada toaster, mesin cuci, microwave, magic com, lampu lalulintas, kemudian di dunia pertanian kita dapat membuat kontrol kelembaban untuk
budidaya jamur, di dunia perikanan kita dapat mengendalikan suhu air kolam.
Bahkan kita dapat membuat PABX mini, SMS Gateway, atau ke arah militer kita
mampu menciptakan radio militer frekuensi hopping (radio komunikasi anti sadap
dengan lompatan frekuensi 100 kali dalam 1 detik), sistem pemantau cuaca
menggunakan balon udara, Automatic Vehicel Locator (menggunakan GPS) dan
sebagainya. Semua itu sekedar contoh, masih banyak lagi yang bisa kita
kembangkan dengan mikrokontroler.
Sebagai prospek, arah perkembangan dunia elektronika saat ini adalah ke
embedded system (sistem tertanam) atau embedded electronic (elektronik
tertanam) dan salah satunya dengan menggunakan mikrokontroler, jadi apabila
kita belajar dan menguasai mikrokontroler maka kita sudah berada pada jalur yang
tepat.
P. Mikrokontroler
P. Mikrokontroler
D. ORGANISASI MEMORI
Mikrokontroler AT89C51 memiliki memori internal program yang terpisah
dari memori internal data, ruang memori internal program memiliki kapasitas 4
Kbyte flash EEROM, yaitu alamat 0000H sampai 0FFFH dalam bilangan
heksadesimal atau alamat 0 sampai 4095 dalam bilangan desimal. Karena alamat
berkaitan dengan jumlah pin address yang menggunakan sistem biner, maka
biasanya angka alamat memori menggunakan bilangan biner atau heksadesimal,
di mana setiap angka heksadesimal mewakili 4-bit angka biner.
(a).Memory Program
P. Mikrokontroler
Gambar (a) memperlihatkan lokasi ROM internal. Lokasi ini dapat diakses
jika pin EA = 1 atau diberi tegangan Vcc. Jika ukuran program melampaui
4Kbyte,
byte, maka harus digunakan ROM eksternal yang alamatnya antara 0000h
sampai FFFFh atau 64Kbyte
64
dan pin EA = 0 atau dihubungkan dengan ground.
Jika digunakan EPROM eksternal, maka alamat memori
memor program sama dengan
alamat memori data, atau dengan kata lain alamat 64 kbyte dipakai bersama oleh
program dan data. Sistem dapat membedakan alamat memori hingga 64 Kbyte,
pengaksesan memori data eksternal dilakukan dengan menggunakan data pointer
melalui instruksi MOVX.
Di samping dapat mengakses RAM eksternal, mikrokontroler memiliki
RAM internal yang pengaksesannya terpisah dengan RAM eksternal. RAM
internal berkapasitas 128 byte ditambah sejumlah SFR (Special
(Special Function
Register). Gambar (bb) kiri memperlihatkan
rlihatkan RAM internal dan SFR. Kelompok
RAM internal memiliki alamat antara 00 7FH sedangkan kelompok SFR
(Special
Special Function Register)
Register memiliki alamat antara 80H FFH. RAM internal
dapat diakses secara langsung (direct addressing)) maupun tidak
t
langsung
(indirect addressing)) melalui RO dan R1. Sedangkan SFR hanya dapat diakses
secara langsung dengan menyebutkan nama lokasinya, bukan nomor lokasinya,
misalnya ACC, B, P0,
P0, P1 dst. 128 byte RAM internal yang terletak antara 00
7FH terbagi atas 3 (tiga) bagian
bagi yaitu :
M3107105 | Moh.
oh. Eko Ari Bowo
P. Mikrokontroler
a. Kelompok Register Bank. Berupa 32 byte atau 32 register yang terletak antara
00h sampai 1Fh. Bagian ini dipecah menjadi 4 register bank yang masingmasing terdiri dari 8 register yang diberi nama R0 sampai R7. Masing-masing
register dapat dialamatkan dengan nama ataupun dengan alamat RAM-nya.
Bit RS0 dan RS1 pada register PSW di SFR menentukan bank mana yang
sedang digunakan. Misalnya jika RS0 dan RS1 bernilai 00, maka R2
menempati lokasi 02H pada register bank pertama, tetapi jika RS0 dan RS1
bernilai 10, maka R2 menempati lokasi 12H pada register bank ketiga.
b. Daerah pengalamatan bit (bit addressable) yang terdiri dari 16 byte atau 16
register dengan alamat antara 20h sampai 2Fh. Setiap bit pada areal ini dapat
diakses secara terpisah tanpa mengganggu bit lainnya. Pengalamatan byte
dapat mengunakan alamat register antara 20h sampai 2Fh, sedangkan
pengalamatan bit dapat dilakukan dengan menuliskan titik setelah alamat
registernya, misal 20H.7 untuk bit MSB pada register 20H.
c. Daerah register penggunaan umum (Scratch Pad Area) yang terletak di bagian
atas RAM internal, yaitu alamat 30h sampai 7FH. Biasanya stack diletakkan
di area ini.
P. Mikrokontroler
P. Mikrokontroler
latch harus berisi 1, yang akan mematikan output driver FET, sehingga pinpin Port 1,2, dan 3 akan ditarik ke high oleh pull-up internal, tetapi bila
diinginkan dapat juga port-port tersebut ditarik ke low dengan sumber
eksternal.
6. Stack Pointer (SP)
Stack Pointer terdiri dari 8 bit. Alamat SP ditambah / dinaikkan sebelum data
disimpan pada eksekusi instruksi PUSH dan CALL. SP dapat diletakkan pada
alamat manapun di on-chip RAM, SP diinisialisasi pada alamat 07H setelah
reset. Hal ini mengakibatkan stack dimulai pada lokasi 08H.
7. Register Control
Yaitu register-register yang digunakan untuk mengendalikan kerja I/O device
internal. Register tersebut antara lain register IP (Interrupt Priority) dan IE
(Interupt Enable) untuk operasi interupsi, register TMOD (Timer Mode)
danTCON (Timer Control) untuk operasi Timer atau Counter, register SCON
untuk operasi komunikasi serial dan register PCON (Power Control) untuk
pengendalian penggunaan daya listrik prosesor.
8. Struktur dan Cara Kerja Port
Mikrokontroler mempunyai 4 port bi-directional (Port 0 - Port 3), masingmasing terdiri dari 8 bit. Setiap port terdiri dari sebuah latch (Special Function
Registers P0 sampai P3), sebuah output driver, dan sebuah input buffer.
Output driver Port 0 dan Port 2, serta input buffer Port 0 digunakan untuk
mengakses memori eksternal. Untuk aplikasi yang menggunakan memori
eksternal, maka Port 0 mengeluarkan low order byte alamat memori
eksternal (A0-A7), yang di-multipleks dengan data (1 byte) yang dibaca atau
ditulis.
Port 2 mengeluarkan High Order Byte alamat memori eksternal (A8-A15)
apabila alamat yang diperlukan sebanyak 16 bit. Bila alamat yang diperlukan
hanya A0-A7, maka output Port 2 sama dengan isi SFR (Special Function
Registers). Semua pin Port 3 mempunyai fungsi alternatif selain sebagai port.
Port 0 agak berbeda, karena tidak menggunakan pull-up internal. FET pull-up
pada output driver P0 hanya digunakan pada saat port mengeluarkan '1' selama
M3107105 | Moh. Eko Ari Bowo
P. Mikrokontroler
akses memori eksternal, selain keadaan ini FET pull-up tidak aktif. Akibatnya bila
bit-bit P0 berfungsi sebagai output maka bersifat open drain. Penulisan logika '1'
ke bit latch menyebabkan kedua FET tidak bekerja, sehingga pin dalam keadaan
mengambang (floating). Pada kondisi ini pin dapat berfungsi sebagai High
Impedance Input.
Port 1, 2, dan 3 sering disebut dengan quasi-bidirectional karena
mempunyai pull-up internal. Saat berfungsi sebagai input maka mereka akan
'ditarik' ke high dan akan bersifat sebagai sumber arus bila 'ditarik' ke low secara
eksternal. Port 0 sering disebut sebagai true-bidirectional, karena bila
dikonfigurasikan sebagai input maka pin-pinnya akan mengambang. Pada saat
reset semua port latch akan berlogika '1'.
F. SPESIFIKASI MIKROKONTROLER
Di dunia mikrokontroler, secara teknis hanya ada 2 jenis mikrokontroler yaitu
RISC dan CISC dan masing-masing mempunyai keturunan / keluarga sendirisendiri.
1. RISC kependekan dari Reduced Instruction Set Computer dengan instruksi
terbatas tapi memiliki fasilitas yang lebih banyak
2. CISC kependekan dari Complex Instruction Set Computer dengan instruksi
yang dapat dikatakan lebih lengkap tapi dengan fasilitas secukupnya.
Jenis mikrokontroler banyak sekali ada keluarga Motorola dengan seri 68xx,
keluarga MCS51 yang diproduksi Atmel, Dallas, Philip, keluarga PIC dari
Microchip, Zilog, Renesas. Masing-masing keluarga juga masih terbagi lagi
dalam beberapa tipe. Sulit sekali untuk menghitung berapa tepatnya jumlah
mikrokontroler. Berikut beberapa penjelasan mengenai beberapa spesifikasi
mikrokontroler :
a. Mikrokontroler MCS-51
Meskipun termasuk tua, keluarga Mikrokontroler MCS51 adalah keluarga
mikrokontroler yang terpopuler saat ini. Keluarga ini diawali oleh Intel yang
mengenalkan IC Mikrokontroler tipe 8051 awal tahun 1980-an. Tipe 8051
M3107105 | Moh. Eko Ari Bowo
P. Mikrokontroler
yang lain
sama sekali
tidak
mengalami
pengurangan.
10
P. Mikrokontroler
pemrograman
ulang
sebuah
chip
AT89Cxx
harus
b. Mikrokontroler AT89S51
Mikrokontroller 8 bit dengan 4 KByte ISP (In System Programming)
mikrokontroler saat ini tidak asing lagi dalam dunia elektronika, karena
hampir semua peralatan elektronik dewasa ini menggunakan perangkat ini.
Mikrokontroler merupakan pengendali utama dalam peralatan elektronik saat
ini, maka suatu hal yang penting bagi mereka yang berkecimpung dalam
dunia elektronika untuk mempelajari sistem mikrokontroler.
Mikrokontroler yang dibahas AT89S51 adalah mikrokontroler buatan
ATMEL yang mudah ditemui di pasaran di Indonesia, yaitu dari keluarga
MCS-51.
AT89S51
dan
AT89S52
mempunyai
kemampuan
serial
11
P. Mikrokontroler
Memori internal 89S51 terdiri dari 3 bagian yaitu ROM, RAM dan SFR.
ROM / Read Only Memory adalah memori tempat menyimpan program /
source code. Sifat ROM adalah non-volatile, data / program tidak akan hilang
walaupun tegangan supply tidak ada. Kapasitas ROM tergantung dari tipe
mikrokontroler. Untuk AT89S51 kapasitas ROM adalah 4 KByte. ROM pada
AT89S51 menempati address 0000 s/d 0FFF. RAM / Random Access Memory
adalah memori tempat menyimpan data sementara. Sifat RAM adalah volatile,
data akan hilang jika tegangan supply tidak ada. Kapasitas RAM tergantung
pada tipe mikrokontroler. Pada AT89S51 RAM dibagi menjadi 2 yaitu :
a) Lower 128 byte yang menempati address 00 s/d 7F. RAM ini dapat
diakses menggunakan pengalamatan langsung (direct), maupun tidak
langsung (indirect). Contohnya :
Direct mov 30h,#120 ; Pindahkan data 120 ke RAM pada address 30h.
Indirect mov R0,#30h ; Isi Register 0 dengan 30h.
Mov @R0,#120 ; Pindahkan data 120 ke RAM pada address sesuai isi R0.
b) Upper 128 byte yang menempati address 80 s/d FF. Address ini sama
dengan address SFR meskpuni secara fisik benar berbeda. RAM ini hanya
dapat diakses dengan pengalamatan tidak langsung.
12
P. Mikrokontroler
Gambar diatas adalah peta memori internal 89S51 yang terdiri dari RAM,
SFR, dan ROM. Tampak ada kesamaan address antara RAM, SFR, dan ROM
yaitu pada address 00 s/d FF. Berdasarkan hal ini, biasanya source code ditulis
setelah address 00FF yaitu 0100 pada ROM.
ROM. Hal ini dimaksudkan agar data
RAM dan SFR tidak terisi oleh byte source code.
Di bawah ini adalah konfigurasi
k
pin AT89S51.
M3107105 | Moh.
oh. Eko Ari Bowo
13
P. Mikrokontroler
GND
Ground.
Port 0
Port 1
Port 2
Port 3
RST
Program
Store
Enable,
merupakan
sinyal
kendali
yang
14
P. Mikrokontroler
XTAL2
Contohnya pada :
a. Pengendali Motor dengan Remote Sony
Fungsi aplikasi adalah mengatur arah putaran motor DC dengan
menggunakan remote control Sony. Menggunakan Small System
AT892051.
b. Sensor Warna TCS230
TCS230 adalah konverter warna cahaya ke frekuensi. Ada dua komponen
utama pembentuk IC ini, yaitu photodioda dan pengkonversi arus ke
frekuensi.
c. Jam Digital dengan Bahasa C
Modul DST-51 sebagai central pemroses, LCD Hitachi digunakan untuk
menampilkan data waktu yang berupa detik, menit, jam, hari, tanggal,
bulan dan tahun. Modul RTC-1287 sebagai sumber data waktu yang akan
ditampilkan, dan Key-44 sebagai input untuk menset waktu.
c. Mikrokontroler AT89C51
AT89C51 merupakan prosesor 8-bit dengan low power supply dan
performa tinggi yang terdiri dari CMOS dengan Flash Programmable and
Erasable Read Only Memory (PEROM) sebesar 4 Kbyte di dalamnya. Alat ini
dibuat menggunakan teknologi tinggi non-volatile berdensitas tinggi dari
ATMEL yang kompatibel dengan keluarga MCS-51 buatan Intel yang
merupakan standar industri. Dengan menggunakan flash memori, program
dapat diisi dan dihapus secara elektrik, yaitu dengan memberikan kondisikondisi tertentu (high / low) pada pin-pinnya sesuai dengan konfigurasi untuk
memberi input program atau menghapus. Cara ini lebih praktis dibandingkan
15
P. Mikrokontroler
16
P. Mikrokontroler
H. LITERATUR
1. http://www.elektronika-elektronika.blogspot.com.
2. http://www.innovativeelectronics.com.
3. http://www.eepis-its.edu.
4. http://www.sttn-batan.ac.id.
17