Pada kesempatan ini kita coba membahas tutorial
pemograman mikrocontroller 8051. Untuk itu ada beberapa hal yang harus kita
pahami dulu sebelum nya, yaitu :
Organisasi Memori mikrokontroller 8051
Mikrokontroller 8051 memiliki 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 )
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 ).
Arsitektur Memori Mikrokontroller 8051
Program Memori mikrokontroller 8051
Gambar diatas menunjukkan suatu peta
bagian bawah dari memori program. Setelah reset CPU mulai melakukan eksekusi
dari lokasi 0000H. Sebagaimana yang ditunjukkan pada gambar peta interupsi,
setiap interupsi ditempatkan pada suatu lokasi tertentu pada memori program.
Interupsi menyebabkan CPU untuk
melompat ke lokasi dimana harus dilakukan suatu layanan tertentu.
Contoh
Interupsi Eksternal 0, 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.
Peta Interupsi mikrokontroller 8051
Memori Data mikrokontroller 8051
Lihat Gambar arsitektur
mikrokontroller 8051, ini 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.
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.
Memori data internal 8051
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.
RAM internal 128 byte paling atas
Demikianlah tutorial pemograman 8051
khususnnya tentang memori, selanjutnya masih kita perlu juga mengetahui tentang
register sebelum masuk kepada pemogramanya. Lihat artikel tutorial pemograman
mikrokontroller 8051 : Register
0 komentar:
Posting Komentar