Upload
azh3
View
330
Download
10
Embed Size (px)
Citation preview
DASAR-DASAR PEMROGRAMANDENGAN 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 loopaend
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.