Organisasi Mikrokontroler AT89C51

Posted on | Wednesday, January 5, 2011 | No Comments

AT89C51 yang merupakan versi EEPROM dari 8051yang program memorinya dapat diprogram dan dihapus secara elektrik. AT89C51 mempunyai lokasi alamat yang terpisah untuk program memori dan data memori

Pemisahan memori program dan data tersebut membolehkan memori data diakses dengan alamat 8 bit, sehingga dapat dengan cepat dan mudah disimpan dan dimanipulasi oleh CPU 8 bit. Namun demikian, alamat memori data 16-bit bisa juga dihasilkan melalui register DPTR.


Blok Diagram Inti Dari AT89C


Memori Program

Memori program hanya bisa dibaca saja karena bersifat sebagai ROM. Memori ini disimpan dalam Flash PEROM. Memori program yang bisa diakses langsung hingga 64 Kbyte. Pada gambar memori program terdapat strobe (tanda) untuk akses memori program eksternal melalui sinyal (Program Strobe Enable).

Mikrokontroler AT89C51 mempunyai 4 Kbyte memori program internal. Bila memakai memori program eksternal, maka pin ` ’ diberi logika Low. Apabila ingin memakai emori program internal pin diberi logika High.

Memori Data

Memori data menempati ruang alamat terpisah. Memori eksternalnya dapat diakses secara langsung hingga 64 Kbyte. CPU akan memberikan sinyal baca dan tulis selama mengakses memori data eksternal.Perincian ruang memori data internal dibagi menjadi tiga blok yaitu, 128 lower, 128 upper, dan Register Fungsi Khusus (Special Function Register = SFR). Pengaksesan langsung dengan alamat diatas 7FH mengakses suatu memori, sedangkan pengaksesan tak langsung dengan alamat di atas 7FH mengakses ruang memori lain yang berbeda. Pada memori data internal 128 byte lower terdapat empat bank dan delapan register (Ro...R7).

Pengalamatan langsung dari 80H sampai FFH tergolong dalam SFR. Berikut fungsi yang terdapat dalam SFR. Program Status Word (PSW) PSW berisi bit-bit status yang berkaitan dengan kondisi CPU saat itu. PSW terletak dalam ruang SFR pada lokasi D0H.

1. Akumulator
ACC atau akumulator menempati lokasi E0H dan digunakan sebagai register untuk penyimpanan data sementara dalam program.

2. Register B
Register B terletak pada lokasi F0H. Register ini digunakan selama operasi perkalian dan pembagian. Saat intstruksi MUL AB terjadi perkalian antara akumulator dengan data yang tersimpan dalam register B dan hasilnya 16 bit disimpan dalam register B dan akumulator (A). Instruksi DIV AB melakukan pembagian antara akumulator dengan data yang tersimpan dalam register B.

3. Stack Pointer (SP)
Register SP terletak pada lokasi 81H. SP merupakan register dengan panjang 8 bit dan digunakan dalam proses simpan dan ambil dari/ke stack.

4. Data Pointer
Register Data Pointer atau DPTR mengandung byte tinggi (DPH) dan byte rendah (DPL) masing masing berada di lokasi 83H dan 82H. DPTR dapat dimanipulasi sebagai dua register 8 bit yang terpisah.

5. Port 0, Port 1, Port 2, Port 3
P0, P1, P2, P3 masing-masing menempati lokasi 80H, 90H, A0H, dan B0H.

6. Register Kontrol (Control Register)
Pada register kontrol terdapat TMOD sebagai pewaktu.

7. Timer Register
Timer register merupakan register pencacah 16 bit. Timer 0 high dan timer 0 low terdapat pada masing-masing 8CH dan 8AH. Timer 1 high dan Timer 1 low terdapat dilokasi 8DH dan 8BH.


Share

print halaman iniPrint halaman ini

Baca Juga Ini





Comments

Silahkan tuliskan komentar atau pertanyaan anda...!!!

Search

Pilih Bahasa

English French German Spain Italian Dutch

Russian Brazil Japanese Korean Arabic Chinese Simplified
Translate Widget by Google

Berlangganan

Enter your email address:

Delivered by FeedBurner


subscribe

Komunitas

Blog Info

  • Total Posts: 387
  • Total Comments: 33


Free Page Rank Tool
IP
free counters