Konfigurasi Pin AT89S51

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