Semua divais 8051 mempunyai ruang alamat yang  terpisah            untuk memori program dan memori data, seperti yang ditunjukkan  pada            gambar1.1. dan gambar 1.2. Pemisahan secara logika dari memori  program            dan data, mengijinkan memori data untuk diakses dengan  pengalamatan            8 bit, yang dengan cepat dapat disimpan dan dimanipulasi  dengan CPU            8 bit. Selain itu, pengalamatan memori data 16 bit dapat juga  dibangkitkan            melalui register DPTR. Memori program ( ROM, EPROM dan FLASH )  hanya            dapat dibaca, tidak ditulis. Memori program dapat mencapai  sampai 64K            byte. Pada 89S51, 4K byte memori program terdapat didalam  chip. Untuk            membaca memori program eksternal mikrokontroller mengirim  sinyal PSEN            ( program store enable ) 
         
Gambar 1.1. Diagram blok mikrokontroller 8051
Memori data ( RAM ) menempati ruang alamat  yang terpisah            dari memori program. Pada keluarga 8051, 128 byte terendah  dari memori            data, berada didalam chip. RAM eksternal (maksimal 64K byte).  Dalam            pengaksesan RAM Eksternal, mikrokontroller mingirimkan sinyal  RD ( baca            ) dan WR ( tulis ).
       
Gambar 1.2. Arsitektur Memori Mikrokontroller 8051
 1.1.1. Program Memory
         Gambar 1.2. menunjukkan suatu peta bagian bawah dari memori  program.            Setelah reset CPU mulai melakukan eksekusi dari lokasi 0000H.  Sebagaimana            yang ditunjukkan pada gambar 1.3, setiap interupsi ditempatkan  pada            suatu lokasi tertentu pada memori program. Interupsi  menyebabkan CPU            untuk melompat ke lokasi dimana harus dilakukan suatu layanan  tertentu.          
         Interupsi Eksternal 0, sebagi contoh, menempatai lokasi 0003H.  Jika            Interupsi Eksternal 0 akan digunakan, maka layanan rutin harus  dimulai            pada lokasi 0003H. Jika interupsi ini tidak digunakan, lokasi  layanan            ini dapat digunakan untuk berbagai keperluan sebagai Memori  Program.
Gambar 1.3. Peta Interupsi mikrokontroller 8051
         1.1.2 Memory Data
         Pada gambar 1.2. menunjukkan ruang memori data internal dan  eksternal            pada keluarga 8051. CPU membangkitkan sinyal RD dan WR yang  diperlukan            selama akses RAM eksternal. Memori data internal terpetakan  seperti            pada gambar 1.2. Ruang memori dibagi menjadi tiga blok, yang  diacukan            sebagai 128 byte lower, 128 byte upper dan ruang SFR.
         Alamat memori data internal selalu mempunyai lebar data satu  byte. Pengalamatan            langsung diatas 7Fh akan mengakses satu alamat memori, dan  pengalamatan            tak langsung diatas 7Fh akan mengakses satu alamat yang  berbeda. Demikianlah            pada gambar 1.4 menunjukkan 128 byte bagian atas dan ruang SFR  menempati            blok alamat yang sama, yaitu 80h sampai dengan FFh, yang  sebenarnya            mereka terpisah secara fisik
         128 byte RAM bagian bawah dikelompokkan lagi menjadi beberapa  blok,            seperti yang ditunjukkan pada gambar 1.5. 32 byte RAM paling  bawah,            dikelompokkan menjadi 4 bank yang masing-masing terdiri dari 8  register.            Instruksi program untuk memanggil register-register ini  dinamai sebagai            R0 sampai dengan R7. Dua bit pada Program Status Word (PSW)  dapat memilih            register bank mana yang akan digunakan. Penggunaan register R0  sampai            dengan R7 ini akan membuat pemrograman lebih efisien dan  singkat, bila            dibandingkan pengalamatan secara langsung.
Gambar 1.4. Memori data internal
Gambar 1.5. RAM internal 128 byte paling bawah
Semua pada lokasi RAM 128 byte paling bawah dapat diakses baik dengan menggunakan pengalamatan langsung dan tak langsung. 128 byte paling atas hanya dapat diakses dengan cara tak langsung, gambar 1.6.
       
Gambar 1.6. RAM internal 128 byte paling atas
1.1.3. Special Function Register
Sebuah peta memori yang disebut ruang special  function            register ( SFR ) ditunjukkan pada gambar berikut. Perhatikan  bahwa tidak            semua alamat-alamat tersebut ditempati, dan alamat-alamat yang  tak ditempati            tidak diperkenankan untuk diimplementasikan. Akses baca untuk  alamat            ini akan menghasilkan data random, dan akses tulis akan  menghasilkan            efek yang tak jelas.
         Accumulator
         ACC adalah register akumulator. Mnemonik untuk instruksi  spesifik akumulator            ini secara sederhana dapat disingkat sebagai A.
         Register B
         Register B digunakan pada saat opersi perkalian dan pembagian.  Selain            untuk keperluan tersebut diatas, register ini dapat digunakan  untuk            register bebas.
         Program Status Word
         Register PSW terdiri dari informasi status dari program yang  secara            detail ditunjukkan pada Tabel 1.1.
         Stack Pointer
         Register Pointer stack mempunyai lebar data 8 bit. Register  ini akan            bertambah sebelum data disimpan selama eksekusi push dan call.  Sementara            stack dapat berada disembarang tempat RAM. Pointer stack  diawali di            alamat 07h setelah reset. Hal ini menyebabkan stack untuk  memulai pada            lokasi 08h.
         Data Pointer
         Pointer Data (DPTR) terdiri dari byte atas (DPH) dan byte  bawah (DPL).            Fungsi ini ditujukan untuk menyimpan data 16 bit. Dapat  dimanipulasi            sebagai register 16 bit atau dua 8 bit register yang berdiri  sendiri.
 
 
0 komentar:
Posting Komentar
Anda dapat menggunakan beberapa tag HTML, seperti <b>, <i>, <a>
Penting: Jika anda tidak memiliki account gmail pilih Name/URL pada form ini