2.3 Konstruksi AT89S52
Mikrokontroler AT89S52 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1 kristal serta catu daya 5 Volt. Kapasitor 10 mikro-Farad dan resistor 10 Kilo Ohm
dipakai untuk membentuk rangkaian reset. Dengan adanya rangkaian reset ini AT89S52 otomatis direset begitu rangkaian menerima catu daya. Kristal dengan frekuensi
maksimum 12 MHz dan kapasitor 30 piko-Farad dipakai untuk melengkapi rangkaian oscilator pembentuk clock yang menentukan kecepatan kerja mikrokontroler.
Memori merupakan bagian yang sangat penting pada mikrokontroler. Mikrokontroler memiliki dua macam memori yang sifatnya berbeda.
Read Only Memory ROM yang isinya tidak berubah meskipun IC kehilangan catu daya. Sesuai dangan keperluannya, dalam susunan MCS-51 memori penyimpanan
progam ini dinamakan sebagai memori progam. Random Access Memori RAM isinya akan sirna begitu IC kehilangan catu daya,
dipakai untuk menyimpan data pada saat progam bekerja. RAM yang dipakai untuk menyimpan data ini disebut sebagai memori data.
Ada berbagai jenis ROM. Untuk mikrokontroler dengan progam yang sudah baku dan diproduksi secara masal, progam diisikan ke dalam ROM pada saat IC
mikrokontroler dicetak di pabrik IC. Untuk keperluan tertentu mikrokontroler mengunakan ROM yang dapat diisi ulang atau Programble-Eraseable ROM yang
disingkat menjadi PEROM atau PROM. Dulu banyak dipakai UV-EPROM Ultra Violet Eraseable Progamble ROM yang kemudian dinilai mahal dan ditinggalkan setelah ada
flash PEROM yang harganya jauh lebih murah.
Johannes Pandiangan : Perancangan Dan Penggunaan Photodioda Sebagai Sensor Penghindar Dinding Pada Robot Forklift, 2007. USU Repository © 2009
Jenis memori yang dipakai untuk Memori Program AT89S52 adalah Flash PEROM, program untuk mengendalikan mikrokontroler diisikan ke memori itu lewat
bantuan alat yang dinamakan sebagai AT89S52 Flash PEROM Programmer. Memori Data yang disediakan dalam chip AT89S52 sebesar 128 byte. Meskipun
hanya kecil saja, tapi untuk banyak keperluan memori kapasitas itu sudah cukup. Sarana InputOuput yang disediakan cukup banyak dan bervariasi. AT89S52
mempunyai 32 jalur InputOutput. Jalur InputOutput paralel dikenal sebagai Port 0 P0.0..P0.7, Port 1 P1.0..P1.7, Port 2 P2.0..P2.7 dan Port 3 P3.0.. P3.7.
Deskripsi pin-pin pada mikrokontroler AT89S52 :
VCC Pin 40
Suplai tegangan.
GND Pin 20
Ground.
Port 0 Pin 39-Pin 32
Port 0 dapat berfungsi sebagai IO biasa, low order multiplex addressdata ataupun penerima kode byte pada saat flash progamming Pada fungsi sebagai IO 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 addressdata, port ini akan mempunyai internal pull up. Pada saat flash progamming diperlukan eksternal pull up, terutama pada
saat verifikasi program.
Johannes Pandiangan : Perancangan Dan Penggunaan Photodioda Sebagai Sensor Penghindar Dinding Pada Robot Forklift, 2007. USU Repository © 2009
Port 2 Pin 21 – pin 28
Port 2 berfungsi sebagai IO biasa atau high order address, pada saat mengaksememori secara 16 bit. Pada saat mengakses memori 8 bit, 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
keempat buah input TTL.
Port 3 Pin 10 – pin 17
Port 3 merupakan 8 bit port IO dua arah dengan internal pullup. Port 3 juga mempunyai fungsi pinnya masing-masing.
Tabel 2.1 Fungsi Kaki-Kaki Pin Pada Port 3 Nama pin
Fungsi
P3.0 pin 10 RXD Port input serial
P3.1 pin 11 TXD Port output serial
P3.2 pin 12 INTO interrupt 0 eksternal
P3.3 pin 13 INT1 interrupt 1 eksternal
P3.4 pin 14 T0 input eksternal timer 0
P3.5 pin 15 T1 input eksternal timer 1
P3.6 pin 16 WR menulis untuk eksternal data memori
P3.7 pin 17 RD untuk membaca eksternal data memori
Johannes Pandiangan : Perancangan Dan Penggunaan Photodioda Sebagai Sensor Penghindar Dinding Pada Robot Forklift, 2007. USU Repository © 2009
RST pin 9
Reset akan aktif dengan memberikan input high selama 2 cycle.
ALEPROG pin 30
Address latch Enable adalah pulsa output untuk me-latch byte bawah dari alamat selama mengakses memori eksternal. Selain itu, sebagai pulsa input progam PROG selama
memprogam Flash.
PSEN pin 29
Progam store enable digunakan untuk mengakses memori progam eksternal.
EA pin 31
Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroler akan menjalankan progam yang ada pada memori eksternal setelah sistem direset. Jika kondisi
high, pin ini akan berfungsi untuk menjalankan progam yang ada pada memori internal. Dengan kata lain bila pin ini diberi logika tinggi H, mikrokontroler akan melaksanakan
instruksi dari ROM EPROM ketika isi program counter kurang dari 4096. Bila diberi logika rendah L maka mikrokontroler akan melaksanakan seluruh instruksi dari memori
program luar. Pada saat flash progamming, pin ini akan mendapat tegangan 12 Volt.
XTAL1 pin 19
Input untuk clock internal. Pin masukan ke rangkaian osilator internal. Sebuah osilator kristal atau sumber osilator luar dapat digunakan.
XTAL2 pin 18
Pin keluaran ke rangkaian osilator internal pin output. Pin ini dipakai bila menggunakan osilator kristal.
Johannes Pandiangan : Perancangan Dan Penggunaan Photodioda Sebagai Sensor Penghindar Dinding Pada Robot Forklift, 2007. USU Repository © 2009
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
17 18
19 20
40 39
38 37
36 35
34 33
32 31
30 29
28 27
26 25
24 23
22 21
P1.0
P1.2 P1.3
P1.4 P1.1
P1.5 P1.6
P2.3 A11 P2.1 A9
P2.0 A8 P1.7
P2.4 A12 P2.6 A14
P2.7 A15
P2.5 A13 PSEN
ALEPROG EAVPP
P3.1 TXD P3.2 INTO
P3.0 RXD
P3.5 T1 P3.4 TD
P3.3 INT1
P3.6 WR P3.7 RD
XTAL2 XTAL1
GND RST
P0.2 AD2
P0.7 AD7 P0.6 AD6
P0.5 AD5 P0.4 AD4
P0.3 AD3 P0.1 AD1
P0.0 AD0 VCC
AT89S52
Gambar 2.2 IC Mikrokontroler AT89S52
Spesifikasi penting AT89S52 antara lain:
Kompatibel dengan keluarga mikrokontroler MCS51 sebelumnya.
Johannes Pandiangan : Perancangan Dan Penggunaan Photodioda Sebagai Sensor Penghindar Dinding Pada Robot Forklift, 2007. USU Repository © 2009
8 Kbyte In-system Programmable ISP flash memori dengan kemampuan 1000
kali bacatulis.
Tegangan kerja 4 – 5 V.
Bekerja dengan rentang 0 – 33 MHz.
256x8 bit RAM internal.
32 jalur IO yang dapat deprogram.
Tiga buah 16 bit TimerCounter.
Delapan sumber interrupt.
Saluran Full-Duplex serial UART.
Watchdog timer.
Dual data pointer.
Mode pemograman ISP yang fleksibel Byte dan Page Mode.
2.4 Perangkat Lunak 2.4.1 Bahasa Assembly MCS-51