2.1.2 Konfigurasi Pin AT89S51
Mikrokontroller AT89S51 memiliki 40 pin seperti yang terlihat pada gambar 2.1 berikut ini :
Gambar 2.1 Konfigurasi kaki AT89S51
Spesifikasi dari IC AT89S51 : 1.
Kompatibel dengan produk MCS-51. 2.
4 Kbyte In-System Reprogammable Flash Memory. 3.
Daya tahan 1000 kali bacatulis. 4.
Fully Static Operation : 0 Hz sampai 24 MHz. 5.
Tiga level kunci memori program. 6.
128 x 8 bit RAM internal. 7.
32 jalur IO.
Universitas Sumatera Utara
8. Tiga 16 bit TimerCounter.
9. Enam sumber interupt.
10. Jalur serial dengan UART.
Deskripsi pin-pin pada mikrokontroler AT89S51 : a.
VCC Pin 40 Berfungsi sebagai suplai tegangan 5 Volt.
b. GND Pin 20
Berfungsi sebagai ground. c.
Port 0 Pin 39 – Pin 32 Port 0 dapat berfungsi sebagai IO biasa, low order multiplex addressdata
ataupun penerima kode byte pada saat flash programming Pada fungsinya 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 fungsinya sebagai low order multiplex addressdata, port ini
akan mempunyai internal pull up. Pada saat flash programming diperlukan eksternal pull up, terutama pada saat verifikasi program.
d. Port 1 Pin 1 – Pin 8
Port 1 berfungsi sebagai IO biasa, pada kaki ke 6, ke 7 dan ke 8 terdapat Mosi, Miso dan Sck sebagai masukan dari ISP Programmer yang terhubung ke
komputer. Tanpa adanya port ini maka mikrokontroler tidak dapat diprogram oleh ISP Programmer.
e. Port 2 Pin 21 – pin 28
Universitas Sumatera Utara
Port 2 berfungsi sebagai IO biasa atau high order address, pada saat mengakses memori 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 ke empat buah input TTL.
f. Port 3 Pin 10 – pin 17
Port 3 merupakan 8 bit port IO dua arah dengan internal pull up. Port 3 juga mempunyai fungsi pin masing-masing, yaitu sebagai berikut :
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 untuk menulis eksternal data memori
P3.7 Pin 17 RD untuk membaca eksternal data memori
Tabel 2.1. Konfigurasi Port 3 Mikrokontroler AT89S51
Universitas Sumatera Utara
g. RST pin 9
Reset akan aktif dengan memberikan input high selama 2 cycle. h.
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 program PROG selama memprogram Flash.
i. PSEN pin 29
Program store enable digunakan untuk mengakses memori program eksternal. j.
EA pin 31 Pada kondisi low, pin ini akan berfungsi sebagai EA yaitu mikrokontroller
akan menjalankan program yang ada pada memori eksternal setelah sistem di- reset. Jika kondisi high, pin ini akan berfungsi untuk menjalankan program
yang ada pada memori internal. Pada saat flash programming, pin ini akan mendapat tegangan 12 Volt.
k. XTAL1 pin 19
Berfungsi sebagai input untuk clock internal. l.
XTAL2 pin 18 Berfungsi sebagai output dari osilator.
Agfianto : 2004
Universitas Sumatera Utara
Gambar 2.2 Blok Diagram Fungsional AT89S51 www.nationalsemikonduktor.com
Universitas Sumatera Utara
2.2 ADC Analog to Digital Converter
ADC Analog to Digital Conveter 0804 merupakan suatu IC Integrated Circuit
yang dapat mengubah besaran analog menjadi besaran digital. ADC merupakan piranti masukan, artinya mikrokontroller mendapatkan data dari ADC. ADC
memerlukan sinyal write dan read. Sinyal write digunakan sebagai perintah bagi ADC untuk memulai konversi.
Proses kenversi akan dimulai setelah mendapatkan sinyal write ini. Proses ini membutuhkan waktu yang cukup lama, yaitu sekitar 120 µS. Selama proses sedang
berlangsung, pin INTR berada dalam kondisi high. Segera setelah konversi selesai, pin INTR akan berubah menjadi low. Inilah tanda bahwa ADC sudah memperoleh data
valid yang sudah boleh diambil.
Ada beberapa cara yang dapat dilakukan dalam menangani ADC. Pertama, menghubungkan pin INTR dari ADC dengan pin INT0INT1 dari mikrokontroller,
dan melakukan pembacaan data ADC di dalam prosedur interupsi. Kedua, menyambungkan pin INTR dari ADC ke pin mana saja dari mikrokontroler dan
membuat perintah looping untuk menunggu sampai pin tersebut berubah menjadi low, baru mengambil data dari ADC. Ketiga, tidak menghubungkan pin INTR dengan
mikrokontroler.
Dengan demikian mikrokontroler tidak dapat mengetahui dengan pasti kapan waktu konversi telah selesai. Untuk dapat memperoleh data valid setelah sinyal write
dikirim, mikrokontroller harus menunda pembacaan sampai waktu paling lama yang
Universitas Sumatera Utara