Mikrokontroler 89C51 adalah mikrokontroler dengan arsitektur MCS51 seperti 8031 dengan memori Flash PEROM (Programmable and Erasable Read Only Memory).
DESKRIPSI PIN
STRUKTUR MEMORI
Memori dari 89C51 terbagi menjadi:
- RAM Internal
- Flash PEROM
- Memori Eksternal
RAM INTERNAL & REGISTER FUNGSI KHUSUS
Accumulator (ACC)
Data Pointer (DPTR)
Flash PEROM
- Kapasitas 4 Kb
- Alamat 000H hingga FFFH - Diakses bila:
Proses Pembacaan
Proses pembacaan dapat dianalogikan sebagai proses membaca dari halaman tertentu dari sebuah buku di mana pada proses tersebut dibutuhkan:
Penulisan Data ke Memori Eksternal
Proses penulisan dapat dianalogikan dengan menuliskan suatu tulisan ke halaman tertentu dalam buku di mana dibutuhkan.
![]() |
| Mikrokontroler 89C51 |
DESKRIPSI PIN
Nomor Pin | Nama Pin | Alternatif | Keterangan |
20 | GND | Ground | |
40 | VCC | Power Supply | |
32…39 | P0.7…P0.0 | D7…D0 & A7…A0 | Port 0 dapat berfungsi sebagai I/O biasa, low order multiplex address/data ataupun menerima kode byte pada saat Flash Programming Pada fungsi sebagai I/O biasa port ini dapat memberikan output sink ke delapan buah TTL Input atau dapat diubah sebagai input dengan memberikan logika 1 pada port tersebut Pada fungsi sebagai low order multiplex address/data port ini akan mempunyai internal pull up Pada saat Flash Programming diperlukan external pull up Terutama pada saat verifikasi program |
1…8 | P1.0…P1.7 | Port 1 berfungsi sebagai I/O biasa atau menerima low order address bytes selama pada saat Flash Programming Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1 Sebagai output port ini dapat memberikan output sink ke empat buah input TTL | |
21…28 | P2.0…P2.7 | A8…A15 | Port 2 berfungsi sebagai I/O biasa atau high order address, pada saat mengakses memory secara 16 bit (Movx @Dptr) Pada saat mengakes memory secara 8 bit, (Mov @Rn) port ini akan mengeluarkan isi dari P2 Special Function Register Port ini mempunyai internal pull up dan berfungsi sebagai input dengan memberikan logika 1 Sebagai output port ini dapat memberikan output sink Ke empat buah input TTL |
10…17 | Port 3 | Sebagai I/O biasa Port 3 mempunyai sifat yang sama dengan Port 1 maupun Port 2 Sedangkan sebagai fungsi spesial port-port ini mempunyai keterangan sebagai berikut | |
10 11 12 13 14 15 16 17 | P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 | RXD TXD INT0 INT1 T0 T1 WR RD | Port Serial Input Port Serial Output Port External Interrupt 0 Port External Interrupt 1 Port External Timer 0 Input Port External Timer 1 Input External Data Memory Write Strobe External Data Memory Read Strobe |
9 | RST | Reset akan aktif dengan memberikan input high selama 2 cycle | |
30 | ALE | PROG | Pin ini dapat berfungsi sebagai Address Latch Enable (ALE) |
yang me-latch low byte address pada saat mengakses | |||
memori eksternal Sedangkan pada saat Flash Programming (PROG) berfungsi sebagai pulse input untuk Pada operasi normal ALE akan mengeluarkan sinyal clock sebesar 1/16 frekwensi oscillator kecuali pada saat mengakses memori eksternal Sinyal clock pada pin ini dapat pula didisable dengan men-set bit 0 dari Special Function Register di alamat 8EH ALE hanya akan aktif pada saat mengakses memori ekster- nal (MOVX & MOVC) | |||
29 | PSEN | Pin ini berfungsi pada saat mengeksekusi program yang ter- letak pada memori eksternal. PSEN akan aktif dua kali setiap cycle | |
31 | EA | VP | Pada kondisi low maka pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem direset Apabila berkondisi high maka pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal Pada saat Flash Programming pin ini akan mendapat te- gangan 12 Volt (VP) |
19 | XTAL1 | Input Oscillator | |
18 | XTAL2 | Output Oscillator |
STRUKTUR MEMORI
Memori dari 89C51 terbagi menjadi:
- RAM Internal
- Register Bank
- Bit addressable RAM
- General Purpose RAM
- Flash PEROM
- Memori Eksternal
RAM INTERNAL & REGISTER FUNGSI KHUSUS
![]() |
| ram internal & register fungsi khusus |
Accumulator (ACC)
- Terletak pada alamat E0H
- Operasi Aritmatik (Add A,#05H)
- Operasi Logika (Anl A,#05H)
- Akses Memori Eksternal (Movx A,@DPTR)
- Untuk fungsi umum.
Register B
- Terletak pada alamat B0H
- Fungsi umum
- Digunakan bersama Acc untuk operasi Aritmatik (Mul AB).
Program Status Word (D0H)
PSW
Port
- Port 0 (80H)
- Port 1 (90H)
- Port 2 (A0H)
- Port 3 (B0H)
Data Pointer (DPTR)
- Terdiri dari dua register yaitu o DPH (82H) o DPL (83H)
- Untuk akses data atau source code di memori Flash PEROM atau Memori Eksternal.
![]() |
| Stack Pointer |
Flash PEROM
- Kapasitas 4 Kb
- Alamat 000H hingga FFFH - Diakses bila:
- Pin EA/VP 89C51 berlogika high
- Ada perintah untuk memanggil instruksi di alamat tersebut - Dapat diproteksi dengan:
- Lock Bit 1, tidak dapat dibaca oleh program yang berada di memori eksternal
- Lock Bit 2, tidak dapat dibaca oleh peralatan Programmer o Lock Bit 3, sama sekali tidak dapat mengakses/diakses oleh/dari memori eksternal.
External Memory
- Dibutuhkan untuk: o Memori berkapasitas besar o Emulasi Program
- Sistem pengalamatan Multiplex Addressing.
Multiplex Addressing
Proses Pembacaan
Proses pembacaan dapat dianalogikan sebagai proses membaca dari halaman tertentu dari sebuah buku di mana pada proses tersebut dibutuhkan:
- Halaman dari tulisan yang akan dibaca = Alamat Memori
- Perintah untuk membaca = Sinyal Read untuk Data dan Sinyal PSEN untuk kode.
Pembacaan Data dari Memori Eksternal
Instruksi:
MOV DPTR,#[address] ; Penentuan lokasi data yang akan dibaca
MOVX A,@DPTR ; Perintah pembacaan data sekaligus meng-
; ambil data tersebut dan disimpan ke Aku-
; mulator A
| Timing Diagram Pembacaan Kode dari External Memory (diambil dari Data Sheet AT89C51) |
Penulisan Data ke Memori Eksternal
Proses penulisan dapat dianalogikan dengan menuliskan suatu tulisan ke halaman tertentu dalam buku di mana dibutuhkan.
- Tulisan yang akan ditulis = Data
- Halaman yang akan ditulisi = Alamat
- Perintah menulis = Sinyal Write
| Gambar 1.11 Timing Diagram Penulisan Data ke External Memory diambil dari Data Sheet AT89C51) |



