Beberapa fasilitas yang dimiliki oleh mikrokontroler AT89C51 adalah sebagai berikut:
a.Sebuah CPU 8 bit.
b.Osilator internal dan rangkaian pewaktu.
c.RAM internal 128 byte.
d.Flash memori 4 Kbyte.
e.Lima buah jalur interupsi (dua buah interupsi eksternal dan tiga buah interupsi internal).
f. Empat buah programable port I/O yang masing-masing terdiri dari delapan buah jalur I/O.
g.Sebuah port serial dengan kontrol serial full duplex UART.
h.Kemampuan untuk melaksanakan operasi aritmatika dan logika.
i. Kecepatan dalam melaksanakan instruksi per siklus 1 mikrodetik pada frekuensi 12 MHz.
Berdasarkan susunan kaki yang terdapat pada Gambar mikrokontroler AT89C51 dapat dijelaskan sebagai berikut :
Mikrokontroler seri AT89C51
a.Vcc digunakan sebagai catu daya (+) yang dibutuhkan mikrokontroler AT89C51.
b.GND digunakan sebagai ground .
c.RST (Reset) Berfungsi sebagai masukan reset. Kondisi high selama 2 siklus mesin selama osilator bekerja akan me-reset mikrokontroler yang bersangkutan.
d.ALE/PROG Keluaran ALE atau Address Latch Enable menghasilkan pulsa-pulsa untuk mengunci byte rendah (low byte) alamat selama mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa pro- gram (the program pulse input) atau PROG selama pemrograman flash. Pada operasi normal, ALE akan berpulsa dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau pendetakan (clocking) rangkaian eksternal. Jika dikehendaki, operasi ALE bisa dimatikan dengan cara mengatur bit 0 dari SFR lokasi 8Eh. Jika isinya ‘1’(hight), ALE hanya akan aktif selama dijumpai instruksi MOVX atau MOVC. Selain itu, kaki ini akan secara lemah di-pulled high. Mematikan bit ALE tidak akan ada efeknya jika mikrokontroler mengeksekusi program secara eksternal.
e.Port 0 merupakan port paralel 8 bit dua arah. Posisi Least Significant Bit (LSB) terletak pada kaki 39 dan Most Significant Bit (MSB) terletak pada kaki 32.
Port 0 juga merupakan port keluaran/masukkan (I/O) bertipe open drain bidirectional, dan sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink) delapan masukkan TTL (sekitar 3,8 mA). Pada saat ‘1’ dituliskan ke kaki-kaki Port 0 ini, maka kaki-kaki Port 0 dapat digu-nakan sebagai masukan berimpedansi tinggi.
Bit Port 0
f.Port 1 merupakan port paralel 8 bit dua arah. Posisi LSB terletak pada kaki 1 dan MSB terletak pada kaki 8.Port 1 merupakan port I/O dua arah yang dilengkapi dengan pull-up internal.
Bit Port1
g.Port 2 merupakan port paralel 8 bit dua arah. Port ini mengirim byte ala- mat-alamat bila dilakukan pengaksesan memori eksternal. LSB terletak pada kaki 21 dan MSB terletak pada kaki 28.
Bit Port 2
h.Port 3Port 3 merupakan port paralel 8 bit dua arah. LSB terletak pada kaki 10 dan MSB terletak pada kaki 17.
Bit Port 3
Port ini mempunyai beberapa fungsi khusus yaitu: Port 3 merupakan port I/O dua arah dengan dilengkapi pull-up internal.
Fungsi khusus kaki-kaki pada port 3
i.PSEN (Program Store Enable) merupakan sinyal baca untuk memori program eksternal
j.EA/Vpp (External Access Enable)EA harus selalu dihubungkan ke ground, jika mikrokontroler akan mengeksekusi program dari memori eksternal lokasi 0000h hingga FFFFh. Selain dari itu, EA harus dihubungkan ke Vcc agar mikrokontroler mengakses program secara internal.
k.XTAL 1 berfungsi sebagai masukan dari rangkaian osilator.
l.XTAL 2 berfungsi sebagai keluaran dari rangkaian osilator.
Diagram blok AT89C51