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.