Minggu, 28 Desember 2008

C. ORGANISASI MEMORI

Semua produk mikrokontroler Flash AT89S51 Atmel memiliki ruang alamat memori data dan program yang terpisah, sebagaimana ditunjukkan pada gambar 2 .Pemisahan memori program dan data tersebut membolehkan memori data diakses dengan alamat 8 bit, sehingga dapat dengan cepat dan dengan mudah disimpan dan dimanipulasi oleh CPU 8 bit. Namun demikian, alamat memori data 16 bit bisa juga dihasilkan melalui register DPTR.
Picture 2()

Memori Program
Pada gambar 3 ditunjukan pemetaan bagian bawah dari memori program. Setelah reset, CPU segera mengerjakan program mulai dari lokasi 0000h.
Picture 3().

Sebagaimana ditunjukan pada gambar 3, masing-masing interupsi disimpan pada lokasi yang sudah tetep dalam memori program. Sebuah interupsi menyebabkan CPU melompat ke lokasi interupsi yang bersangkutan. Yaitu letak sub-rutin layanan interupsi tersebut. Misalnya, External Interupt 0 disimpan pada lokasi 0003h, jika interupsi ini digunakan maka layanan rutin interupsi ini harus dituliskan pada lokasi ini, jika tidak maka lokasi tersebut dipakai sebagai memori program serbaguna (untuk keperluan lain ).
Lokasi-lokasi layanan interupsi tersebut menempati lokasi-lokasi dengan jarak 8 byte. 0003h untuk External Interupt 0, 000Bh untuk timer 0, 0013h untuk External Interupt 1, dan seterusnya. Jika seluruh rutin layanan interupsi sangat pendek (kurang dari 8 byte) ,maka seluruh rutin bisa disimpan pada lokasi yang bersangkutan (sesuai dengan interupsi yang digunakan) . Jika terlalu panjang ( lebih dari 8 byte) maka harus digunakan suatu perintah lompat ke lokasi rutin interupsi yang sebenarnya (di lokasi dalam memori program).
Alamat-alamat yang paling bawah dari memori program dapat berada dalam flash on-chip maupun eksternal. Untuk melakukan hal ini dilakukan pengkabelan pada pin EA atau External Access ke Vcc atau ke GND ( akses eksternal ) sesuai dengan kebutuhan.


Memori Data
Memori data internal dipetakan seperti pada gambar 4. Ruang memorinya dibagi menjadi tiga blok,yaitu sebagai lower 128, upper 128, dan ruang SFR (special function register).
Picture 4().


Bagian bawah dari 128 byte RAM dipetakan seperti terlihat pada gambar 5. Tiga puluh dua byte paling bawah dikelompokan dalam 4 bank ( 8 register ) yaitu R0 sampai R7. Dua bit PSW (Program Status Word) memilih register bank yang digunakan.

Picture5()


Gambar 6 menunjukan ruang SFR. SFR berisi penahan port (port latch), pewaktu (timer), pengontrol peripheral, dan lain-lain. Register ini hanya dapat diakses oleh pengalamatan langsung.

Picture 6().

SFR terdiri dari Akumulator, Register B, Stack Pointer, Data Pointer, Port0, Port1, Port2, Port3, Serial Data Buffer dan Control Register.

1 comments:

Anonim mengatakan...

gambarnya manaaa mas...???

Poskan Komentar