TUGAS Praktikum Mikroprosesor Artikel Mi

TUGAS Praktikum Mikroprosesor
Artikel Mikrokontroler dan Contoh Aplikasi

DISUSUN OLEH:
AMALIA FASYKHATUSSIAM
11.11.2594
TI 11 D

Jurusan S-1 Teknik Informatika
Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK)
STMIK AMIKOM PURWOKERTO

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.
• 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.
• 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.:
• Memiliki dua keadaan stabil untuk representasi bilangan biner 1 atau 0.
• Memiliki kemampuan untuk ditulisi
• 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





Program bahasa asembly
Program bahasa mesin
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. Masingmasing 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.


Bagian – Bagian Dari Program Assembler

Berikut ini adalah bagian – bagian dari rogram assembler yaitu:


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



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.



Operand
Operand ditulis setelah mnemonic, bisa berupa alamat atau data yang
digunakan instruksi yang bersangkutan.
Contoh :
MOV




A, #40h

; A dan #40h adalah operand

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.



End
Petunjuk END merupakan kode perintah terakhir yang menunjukan batas
akhir dari proses Assembly.

Mode – Mode Pengalamatan



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
heksadesimal



; isi akumulator dengan bilangan 30

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.




Mode Pengalamatan Segera
Cara ini menggunakan konstanta.
Contoh : MOV A,#40H
heksadesimal



; isi akumulator dengan bilangan 40

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.

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
1)

; set bit port 1.7 high ( pot 1.7 diberi nilai logika

Software Mide-51
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 :






sintaks stabilo pada kata SDCC reserved & MCS-51 standard register
ruang kerja dokumen multi dukungan
dukungan editor fitur standar dan tombol pintas seperti cut copy paste
editor font style dan ukuran dipilih
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).

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 "

- 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 :

- klik

run dan lihat hasilnya