Artikel Mikrokontroler dan
contoh aplikasinya (Tugas praktikum)
DISUSUN
OLEH:
M.SAYAN
TI.R 2.1
15,July-2014
Mikrokontroler
Apa itu mikrokontroler ?? Mikrokontroler adalah sistem komputer yang seluruh
atau sebagian besar elemennya dikemas dalam satu chip IC (Intergrated Circuit)
sehingga sering juga disebut single chip microcomputer, yang masuk dalam
katagori embedded komputer. Suatu kontroler digunakan untuk mengontrol suatu
proses atau aspek-aspek dari lingkungan.
Misalnya mikroprosesor yang mengendalikan kontroler yaitu (Zilog Z80, Intel
8088, Motorola 6809, dsb).
Mikrokontroler juga suatu IC dengan kepadatan yang sangat tinggi, dimana semua
bagian yang diperlukan untuk suatu kontroler sudah dikemas dalam satu keping,
biasanya terdiri dari CPU, RAM, EEPROM, I/O, TIMER, dll.
• Random Access Memory (RAM)
Baca dan tulis data dari dan ke memori dapat dilakukan dengan mudah dan
cepat.
Bersifat volatile dan Perlu catu daya listrik.
a) RAM Dinamik (DRAM)
Disusun oleh sel-sel yang menyimpan data sebagai muatan listrik pada kapasitor.
Ada dan tidak ada muatan listrik pada kapasitor dinyatakan sebagai bilangan
biner 1dan 0. Perlu pengisian muatan listrik secara periodik untuk memelihara
penyimapanan data.
b) RAM Statik (SRAM)
Disusun oleh deretan flip-flop.Baik SRAM maupun DRAM adalah volatile. Sel
memori DRAM lebih sederhana dibanding SRAM, karena itu lebih kecil. DRAM lebih
rapat (sel lebih kecil = lebih banyak sel per satuan luas) dan lebih murah.
DRAM memrlukan rangkaian pengosong muatan. DRAM cenderung lebih baik bila
digunakan untuk kebutuhan memori yang lebih besar. DRAM lebih lambat.
• Electrically
EPROM (EEPROM)
Dapat ditulisi kapan saja tanpa menghapus isi sebelumnya. Operasi write
memerlukan watu lebih lama dibanding operasi read. Gabungan sifat kelebihan
non-volatilitas dan fleksibilitas untuk update dengan menggunakan bus control,
alamat dan saluran data.
EEPROM lebih mahal dibanding EPROM.
Sel memori memiliki sifat tertentu sbb.:
1. Memiliki dua keadaan stabil untuk representasi bilangan biner 1 atau 0.
2. Memiliki kemampuan untuk ditulisi
3. Memiliki kemampuan untuk dibaca.
Jenis-jenis Mikrokontroller
Secara teknis, hanya ada 2 macam mikrokontroller. Pembagian ini didasarkan pada
kompleksitas instruksi-instruksi yang dapat diterapkan pada mikrokontroler
tersebut. Pembagian itu yaitu RISC dan CISC.
• RISC merupakan kependekan dari Reduced Instruction Set Computer. Instruksi
yang dimiliki terbatas, tetapi memiliki fasilitas yang lebih banyak.
• Sebaliknya, CISC kependekan dari Complex Instruction Set Computer. Instruksi
bisa dikatakan lebih lengkap tapi dengan fasilitas secukupnya.
Masing-masing mempunyai keturunan atau keluarga sendiri-sendiri.
Sekarang kita akan membahas pembagian jenis-jenis mikrokonktroler yang telah
umum digunakan.
1. MCS51
Mikrokonktroler ini termasuk dalam keluarga mikrokonktroler CISC. Sebagian
besar instruksinya dieksekusi dalam 12 siklus clock.
Mikrokontroler ini berdasarkan arsitektur Harvard dan meskipun awalnya
dirancang untuk aplikasi mikrokontroler chip tunggal, sebuah mode perluasan
telah mengizinkan sebuah ROM luar 64KB dan RAM luar 64KB diberikan alamat
dengan cara jalur pemilihan chip yang terpisah untuk akses program dan memori
data.
Salah satu kemampuan dari mikrokontroler 8051 adalah pemasukan sebuah mesin
pemroses boolean yang mengijikan operasi logika boolean tingkatan-bit dapat
dilakukan secara langsung dan secara efisien dalam register internal dan RAM.
Karena itulah MCS51 digunakan dalam rancangan awal PLC (programmable Logic
Control).
2. AVR
Mikrokonktroler Alv and Vegard’s Risc processor atau sering disingkat AVR
merupakan mikrokonktroler RISC 8 bit. Karena RISC inilah sebagian besar kode
instruksinya dikemas dalam satu siklus clock. AVR adalah jenis mikrokontroler
yang paling sering dipakai dalam bidang elektronika dan instrumentasi.
Secara umum, AVR dapat dikelompokkan dalam 4 kelas. Pada dasarnya yang
membedakan masing-masing kelas adalah memori, peripheral dan fungsinya. Keempat
kelas tersebut adalah keluarga ATTiny, keluarga AT90Sxx, keluarga ATMega dan
AT86RFxx.
3. PIC
Pada awalnya, PIC merupakan kependekan dari Programmable Interface Controller.
Tetapi pada perkembangannya berubah menjadi Programmable Intelligent Computer.
PIC termasuk keluarga mikrokonktroler berarsitektur Harvard yang dibuat oleh
Microchip Technology. Awalnya dikembangkan oleh Divisi Mikroelektronik General
Instruments dengan nama PIC1640. Sekarang Microhip telah mengumumkan pembuatan
PIC-nya yang keenam
PIC cukup popular digunakan oleh para developer dan para penghobi ngoprek
karena biayanya yang rendah, ktersediaan dan penggunaan yang luas, database
aplikasi yang besar, serta pemrograman (dan pemrograman ulang) melalui hubungan
serial pada komputer.
Pemrograman
Mikrokontroler
1. Program bahasa asembly
2. Program bahasa mesin
3. Asembler yaitu menterjemahkan program bahasa asembly menjadi bahasa mesin
Pemrograman Bahasa Assembly (Assembler)
Bahasa assembly adalah sebuah program yang terdiri dari instruksi-instruksi
yang menggantikan kode-kode biner dari bahasa mesin dengan “mnemonik” yang
mudah diingat. Misalnya sebuah instruksi penambahan dalam bahasa mesin dengan
kode “10110011” yang dalam bahasa assembly dapat dibuat dalam instruksi
mnemonik ADD, sehingga mudah diingat dibandingkan dengan angka 0 dan 1, dalam
setiap instruksi membutuhkan suatu operand baik berupa data langsung maupun
suatu lokasi memori yang menyimpan data yang bersangkutan. Bahasa assembly
sering juga disebut kode sumber atau kode simbolik yang tidak dapat dijalankan
oleh prosesor, sedangkan assembler adalah suatu program yang dapat
menerjemahkan program bahasa assembly ke program bahasa mesin. bahasa mesin
adalah kumpulan kode biner yang merupakan instruksi yang bisa dijalankan oleh
komputer. Program bahasa mesin sering disebut sebagai kode objek.
Baris-baris program yang mengandung instruksi mesin atau pengarah assembler
harus mengikuti aturan program assembler ASM51. Masing-masing baris atas
beberapa field yang dipisahkan dengan spasi atau tabulasi adalah bagian label,
bagian mnemonic, bagian operand yang bisa lebih dari satu bagian komentar dan
diakhiri dengan END.
A. Bagian – Bagian Dari Program Assembler
Berikut ini adalah bagian – bagian dari rogram assembler yaitu:
1) Label
Label merupakan suatu simbol yang didefinisikan sendiri oleh pembuat program
untuk menandai lokasi memori pada area program. Simbol dan label adalah dua hal
yang berbeda. Simbol tidak menggunakan titik dua, sedangkan label harus
diakhiri dengan titik dua.
Contoh : Mov A,#0ffh; pada label ; “Mulai” ; dipindahkan ke Akumulator
2) Mnenonik
Mnenonik instruksi atau pengarah Assembler dimasukan dalam “Mnemonic field”
yang mengikuti “label mnemonic”. Mnemonic instruksi misalnya ADD, MOV, INC dan
lain-lain.Sedangkan pengarah Assembler misalnya ORG, EQU, DB dan lain-lain.
3) Operand
Operand ditulis setelah mnemonic, bisa berupa alamat atau data yang digunakan
instruksi yang bersangkutan.
Contoh :
MOV A, #40h ; A dan #40h adalah operand
4) Komentar
Komentar harus diawali dengan titik koma. Sub rutin dari bagian besar program
yang mengerjakan suatu operasi biasanya diawali dengan blok komentar yang
menjelaskan fungsi sub rutin atau bagian besar program tersebut.
5) End
Petunjuk END merupakan kode perintah terakhir yang menunjukan batas akhir dari
proses Assembly.
Mode – Mode
Pengalamatan
1. Mode Pengalamatan Langsung
Dalam pengalamat langsung nilai yang akan disimpan dalam suatu memori diperoleh
secara langsung dengan mengambil dari lokasi memori yang lain.
Contoh : MOV A,30H ; isi akumulator dengan bilangan 30 heksadesimal
2. Mode Pengalamatan Tak Langsung
Dalam pengalamatan tak langsung, instruksi menentukan suatu register yang
digunakan untuk menyimpan alamat operan
Contoh :
ADD A,R ; Tambahkan isi RAM yang lokasinya ditunjukan oleh register R1 ke
akumulator.
3. Mode Pengalamatan Segera
Cara ini menggunakan konstanta.
Contoh : MOV A,#40H ; isi akumulator dengan bilangan 40 heksadesimal
4. Mode Pengalamatan Data
Pengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan
alamat data yang akan diisi atau yang akan dipindahkan
Contoh :
MOV P1,A ; isi P1 dari nilai akumulator.
5. Mode Pengalamatan Bit
Pengalamatan bit adalah penunjukkan menggunakan simbol titik (.) yang menunjuk
alamat lokasi bit, baik dalam RAM internal atau perangkat keras.
Contoh : SETB P1.7 ; set bit port 1.7 high ( pot 1.7 diberi nilai logika 1)
Software Mide-51
![mide51](file:///C:%5CUsers%5CASUS%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image001.jpg)
Mide-51 adalah freeware Integrated Development Environment (IDE) untuk
mikrokontroler MCS-51. Paket lengkap sudah dilengkapi dengan: Assembler, SDCC:
Small Device C Compiler, TS Kontrol 8051 Emulator, JSIM-51 Simulator. SDCC
adalah Freeware, retargettable, mengoptimalkan ANSI – C compiler yang menargetkan
Intel 8051, Maxim 80DS390, Zilog Z80 dan MCUs 68HC08 Motorola berbasis. JSIM-51
adalah simulator perangkat lunak yang kuat untuk 8051 Microcontrollers dan itu
turunan. Program ini mensimulasikan kernel prosesor dan beberapa fungsi
perangkat keras.
Fitur :
v sintaks
stabilo pada kata SDCC reserved & MCS-51 standard register
v ruang kerja
dokumen multi dukungan
v dukungan
editor fitur standar dan tombol pintas seperti cut copy paste
v editor font
style dan ukuran dipilih
v assembler
laporan dan pesan kompiler
Program Simulasi Lampu Lalu Lintas Sederhana
Buatlah program Simulasi Lampu Lalu Lintas Sederhana, kali ini saya menuliskan
program menggunakan bahasa Assembly dengan software MIDE-51, dengan cara
sebagai berikut :
1. Pastikan Software MIDE-51 telah terinstall di komputer/laptop.
2. Klik MIDE-51 seperti gambar dibawah ini :
3. Software MIDE-51 akan terbuka
4. Klik file –> new
5. Ketikkan program seperti dibawah ini :
Utama:
mov P0,#030h ; hitungan dimulai dari 3
mov p2,#01h ; lampu merah 2 nyala
mov p3,#04h ; lampu hijau nyala
acall delay ; waktu tunda
mov P0,#024h ; hitungan menjadi 2
mov p2,#01h ; lampu merah 2 nyala
mov p3,#04h ; lampu hijau masih menyala
acall delay ; tunda
mov P0,#079h ; hitungan menjadi 1
mov p2,#01h ; lampu merah 2 nyala
mov p3,#04h ; lampu hijau masih menyala
acall delay ; tunda
mov P0,#040h ; hitungan menjadi 0
mov p2,#03h ; lampu merah 2 dan kuning 2 nyala
mov p3,#06h ; lampu hijau dan kuning nyala
acall delay ; tunda
mov P0,#012h ; hitungan dimulai dari 5
mov p2,#04h ; lampu hijau 2 nyala
mov p3,#01h ; lampu merah nyala
acall delay ; waktu tunda
mov P0,#019h ; hitungan dimulai dari 4
mov p2,#04h ; lampu hijau 2 nyala
mov p3,#01h ; lampu merah nyala
acall delay ; waktu tunda
mov P0,#030h ; hitungan dimulai dari 3
mov p2,#04h ; lampu hijau 2 nyala
mov p3,#01h ; lampu merah nyala
acall delay ; tunda
mov P0,#024h ; hitungan menjadi 2
mov p2,#04h ; lampu hijau 2 nyala
mov p3,#01h ; lampu merah masih nyala
acall delay ; tunda
mov P0,#079h ; hitungan menjadi 1
mov p2,#04h ; lampu hijau 2 nyala
mov p3,#01h ; lampu merah masih nyala
acall delay ; tunda
mov P0,#040h ; hitungan 0
mov p2,#06h ; lampu hijau dan kuning 2 nyala
mov p3,#01h ; lampu merah nyala
mov p3,#03h ; lampu kuning nyala
acall delay ; tunda
ajmp Utama ; program kembali looping ke label utama
delay:
mov R2,#6
dly:
mov R1,#255
dy:
mov R0,#255
Djnz R0,$
Djnz R1,dy
Djnz R2,dly
Ret
end
5. Setelah semua program di ketik, save program dengan cara :
filename.a51 –> filename terserah anda mau diketik dengan nama apa saja
tetapi jangan lupa mengetikan
( .a51 ) diakhir file namenya seperti : program1.a51.
program berhasil disave ditandai dengan berubahnya tulisan menjadi berwarna.
7. Pastikan program yang diketikkan telah benar dan cek program yang telah di
ketik, apakah masih ada
error atau no error, dengan cara klik ” build ” dan lihat keterangan dibawah.
(jangan sampai lupa
mengklik build setelah peng-save-an).
![prog](file:///C:%5CUsers%5CASUS%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image002.jpg)
8. Jika program no error, berarti penulisan program telah selesai.
jika program telah selesai, masukkan program ke desain proteus kita dengan cara
:
– double klik komponen “AT89C52 “
![1](file:///C:%5CUsers%5CASUS%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image003.jpg)
– masukkan program yang di ketik tadi dengan cara klik program file, ambil
program kita tadi misalkan
program1.hex lalu klik OK, seperti tampilan di bawah ini :
![2](file:///C:%5CUsers%5CASUS%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image004.jpg)
– klik run dan lihat hasilnya
daftar pustaka