Anda di halaman 1dari 13

DASAR-DASAR PEMROGRAMAN

DENGAN SOFTWARE UMPS

I. Tujuan

1. Praktikan dapat menggunakan simulator UMPS sebagai pendukung dalam


merancang program.
2. Praktikan dapat menggunakan resource hardware mikrokontroler
8031/8051.

II. Dasar Teori

UMPS adalah singkatan dari Universal Microprocessor Program


Simulator, yaitu simulator pemrograman mikrokontroler yang universal, yang
dapat mensimulasikan pemrograman mikrokontroler untuk banyak tipe seperti
8031, 8032, ATMEG161, ATMEG603, 68HC11, PIC, SUNPLUS, dan lain
sebagainya. UMPS dapat berjalan pada sistem operasi Windows 3.11, Windows
NT/2000, Windows XP.
UMPS dapat mensimulasikan beberapa CPU dengan memori maksimum
sebesar 64 K Byte. UMPS menggunakan file CPL yang dapat menggunakan file
dengan ekstensi txt atau asm. Setelah loading UMPS dapat melakukan assemble,
disassemble, dan mengeksekusi instruksi yang ada dalam file. UMPS juga mampu
menampilkan dan memodifikasi isi register internal, isi RAM, ROM,
mendisassemble program, breakpoint, dan pengaturan-pengaturan lainnya.
Sistem tidak hanya mensimulasikan CPU tetapi juga mampu
mensimulasikan peripheral environtment. Hal ini karena UMPS terhubung ke
virtual CPU core. Environtment dihasilkan dari resources. Setiap resource dapat
ditampilkan pada window khusus dan dapat dihubungkan secara individual ke
beberapa komponen simulasi microprocessor (seperti RAM, ROM, register-
register, pin, dan lain sebagainya.
UMPS dapat menampilkan memori-memori, register-register dan status
dalam multiple document interface. Untuk memulai simulasi dengan UMPS dapat
mengikuti langkah-langkah sebagai berikut :
 Loading CPL file: Configure  load CPU
 Configure register window-Configure Registers
 Configure resource: Configure Resources
 Display CPU Code: View CPU Code
UMPS dapat menjalankan program dalam format file HEX atau UMPS
dapat menampilkan isi ROM dengan memilih menu: View  CPU code.
Edit area adalah bagian dari window CPU code yang digunakan untuk
meng-edit atau menuliskan Mnemonic directly secara langsung. Setelah dilakukan
koreksi, tiap-tiap baris Mnemonic akan dikembalikan untuk dievaluasi dan
di-compile. Jika instruksi yang diberikan salah, maka UMPS akan menampilkan
pesan kesalahan yang ditandai dengan tulisan berwarna merah, dan posisi
instruksi yang salah. Dengan meng-klik instruksi yang salah atau menekan tombol
(CTRL + G) maka kursor akan menuju ke tempat instruksi yang salah untuk
dilakukan koreksi. Apabila instruksi benar, maka akan tampil pesan bahwa proses
compile sukses.
UMPS dapat mensimulasikan beberapa resources komponen eksternal
seperti di bawah ini :
 LED (Red, Green, Yellow)
 Display 7-segments
 Panel LCD
 D/A dan A/D Converter
 Real time 12C clock
 Push button
 4 atau 8 Binary decoder
 8 x Latch
 Shift Register, digital Counter, dan sebagainya. Untuk memilih
resources dapat dilakukan dengan memilih menu Configure 
resources, kemudian menekan tombol Add. Tampilan pemilihan
resources seperti terlihat pada gambar di bawah ini :

Gambar 1.2 Pemilihan Resources dalam UMPS

UMPS mempunyai kemampuan dalam mensimulasikan beberapa macam


mikrokontroler dan melakukan proses debugging. Dalam software ini sudah
terdapat assembler/disassemble, tetapi eksternal assembler ataupun compiler yang
lain dapat digunakan. UMPS mengijinkan kita untuk melihat source dan variabel.
Untuk dapat mensimulasikan, program harus diketik pada editor
assembler yang disediakan oleh UMPS dengan cara memilih menu file  New,
atau memilih Open bila file sudah pernah disimpan. Selanjutnya file di-compile,
bila tidak ada yang salah, maka langkah selanjutnya adalah dengan memilih
tampilan RAM, atau ROM, atau SFR, atau resources, atau dapat juga ditampilkan
seluruhnya dengan cara mengatur window agar dapat terlihat pada satu layar.
Langkah berikutnya adalah menjalankan program. Program dapat dijalankan
dengan beberapa cara yaitu:
 Run (F9)
 Trace Into (F7)
 Step Over (F8)
 Execute To (Alt + F9)
Selama program berjalan akan terlihat perubahan pada register, memori
dan resources yang dipilih sesuai dengan program yang dibuat. Untuk
menghentikan program dapat dilakukan dengan menekan tombol Halt pada
toolbar yang berada di bawah menu bar. Untuk menjalankan program pada waktu
berikutnya, maka harus ditekan toolbar Reset.

III. Daftar Alat dan Bahan

 Simulator 8051 (UMPS)


 Cross assembler 8051 (UMPS)
 IBM PC kompatibel

IV. Keselamatan Kerja

Untuk melaksanakan praktikum Mikroprocessor dan Embedded sistem II


ini diperlukan langkah-langkah untuk keselamatan :
1. Sebelum praktikum dimulai, masing-masing praktikan menyiapkan
jobsheet.
2. Pastikan hubungan kabel power pada komputer sudah tersambung dan
tidak ada kabel yang terbuka, kemudian hidupkan (turn on) MCB panel
pada meja praktikum.
3. Pastikan hubungan komputer dengan peralatan lainnya, seperti keyboard
dan mouse sudah terhubung.
4. Hidupkan komputer, dan tunggu sampai sistem operasi selesai loading dan
sudah dapat digunakan.
5. Jalankan hanya program UMPS.
6. Ketikkan program menggunakan editor assembler pada UMPS.
7. Selesai melaksanakan praktikum, matikan computer dan kembalikan
keyboard dan mouse pada tempatnya, dan matikan MCB pada panel
power di meja kerja.
8. Rapikan kursi dan peralatan lainnya, dan bersihkan meja dari segala kertas
kerja.
V. Langkah Kerja

A. Pemanfaatan CPU Register Window.


1. Jalankan program UMPS.exe
2. Pilih jenis CPU yang hendak disimulasikan dengan cara :
a. Pada Menu pilih Configure
b. Pilih Load CPU
c. Pada bagian Files: Pilih 8031.CPL. Tampilan akan tampak seperti
gambar di bawah ini. Kemudian klik OK.

3. Ketika tampil Demo version seperti gambar di bawah ini, klik OK.
4. Setelah itu buat file baru dengan cara :
a. Pilih Menu File
b. Kemudian pilih New
c. Selanjutnya akan muncul window seperti gambar di bawah ini

5. Selanjutnya ketik baris program berikut :

;--------------------------------------------------------------------------------
;programmer : Muhammad Azhari
;judul program: program penjumlahan sederhana
;abstrak : program ini dilakukan untuk melakukan penjumlahan
sederhana yang inputnya berasal dari r0, r1 dan hasil
dapat dilihat pada register r2
;procedure : none
;register : r0, r1, r2 accumulator
;port : none
;--------------------------------------------------------------------------------
org 00h
ljmp start
org 30h

start:
loopa:
mov a,r0
add a,r1
mov r2,a
jmp loopa
end
6. Simpan dengan nama perc1.asm (nama file tidak boleh pakai spasi)
7. Compile program dengan cara :
8. Pilih menu program  Compile. Pilih file yang akan di compile.
Dalam hal ini pilih perc1.asm, tampilan seperti gambar di bawah ini

9. Klik OK, bila terdap kesalahan maka pada status akan muncul
pesan ERROR PASS 2 seperti pada gambar di bawah ini.

10. Bila tidak terdapat kesalahan, maka tampilan akan terlihat seperti
gambar di bawah ini.
11. Lakukan perbaikan program sampai program di nyatakan tanpa
error.
12. Sebelum simulasi program dilaksanakan, tampilkan semua reister
yang terlibat dalam program dengan cara sebagai berikut.

a. Pada menu pilih Configure


b. Pilih CPU Register
c. Selanjutnya tambahkan register berturut – turut ACC atau
accumulator, R0, R1,dan R2 pada CPU Register dengan cara
menekan toolbar ADD atau klik pada menu Add.

13. Atur tampilan register pada window CPU Register agar tidak
bertumpuk dan dan dapat dilihat isinya.
14. Setelah itu lakukan simulasi program dengan cara klik window
program kemudian pilih mode simulasi. Mode simulasi ada beerapa macam
yaitu :
 Run (F9), atau toolbar GO, Untuk menjalankan simulasi program
dengan alamat awal register PC.
 Step over (F8), menjalankan simulasi program step by step dengan
tidak melakukan proses pada procedur.
 Trice into (F7), menjalankan program step by step,dan beberapa
pilihan lain seperti Until Return (ALT F8) dan backtrece (ALT F7).
15. Pilih mode run dengan cara klik toolbal GO atau tekan F9, program
akan berjalan. Jika program pengulalangan secara terus- menerus maka

program dapat dihentikan dengan cara memilih toolbar HALT

16. Ubah nilai register R0 dan R1 seperti pada table dibawah ini ,
dengan cara klik toolbar EXIT untuk keluar dari window CPU register.
Selanjutnya double click register R0 sehingga tampil kotak set register value
seperti terlihat pada gambar 1.11. ketik nilai dalam bilangan heksa decimal
pada bagian Value, dan selanjut nya klik OK. Lakukan hal yang sama untuk
merubah nilai R1. Nilai-nilai R0 dan R1 seperti terlihat pada table 1.1.

Tabel 1.1 tabel Nilai R0 dan R1


No R0 R2
I. 20h 20h
II. 5Ah A5h
III. 77h 78h
IV. 2Ah A2h
V. 1Fh F1h
VI. 55h 65h
VII 22h 22h
VIII. ABh CDh
IX. CCh 22h
X. 12h BBh

17. Setiap perubahan yang dilakukan untuk nilai R0 dan R1, lakukan
Run dan catat hasilnya untuk ACC,R0, R1, dan R2, seperti pada table 1.2
(Tabel Hasil Percobaan).
18. Setiap kali lakukan run harus diawali dengan toolbar reset agar
running program sesuai dengan perubahan data yang terakhir. Catat hasilnya
seperti pada table hasil percobaan.

VI. Tabel Data Pengamatan


Isikan pada table 1.2 di bawah ini hasil percobaan yang telah dilakukan.
Setiap merubah isi register R0 dan R1 lakukan eksekusi program dengan menekan
RUN (F9) satu kali, atau trace into (F7) berulang-ulang.

Tabel 1.2 Tabel Data Pengamatan

NO R0 R1 ACC R2
I. 20h 20h 40h 40h
II. 5Ah A5h FFh FFh
III. 77h 78H EFh EFh
IV. 2Ah A2h CCh CCh
V. 1Fh F1h 10h 10h
VI. 55h 65h BAh BAh
VII. 22h 22h 44h 44h
VIII. ABh CDh 78h 78h
IX. CCh 22h EEh EEh
X. 12h BBh CDh CDh
VII. Pertanyaan Praktikum
1. Bagaimana cara memilih CPU yang akan digunakan ?
2. Coba sebutkan urutan yang harus dilakukan untuk memilih CPU
register A, PC, R0, R1, dan R2 ?
3. Instruksi apakah yang digunakan untuk memasukkan data lansung ke
dalam register ?
4. Mengapa isi register A dan register R2 sama ?

Jawaban Pertanyaan Praktikum


1. Untuk memilih CPU yang akan digunakan dapat dilakukan dengan cara
sebagai berikut :
 Pada menu pilih Configure
 Pilih Load CPU
 Pada bagian Files : pilih 8031.CPL
2. Untuk memilih CPU register A,R0,R1, dan R2 dapat dilakukan dengan
langkah-langkah sebagai berikut :
 Pilih Configure pada Menu
 Pilih CPU register
 Selanjutnya tambahkan register berturut-turut ACC, R0, R1, dan R2 pada
CPU register dengan menekan toolbar ADD atau klik pada menu ADD.
3. Instruksi yang digunakan adalah mov,#data
4. Karena isi pada register A dipindahkan(copykan) ke register R2 dengan
perintah mov r2,a
VIII. Analisa
Dari praktikum yang telah dilakukan dapat diketahui perintah org untuk
menentukan alamat awal program, dilanjutkan dengan ljmp(long jump) ke alamat
(label) start, kemudian dilanjutkan dengan memberikan label loopa, lalu data pada
register r0 dipindahkan(copy) ke accumulator untuk kemudian ditambahkan
dengan register r1 dengan perintah add a,r1, dan hasilnya dipindahkan(copy) ke
register r2 dengan perintah mov r2,a, lalu dilakukan lompatan ke label (alamat)
loopa dengan perintah jmp loopa, untuk dilakukannya proses perulangan pada
program.

IX. Kesimpulan
Dari hasil praktikum dapat disimpulkan:
o Untuk melakukan proses penjumlahan pada mikrokontroler dapat
menggunakan perintah add.
Daftar Pustaka
Brey, Barry B. 1988. The Intel Microprocessors 8086/8088, 80186, 80286,
80386, and 80486 Architecture, Program and Interfacing, De Bry Institute
of Technologi.
Malik, M.I. & Anistardi, 1997, Bereksperimen dengan Mikrokontroler 8031.PT.
Elex Media Komputindo. Jakarta.
Nalwan, P.A. 2003, Panduan Praktis Teknik Antarmuka dan Pemrograman
Mikrokontroler AT89C51, PT elex Media Komputindo, Jakarta.
Unfecbeck, J.1985. Microcomputer and Microprocessor The 8080, 8085,
Programming, Interfacing and Troubleshooting. Prentice Hall.
Widiatmo, Arianto. 1994. Belajar uP-Mikrokontroler Melalui PC.PT. Elex Media
Komputindo. Jakarta.