Struktur Perangkat Keras AT89C51
Gambar 2.4 Blok struktur memori
Pada gambar 2.4 menggambarkan tentang struktur memori pada mikrokontroler AT89C51. Mikrokontroler AT89C51 mempunyai struktur memori
yang terdiri atas : 1. RAM internal, memori sebesar 128 byte yang biasanya digunakan untuk
menyimpan variabel atau data yang bersifat sementara. 2. Special Function Register Register Fungsi Khusus, memori yang berisi
register-register yang mempunyai fungsi-fungsi khusus yang disediakan oleh mikrokontroler tersebut, seperti timer, serial dan lain-lain.
3. Flash PEROM, memori yang digunakan untuk menyimpan instruksi-instruksi MCS51. Mikrokontroler AT89C51 memiliki pembagian ruang alamat address
space untuk memori program dan memori data. Walaupun demikian, alamat data memori 16 bit dapat dihasilkan melalui register DPTR Data Pointer
Register. Struktur memori mikrokontroler AT89C51 dibagi menjadi dua bagian, yaitu memori program dan memori data.
Memori program internal mikrokontroler AT89C51 sebesar 4 Kbyte yang digunakan untuk menyimpan data program yang dijalankan untuk operasi
mikrokontroler. Penyimpanan program di dalam memori program internal dilakukan dengan bantuan pemrogram chip IC EPROM Programmer. Memori
program internal ini dijalankan pada saat mikrokontroler mendapat sumber catu daya, dan sumber detak. Memori program ini hanya dapat dibaca tidak bisa
ditulisi karena disimpan dalam EPROM. Selain menggunakan memori program internal, mikrokontroler juga dapat dioperasikan dengan memori program
eksternal. Sinyal yang membolehkan pembacaan dari memori program eksternal adalah dari pena program store enable PSEN. Setelah reset, CPU akan
mengeksekusi mulai pada alamat 0000H. Setiap interupsi mempunyai lokasi tetap dalam memori program. Interupsi akan menyebabkan CPU melompat ke lokasi
tersebut, pada lokasi tersebut terdapat sub rutin yang harus dilaksanakan. Memori data terletak pada ruang alamat terpisah dari memori program RAM
eksternal 64 Kbyte dapat dialamati dalam ruang memori data eksternal CPU menghasilkan sinyal read dan write selama menghubungi memori data eksternal.
Untuk melaksanakan pembacaan atau penulisan, mikrokontroler akan mengirimkan sinyal RD dan WR. RAM yang digunakan mempunyai kapasitas 8
Kbyte. Ruang memorinya dibagi menjadi tiga blok, yaitu sebagai lower 128, upper 128 dan 128 byte SFR Special Function Register.
Tiga puluh dua byte paling bawah dikelompokkan dalam 4 bank 8 register yaitu R0-R7. Dua bit dalam Program Status Word PSW memilih register bank
yang digunakan. Sedangkan ruang special function register space yang berisi panahan port port latch, pewaktu timer, pengontrol peripheral, dan lain-lain.
Register-register ini hanya dapat dihubungi dengan pengalamatan langsung.