Anda di halaman 1dari 6

3.

AKSES MEMORI ROM DALAM MIKROKONTROLER 8031


3.1 Tujuan 1. Dapat menggunakan memori ROM untuk mendukung pembuata program pada mikrokontroler keluarga mcs-51 2. Dapat menggunakan recources pada UMPS seperti internal RAM eksternal RAM, cpu register untuk mendukung simulasi program yang menggunakan memori ROM pada mikrokontroler MCS-51.

3.2 Dasar teori UMPS adalah singkatan dari Universal Microprosesor Program Simulator, yaitu simulator pemrograman mikrokontroler yang universal, yang dapat mensimulasikan pemrograman mikrokontroler untuk banyak tipe seperti 8031,8032,ATMEG161, ATMEG, 603,68HC11, PIC, SUNPLUS, dan lain sebagainya. ROM(Read Only Memory) adalah memory yang tersedia di dalam chip mikrokontroler yang dapat di akse dan dapat di program. Memori ROM biasanya digunakan untuk menempatkan program. Dalam UMPS ROM adalah sebuah memori internal yang menempati alamat memori program mulai dari 0000h samapai FFF0h. ROM adalah microcontroller AT89C51berupa memori yang bersifat PEROM, yaitu memori yang dapat di program dan juga dapat dihapus secara berulang dengan menggunakan program. Alamat ROM akan diakses oleh register-register program yang secara khusus digunakan untuk menyimpan program,instruksi, dan data sementara. Secara fisik memori ROM dan internal RAM terpisah namun masih satu paket didalam sebuah chip mikrokontroler. Memori RAM dimulai dari alamat 00h-FFh, sedangkan ROM yang bersifat programmable dan erasable menempati alamat mulai 0000h-0FF0h (4 K byte). Beberapa chip mikrokontroler ada yang mempunyai ROM sampai 8 Kbyte misalnya mikrokontroler 8052 atau atmel AT89S52. Walaupun memori ROM masih dalam sati chip dengan RAM, untuk mengakses ROM digunakan perintah yang berbeda dengan akses RAM, yaitu

movc, sedangkan untuk mengakses internal RAM cukup menggunakan perintah mov. Untuk mengakse ROM diperlukan alamat memori alamat 8-bit. Untuk mengakse memori ROM diperlukan register 16-bit, yaitur register DPTR . register DPTR terdiri dari 2 buah register 8 bit yaitu DPL (Data Pointer Low) DPH (Data Pointer High). Dengan menggunakan kedua register pointer tersebut , user cukup mengetikkan DPTR yang berarrti bahwa pengguaan kedua register tersebut dipasangkan.

3.3 Daftar alat dan bahan Simulator 8051(UMPS) PC compatible

3.4 Langkah kerja 1. Jalankan program UMPS.exe 2. Pilih jenis CPU Configure Pilih Load CPU Pada bagian file : pilih 8031.cpl. kemudian klik OK 3. Ketika tampilan demo version. Dan kemudian klik OK 4. Buka file baru : dari menu pilih file dan kli new 5. Ketik program di bawah ini
org 00h ljmp mulai ;---------------------;data lcd ;--------------------dlcd: db db db db db db db db db db db 05h 06h 07h 08h 09h 0ah 0bh 0ch 0dh 0eh 0fh mulai: mov dptr, #dlcd mov r0, #0ah loop: mov a, #00h movc a, @a+dptr mov b, a inc dptr djnz r0, loop mov a, #0fh end

6. Simpan dengan nama perc3.asm 7. Lakukan compile File sampai program dinyatakan bener dengan tampilan seperti gambar di bawah ini

Gambar 3.1 Program di-compile 8. Tampilan memori ROM dengan cara: Pada menu pilih configure Pilih option ROM, dan akan mncul tampilan ROM

Gambar 3.2 Tampilan Memori ROM

9. Tampilan register CPU, masing-masing untuk register DPTR,ACC,R),PC, dan register B dengan cara: 10. Pada menu pilih configure dan pilih CPU register, selanjutnya masingmasing pilih register ACC,DPTR,R0,PC, dan register B. 11. Kemudian tampilkan CPU register dalam tampilan Hexa-Desimal.

Gambar 3.3 Tampilan CPU Register 12. Simulasi program dengan menggunakan mode trace into (tekan tombol F7) 13. Lakukan langkah 12 secara berulang sampai isi register R0 menjadi 00h, dan cata hasilnya dalam table. Setiap satu kali menekan tombol F7. Catat masing-masing untuk register ACC,B,R0,PC,dan DPTR. 14. Catat hasil percobaan untuk data pada alamat ROM dari alamat 0000h001Fh.

3.5 Tabel Data Pengamatan Tombol F7 1x 2x 3x 4x 5x 6x 7x 8x 9x 10x 11x 12x 13x 14x 15x 16x 17x
REGISTER R0

ACC

DPTR

PC

00 00 00 05 05 05 05 00 06 06 06 06 00 07 07 07 07

00 00 00 00 05 05 05 05 05 06 06 06 06 06 07 07 07

00 0A 0A 0A 0A 0A 09 09 09 09 09 08 08 08 08 08 07

0001 0003 0003 0003 0004 0004 0004 0004 0004 0004 0005 0005 0005 0005 0005 0006 0006

0001 0013 0015 0016 0018 0019 0013 0015 0016 0018 0019 0013 0015 0016 0018 0019 0013

18x 19x 20x 21x 22x 23x 24x 25x 26x 27x 28x 29x 30x 31x 32x 33x 34x 35x 36x 37x 38x 39x 40x 41x 42x 43x 44x 45x 46x 47x 48x 49x 50x 51x 52x 53x

00 08 08 08 08 00 09 09 09 09 00 0A 0A 0A 0A 0A 00 0B 0B 0B 0B 00 0C 0C 0C 0C 00 0D 0D 0D 0D 00 0E 0E 0E 0F

07 07 08 08 08 08 08 09 09 09 09 09 0A 0A 0A 0A 0A 0A 0B 0B 0B 0B 0B 0C 0C 0C 0C 0C 0D 0D 0D 0D 0E 0D 0E 0E

07 07 07 07 06 06 06 06 06 05 05 05 05 05 04 04 04 04 04 04 03 03 03 03 03 02 02 02 02 02 01 01 01 01 01 00

0006 0006 0006 0007 0007 0007 0007 0007 0008 0008 0008 0008 0008 0009 0009 0009 0009 0009 0009 000A 000A 000A 000A 000A 000B 000B 000B 000B 000B 000C 000C 000C 000C 000C 000D 000D

0015 0016 0018 0019 0013 0015 0016 0018 0019 0013 0015 0016 0018 0019 0013 0015 0016 0018 0019 0013 0015 0016 0018 0019 0013 0015 0016 0018 0019 0013 0015 0016 0018 0019 0013 07PE

Pertanyaan praktikum

1. Berapa kalikah anda menekan Tombol trace into (F7) samapai program selesai? 2. Bagaimanakah hasilnya bila R0, diganti dengan R7 dan R7 diganbti menjadi R0? 3. Apa bedanya instruksi mov dengan instruksi Movc.?

Jawaban praktikum 1. Praktikan menekan sampai 53 kali Tombol trance into (F7)

2. Apabila R0 di ubah menjadi R7, otomatis pada program harus digantikan R0 menjadi R7. Jadi hasilnya akan serupa dengan hasil R0

3. Perbedaan instruksi mov dengan instruksi movc adalah : Apabila instruksi mov aksesnya digunakan ke eksternal RAM , sedangkan instruksi movc aksesnya digunakan ke eksternal ROM.

Anda mungkin juga menyukai