Anda di halaman 1dari 10

Zulfazli Praktikum 1

PEMANFAATAN MEMORI RAM DALAM 8031

I. Tujuan

1. Praktikan dapat menggunakan simulator UMPS untuk melihat isi RAM


internal dan RAM eksternal pada 8031.
2. Praktikan dapat membedakan alamat RAM internal dan RAM eksternal.

II. Dasar Teori

Mikrokontroler keluarga MSC-51 khususnya mikrokontroler dengan CPU


8031 mempunyai memori internal dari alamat 00h – FFh dan memori Flash
PEROM dengan alamat 000h – 7FFh. Internal RAM dengan Flash PEROM
adalah dua memori yang saling terpisah satu dengan lainnya. RAM internal
digunakan untuk register Bank, Bit Addressable, general Purpose RAM dan
Spesial Function Register, sedangkan Flash PEROM digunakan untuk alamat
yang digunakan untuk menyimpan instruksi dalam bentuk bilangan hexa-
decimal.
Memori Internal dalam bentuk bilangan hexa-decimal.
Register Bank dengan alamat dari 00h – 1Fh
Register ini terdiri dari register R0, R1, R2, R3, R4, R5, R6 dan R7.
Register ini menempati alamat berturut-turut dari 00h – 07h (bank 0).
Bank ini dapat dipindah ke bank 1 pada alamat dari 08h – 0Fh, atau bank 2
pada alamat 10h – 17h, ke bank 3 pada alamat 18h – 1Fh.
Bit Addressible dengan alamat dari 20h – 2Fh.
Alamat ini digunakan untuk menyimpan data yang dapat dialamati secara
bit.
User RAM / General Purpose RAM dengan alamat dari 30h – 7Fh.
Alamat ini dapat digunakan oleh user untuk menyimpan data secara bebas.
Special Function register dengan alamat dari 80h – FFh.
Alamat ini digunakan untuk menyimpan data register khusus seperti
register untuk Program Status Word (PSW), register Timer/Counter,

1
Zulfazli Praktikum 1

register untuk Port, dan register SFR lainnya. UMPS membagi internal
RAM dua bagian yaitu internal RAM sendiri dari alamat 00h – 7Fh, dan
SFR (Special Function Register) area dari alamat 80h – FFh.
Untuk menampilkan window internal RAM dapat dilakukan dengan
memilih menu Cofigure  internal RAM, dan untuk SFR dapat memilih
menu Configure  SFR area. Tampilan seperti gambar 2.1 di bawah ini.

Gambar 2.1 Internal RAM dan SFR area

Dengan memahami skema memori MCS-51, maka programmer dapat


melakukan pengaturan program dan memori agar tidak terjadi overlapping
penggunaan memori. Beberapa program biasanya menggunakan interrupt
pada alamat awal sehingga program perlu diatur agar tidak mengganggu isi
register dan vector interrupt. Dengan demikian program yang dirancang dan
aplikasikan tidak menyalahi logika program yang diinginkan oleh
programmer.

III. Daftar Alat dan Bahan

Simulator 8051 (UMPS)


Cross assembler 8051 (UMPS)
IBM PC kompatibel

2
Zulfazli Praktikum 1

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

1. Jalankan UMPS.exe
2. Pilih CPU Register 8031.cpl
3. Buka file baru (new)
4. Ketik program dibawah ini

3
Zulfazli Praktikum 1

;-------------------------------------------------------------------------------------------
; programmer : Zulfazli
; judul program : program pemanfaatan memori internal dan eksternal
; abstrak : program ini digunakan untuk melakukan penjumlahan
; yang diinputnya berasal dari RAM internal alamat
; 30h dan 31h hasilnya diletakkan di RAM eksternal
; alamat 0030h
; procedure : none
; register : accumulator
; port : none
;-------------------------------------------------------------------------------------------

org 00h
ljmp start
org 30h
start:
loopa:
mov a,30h ; load accumulator dengan data pada alamat 30h
add a,31h ; tambah dengan data pada alamat 31h
mov dptr,#0030h ; load reg,dptr dengan data 30h
movx @DPTR,a ; load address eksternal 0030h dengan register dpl dan dph
sjmp loopa
end

5. Simpan dengan nama perc2.asm


6. Lakukan Compile file perc2.asm. bila terdapat kesalahan pada baris
program, perbaiki sampai muncul pesan tidak terjadi kesalahan pada
program.
7. Sebelum melakukan simulasi, tampilkan display internal RAM dengan
cara :

4
Zulfazli Praktikum 1

a. Pilih menu Configure


b. Pilih display internal RAM. Address position digunakan untuk
meletakkan kursor pada alamat yang ditunjuk address position.
Tampilam seperti pada gambar 2.2 di bawah ini.
8. Selanjutnya OK
9. Selanjutnya pilih display external RAM dengan cara :
a. Pilih menu Configure.
b. Pilih display External RAM, address Positon digunakan untuk
meletakkan kursor pada alamat yang ditunjukkan address position.
Ketik angka 0030h lalu klik OK
c. Eksternal RAM mempunyai alamat dari 0000h sampai FFFFh

Gambar 2.2 Tampilan Memori configuration

Gambar 2.3 Tampilan RAM Internal

10. Sebelum dilakukan simulasi, isikan data ke RAM internal berupa angka
heksa decimal dengan cara :

5
Zulfazli Praktikum 1

a. Klik pada alamat RAM Internal (30h) kemudian ketik angka dalam
heksa decimal. Klik pada alamat RAM internal (31h) kemudian ketik
angka heksa decimal.

Gambar 2.4 Tampilan RAM Eksternal

11. Kemudian lakukan simulasi step over dengan cara menekan tombol F7
secara berulang-ulang sampai akhir baris program.
12. Lakukan Simulasi untuk data seperti pada table 2.1 di bawah ini, dan lihat
hasilnya pada alamat RAM eksternal (0030h) dan catat pada hasil
percobaan.
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

6
Zulfazli Praktikum 1

VI. Tabel Data Pengamatan

Isikan pada table 2.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 Alamat 30h Alamat 31h Alamat 0030h


I. 20h 20h 40
II. 5Ah A5h FF
III. 77h 78H EF
IV. 2Ah A2h CC
V. 1Fh F1h 10
VI. 55h 65h BA
VII. 22h 22h 44
VIII. ABh CDh 78
IX. CCh 22h EE
X. 12h BBh CD

VII. Pertanyaan Praktikum

1. Apa perbedaan internal RAM dan eksternal RAM…?


2. Bagaimana cara mengalamati internal RAM dan bagaimana pula cara
mengalamati eksternal RAM…?
3. Apakah perbedaan instruksi add a,31h dan add a,#31h…?

7
Zulfazli Praktikum 1

VIII. Jawaban Pertanyaan

1. Perbedaan antara Internal RAM dengan eksternal RAM adalah


Internal RAM digunakan untuk memasukkan inputan sedangkan Eksternal
RAM digunakan untuk hasil output yang telah di masukkan input dari
internal RAM.
2. Caranya adalah :
 Internal RAM
a) Pilih Menu Configure
b) Pilih display Internal RAM Address position digunakan
untuk meletakkan kursor pada alamat yang ditunjuk address
position
Tampilan seperti pada gambar 2.2 di bawah ini

 Eksternal RAM
a) Pilih Menu Configure
b) Pilih Display External RAM .Address position digunakan
untuk meletakkan kursor pada alamat yang ditunjukkan
address position.
Ketik angka 0030h lalu klik OK.

3. perbedaanya adalah :
Instruksi add a,31h berfungsi untuk menambahkan isi accumulator
dengan data pada alamat 31h.Sedangkan instruksi add a,#31h yaitu
berfungsi untuk menambahkan isi accumulator dengan data 31h

8
Zulfazli Praktikum 1

IX. Analisa

Dari praktikum ini dapat menganalisa bahwa Mikrokontroler keluarga MSC-


51 khususnya mikrokontroler dengan CPU 8031 mempunyai memori internal dari
alamat 00h – FFh dan memori Flash PEROM dengan alamat 000h – 7FFh.
Internal RAM dengan Flash PEROM adalah dua memori yang saling terpisah satu
dengan lainnya. RAM internal digunakan untuk register Bank, Bit Addressable,
general Purpose RAM dan Spesial Function Register, sedangkan Flash PEROM
digunakan untuk alamat yang digunakan untuk menyimpan instruksi dalam
bentuk bilangan hexa-decimal.

Dasar-dasar pemrograman dengan software UMPS pada program ini terdapat


penulisan-penulisan yang berwarna hijau, seperti ORG yang menandakan Label,
sedangkan penulisan yang berwarna merah menandakan alamat,dan penulisan
yang berwarna hitam tebal menandakan instruksi. Ljmp start : yaitu long jump
atau lompat dengan kejauhan sekitar 2 Kb. kemudian instruksi mov a,30h yang
berfungsi untuk mengcopy data dari isi 30 ke accumulator.add a,31h yaitu untuk
yaitu menambahkan 31h dengan isi accumulator.selanjutnya mov dptr,#0030h
yaitu load reg,dptr dengan data 30h. movx @DPTR,a yaitu load address
eksternal 0030h dengan register dpl dan dph.kemudian Sjmp Loopa yaitu lompat
kembali ke Label Loopa dengan panjannya ratusan byte.

X. Kesimpulan

Dari hasil praktikum ini maka dapat diambil kesimpulan bahwa program ini
digunakan untuk melakukan penjumlahan yang inputnya berasal dari RAM
internal alamat 30h dan 31h hasilnya di letakkan di RAM eksternal alamat 0030h.

XI. Daftar Pustaka


Khairil, Zulfan. 2010. Pemanfaatan Memori RAM dalam 8031,
Buketrata : Politeknik Negeri Lhokseumawe.

9
Zulfazli Praktikum 1

10

Anda mungkin juga menyukai