AT89C51 adalah mikrokontroler keluaran Atmel dengan 4K byte Flash PEROM (Programmable and Erasable Read Only Memory). AT89C51 memiliki sistem pemrograman kembali Flash Memory dengan daya tahan 1000 kali write/erase.
Memori ini biasa digunakan untuk menyimpan perintah berstandar MCS51 sehingga memungkinkan mikrokontroler ini untuk bekerja dalam mode single chip operation (operasi keping tunggal) yang tidak memerlukan external memory (memori luar) untuk menyimpan source code tersebut.
Memori ini biasa digunakan untuk menyimpan perintah berstandar MCS51 sehingga memungkinkan mikrokontroler ini untuk bekerja dalam mode single chip operation (operasi keping tunggal) yang tidak memerlukan external memory (memori luar) untuk menyimpan source code tersebut.
Berikut merupakan gambar susunan kaki dan blok diagram mikrokontroler AT89C51 :
Jika kita lihat diagram blok mikrokontroler ini, terlihat jelas kesempurnaan dari fasilitas yang diberikannya. Gambar 2 merupakan diagram blok IC tersebut :
Gambar 1: Nama Pin-pin AT89C51
Jika kita lihat diagram blok mikrokontroler ini, terlihat jelas kesempurnaan dari fasilitas yang diberikannya. Gambar 2 merupakan diagram blok IC tersebut :
Gambar 2 : Diagram Blok IC AT89C51
Pada Gambar di atas terlihat bahwa terdapat 4 port untuk input output data, serta tersedia pula akumulator, register, RAM, stack pointer , Arithmetic Logic Unit (ALU), pengunci (latch) dan rangkaian osilasi yang membuat 89C51 dapat beroperasi hanya dengan 1 keping IC.
Pin AT89C51
Mikrokontroler ini memiliki 32 port I/O yang terbagi menjadi 4 buah port dengan 8 jalur I/O. Berikut merupakan penjelasan dari masing-masing pin IC mikrokontroler AT89C51 :
1) Pin 1 sampai 8 (Port 1)
Mikrokontroler ini memiliki 32 port I/O yang terbagi menjadi 4 buah port dengan 8 jalur I/O. Berikut merupakan penjelasan dari masing-masing pin IC mikrokontroler AT89C51 :
1) Pin 1 sampai 8 (Port 1)
Port 1 merupakan Port I/O dwi-arah yang dilengkapi dengan pullup internal. Penyangga keluaran Port 1 mampu memberikan/menyerap arus empat masukan TTL.
Kaki-kaki Port 1 akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 1 dihubungkan ke ground (pull low), maka masing-masing kaki akan memberikan arus karena di-pulled high secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama pengisian program dan verifikasi flash (Agfianto Eko Putra, 2004 : 90).
2) Pin 9 (RST)
Reset akan aktif dengan memberikan input high selama 2 cycle.
3) Pin 10 sampai 17 (Port 3)
Port 3 merupakan port I/O dwi arah dengan dilengkapi pullup internal. Penyangga keluaran Port 3 mampu memberikan/menyerap arus empat masukan TTL.
Kaki-kaki Port 3 akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 3 dihubungkan ke ground (di-pull low), maka masing-masing kaki akan memberikan arus karena di-pulled high secara internal.
4) Pin 18 (XTAL 2)
Pin ini merupakan output oscillator.
5) Pin 19 (XTAL 1)
Pin ini merupakan input oscillator.
6) Pin 20 (GND) dihubungkan ke Ground.
7) Pin 21 sampai 28 (Port 2)
Port 2 merupakan Port I/O dwi-arah dengan dilengkapi pullup internal. Penyangga keluaran Port 2 mampu memberikan/menyerap arus empat masukan TTL.
Kaki-kaki Port 2 akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 2 dihubungkan ke ground (di-pull low), maka masing-masing kaki akan memberikan arus karena di-pulled high secara internal.
Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 16 bit (misalnya : MOVX @DPTR). Dalam aplikasi ini, jika ingin mengirimkan “1”, maka digunakan pullup internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8 bit (misalnya : MOVX @R1), Port 2 akan mengirimkan isi dari Shift Function Register Port 2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi (Agfianto Eko Putra, 2004 : 90).
8) Pin 29 (PSEN)
Program Store Enable (PSEN) merupakan pin yang berfungsi pada saat mengeksekusi program yang terletak pada memori eksternal. PSEN akan aktif dua kali setiap cycle.
9) Pin 30 (ALE)
Pin ini dapat berfungsi sebagai Addres Latch Enable yang me-latch low byte address pada saat mengakses memori eksternal. ALE akan aktif pada saat mengakses memori eksternal.
10) Pin 31 (EA)
Pada kondisi low, pin ini akan berfungsi sebagai External Acces Enable (EA) yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem di reset. Jika berkondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal.
11) Pin 32 sampai 39 (Port 0)
Port 0 merupakan Port keluaran/masukan (I/0) bertipe open drain bidirectional. Sebagai Port keluaran, masing-masing kaki dapat menyerap arus delapan masukan TTL. Port 0 dapat digunakan sebagai masukan-masukan berimpedansi tinggi.
Port 0 juga dapat dikonfigurasikan sebagai bus alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini Port 0 memiliki pullup internal tetapi lemah. Port 0 juga menerima kode-kode yang dikirimkan kepadanya selama proses pengisian program dan mengeluarkan kode-kode selama proses verifikasi program yang telah tersimpan dalam flash. Dalam hal ini dibutuhkan pullup eksternal selama proses verifikasi program (Agfianto Eko Putra, 2004 : 89).
12) Pin 40 (Vcc) dihubungkan dengan Vcc (+5 Volt).
Kaki-kaki Port 1 akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 1 dihubungkan ke ground (pull low), maka masing-masing kaki akan memberikan arus karena di-pulled high secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama pengisian program dan verifikasi flash (Agfianto Eko Putra, 2004 : 90).
2) Pin 9 (RST)
Reset akan aktif dengan memberikan input high selama 2 cycle.
3) Pin 10 sampai 17 (Port 3)
Port 3 merupakan port I/O dwi arah dengan dilengkapi pullup internal. Penyangga keluaran Port 3 mampu memberikan/menyerap arus empat masukan TTL.
Kaki-kaki Port 3 akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 3 dihubungkan ke ground (di-pull low), maka masing-masing kaki akan memberikan arus karena di-pulled high secara internal.
Tabel 1. Fungsi-fungsi Khusus Kaki-kaki Port 3
Kaki Port | Fungsi Alternatif |
P3.0 | RXD (port input serial) |
P3.1 | TXD (port output serial) |
P3.2 | INT0 (interupsi 0 eksternal) |
P3.3 | INT1 (interupsi 1 eksternal) |
P3.4 | T0 (input timer 0 eksternal) |
P3.5 | T1 (input timer 1 eksternal) |
P3.6 | WR (tulis ke memori data eksternal) |
P3.7 | RD (baca dari memori data eksternal) |
4) Pin 18 (XTAL 2)
Pin ini merupakan output oscillator.
5) Pin 19 (XTAL 1)
Pin ini merupakan input oscillator.
6) Pin 20 (GND) dihubungkan ke Ground.
7) Pin 21 sampai 28 (Port 2)
Port 2 merupakan Port I/O dwi-arah dengan dilengkapi pullup internal. Penyangga keluaran Port 2 mampu memberikan/menyerap arus empat masukan TTL.
Kaki-kaki Port 2 akan di pulled high dengan pullup internal sehingga dapat digunakan sebagai masukan. Sebagai masukan, jika kaki-kaki Port 2 dihubungkan ke ground (di-pull low), maka masing-masing kaki akan memberikan arus karena di-pulled high secara internal.
Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 16 bit (misalnya : MOVX @DPTR). Dalam aplikasi ini, jika ingin mengirimkan “1”, maka digunakan pullup internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8 bit (misalnya : MOVX @R1), Port 2 akan mengirimkan isi dari Shift Function Register Port 2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi (Agfianto Eko Putra, 2004 : 90).
8) Pin 29 (PSEN)
Program Store Enable (PSEN) merupakan pin yang berfungsi pada saat mengeksekusi program yang terletak pada memori eksternal. PSEN akan aktif dua kali setiap cycle.
9) Pin 30 (ALE)
Pin ini dapat berfungsi sebagai Addres Latch Enable yang me-latch low byte address pada saat mengakses memori eksternal. ALE akan aktif pada saat mengakses memori eksternal.
10) Pin 31 (EA)
Pada kondisi low, pin ini akan berfungsi sebagai External Acces Enable (EA) yaitu mikrokontroler akan menjalankan program yang ada pada memori eksternal setelah sistem di reset. Jika berkondisi high, pin ini akan berfungsi untuk menjalankan program yang ada pada memori internal.
11) Pin 32 sampai 39 (Port 0)
Port 0 merupakan Port keluaran/masukan (I/0) bertipe open drain bidirectional. Sebagai Port keluaran, masing-masing kaki dapat menyerap arus delapan masukan TTL. Port 0 dapat digunakan sebagai masukan-masukan berimpedansi tinggi.
Port 0 juga dapat dikonfigurasikan sebagai bus alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini Port 0 memiliki pullup internal tetapi lemah. Port 0 juga menerima kode-kode yang dikirimkan kepadanya selama proses pengisian program dan mengeluarkan kode-kode selama proses verifikasi program yang telah tersimpan dalam flash. Dalam hal ini dibutuhkan pullup eksternal selama proses verifikasi program (Agfianto Eko Putra, 2004 : 89).
12) Pin 40 (Vcc) dihubungkan dengan Vcc (+5 Volt).
Tidak ada komentar:
Posting Komentar