Penjelasan memori data AT89C51/52
![]() |
| Gambar 1.2 memori program dan memori data |

Bagian kanan dari gambar 1.2 menampilkan memori data internal dan eksternal yang tersedia pada mikrokontroler flash dari atmel. Pada gambar 1.5 ditunjukan suatu konfigurasi perangkat keras untuk mengakses RAM hingga 2K byte. Dalam hal ini,CPU mengeksekusi intruksi pada Flash internal. PORT 0 bertindak sebagai bus alamat/data yang termultipleks ke RAM dan 3 jalur pada port 2 dugunakan untuk menghalamani (page) RAM. CPU menghasilkan sinyal sinyal RD atau WR seuai kebutuhan selama pengaksesa RAM eksternal.
Anda dapat menentukan data eksternal hingga 64K byte. Alamat memori data eksternal bisa 1 atau 2 byte. Alamat 1 byte sering digunakan untuk membantu satu atau lebih jalur I/O dalam penghalamanan RAM, sebagai mana di tunjukan pada gambar 1.5 . Alamat dua byte dapat di pakai dalam kasus jika byte alamat tinggi dikirim melalui port 2.
Memori data internal ditunjukan pada gambar 1.6 . Ruang memori dapat di bagi menjadi tiga blok, yang di kenal sebagai 128 bawah (lower 128), 128 atas (upper 128) dan register fungsi khusus ( Spesial fungsi Register=SFR ).
![]() |
| Gambar 1.5 pengaksesan memori data eksternal |

Jika memori program nya internal, maka P2 bisa digunakan sebagai jalur I/O
![]() |
| Gambar 1.6 memori data internal |

Alamat memori data internal selalu 8-bit atau 1-byte, yang konsekuesinya hanya mampu mengalamati hingga 256 byte saja. Namun demikian, mode mode pengalamatan RAM internal ( faktanya ) bisa mengakomodasi hingga 384 byte. Pengaksesan langsung (direct addressing) dengan alamat di atas 7Fh mengakses suatu memori, sedangkan pengaksesan tak langsung (indirect adressing) dengan alamat di atas 7Fh mengakses ruang memori lain yang berbeda perhatikan gambar 1.6. Sehingga gambar 1.6 memperlihatkan 128 atas dan SFR menempati blok yang sama 80h hingga FFh, walaupun secara fisik terpisah.
Pada gambar 1.7 ditunjukan bagian RAM 128 byte bawah petakan. 32 byte bawah dikelompokan menjadi 4 bank dan 8 register (R0 hingga R7). Dua bit pada PSW (program status word) digunakan untuk memilih kelompok register mana yang digunakan. Arsitektur ini membolehkan penggunaan ruang kode secara lebih efisien, karena intruksi intruksi register lebih pendek dari pada intruksi intruksi menggunakan pengalamatan langsung.
16 byte berikut nya,di atas bank bank register (gambar 1.7), membentuk suatu blok ruang memori yang bisa teralamati per bit (bit addressable). Kumpulan intruksi mikrokontroler ini memiliki berbagai pilihan intruksi intruksi tunggal dan intruksi intruksi ini mampi secara langsung mengalamati 128 bit dalam area ini. Alamat alamat bit ini adalah 00h hingga 7Fh.
Semua byte yang berada di dalam 128 bawah dapat di akses baik secara langsung maupun tidak langsung. Bagian 128 atas (gambar 1.8) hanya dapat diakses dengan pengalamatan tak langsung. Bagian 128 atas dari RAM hanya ada dalam piranti yang memiliki RAM berukura 256 byte.
![]() |
| Gambar 1.7 bagian 128 byte rendah RAM internal |

![]() |
| Gambar 1.8 bagian 128 nyte atas RAM internal |

![]() |
| Gambar 1.8 Ruang SFR |
Pada gambar 1.9 ditunjukan ruang register fungsi husus - SFR secara singkat dalam RAM internal lokasi 80h hingga 7Fh. SFR ini mencakup port port, pewaktu (timer), kontrol periferal dan lain lain. Register register ini hanya bisa di akses dengan pengalamatan langsung. Secara umum ,semua mikrokontroler Atmel memiliki alamat alamat SFR yang sama dalam ruang SFR sebagai mana dalam AT89C51/52 serta mikrokontroler lain yang kompatibel. Bagaimanapun juga, peremajaan AT89C51/52 memiliki beberapa SFR tambahan. Enam belas alamat dalam ruanga SFR dapat di akses baik secara byte maupun bit. SFR teralamati bit memiliki format alamat awal yang khusus yaitu xxxx x000b atau dalam format hexa desimal 0xh dan x8h, misalnya 80h ( mulai dari 80h hingga 87h ) untuk P0, 88h untuk TCON dan seterusnya.






Comments
Post a Comment