TUGAS AKHIR DIGITAL IC TESTER MENGGUNAKAN MIKROKONTROLLER AT89C55

dokumen-dokumen yang mirip
I/O dan Struktur Memori

Pendahuluan Mikrokontroler 8051

ARSITEKTUR MIKROKONTROLER AT89C51/52/55

Tabel Perbandingan ROM dan RAM pada beberapa seri ATMEL

Gambar 1. Rangkaian interface ke LCD Karakter 2 x16

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

MIKROKONTROLER AT89S52

Mikrokontroler 89C51 Bagian II :

BAB III PERANCANGAN DAN PEMBUATAN ALAT

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

Gambar 1.1. Diagram blok mikrokontroller 8051

M1632 MODULE LCD 16 X 2 BARIS (M1632)

4. Port Input/Output Mikrokontroler MCS-51

Memprogram Port sebagai Output dan Input Sederhana

Antarmuka LCD pada DST-AVR

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

ANTAR MUKA DST-51 DENGAN MODUL AD-0809

PERTEMUAN MEMORY DAN REGISTER MIKROKONTROLER

1. FLIP-FLOP. 1. RS Flip-Flop. 2. CRS Flip-Flop. 3. D Flip-Flop. 4. T Flip-Flop. 5. J-K Flip-Flop. ad 1. RS Flip-Flop

PERTEMUAN PERANGKAT KERAS MIKROKONTROLER

BAB II TEORI DASAR. peralatan input / output ( I / O ) pendukung di dalamnya. Suatu sistem mikroprosesor

BAB III DESKRIPSI MASALAH

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB II TINJAUAN PUSTAKA

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

BAB 2 TINJAUAN TEORITIS

BAB I PENDAHULUAN 1.1 Latar Belakang 1.2 Rumusan Masalah

Tabel 1. Karakteristik IC TTL dan CMOS

APLIKASI MIKROKONTROLER

Percobaan 5 PENGENALAN MIKROKONTROLER 8051

Interfacing i8088 dengan Memori

BAB II TINJAUAN PUSTAKA. Jantung dalam terminologi sederhana, merupakan sebuah pompa yang terbuat

LAPORAN RESMI PRAKTIKUM SISTEM DIGITAL 2013 / 2014

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB III PERANCANGAN ALAT

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

BAB III PERANCANGAN PERANGKAT KERAS DAN LUNAK. Perangkat keras dari alat ini secara umum terdiri dari rangkaian dibagi

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

BAB 2 TINJAUAN TEORITIS. Sensor TGS 2610 merupakan sensor yang umum digunakan untuk mendeteksi adanya

RANCANG BANGUN PENGAMAN MOBIL BERBASIS MIKROKONTROLER AT89S51 DENGAN APLIKASI TELEPON SELULER SEBAGAI INDIKATOR ALARM

BAB 2 LANDASAN TEORI. Dalam bab ini penulis akan membahas tentang komponen-komponen yang

Sumber Clock, Reset dan Antarmuka RAM

SST-01 LCD Sub System 01 LCD Interface

Sistem Mikroprosessor

BAB III PERANCANGAN SISTEM

TUGAS AKHIR RANCANG BANGUN PESAWAT CENTRIFUGE BERBASIS MIKROKONTROLLER AT89C51. Diajukan guna melengkapi sebagian syarat

PPI Skema konektor dari IC PPI 8255 adalah sebagai berikut :

AT89S52 8kByte In-System Programmable Mikrokontroler

6. Rangkaian Logika Kombinasional dan Sequensial 6.1. Rangkaian Logika Kombinasional Enkoder

Mikroprosesor Z80 Suryanto Sutikno

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1

BAB 2 LANDASAN TEORI. Agar kendaraan lebih teratur dan tidak terlalu padat, biasanya tempat perparkiran ini dibagi

BAB 3 PERANCANGAN SISTEM

BAB 2 TINJAUAN TEORITIS

BAB III PERENCANAAN DAN REALISASI

BAB II DASAR TEORI. open-source, diturunkan dari Wiring platform, dirancang untuk. software arduino memiliki bahasa pemrograman C.

PORT PARALEL MIKROKONTROLER ATMEL AT89C51

BAB II LANDASAN TEORI

Arsitektur Komputer, Mikroprosesor dan Mikrokontroller. TTH2D3 Mikroprosesor

BAB 2 TINJAUAN TEORITIS. Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer,

TUGAS AKHIR. Perancangan Pengendali PID Berbasis Komputer

BAB 2 LANDASAN TEORI. bisa digunakan untuk memindahkan program yang ber-ekstention.hex ke Flash,

BAB I : APLIKASI GERBANG LOGIKA

BAB 2 LANDASAN TEORI. Component tester adalah instrument elektronika, atau alat penguji komponen yang

MICROCONTROLER AVR AT MEGA 8535

Diktat Kuliah Memory Hardware

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

AKSES MEMORI Menggunakan DT-51 MinSys

PETA MEMORI MIKROPROSESOR 8088

BAB II TINJAUAN PUSTAKA. [10]. Dengan pengujian hanya terbatas pada remaja dan didapatkan hasil rata-rata

Laboratorium Sistem Komputer dan Otomasi Departemen Teknik Elektro Otomasi Fakultas Vokasi Institut Teknologi Sepuluh November

PANDUAN DASAR MIKROKONTROLER KELUARGA MCS-51

ORGANISASI MEMORI MIKROKONTROLER MCS-51. Yoyo Somantri dan Erik Haritman Dosen Jurusan Pendidikan Teknik Elektro FPTK Universitas Pendidikan Indonesia

MODUL 5 APLIKASI DISPLAY LCD

III. METODE PENELITIAN

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

R ANGKAIAN LOGIKA KOMBINASIONAL DAN SEQUENSIAL

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI. Definisi PLC menurut National Electrical Manufacturing Association (NEMA)

Pendahuluan BAB I PENDAHULUAN

BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT KERAS

TUGAS MATA KULIAH PENGANTAR MIKROKONTROLER

BAB I TUGAS MATA KULIAH SISTEM MIKROPROSESOR DOSEN PEMBERI TUGAS : FATAH YASIN, ST, MT.

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

DT-51 Application Note

TAMPILKAN NADA DTMF DAN DERING TELEPHONE OLEH MODUL DF-88 DAN MODUL DST-51 PADA LCD

BAB III PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM

PORT SERIAL MIKROKONTROLER ATMEL AT89C51

BAB V PENGUJIAN DAN ANALISIS. pengukuran terhadap parameter-parameter dari setiap komponen per blok maupun

TUGAS AKHIR Sistem Pengamanan Kendaraan Bermotor Menggunakan Password dan Smartcard Berbasis Microcontroller Atmega 8535

BAB III PERENCANAAN SISTEM DAN PEMBUATAN ALAT

BAB IV PENGUJIAN DAN ANALISA DATA

Transkripsi:

TUGAS AKHIR DIGITAL IC TESTER MENGGUNAKAN MIKROKONTROLLER AT89C55 Diajukan Guna Melengkapi Sebagian Syarat Dalam Mencapai Gelar Sarjana Strata Satu ( S1 ) Disusun Oleh : Nama : Harjono Djauhari NIM : 0140311-174 PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS MERCU BUANA JAKARTA 2009

LEMBAR PERNYATAAN Yang bertanda tangan di bawah ini: Nama : Harjono Djauhari NIM : 0140311-174 Jurusan : Teknik Elektro Fakultas : Teknologi Industri Judul Skripsi : Digital IC Tester Menggunakan Mikrokontroller AT89C55 Dengan ini menyatakan bahwa hasil penulisan Skripsi yang telah saya buat ini merupakan hasil karya sendiri dan benar keasliannya. Apabila ternyata dikemudian hari penulisan Skripsi ini merupakan hasil plagiat atau penjiplakan terhadap karya orang lain, maka saya bersedia mempertanggung-jawabkan sekaligus bersedia menerima sanksi berdasarkan aturan tata tertib di Universitas Mercu Buana. Demikian pernyataan ini saya buat dalam keadaan sadar dan tidak dipaksakan. Penulis, ( Harjono Djauhari ) ii

LEMBAR PENGESAHAN DIGITAL IC TESTER MENGGUNAKAN MIKROKONTROLLER AT89C55 Disusun Oleh : Nama : Harjono Djauhari NIM : 0140311-174 Jurusan : Teknik Elektro Peminatan : Elektronika Menyetujui : Pembimbing Koordinator Tugas Akhir ( Dr. Andi Adriansyah, MEng ) ( Ir. Yudhi Gunardi, MT ) Mengetahui, Ketua Jurusan Teknik Elektro ( Ir. Yudhi Gunardi, MT ) iii

ABSTRAK DIGITAL IC TESTER MENGGUNAKAN MIKROKONTROLLER AT89C55 IC Tester digunakan untuk menguji IC, yang dengannya dapat dengan mudah menguji berbagai Digital IC dengan menggunakan IC Tester. Untuk menguji suatu IC, diperlukan alat penguji yang berbeda untuk IC yang berbeda, sehingga memerlukan jenis tester yang khusus untuk menguji suatu logic gate dan yang lain untuk menguji flip flop atau shift register, yang mana mengakibatkan kesulitan dalam melakukan pengujian. Maka Tugas Akhir ini adalah suatu upaya untuk mengatasi masalah tersebut. Tidak seperti IC Tester yang ada, alat ini lebih dapat diandalkan dan lebih mudah dipergunakan karena tidak memerlukan perlengkapan dengan jenis alat penguji yang berbeda untuk IC yang berbeda, setiap melakukan pengujian. Programmable Digital IC Tester ini terdiri dari 1 Microcontroller 89C55, Display dan Keypad Unit, untuk Display menggunakan 16 X 2 LCD dan untuk Keypad menggunakan 4 X 3 Keypad. Dari hasil pengujian, didapatkan bahwa alat ini dapat berfungsi sesuai dengan pemrograman yang dirancang sebelumnya. iv

KATA PENGANTAR Puji syukur penulis panjatkan kehadirat Tuhan YME, yang telah memberikan rahmat dan anugrahnya, yang telah membimbing dan menyertai penulis selama proses penulisan Tugas Akhir ini, dari awal hingga selesai. Tujuan dari penulisan Tugas Akhir ini adalah untuk memenuhi syarat guna mencapai Gelar Sarjana Satu ( S1 ) pada Jurusan Teknik Elektro, Peminatan Elektronika, Fakultas Teknologi Industri, Universitas Mercu Buana. Didalam penulisan Tugas Akhir ini penulis telah mendapat banyak pemikiran serta dorongan moril dari berbagai pihak. Oleh karena itu dalam kesempatan ini penulis ingin sekali mengucapkan rasa terima kasih yang sebesar besarnya kepada: 1. Bapak Dr. Andi Adriansyah, MEng, selaku Dosen Pembimbing yang telah banyak meluangkan waktu dan pemikirannya agar Tugas Akhir ini dapat lebih baik. 2. Bapak Ir. Yudhi Gunardi, MT, sebagai Ketua Jurusan dan Koordinator Tugas Akhir Jurusan Teknik Elektro, Fakultas Teknologi Industri Universitas Mercu Buana. 3. Seluruh Staff Dosen Pengajar Teknik Elektro, Fakultas Teknologi Industri Universitas Mercu Buana. 4. Kawan kawan Teknik Elektro angkatan 2003 yang telah membantu dan memberi dorongan hingga penulisan Tugas Akhir ini dapat diselesaikan. 5. Rusgi Kamdani, my friend yang memberi support dan bantuan pemikiran. 6. Kedua orang tua penulis yang telah melahirkan dan membesarkan, serta selalu mendoakan penulis. 7. Istri dan anak penulis yang telah mendukung penulis selama menjalankan pendidikan. 8. Semua pihak yang tidak dapat penulis sebutkan satu persatu yang telah membantu, baik secara langsung maupun tidak langsung. v

Penulis menyadari bahwa Skripsi Tugas Akhir ini, masih banyak terdapat kekurangan baik berupa penyusunan maupun dalam penulisan. Oleh karena itu, penulis sangat mengharapkan kritik dan saran yang bersifat membangun dari berbagai pihak, sehingga dapat memperbaiki dan menyempurnakan Skripsi ini. Akhir kata penulis, mengharapkan semoga Skripsi Tugas Akhir ini dapat berman- faat bagi semua pihak. Jakarta, Agustus 2009 ( Penulis ) vi

DAFTAR ISI LEMBAR PERNYATAAN... LEMBAR PENGESAHAN... ABSTRAKSI... KATA PENGANTAR... DAFTAR ISI... DAFTAR TABEL... DAFTAR GAMBAR... ii iii iv v vii x xii BAB I PENDAHULUAN... 1 1.1 Latar Belakang Masalah... 1 1.2 Tujuan Penulisan... 1 1.3 Pokok Pokok Pembahasan... 1 1.4 Metode Penulisan... 2 1.5 Sistematika Penulisan... 2 BAB II LANDASAN TEORI... 4 2.1 Pengenalan Gerbang Logika... 4 2.1.1 Gerbang OR... 4 2.1.2 Gerbang AND... 5 2.1.3 Inverter... 6 2.1.4 Gerbang NAND... 7 2.1.5 Gerbang NOR... 7 2.1.6 Gerbang Exclusive OR ( EXOR )... 8 2.1.7 Gerbang EXNOR... 9 2.2 Rangkaian Kombinasional... 10 2.2.1 Multiplexer... 10 vii

2.2.2 Demultiplexer... 11 2.2.3 Decoder... 12 2.3 Rangkaian Sequential... 13 2.3.1 RS Flip Flop... 13 2.3.2 RS Clocked Flip Flop... 15 2.3.3 D Flip Flop... 16 2.3.4 JK Flip Flop... 16 2.4 Arithmetic Logic Unit ( ALU )... 17 2.4.1 Rangkaian Half Adder... 17 2.4.2 Rangkaian Full Adder... 18 2.5 Rangkaian Shift Register... 19 2.5.1 SISO ( Serial In Serial Out )... 20 2.5.2 SIPO ( Serial In Parallel Out )... 20 2.5.3 PISO ( Parallel In Serial Out )... 20 2.5.4 PIPO ( Parallel In Parallel Out )... 21 2.6 Memori... 21 2.6.1 Struktur Memori... 22 2.6.2 Sel Memori Dasar... 22 2.7 Mikrokontroller AT89C55... 24 2.7.1 Struktur Perangkat Keras AT89C55... 24 2.7.2 Fungsi fungsi dari Pin Mikrokontroller AT89C55... 25 2.7.3 Struktur Memori Mikrokontroller AT89C55... 29 2.7.4 SFR ( Special Function Register )... 32 2.8 LCD ( Liquid Crystal Display )... 36 2.9 Keypad... 42 viii

BAB III PERANCANGAN ALAT... 46 3.1 Garis Besar Perancangan... 46 3.2 Perancangan Hardware... 47 3.2.1 20 Pin ZIF ( Socket IC )... 47 3.2.2 Mikrokontroller AT89C55... 48 3.2.3 Perancangan Keypad... 49 3.2.4 Perancangan LCD... 49 3.2.5 Perancangan Relay Driver... 51 3.2.6 Perancangan Rangkaian Lengkap (Circuit Diagram Rangkaian). 52 3.2.7 Prinsip Kerja Rangkaian... 54 3.3 Perancangan Software... 55 BAB IV PENGUJIAN ALAT... 57 4.1 Pengujian dan Pengukuran Rangkaian Power Supply Unit... 57 4.2 Pengujian Rangkaian Relay Driver... 59 4.3 Pengujian LCD... 61 4.4 Pengujian Sistem Kerja Alat... 62 BAB V KESIMPULAN... 65 DAFTAR PUSTAKA... 66 LAMPIRAN ix

DAFTAR TABEL Tabel 2.1.1 Tabel Kebenaran Gerbang OR... 5 Tabel 2.1.2 Tabel Kebenaran Gerbang AND... 6 Tabel 2.1.3 Tabel Kebenaran Logika Inverter... 6 Tabel 2.1.4 Tabel Kebenaran Gerbang NAND... 7 Tabel 2.1.5 Tabel Kebenaran Gerbang NOR... 8 Tabel 2.1.6 Tabel Kebenaran Gerbang EXOR... 9 Tabel 2.1.7 Tabel Kebenaran Gerbang EXNOR... 10 Tabel 2.2.1 Tabel Kebenaran Multiplexer dengan 2 Input... 11 Tabel 2.2.2 Tabel Kebenaran Demultiplexer dengan 2 Output... 12 Tabel 2.2.3 Tabel Kebenaran BCD To 7 Segment... 13 Tabel 2.3.1 Tabel Kebenaran RS Flip Flop... 14 Tabel 2.3.2 Tabel Kebenaran RS Clocked Flip Flop... 15 Tabel 2.3.3 Tabel Kebenaran D Flip Flop... 16 Tabel 2.3.4 Tabel Kebenaran JK Flip Flop... 17 Tabel 2.4.1 Tabel Kebenaran Half Adder... 18 Tabel 2.4.2 Tabel Kebenaran Full Adder... 19 Tabel 2.8a Fungsi fungsi Pin LCD... 36 Tabel 2.8b Function Set... 38 Tabel 2.8c Entry Mode Set... 38 Tabel 2.8d Display On / Off Cursor... 39 Tabel 2.8e Clear Display... 40 Tabel 2.8f Geser Kursor dan Display... 40 Tabel 2.8g Definisi / Note Geser Kursor dan Display... 40 x

Tabel 2.8h Sel Alamat Memori DDRAM... 41 Tabel 4.1 Hasil Pengukuran pada Power Supply Unit... 58 Tabel 4.2 Hasil Pengujian Rangkaian Relay Driver... 60 Tabel 4.4 Hasil Pengujian Terhadap Beberapa IC Type 74... 62 xi

DAFTAR GAMBAR Gambar 2.1.1 Gerbang OR... 4 Gambar 2.1.2 Gerbang AND... 5 Gambar 2.1.3 Lambang Logika Inverter... 6 Gambar 2.1.4 Gerbang NAND... 7 Gambar 2.1.5 Gerbang NOR... 8 Gambar 2.1.6 Gerbang EXOR... 9 Gambar 2.1.7 Gerbang EXNOR... 9 Gambar 2.2.1 Multiplexer dengan 2 Input... 11 Gambar 2.2.2 Demulitplexer dengan 2 Output... 12 Gambar 2.2.3 Decoder BCD To 7 Segment... 12 Gambar 2.3.1 RS Flip Flop dengan Gerbang NAND... 14 Gambar 2.3.2 RS Clocked Flip Flop... 15 Gambar 2.3.3 Simbol dari D Flip Flop... 16 Gambar 2.3.4 JK Flip Flop... 16 Gambar 2.4.1 Rangkaian Half Adder... 17 Gambar 2.4.2 Rangkaian Full Adder... 18 Gambar 2.5.1 4 Bit Serial In Serial Out... 20 Gambar 2.5.2 4 Bit Serial In Parallel Out... 20 Gambar 2.5.3 4 Bit Parallel In Serial Out... 20 Gambar 2.5.4 4 Bit Parallel In Parallel Out... 21 Gambar 2.6.1 Struktur Memori 4 X 4... 22 Gambar 2.6.2a Sebuah Sel Biner ( Binary Cell / BC )... 23 Gambar 2.6.2b Konstruksi Memori Sederhana dengan 12 Sel Biner... 23 Gambar 2.7.1 Arsitektur Perangkat Keras AT89C55... 25 xii

Gambar 2.7.2 Konfigurasi Pin Mikrokontroller AT89C55... 26 Gambar 2.7.3a AT89C55 Program Memory... 29 Gambar 2.7.3b AT89C55 Data Memory... 30 Gambar 2.7.3c 128 Byte RAM Internal... 31 Gambar 2.7.4 Special Function Register ( SFR )... 33 Gambar 2.8a Modul LCD Character 2 X 16... 37 Gambar 2.8b Peta Memori Posisi Karakter LCD... 41 Gambar 2.9a Circuit Diagram Keypad 4 X 3... 43 Gambar 2.9b Diagram Alir Scanning Keypad... 44 Gambar 3.1 Block Diagram Digital IC Tester... 46 Gambar 3.2.1 ZIF Socket... 47 Gambar 3.2.2 Interface Mikrokontroller AT89C55... 48 Gambar 3.2.3 Circuit Diagram Keypad 4 X 3... 49 Gambar 3.2.4 LCD Character 2 X 16... 50 Gambar 3.2.5 7 Open Collector ULN 2003... 51 Gambar 3.2.6 Circuit Diagram Digital IC Tester... 52 Gambar 3.3 Flowchart Digital IC Tester... 56 Gambar 4.1 Rangkaian Power Supply Unit... 57 Gambar 4.2 Rangkaian Relay Driver... 60 Gambar 4.3 Tampilan LCD pada pengujian modul LCD... 61 Gambar 4.4 Hasil Pengujian Sistem Kerja Alat... 63 xiii

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah IC Tester digunakan untuk menguji IC. IC IC ini seringkali digunakan di Laboratorium oleh Pelajar - pelajar dari Jurusan Perancangan Logika Digital. IC Tester yang tersedia di pasar pada saat ini biasanya mahal. IC Tester ini dibuat dengan menggunakan Microcontroller AT89C55 dan diperlengkapi dengan Keypad dan Display Unit. Untuk menguji IC Digital yang mempunyai maximum 16 pin. Setelah diprogram, sejumlah IC dapat diuji sebatas memori yang tersedia. IC Tester ini dapat digunakan untuk berbagai macam IC, yang mana termasuk Simple Logic Gate dan juga Sequential dan IC gabungan ( Combinational IC ) seperti Flip flop, Counter, Shift Register dll. 1.2 Tujuan Penulisan Tujuan penulisan Tugas Akhir ini adalah untuk membuat alat yang bermanfaat, murah dan terjangkau yaitu Digital IC Tester dengan menggunakan Microcontroller AT89C55. 1.3 Pokok Pokok Pembahasan Pembahasan pada Tugas Akhir ini meliputi Mikrokontroller AT89C55, Keypad dan Display Unit. 1

1.4 Metode Penulisan Metode penulisan Tugas Akhir ini berdasarkan pada : - Melakukan penelitian pustaka / literature mengenai Mikrokontroller, Keypad dan Display Unit, serta pemograman dan teori2 lainnya yang berkenaan dengan Tugas Akhir ini. - Merancang Block Diagram keseluruhan rangkaian. - Melakukan pembahasan dan analisa rangkaian tersebut. - Merealisasikan Diagram Block ke dalam rangkaian. - Menarik kesimpulan dari hasil pengujian yang diperoleh. 1.5 Sistematika Penulisan Tugas Ahir ini disusun dengan sistematika penulisan sbb : BAB I PENDAHULUAN Pada bagian ini berisi latar belakang, tujuan penulisan, pokok2 pemba hasan, metode penulisan serta sistematika penulisan. BAB II LANDASAN TEORI Pada bagian ini menjelaskan teori2 yang mendukung seluruh rangkaian alat / komponen yang akan digunakan dalam merancang dan menguji alat BAB III PERANCANGAN ALAT Pada bagian ini akan menjelaskan Block Diagram, prinsip kerja rangkaian dan prinsip kerja keseluruhan. BAB IV PENGUJIAN ALAT Pada bagian ini berisikan hasil pengujian alat serta analisa. 2

BAB V PENUTUP Pada bagian ini berisi kesimpulan dari pengukuran dan pengujian alat. 3

BAB II LANDASAN TEORI 2.1 Pengenalan Gerbang Logika Gerbang Logika adalah rangkaian dasar yang membentuk computer. Jutaan Transistor dalam Mikroprosesor membentuk ribuan Gerbang Logika. Sebuah Gerbang Logika sederhana mempunyai satu Terminal Output dan satu atau lebih Terminal Input. Keluarannya dapat bernilai High ( 1 ) atau Low ( 0 ), bergantung level digital yang diberikan pada Terminal Input. Kita akan membahas tujuh Gerbang Logika dasar, yaitu: OR, AND, NAND, NOR, INVERTER ( NOT ), EXOR, dan EXNOR. 2.1.1 Gerbang OR Gerbang OR adalah gerbang yang akan memberikan Keluaran berlogika 1, bila ada Gerbang Input yang diberi Logika 1.Gerbang OR memiliki dua atau lebih Input dan satu Output. Simbol Gerbang OR dengan dua Input diperlihatkan pada Gambar 2.1.1. Operasi Gerbang OR dengan dua Input ( A dan B ), adalah sebagai berikut: Output X pada Gerbang OR akan bernilai 1, jika Input A dan B atau salah satunya bernilai 1. Dalam Persamaan Boolean, kondisi ini ditulis, sebagai: X = A + B Gambar 2.1.1 Gerbang OR 4

Tabel Kebenaran Gerbang OR dengan dua Input diperlihatkan di bawah ini. Dalam Tabel Kebenaran, dapat terlihat bahwa: X berlogika 0, jika kedua Input 0. Tabel 2.1.1 Tabel Kebenaran Gerbang OR A B X = A + B 0 0 0 0 1 1 1 0 1 1 1 1 2.1.2 Gerbang AND Gerbang AND adalah gerbang yang memberikan Keluaran 1, bila semua Masukan bernilai 1. Tabel di bawah ini adalah Tabel Kebenaran untuk Gerbang AND dengan dua Masukan dan X sebagai Keluarannya. X akan berlogika 1, jika kedua Input berlogika 1. Gambar 2.1.2 Gerbang AND Tabel Kebenaran Gerbang AND dengan dua Input diperlihatkan di bawah ini. Dalam Tabel Kebenaran, dapat terlihat bahwa Output pada X adalah berlogika 1, jika kedua Input A dan B bernilai 1. 5

Tabel 2.1.2 Tabel Kebenaran Gerbang AND A B X = A. B 0 0 0 0 1 0 1 0 0 1 1 1 2.1.3 Inverter Inverter adalah gerbang yang dengan hanya satu Masukan, Keluarannya selalu mempunyai status berlawanan dengan status Masukan. Masukan Low, menghasilkan Keluaran High dan Masukan High, menghasilkan Keluaran Low. Dalam bentuk Biner, 0 menyatakan Low dan 1 menyatakan High. Inverter juga dinamakan Gerbang NOT, karena status Keluaran tidak sama dengan Masukan. Atau sering dinyatakan: Keluaran sebagai lawan dari Masukan. Persamaan Boolean untuk Inverter adalah dengan menulis garis di atas varia- bel: X = A ( X = A tidak ). Gambar 2.1.3 Lambang Logika Inverter Tabel 2.1.3 Tabel Kebenaran Logika Inverter A X 0 1 1 0 6

2.1.4 Gerbang NAND Operasi dari Gerbang NAND sama dengan operasi Gerbang AND, tetapi Keluarannya dibalik. Simbol untuk Gerbang NAND mirip dengan Gerbang AND, namun terdapat lingkaran kecil pada Keluarannya. Gambar 2.1.4 Gerbang NAND Persamaan Boolean untuk Gerbang NAND adalah: X = A.B Tabel 2.1.4 Tabel Kebenaran Gerbang NAND A B X = A.B 0 0 1 0 1 1 1 0 1 1 1 0 2.1.5 Gerbang NOR Operasi Gerbang NOR sama seperti Gerbang OR, tetapi Keluarannya dibalik. Simbol untuk Gerbang NOR serupa dengan OR, tetapi diberikan Inverter pada Keluarannya. 7

Gambar 2.1.5 Gerbang NOR Simbol Gerbang NOR serupa dengan OR dengan Inverter, sehingga Input A dan B bernilai 0 akan menghasilkan Output 1. Persamaan Boolean untuk fungsi NOR adalah: X = A + B Tabel 2.1.5 Tabel Kebenaran Gerbang NOR A B X = A + B 0 0 1 0 1 0 1 0 0 1 1 0 2.1.6 Gerbang Exclusive OR ( EXOR ) EXOR adalah Gerbang OR yang bersifat eksklusif, dimana Keluarannya akan 0, jika Masukannya sama, dan jika salah satu Masukannya berbeda maka Keluaran EXOR adalah 1. Gerbang EXOR, diperlihatkan pada gambar di bawah ini: 8

Gambar 2.1.6 Gerbang EXOR Persamaan Boolean untuk Gerbang EXOR adalah: X = A B Tabel 2.1.6 Tabel Kebenaran Gerbang EXOR A B X = A B 0 0 0 0 1 1 1 0 1 1 1 0 Dalam Tabel Kebenaran, dapat terlihat bahwa: dimana jika kedua Input bernilai sama ( 0 atau 1 ), maka Keluarannya menjadi 0. 2.1.7 Gerbang EXNOR Gerbang EXNOR adalah Gerbang EXOR yang ditambahkan Inverter, sehingga Tabel Kebenarannya cukup dengan membalikkan Tabel Kebenaran dari EXOR. Gambar 2.1.7 Gerbang EXNOR 9

Persamaan Boolean untuk Gerbang EXNOR adalah: X = A B Tabel Kebenaran EXNOR memberikan Keluaran 1 apabila kedua Inputnya sama dan akan memberikan Keluaran 0, apabila kedua Inputnya berbeda. EXNOR kadang disebut juga dengan Equality Gate, karena kedua Input harus memiliki nilai yang sama untuk menghasilkan Output 1. Tabel 2.1.7 Tabel Kebenaran Gerbang EXNOR A B X = A B 0 0 1 0 1 0 1 0 0 1 1 1 2.2 Rangkaian Kombinasional Kita sudah melihat penggunaan bermacam macam kombinasi Gerbang Dasar pada bagian sebelumnya. Kita juga dapat membentuk beberapa Fungsi Logika yang kita perlukan dari kombinasi tersebut. Seringkali sebuah Kombinasi Khusus Gerbang Logika menyediakan sebuah Fungsi Khusus untuk sebuah Tugas. 2.2.1 Multiplexer Multiplexer berarti banyak ke satu. Multiplexer adalah rangkaian dengan banyak Input dan hanya mempunyai satu Output. Multiplexer ( Selector Data ) 10

mengeluarkan Satu Output dari sekian Banyak Input Data yang ada. Di bawah ini diperlihatkan Gambar Multiplexer dengan 2 Input: X0 dan X1, dan 1 Selector: A. Gambar 2.2.1 Multiplexer dengan 2 Input Tabel 2.2.1 Tabel Kebenaran Multiplexer dengan 2 Input A X 0 X0 1 X1 Dalam Tabel Kebenaran dapat terlihat bahwa: jika Selector A = 0, maka Output X = X0. Jika Selector A = 1, maka Output X = X1. 2.2.2 Demultiplexer Demultiplexer berarti satu ke banyak. Demultiplexer adalah rangkaian dengan Satu Input dan mempunyai Banyak Output. 11

Gambar 2.2.2 Demultiplexer dengan 2 Output Tabel 2.2.2 Tabel Kebenaran Demultiplexer dengan 2 Output A OUT 0 OUT 1 0 IN 0 1 0 IN Dalam Tabel Kebenaran dapat terlihat bahwa: Jika Selector A = 0, maka Out 0 = In dan Out 1 = 0. Jika Selector A = 1, maka Out 0 = 0 dan Out 1 = In. 2.2.3 Decoder Decoder adalah suatu rangkian yang terdiri dari gerbang gerbang untuk menampilkan kode biner menjadi angka / huruf yang dapat dimengerti. Gambar 2.2.3 Decoder BCD To 7 Segment 12

Di bawah ini akan ditampilkan Tabel Kebenaran dari Decoder BCD To 7 Segment: Tabel 2.2.3 Tabel Kebenaran BCD To 7 Segment b3 b2 b1 b0 a b c d e f g Tampilan 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 1 1 1 1 1 0 0 1 0 0 0 1 0 0 1 0 2 0 0 1 1 0 0 0 0 1 1 0 3 0 1 0 0 1 0 0 1 1 0 0 4 0 1 0 1 0 1 0 0 1 0 0 5 0 1 1 0 0 1 0 0 0 0 0 6 0 1 1 1 0 0 0 1 1 1 1 7 1 0 0 0 0 0 0 0 0 0 0 8 1 0 0 1 0 0 0 0 1 0 0 9 2.3 Rangkaian Sequential Rangkaian Sequential adalah suatu Rangkaian yang dikontrol oleh Rangkaian lain sekaligus mengontrol Rangkaian lain, yang termasuk Rangkaian Sequential adalah: Flip Flop. Flip Flop adalah suatu Rangkaian yang dapat me-latch atau menyimpan Data. Jenis Flip Flop, antara lain adalah: RS Flip Flop, RS Clocked Flip Flop, JK Flip Flop, D Flip Flop. 2.3.1 RS Flip Flop Rangkaian paling sederhana dari penyimpan Data ini adalah Set Reset ( SR ) Flip Flop. Rangkaian ini dikenal juga sebagai Transparent Latches, karena Output akan merespon secara cepat perubahan pada Input dan keadaan Input ini akan diingat 13

atau di-latch. Rangkaian RS Flip Flop dapat dibuat menggunakan Gerbang NOR atau NAND. Di bawah ini diperlihatkan Gambar RS Flip Flop dengan Gerbang NAND: Gambar 2.3.1 RS Flip Flop dengan Gerbang NAND Tabel 2.3.1 Tabel Kebenaran RS Flip - Flop S R Qn + 1 Qn + 1 0 0 0 1 1 0 1 0 0 1 1 1 Qn Qn Dalam Tabel Kebenaran, terlihat bahwa: Jika R bernilai 1 dan S bernilai 0, maka Q akan bernilai 0 ( kondisi Reset ), Jika R bernilai 0 dan S bernilai 1, maka Q akan bernilai 1 ( kondisi Set ). Jika R dan S sama sama bernilai 1, maka Q dapat berupa 0 atau 1, bergantung pada kondisi R atau S sebelumnya. Kejadian ini dikenal sebagai Memory State. 14

2.3.2 RS Clocked Flip Flop RS Clocked Flip Flop ini termasuk Positif Going atau Positif Edge Trigger, artinya: Output Q akan berubah, jika Input Clock berubah dari 0 ke 1, diluar kondisi tersebut Output Q, tidak berubah. Gambar 2.3.2 RS Clocked Flip Flop Tabel 2.3.2 Tabel Kebenaran RS Clocked Flip - Flop Clocked S R Qn + 1 1 0 0 Qn Qn + 1 Qn 1 0 1 0 1 1 1 0 1 0 1 1 1 15

2.3.3 D Flip Flop Pada D Flip Flop ini, Output Q akan sama dengan Input dari D, jika Input D = 0, maka Output Q = 0, jika Input D = 1 maka Output Q = 1. D SET Q CLR Q Gambar 2.3.3 Simbol dari D Flip Flop Tabel 2.3.3 Tabel Kebenaran D Flip - Flop D Qn + 1 Qn + 1 0 0 1 1 1 0 2.3.4 JK Flip Flop Type lain dari Flip Flop adalah JK Flip Flop. Aplikasi Synchronous Binary Counter adalah aplikasi dasar dari JK Flip Flop sebagai Counter. Gambar 2.3.4 JK Flip Flop 16

Tabel 2.3.4 Tabel Kebenaran JK Flip - Flop Clocked J K Qn + 1 1 0 0 Qn Qn + 1 Qn 1 0 1 0 1 1 1 0 1 0 1 1 1 Qn Qn 2.4 Arithmetic Logic Unit ( ALU ) Suatu Rangkaian Digital yang dapat melakukan operasi arithmetika ( penjumlahan dan pengurangan ). Rangkaian Dasar ( utama ) dalam ALU adalah Adder ( penjumlah ). Pengurangan, perkalian dan pembagian semuanya dibuat dari Rangkaian Dasar Adder. 2.4.1 Rangkaian Half Adder 2 Bit. Rangkaian Half Adder adalah Rangkaian Digital yang hanya dapat menjumlah Gambar 2.4.1 Rangkaian Half Adder 17

Tabel 2.4.1 Tabel Kebenaran Half Adder A B C O SUM 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 2.4.2 Rangkaian Full Adder 3 Bit Biner. Rangkaian Full Adder adalah suatu Rangkaian Digital yang dapat menjumlah Gambar 2.4.2 Rangkaian Full Adder 18

Tabel 2.4.2 Tabel Kebenaran Full Adder A B Ci Co sum 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 2.5 Rangkaian Shift Register Rangkaian Shift Register adalah suatu Rangkaian Logika yang mempunyai fungsi hanya untuk menggeser Data, tanpa merubah isi dari Data yang digeser. Menurut cara penggeseran, Shift Register dibagi menjadi 4 bagian: 1. SISO ( Serial In Serial Out ) 2. SIPO ( Serial In Parallel Out ) 3. PISO ( Parallel In Serial Out ) 4. PIPO ( Parallel In Parallel Out ) 19

2.5.1 SISO ( Serial In Serial Out ) Data masuk secara Serial ( satu per-satu ) dan Data keluar secara Serial pula. Menurut arahnya SISO dibagi menjadi: a. Shift Left ( geser ke kiri ) b. Shift Right ( geser ke kanan ) Gambar 2.5.1 4 Bit Serial In Serial Out 2.5.2 SIPO ( Serial In Parallel Out ) Data masuk secara Serial dan keluar secara Parallel. Gambar 2.5.2 4 Bit Serial In Parallel Out 2.5.3 PISO ( Parallel In Serial Out ) Data masuk secara Parallel dan keluar secara Serial. Gambar 2.5.3 4 Bit Parallel In Serial Out 20

2.5.4 PIPO ( Parallel In Parallel Out ) Data masuk secara Parallel dan keluar secara Parallel. Parallel In I3 I2 I1 I0 D SET Q D SET Q D SET Q D SET Q CLR Q CLR Q CLR Q CLR Q Clock Q3 Q2 Q1 Q0 Parallel Out Gambar 2.5.4 4 Bit Parallel In Parallel Out 2.6 Memori Memori adalah suatu Rangkaian Digital yang berfungsi untuk menyimpan informasi / Data. Menurut sifatnya, Memori dibagi menjadi: - Volatile Memori Adalah suatu Memori yang isinya hilang jika Power Supply yang diberikan, diputuskan. Contoh: RAM ( Random Access Memori ). RAM terdiri dari: - Static RAM: Data yang disimpan di dalam sebuah Flip Flop - Dynamic RAM: Data yang disimpan pada Capacitor. - Non Volatile Memori Kebalikan dari Volatile. Data yang disimpan oleh Memori tetap ada, walaupun Power Supply diputuskan. Contoh: - ROM ( Read Only Memori ) - PROM ( Programable ROM ) 21

- EPROM ( Eraseable PROM ) - Diskette - Hard Disk, dll. 2.6.1 Struktur Memori Struktur Memori mempunyai kesamaan dengan sebuah lemari, contoh: Gambar 2.6.1 Struktur Memori 4 X 4 2.6.2 Sel Memori Dasar Sebuah Sel Memori dapat dibuat dari sebuah Flip Flop dan beberapa gerbang, seperti ditunjukkan pada Gambar 2.6.2a Sel ini terdiri dari 3 Input dan 1 Output. Input Select berfungsi untuk meng-enable ( mengaktifkan ) sel untuk dapat membaca atau menulis Data di sel. Nilai logika 1 atau 0 pada Input Read / Write menentukan operasi yang dipilih. Untuk menulis / menyimpan Data, Read / Write dan Input Select diberi Input 1, dan untuk membaca Data, Read / Write diberi Input 0. 22

Gambar 2.6.2a Sebuah Sel Biner ( Binary Cell / BC ) Sedangkan Konstruksi Sebuah Memori yang sederhana terdiri dari 12 Sel Biner ( BC ) ditunjukkan pada Gambar 2.6.2b. Bagan ini terdiri dari 4 lokasi, dimana masing masing lokasi memuat 3 Bit Data. Gambar 2.6.2b Konstruksi Memori sederhana dengan 12 Sel Biner 23

2.7 Mikrokontroller AT89C55 Mikrokontroller adalah sebuah komponen elektronik yang dapat bekerja sesuai dengan program yang diisikan ke dalam memorinya seperti layaknya sebuah komputer yang sangat sederhana. Mikrokontroller AT89C55 adalah Mikrokontroller dengan arsitektur MCS51 produksi Atmel yang mempunyai Sistem Memori, Timer, Port Serial dan 32 Bit I/O didalamnya sehingga sangat memungkinkan untuk membentuk suatu Sistem yang hanya terdiri dari Single Chip ( keping tunggal ) saja. 2.7.1 Struktur Perangkat Keras AT89C55 AT89C55 adalah Mikrokontroller keluaran Atmel dengan 20K Byte Flash PEROM ( Programmable and Erasable Read Only Memory ), AT89C55 merupakan Memori dengan Teknologi Non-volatile Memory, isi Memory tersebut dapat diisi ulang ataupun dihapus berkali kali. Memori ini biasa digunakan untuk menyimpan Instruksi ( perintah ) berstandar MCS-51 Code sehingga memungkinkan Mikrokontroller ini untuk bekerja dalam Mode Single Chip Operation ( Mode Operasi Keping Tunggal ) yang tidak memerlukan External Memory ( Memori Luar ) untuk menyimpan Source Code tersebut. Dengan cara ini, maka pengguna atau user tidak perlu melengkapi Keping Tunggal ini dengan beragam IC lain, seperti Clock Generator, Address Latcher, Chip Selector, Memory dan PPI ( Programmable Peripheral Interface ) atau lainnya. Dalam memilih Mikrokontroller yang akan digunakan pada suatu Rancangan Elektronik, Struktur ini sangat penting untuk diketahui lebih dahulu sebagai pembanding dengan Mikrokontroller yang lain. Di bawah ini akan diperlihatkan Struktur/Arsitektur Perangkat keras AT89C55: 24

Gambar 2.7.1 Arsitektur Perangkat Keras AT89C55 2.7.2 Fungsi fungsi dari Pin Mikrokontroller AT89C55 Susunan Pin atau kaki kaki Mikrokontroller AT89C55 dapat dilihat pada gambar di bawah ini: 25

Gambar 2.7.2 Konfigurasi Pin Mikrokontroller AT89C55 - P1.0 s/d P1.7 ( Pin 1 s/d Pin 8 ): Port 1 berfungsi sebagai I/O biasa atau menerima Low Order Address Bytes selama pada saat Flash Programming. 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. - RST / Reset Input ( Pin 9 ): Reset akan aktif dengan memberikan Input High selama 2 Cycle. - P3.0 s/d P3.7 ( Pin 10 s/d Pin 17 ) Sebagai I/O biasa, Port 3 mempunyai sifat yang sama dengan Port 1 maupun Port 2. Sedangkan sebagai Fungsi Spesial Port port ini mempunyai keterangan sebagai berikut: 26

- P3.0 ( RXD ): Port Serial Input - P3.1 ( TXD ): Port Serial Output - P3.2 ( INT0 ): Port External Interrupt 0 - P3.3 ( INT1 ): Port External Interrupt 1 - P3.4 ( T0 ): Port External Timer 0 Input - P3.5 ( T1 ): Port External Timer 1 Input - P3.6 ( WR ): External Data Memory Write Strobe - P3.7 ( RD ): External Data Memory Read Strobe - XTAL2 ( Pin 18 ): adalah Pin Output dari Rangkaian Oscilator Internal. Pin ini dipakai bila menggunakan Oscilator Kristal. - XTAL1 ( Pin 19 ): adalah Pin Input ke Rangkaian Oscilator Internal. Sebuah Oscilator Kristal atau Sumber Oscilator Luar dapat digunakan. - GND / Ground ( Pin 20 ): adalah Pin Ground untuk Power Supply. - P2.0 s/d P2.7 / A8 s/d A15 ( Pin 21 s/d Pin 28 ): Port 2 berfungsi sebagai I/O biasa atau High Order Address, pada saat mengakses Memori secara 16 Bit ( Movx @ Dptr ). Port ini mempunyai Internal Pull-up dan berfungsi sebagai Input dengan memberikan Logika 1. Sebagai Output, Port ini dapat mensuplai arus ke 4 buah Pin Input TTL. - PSEN / Program Strobe Enable ( Pin 29 ): Pin ini berfungsi pada saat mengeksekusi Program yang terletak pada Memori Eksternal. PSEN akan aktif dua kali setiap cycle. - ALE/PROG ( Pin 30 ): 27

Pin ini dapat berfungsi sebagai Address Latch Enable ( ALE ) yang me-latch Low Byte Address pada saat mengakses Memori Eksternal ( Sinyal High diberikan oleh Pin ini ). Pin ini disediakan karena 8 dari 16 Pin Address dipakai bergantian dengan 8 Pin Data. Pin ini disambungkan dengan sebuah Latch atau Buffer yang menahan Sinyal Address. Pada operasi normal ALE dikeluarkan secara konstan pada 1/6 Frekuensi Oscillator dan dapat dipakai untuk Timing atau Clocking Eksternal. Sedangkan PROG atau kondisi Low yang diberikan terhadap Pin ini diterapkan pada saat pengisian Kode Program ke dalam ROM Internal. - EA/VPP ( 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 berkondisi High, Pin ini akan berfungsi untuk menjalankan Program yang ada pada Memori Internal. Pada saat Flash Programming Pin ini akan mendapat Tegangan 12 Volt ( VPP ) - P0.7 s/d P0.0 / AD7 s/d AD0 ( Pin 32 s/d Pin 39 ): Port 0 ini berfungsi sebagai I/O biasa, Low Order Multiplex Address / Data ataupun menerima Kode Byte pada saat Flash Programming. Pada fungsi sebagai I/O biasa, Port ini dapat memberikan arus ke 8 buah Pin Input TTL atau dapat diubah sebagai Input dengan memberikan Logika 1 pada Port tersebut ( Pin pada Port 0 ti-dak dilengkapi dengan Internal Pull-up ). Selain untuk Parallel Port, Pin pin pada Port 0 juga dapat digunakan Pin Address ( A0 s/d A7 ) maupun Pin Data ( D0 s/d D7 ), ketika Prosessor menggunakan Memori atau I/O Eksternal. - VCC ( PIN 40 ): adalah Pin VCC untuk Power Supply. 28

2.7.3 Struktur Memori Mikrokontroller AT89C55 Mikrokontroller AT89C55 memiliki Program Memory Internal yang terpisah dari Data Memory Internal. Program Memory Internal memiliki kapasitas 20K Byte Flash PEROM, yaitu Alamat 0000H s/d 4FFFH. Gambar 2.7.3a AT89C55 Program Memory Gambar 2.7.3a memperlihatkan lokasi ROM Internal. Lokasi ini dapat diakses Jika Pin EA/VPP = 1 atau diberi tegangan VCC. Jika ukuran Program melampaui 20K Byte, maka harus digunakan ROM Eksternal yang Alamatnya antara 0000H s/d FFFFH ( 64K Byte ) dan Pin EA/VPP = 0 atau dihubungkan dengan Ground. Jika digunakan EPROM Eksternal, maka Alamat Program Memory sama dengan Alamat Data Memory, dengan kata lain Alamat 64K Byte dipakai bersama oleh Program dan Data. Pengaksesan Data ke Data Memory External dilakukan dengan menggunakan Data Pointer melalui Instruksi MOVX. Gambar 2.7.3b memperlihatkan Lokasi RAM Internal: 29

Gambar 2.7.3b AT89C55 Data Memory Disamping dapat mengakses RAM External, Mikrokontroller AT89C55 memiliki RAM Internal yang pengaksesannya terpisah dengan RAM Eksternal. RAM Internal berkapasitas 256 Byte. 128 Byte Upper dari RAM Internal menempati Ruang Parallel Address pada Special Function Register ( SFR ). Ini berarti 128 Byte Upper dari RAM Internal mempunyai Address yang sama dengan SFR, tetapi secara fisik sebenarnya terpisah dari Ruang SFR. Bila suatu Instruksi mengakses suatu Lokasi Internal di atas Alamat 7FH, maka Mode Alamat yang digunakan dalam Instruksi tersebut akan menentukan apakah Mikrokontroller sedang mengakses 128 Byte Upper dari RAM atau SFR. Bila Instruksi yang digunakan mengakses Direct Addressing, berarti mengakses Ruang SFR. Untuk contoh, berikut ini Instruksi Direct Addressing mengakses Lokasi SFR pada Alamat 0A0H ( P2 ): MOV 0A0H, #DATA. Instruksi yang menggunakan Indirect Addressing untuk mengakses 128 Byte Upper dari RAM. Untuk contoh, berikut ini Instruksi Indirect Addressing, dimana R0 30

berisi 0A0H, mengakses Data pada Alamat 0A0H, daripada P2 ( terletak pada Alamat 0A0H ): MOV @RO, #DATA. RAM Internal dapat diakses secara langsung ( Direct Addressing ) maupun tak langsung ( Indirect Addressing ) melalui R0 dan R1. Sedangkan SFR hanya dapat diakses secara langsung. 128 Byte RAM Internal yang terletak antara 00H s/d 7FH, terbagi atas 3 bagian: Gambar 2.7.3c 128 Byte RAM Internal 31

1. Kelompok Register Bank: 89C55 mempunyai 8 buah Register yang terdiri atas R0 hingga R7. Kedelapan Register ini selalu terletak pada Alamat 00H hingga 07H pada setiap kali Sistem di- Reset. Namun posisi R0 hingga R7 dapat dipindah ke Bank 1 ( 08H hingga OFH ), Bank 2 ( 10H hingga 17H ) atau Bank 3 ( 18H hingga 1FH ) dengan mengatur Bit RS0 dan RS1. 2. Bit Addressable RAM ( Pengalamatan Bit ): Terdiri dari 16 Byte atau 16 Register dengan Alamat antara 20H s/d 2FH. Setiap Bit pada area ini dapat diakses secara terpisah tanpa mengganggu Bit lainnya. Pengalamatan Byte dapat menggunakan Alamat Register antara 20H s/d 2FH, sedangkan pengalamatan Bit dapat dilakukan dengan menuliskan titik setelah Alamat Registernya, misalnya: 20H.7 untuk Bit MSB pada Register 20H. 3. Scratch Pad Area ( Daerah RAM Untuk Keperluan Umum ): Terletak di bagian atas RAM Internal, yaitu Alamat 30H s/d 7FH. Biasanya Stack diletakkan di area ini. 2.7.4 SFR ( Special Function Register ) Di dalam setiap Operasinya Mikrokontroller harus selalu menyertakan Register sebagai salah satu Operand atau Tempat Data yang akan dilibatkan dalam Operasi tersebut. Register adalah Memori Kecil berukuran 1 atau 2 Byte ( 8 Bit atau 16 Bit ). Register akan menampung Data sebelum diolah, Register juga akan menampung Data hasil olahan sementara sebelum dikembalikan atau dikirim ke BUS Internal atau Eksternal. Selain itu, Register juga digunakan untuk mengendalikan Operasi I/O Device, seperti: Parallel I/O, Serial Communication, Timer dan Interrupt. Gambar 2.7.4 memperlihatkan Peta SFR. 32

Gambar 2.7.4 Special Function Register ( SFR ) 33

Register register yang ada di Mikrokontroller adalah sebagai berikut: 1. Register A: Disebut juga sebagai Akumulator (SFR Alamat E0H ) yaitu tempat Akumulasi Proses Olah Data. Hampir semua Operasi Aritmatik dan Operasi Logika selalu menggunakan Register ini. Untuk Proses Pengambilan dan Pengiriman Data ke Memori Eksternal juga diperlukan Register ini. 2. Register B: Disebut juga Base Register ( SFR Alamat F0H ). Register ini digunakan bersama Akumulator untuk Proses Aritmatik, selain dapat juga difungsikan sebagai Register biasa. Register ini juga bersifat Bit Addressable. 3. Register R0 s/d R7 ( tidak terletak dalam SFR ): Merupakan Register serbaguna yang boleh dipakai untuk apa saja. Khusus untuk Register R0 dan R1 dapat juga digunakan untuk Operasi Pengalamatan Tak Langsung ( Indirect Addressing ). 4. Register DPTR: Data Pointer atau DPTR merupakan Register 16 Bit dan terletak pada Alamat 82H untuk DPL dan 83H untuk DPH. DPTR biasa digunakan untuk mengakses Source Code ataupun Data yang terletak di Memori Eksternal. 5. PSW ( Program Status Word ) Terletak pada Alamat D0H, merupakan Register yang berisi Data data kondisi Mikrokontroller setelah suatu Operasi selesai dijalankan. Register ini memiliki Bit ke-3 ( RS0 ) dan Bit ke-4 ( RS1 ) digunakan untuk pemilihan Register Bank. 6. Register Port: Terdiri dari 4 Port, yaitu: P0, P1, P2 dan P3 yang terletak pada Alamat 80H, 90H, A0H dan B0H. Register Port ini berisi Data data yang akan dikirim keluar dan 34

Data data yang telah dibaca dari luar. Namun, jika digunakan Eksternal Memori ataupun Fungsi fungsi Spesial, seperti: External Interrupt, Serial ataupun External Timer, Port 0, Port 2 dan Port 3 tidak dapat digunakan sebagai Port dengan Fungsi U- mum. Untuk itu disediakan Port 1 yang dikhususkan untuk Port dengan Fungsi Umum. Semua Port ini dapat diakses dengan pengalamatan secara Bit, sehingga dapat dilakukan perubahan Output pada tiap tiap Pin dari Port ini tanpa mempengaruhi Pin pin yang lainnya. 7. Stack Pointer ( SP ): Stack Pointer merupakan sebuah Register 8 Bit yang terletak di Alamat 81H. Isi dari Stack Pointer ini merupakan Alamat dari Data yang disimpan di Stack. Stack Pointer dapat diedit atau dibiarkan saja mengikuti Standar sesudah terjadi Reset. Jika tidak dilakukan perubahan pada Isi dari Register Stack Pointer, Isi Register ini akan selalu berisi 07H, sehingga penyimpanan Data ke Stack yang pertama kali adalah pada Alamat 08H. Oleh karena Area tersebut memakai Area dari Register Bank 1 hingga Register Bank 3, maka pada Program yang banyak menggunakan Area Stack akan terjadi bentrok Alamat dengan Register Bank. Untuk menghindari hal itu Isi dari Stack Pointer dapat diganti dengan Alamat lain dari Memori RAM. Proses yang berhubungan dengan Stack ini biasa dilakukan oleh Instruksi instruksi: Push, Pop, Acall dan Lcall. 8. Register Timer: Terdiri dari 2 buah 16 Bit Timer / Counter, yaitu Timer 0 dan Timer 1. Timer 0 terletak di Alamat 8AH untuk TL0 dan 8CH untuk TH0 dan Timer 1 terletak di Alamat 8BH untuk TL0 dan 8DH untuk TH1. 9. Register register Kontrol: Yaitu Register register yang digunakan untuk mengendalikan kerja I/O De- 35

vice Internal. Register tersebut antara lain: Register IP ( Interrupt Priority ) dan IE ( Interrupt Enable ) untuk Operasi Interupsi, Register TMOD ( Timer Mode ) dan TCON ( Timer Control ) untuk Operasi Timer atau Counter, Register SCON untuk Operasi Komunikasi Serial dan Register PCON ( Power Control ) untuk pengendalian penggunaan Daya Listrik Processor. 2.8 LCD ( Liquid Crystal Display ) Modul LCD Character dapat dengan mudah dihubungkan dengan Mikrokontroller. LCD yang dibahas ini mempunyai Lebar Display 2 baris & 16 kolom atau biasa disebut sebagai LCD Character 2 X 16, dengan 16 Pin Konektor, yang didefinisikan sebagai berikut: Tabel 2.8a Fungsi fungsi Pin LCD 36

Gambar 2.8a Modul LCD Character 2 X 16 Display karakter pada LCD diatur oleh Pin E, RS dan R/W: Jalur E dinamakan Enable.Jalur ini digunakan untuk memberitahu LCD bahwa anda sedang mengirimkan sebuah Data. Untuk mengirimkan Data ke LCD, maka melalui Program, En harus dibuat Logika Low 0 dan set pada 2 jalur Kontrol yang lain: RS dan R/W. Ketika 2 jalur yang lain telah siap, set En dengan Logika 1 dan tunggu untuk sejumlah waktu tertentu ( sesuai dengan Datasheet dari LCD tersebut ) dan berikutnya set En ke Logika Low 0 lagi. Jalur RS adalah Jalur Register Select. Ketika RS berlogika Low 0, Data akan dianggap sebagai sebuah Perintah atau Instruksi Khusus ( seperti: Clear Screen, Posisi Kursor, dll ). Ketika RS berlogika High 1, Data yang dikirim adalah Data Text yang akan ditampilkan pada Display LCD. Sebagai contoh, untuk menampilkan Huruf T pada layar LCD maka RS harus di-set Logika High 1. Jalur R/W adalah Jalur Kontrol Read / Write. Ketika R/W berlogika Low ( 0 ), maka Informasi pada Bus Data akan dituliskan pada Layar LCD. Ketika R/W berlogika High 1, maka Program akan melakukan pembacaan Memori dari LCD. Sedangkan pada Aplikasi Umum Pin R/W selalu diberi Logika Low 0. Pada akhirnya, Bus Data terdiri dari 4 atau 8 Jalur ( bergantung pada Mode Operasi yang dipilih oleh User ). Pada kasus Bus Data 8 Bit, Jalur diacukan sebagai DB0 s/d DB7. 37

Beberapa Perintah Dasar yang harus dipahami, adalah: - Function Set Mengatur Interface Lebar Data, Jumlah dari Baris dan Ukuran Font Karakter: Tabel 2.8b Function Set RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 1 DL N F X X X : Don t Care DL: Mengatur Lebar Data DL = 1, Lebar Data Interface 8 Bit ( DB7 s/d DB0 ) DL = 0, Lebar Data Interface 4 Bit ( DB7 s/d DB4 ) Ketika menggunakan Lebar Data 4 Bit, Data harus dikirimkan 2 kali N: Pengaktifan Baris N = 0, 1 Baris N = 1, 2 Baris F: Penentuan Ukuran Font Karakter F = 0, 5 X 7 F = 1, 5 X 8 - Entry Mode Set Mengatur Increment / Decrement dan Mode Geser: Tabel 2.8c Entry Mode Set RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 0 1 I/D S I/D: Increment / Decrement dari Alamat DDRAM dengan 1, ketika Kode Karak- 38

ter dituliskan ke DDRAM. I/D = 0, Decrement I/D = 1, Increment S: Geser keseluruhan Display ke kanan dan ke kiri S = 1, geser ke kiri atau ke kanan bergantung pada I/D S = 0, Display tidak bergeser - Display On / Off Cursor Mengatur Status Display On atau Off, Cursor On atau Off dan Fungsi Cursor Blink: Tabel 2.8d Display On / Off Cursor RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 1 D C B D: Mengatur Display D = 1, Display is On D = 0, Display is Off Pada kasus ini Data Display masih tetap berada di DDRAM, dan dapat ditampilkan kembali secara langsung dengan mengatur D = 1. C: Menampilkan Kursor C = 1, Kursor ditampilkan C = 0, Kursor tidak ditampilkan B: Karakter ditunjukkan dengan Kursor yang berkedip B = 1, Kursor Blink B = 0, Kursor tidak berkedip 39

- Clear Display Perintah ini untuk menghapus Tampilan di Layar: Tabel 2.8e Clear Display RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 0 0 0 0 1 - Geser Kursor dan Display Geser Posisi Kursor atau Display ke kanan atau ke kiri tanpa menulis atau baca Data Display. Fungsi ini digunakan untuk koreksi atau pencarian Display: Tabel 2.8f Geser Kursor dan Display RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 0 0 1 S/C R/L X X X = Don t Care Tabel 2.8g Definisi / Note Geser Kursor dan Display S/C R/L Note 0 0 Shift cursor position to the left 0 1 Shift cursor position to the right 1 0 Shift the entire display to the left 1 1 Shift the entire display to the right - Posisi Kursor Modul LCD terdiri dari sejumlah Memory yang digunakan untuk Display. Semua Teks yang kita tuliskan ke Modul LCD disimpan di dalam Memory ini, dan Modul LCD secara berurutan membaca Memory ini untuk menampilkan Teks ke Modul LCD itu sendiri: 40

Gambar 2.8b Peta Memori Posisi Karakter LCD Pada Peta Memori tersebut, daerah yang berwarna biru ( 00 s/d 0F dan 40 s/d 4F ) adalah Display yang tampak. Sebagaimana yang anda lihat, jumlahnya sebanyak 16 Karakter per Baris dengan 2 Baris. Angka pada setiap kotak adalah Alamat Memori yang bersesuaian dengan Posisi dari Layar. Demikianlah Karakter Pertama di Sudut Kiri Atas adalah menempati Alamat 00H. Posisi Karakter berikutnya adalah Alamat 01H dan seterusnya.akan tetapi, Karakter Pertama dari Baris 2, sebagaimana yang ditunjukkan pada Peta Memori adalah pada Alamat 40H. Demikianlah kita perlu untuk mengirim sebuah Perintah ke LCD untuk mengatur letak Posisi Kursor pada Baris dan Kolom tertentu. Instruksi Set Posisi Kursor adalah 80H. Untuk ini kita perlu menambahkan Alamat Lokasi dimana kita berharap untuk menempatkan Kursor.Sebagai contoh, kita ingin menampilkan kata World pada Baris ke-2 pada Posisi Kolom ke-10. Sesuai Peta Memori, Posisi Karakter pada Kolom 11 dari Baris ke-2, mempunyai Alamat 4AH, sehingga sebelum kita tulis kata World pada LCD, kita harus mengirim Instruksi Set Posisi Kursor, dan Perintah untuk Instruksi ini adalah 80H ditambah dengan Alamat 4AH ( 80H + 4AH ) = 0CAH. Sehingga dengan mengirim Perintah CAH ke LCD, akan menempatkan Kursor pada Baris ke-2 dan Kolom ke-11 dari DDRAM. - Set Alamat Memori DDRAM Tabel 2.8h Set Alamat Memori DDRAM RS R/W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 A6 A5 A4 A3 A2 A1 A0 A6 s/d A0: Alamat RAM yang akan dipilih 41

Sehingga Alamat RAM LCD adalah 000 0000 s/d 111 1111 B atau 00 s/d 7FH - Inisialisasi Sebelum kita dapat menggunakan Modul LCD, kita harus melakukan Inisialisasi dan mengkonfigurasikannya. Hal ini dijalankan dengan mengirimkan sejumlah Instruksi ke LCD. Antara lain: Pengaturan Lebar Data Interface 8 Bit atau 4 Bit Data Bus, Pemilihan Ukuran Font Karakter 5 X 8 atau 5 X 7 dan lain lain, dengan Instruksi sebagai berikut: Init_lcd: mov r1,#00000001b ; Display clear call write_inst ; En = Pulse dan RS = 0 mov r1,#00111000b ; Function Set ; Data 8 Bit, 2 line, Font 5 X 7 call write_inst ; En = Pulse dan RS = 0 mov r1,#00001100b ; Display On ; Cursor Off, Cursor Blink Off call write_inst ; En = Pulse dan RS = 0 mov r1,#00000110b ; Entry Mode, Set Increment call write_inst ; En = Pulse dan RS = 0 ret 2.9 Keypad Keypad berfungsi untuk memasukkan Data ke Mikrokontroller. Keypad dihubungkan ke Mikrokontroller secara Interface. Keypad terdiri dari 2 Jenis: 1. Keypad dengan sebuah Common 2. Keypad tanpa Common 42

Pada skripsi ini akan dibahas Keypad 4 X 3 tanpa Common, dimana Proses Pengambilan Data dilakukan dengan Metode Scanning. Pada Apikasi Digital IC Tester, LMB162A LCD digunakan sebagai Modul Display yang menampilkan Data data dari penekanan Tombol Keypad. Metode Scanning ini dilakukan dengan memberikan Logika 0 secara bergantian pada Bagi an Kolom ( Column Scanning ). Gambar 2.9a Circuit Diagram Keypad 4 X 3 Apabila Tombol 1 ditekan, maka pada saat Proses Scanning mengirimkan Logika 0 pada Kolom 1, Baris 1 ( Row 1 ) yang juga terhubung pada Kolom 1, akibat Penekanan Tombol 1 juga akan berlogika 0. 43

Gambar 2.9b Diagram Alir Scanning Keypad 44

Diagram Alir pada Gambar 2.9b menunjukkan bahwa proses diawali dengan mengirimkan Logika 0 pada Kolom 1 dan mengambil Kondisi Baris. Bila Kondisi Baris tidak ada yang berlogika 0, maka proses dilanjutkan dengan mengirimkan Logika 0 pada Kolom 2, serta kembali memeriksa Kondisi Baris. Bila masih belum ditemukan Logika 0 pada Baris, maka proses berlanjut ke Kolom 3. Demikian seterusnya hingga ditemukan salah satu Kondisi Baris berlogika 0, yang menandakan adanya Penekanan Keypad. Setelah Kondisi Baris dan Kolom saat Penekanan Tombol ditemukan, maka Program akan meng-konversi kondisi kondisi tersebut ke dalam Bentuk ASCII sesuai dengan Tombol yang ditekan, sehingga Data tersebut dapat dikirim ke LCD. 45

BAB III PERANCANGAN ALAT 3.1 Garis Besar Perancangan Digital IC Tester ini berfungsi untuk menguji berbagai IC Type 74, yang mana termasuk Simple Logic Gate dan juga Sequential dan IC Combinational. Perancangan alat dimaksudkan untuk merencanakan bagian bagian Rangkaian yang akan digunakan dalam peralatan agar berfungsi dengan normal. Proses Perancangan akan dijelaskan dalam bentuk Block Diagram. Block Diagram dari Programmable Digital IC Tester, diperlihatkan di bawah. Ter - diri dari IC Microcontroller AT89C55, Socket IC (ZIF ) 20 pin,1 Keypad Unit,1 Display Unit dan Regulated Power Supply Unit. Gambar 3.1 Block Diagram Digital IC Tester 46

Dalam Perancangan Alat ini terdapat dua jenis perancangan: Perancangan Hardware dan Perancangan Software yang berfungsi sebagai pemrosesan data. 3.2 Perancangan Hardware Peralatan Digital IC Tester ini terdiri dari :20 Pin ZIF ( Socket IC ), Microcontroller AT89C55, Keypad 4 X 3, LCD 16 X 2, Regulated Power Supply Unit, dan Relay Driver ( ULN 2003 ). 3.2.1 20 Pin ZIF ( Socket IC ) ZIF Socket digunakan untuk memudahkan pengguna untuk memasang dan melepaskan IC yang akan diuji. ZIF Socket ini dilengkapi dengan tuas pengunci, jika IC yang akan diuji telah diletakkan di atas socket, kencangkan / kunci socket dengan menekan tangkai pengunci kearah bawah dan untuk melepaskan IC, tarik tangkai pengunci kearah atas. Gambar 3.2.1 ZIF Socket 47

3.2.2 Mikrokontroller AT89C55 Gambar 3.2.2 Interface Mikrokontroller AT89C55 Pada aplikasi Digital IC Tester ini, fungsi Prosessor selaku pengendali adalah: 1. Menerima dan mengolah Data dari Keypad ( nomor dari IC yang diuji ) 2. Memberikan Power Supply kepada Pin yang sesuai dari IC yang diuji, dengan cara mengendalikan / menggerakkan Relay yang sesuai berdasarkan dengan nomor IC yang dimasukkan melalui Keypad 3. Memeriksa setiap Pin dari IC yang diuji, sesuai dengan Tabel Kebenaran yang terdapat dalam Service Routine / IC Databases dari Pemrograman yang dibuat 4. Menampilkan hasil pengolahan dari Microcontroller melalui LCD 48

3.2.3 Perancangan Keypad Pada Perancangan Keypad ini dipergunakan Keypad dengan 4 baris dan 3 kolom ( Keypad 4 X 3 ) tanpa Common dan dihubungkan dengan Microcontroller secara Interface. Pada Keypad jenis ini, untuk pengambilan Data digunakan metode Scanning Keypad. Gambar 3.2.3 Circuit Diagram Keypad 4 X 3 3.2.4 Perancangan LCD Pada Perancangan LCD ini, dipergunakan LCD Character 2 X 16, yaitu mempunyai lebar display 2 baris dan 16 kolom. LCD di-set dengan konfigurasi: 4-Bit Data, 2 Lines, 5 X 7 Matrix LCD, Increment Cursor Don t Shift Display. 49

Gambar 3.2.4 LCD Character 2 X 16 Sebelum memprogram LCD ada beberapa hal yang perlu diperhatikan dalam Pengontrolan LCD ini, yaitu RS ( Register Select ), E ( Enable ), R/W ( Read / Write Aktif Rendah ). RS berfungsi untuk memilih antara 2 Register, apakah Instruction Register ( IR ) atau Data Register ( DR ), dimana IR berguna mengirimkan data yang berupa Perintah terhadap LCD, seperti: menghapus panel, penempatan kursor, menggeser kursor dll. Sedangkan DR, berguna untuk mengirimkan Data Ascii yang akan ditampilkan di panel. E ( Enable ) berfungsi sebagai pengoperasian sinyal mulai, dan sinyal ini akan mengaktifkan pembacaan atau penulisan data pada LCD. Lalu R/W berfungsi sebagai pengaktif opersi pembacaan atau penulisan, dimana jika R/W di-set maka yang terjadi adalah operasi pembacaan, sedangkan jika di-reset maka yang terjadi adalah operasi penulisan. Pada rutin Pemrograman LCD terdapat Sub-Rutin Kirim Perintah dan Sub-Rutin 50

Kirim Ascii. Sub-Rutin Kirim Perintah merupakan rutin untuk pengaturan LCD dan dioperasikan pada saat penginisialisasian LCD atau pada saat lain sesuai kebutuhan. Sedangkan Sub-Rutin Kirim Ascii dioperasikan pada saat akan mengirimkan Karakter Ascii ke layar LCD dan pengiriman Karakter Ascii ini dilakukan setelah penginisialisasian LCD. 3.2.5 Perancangan Relay Driver Pada Perancangan Relay Driver ini, dipergunakan ULN 2003. ULN 2003 adalah terdiri dari susunan 7 Open Collector Darlinton dengan Common Emitter, mempunyai arus sebesar 500 ma ( dengan arus maksimal sebesar 600 ma ) dan dilengkapi dengan Clamp Dioda, untuk mengendalikan Beban Inductive. Gambar 3.2.5 7 Open Collector ULN 2003 ULN 2003 ini, sangat berguna untuk mengendalikan / menggerakkan berbagai beban: Solenoid, Relay, DC Motor, LED Display, Filament Lamps, dll. 51

3.2.6 Perancangan Rangkaian Lengkap ( Circuit Diagram Rangkaian ) Circuit Diagram dari Programmable Digital IC Tester, diperlihatkan di bawah ini : Gambar 3.2.6 Circuit Diagram Digital IC Tester Programmable Digital IC Tester ini menggunakan Microcontroller AT89C55. Keluaran / Masukan ( I/O ) dari 4 port tersedia dalam IC AT89C55. 2 Port : Port 0 dan Port 2 dihubungkan ke 16 pin pada Socket IC ( ZIF ), IC yang akan diuji diletakkan di atas Socket ZIF ( Zerro Insertion Force ) ini, dengan posisi pin paling bawah dari IC yang akan diuji diletakkan pada pin paling bawah dari ZIF Socket. 52

Jika salah menempatkan IC pada ZIF Socket, IC tidak akan rusak, karena Power Supply yang diberikan pada IC yang diuji hanya beberapa detik. Port 3.1 s/d Port 3.7 dihubungkan ke Keypad secara interface dan matrix format. ROW1 ke P3.1, ROW2 ke P3.2, ROW3 ke P3.3, ROW4 ke P3.4, COL1 ke P3.5, COL2 ke P3.6, COL3 ke P3.7. Port 1.2 s/d Port 1.7 dihubungkan ke LCD 16X2. LCD akan diset dengan format: 4-Bit Data, 2 Lines, 5X7 Matrix LCD, Increment Cursor Don t Shift Display. Port 1.0, Port 1.1, dan Port 3.0 ( Terminal A, B, dan C ) dihubungkan ke IC ULN 2003. IC ULN 2003 ini adalah merupakan IC yang terdiri dari beberapa Darlington Transistor, fungsinya adalah untuk menggerakkan Relay ( Relay driver ). Relay K1, K2, dan K3 berfungsi untuk menyalurkan Power ke IC yang akan diuji, karena beberapa IC Digital mempunyai perbedaan pada Pin untuk Power Supply-nya. Misalnya, IC 7400 mempunyai Power Supply Pin pada Pin 14 untuk VCC dan Pin 7 untuk Ground, beberapa dari IC memerlukan VCC pada Pin 16 dan Ground pada Pin 8, beberapa yang lain memerlukan VCC pada Pin 4 dan Ground pada Pin 11, jadi kita memerlukan 3 macam Power Supply Unit. Jika Relay 1 ( K1 ) dalam posisi ON, maka Pin 14 dan Pin 7 akan mendapatkan Power, jika Relay 2 ( K2 ) dalam posisi ON, maka Pin 16 dan Pin 8 akan mendapatkan Power, jika Relay 3 ( K3 ) dalam posisi ON, maka Pin 4 dan Pin 11 akan mendapatkan Power. Microcontroller akan menghidupkan ( ON ) Relay yang sesuai untuk memberikan Power ke Pin yang sesuai dari IC yang diuji. 53

3.2.7 Prinsip Kerja Rangkaian Pertama kali catu daya dihidupkan, secara otomatis Mikrokontroller siap menerima instruksi ( pada LCD akan ditampilkan tulisan MICROCONTROLLER BASED IC TESTER ). Setelah menempatkan IC yang akan diuji pada ZIF Socket, lalu kita tekan Tombol EXE, dan Microcontroller akan memberikan perintah kepada User untuk memasukkan nomor IC ( pada LCD tampil tulisan Enter the IC No ). Setelah menerima nomor IC dari Keypad, lalu kita tekan tombol TEST untuk melakukan pengujian terhadap IC tersebut, jika kita salah memasukkan nomor IC dan ingin mengulang, tekan kembali Tombol EXE, lalu masukkan kembali nomor IC yang sesuai. Setelah itu Microcontroller akan menampilkan nomor IC yang kita masukkan beserta fungsi dari IC tersebut, misalnya: 7410 NAND GATE pada LCD dan menghidupkan ( Switch ON ) Relay yang sesuai untuk memberikan Power kepada IC yang diuji dan akan meme riksa / melakukan analisa terhadap setiap Pin dari IC, sesuai dengan Tabel Kebenaran ( Truth Table ) dari IC tersebut yang terdapat / tersimpan dalam IC DATABASES Program Digital IC Tester ( ROM Microcontroller ) yang kita buat dan Microcontroller akan memperlihatkan hasil analisa secara rinci melalui LCD, misalnya GATE 1 OK, GATE 2 NOT OK, GATE 3 OK, setelah itu akan diperlihatkan hasil secara final, misalnya: IC is GOOD atau IC is BAD. Dalam hal ini, Program Digital IC Tester yang kita buat adalah khusus hanya untuk menguji IC Type 74 ( Digital IC Tester for 74 Series ), jika kita masukkan nomor IC selain IC Type 74, Microcontroller akan menolak dengan menampilkan tulisan 74 Series Only pada LCD dan juga dibatasi untuk IC Type 74 yang mempunyai nomor maksimal 5 Digit, jika kita memasukkan nomor IC lebih dari 5 Digit, maka akan tampil pada LCD tulisan Maximum 5 Digits. 54

Karena keterbatasan Memory dalam Microcontroller ( AT 89C55 mempunyai Flash Memory maksimal 20 Kb ), maka nomor IC yang dapat dimasukkan / disimpan dalam IC Databases Program terbatas ( Program Size dari Digital IC Tester ini adalah sekitar 16 Kb ). Jika kita memasukkan nomor IC yang tidak terdapat / tersimpan didalam IC Databases Program, maka akan tampil tulisan IC NOT IN DATABASES pada LCD. Jika kita menekan tombol TEST, sebelum kita memasukkan nomor IC, maka akan tampil tulisan Plz Enter IC No. 3.3 Perancangan Software Direncanakan Peralatan Digital IC Tester ini dapat berfungsi untuk menguji berbagai IC Type 74, maka dibuatlah pemrograman dengan Flowchart seperti di bawah Ini. Program dimulai dengan Insialisasi Sistem. Setelah Sistem ready, maka masukkan Nomor IC yang akan diuji, jika nomor IC belum dimasukkan maka akan tampil Plz Enter IC No.Kemudian Program memeriksa kembali: apakah Nomor IC yang diuji merupa kan Type 74 ( Nomor IC dimulai dengan angka 74 ), apakah Nomor IC kurang dari 5 digit, apakah Nomor IC terdapat dalam IC Databases yang tersimpan dalam ROM Program. Jika tidak, maka Program kembali ke Enter IC No. Jika semua persyaratan telah terpenuhi, maka Nomor IC akan ditampilkan pada Display, setelah itu Mikrokontroller akan menghidupkan Relay yang sesuai dengan Nomor IC yang akan diuji, untuk memberikan Power Supply ke IC yang diuji. Setelah itu Program menuju ke IC Databases dan melakukan analisa terhadap setiap Pin dari IC yang diuji sesuai dengan Tabel Kebenaran, kemudian hasil pengujian akan ditampilkan pada LCD. 55

: Gambar 3.3 Flowchart Digital IC Tester 56

BAB IV PENGUJIAN ALAT Pada bab ini akan dibahas tentang pengujian dan pengukuran alat sehingga didapat parameter kinerja dari alat tersebut. Pengujian dan pengukuran dilakukan pada masing masing block diagram rangkaian, antara lain: Rangkaian Power Supply Unit, Rangkaian Relay Driver, tampilan display yang dihasilkan oleh alat tersebut pada LCD, serta melakukan pengujian terhadap beberapa IC Type 74. 4.1 Pengujian dan Pengukuran Rangkaian Power Supply Unit Rangkaian Power Supply Unit sangat dibutuhkan untuk memberi daya pada rangkaian kita. Berikut ini, Rangkaian Power Supply Unit yang dapat memberikan tegangan output yang cukup stabil, karena menggunakan IC khusus sebagai Regulator Tegangan, contohnya IC LM7805 sebagai Regulator Tegangan +5V. Gambar 4.1 di bawah ini menampilkan contoh Rangkaian Power Supply Unit yang mampu mengeluarkan Tegangan yang sangat stabil. Gambar 4.1 Rangkaian Power Supply Unit 57

Berikut ini merupakan hasil pengukuran yang dilakukan : Tabel 4.1 Hasil Pengukuran pada Power Supply Unit PENGUKURAN Pada TEGANGAN OUTPUT + 12 V Pada TEGANGAN OUTPUT + 5V I 14,25 V 4,98 V II 14,25 V 4,99 V III 14,3 V 5 V IV 14,26 V 4,95 V V 14,24 V 4,97 V VI 14,35 V 4,96 V VII 14,25 V 4,98 V VIII 14,25 V 4,95 V IX 14,3 V 4,96 V X 14,2 V 4,98 V Dari hasil pengukuran pada Tegangan Output dari Power Supply Unit di atas, dapat dihitung Tegangan Output rata rata yang dihasilkan : - Pada Tegangan Output + 12 V Tegangan Output rata ratanya 14,25 + 14,25 + 14,3 + 14,26 + 14,24 +14,35 + 14,25 + 14,25 + 14,3 + 14,2 = V 10 = 14,265 V 58

- Pada Tegangan Output + 5 V Tegangan Output rata ratanya 4,98 + 4,99 + 5 + 4,95 + 4,97 + 4,96 + 4,98 + 4,95 + 4,96 + 4,95 = V 10 = 4,969 V Prosentase kesalahannya Tegangan Output sebenarnya Tegangan Output hasil pengukuran = X 100 % Tegangan Output sebenarnya 5 V 4,969 V = X 100 % 5 V = 0,62 % Disini terlihat bahwa, pada Tegangan Output + 5 V dihasilkan Pengukuran Tegangan Output yang mendekati + 5 V, ini membuktikan bahwa bila menggunakan IC Regulator Tegangan ( LM7805 ) maka Tegangan Output yang dihasilkan akan stabil. 4.2 Pengujian Rangkaian Relay Driver Pengujian Rangkaian Relay Driver, dimaksudkan untuk mengetahui apakah rangkaian dapat berfungsi dengan baik, yaitu dapat menggerakkan Relay yang sesuai untuk memberikan Power ke Pin yang sesuai dari IC yang diuji. Pengujian dilakukan dengan cara menguji 3 jenis IC yang masing masing mempunyai Pin yang berbeda untuk Power Supplynya, yaitu IC 7438 (NAND GATE), IC 7447 ( BCD TO 7 SEGMENT ), IC 7482 ( FULL ADDER )dan sambil memeriksa Relay mana yang aktif, K1, K2 atau K3. 59

Lihat Gambar 4.2 Rangkaian Relay Driver di bawah ini: Gambar 4.2 Rangkaian Relay Driver Tabel 4.2 Hasil Pengujian Rangkaian Relay Driver IC yang diuji Relay yang aktif GND pada Pin VCC pada Pin 7438 Relay1 / K1 7 14 7447 Relay2 / K2 8 16 7482 Relay3 / K3 11 4 60

Dari hasil pengujian di atas, diketahui bahwa Rangkaian Relay Driver dapat berfungsi dengan baik, yaitu dapat menggerakkan Relay dan memberikan Power Supply kepada Pin yang sesuai dari IC yang diuji ( sesuai dengan Data Sheet dari masingmasing IC ). 4.3 Pengujian LCD Dalam pengujian LCD ini dilakukan dengan mengirimkan beberapa karakter huruf pada panel LCD. Dalam proses pengujian ini dilakukan dengan pengiriman beberapa Karakter Huruf MICROCONTROLLER dan BASED IC TESTER, dan hasil proses pengujian seperti ini menunjukkan bahwa LCD ini sudah berfungsi. Hasil Pengujian, seperti pada Gambar 4.3, terlihat pada display LCD: 2 baris, 16 digit, terlihat pada baris pertama: MICROCONTROLLER dan baris kedua: BASED IC TESTER. Gambar 4.3 Tampilan LCD pada pengujian modul LCD 61

4.4 Pengujian Sistem Kerja Alat Setelah melakukan pengujian terhadap semua bagian dari rangkaian, dan dapat dipastikan semuanya berfungsi dengan baik, maka sekarang saatnya untuk menguji Sistem Kerja Alat secara keseluruhan, yaitu dengan cara melakukan pengujian terhadap beberapa IC Type 74. Berikut ini adalah hasil dari pengujian yang dilakukan: Tabel 4.4 Hasil Pengujian Terhadap Beberapa IC Type 74 NO NAMA IC JENIS IC HASIL PENGUJIAN KEADAAN SEBENARNYA Gate1 ok, Gate2 ok, 1 7438 NAND GATE 2 7402 NOR GATE 3 7404 NOT GATE 4 7432 OR GATE 5 74125 BUS DRIVER Gate3 ok, Gate4 ok ( IC is GOOD ) Gate1 ok, Gate2 ok, Gate3 ok, Gate4 ok ( IC is GOOD ) Gate1 ok, Gate2 ok, Gate3 ok, Gate4 ok, Gate5 ok ( IC is GOOD ) Gate1 ok, Gate2 ok, Gate3 ok, Gate4 ok ( IC is GOOD ) Gate1 ok, Gate2 ok, Gate3 ok, Gate4 ok ( IC is GOOD ) IC is GOOD IC is GOOD IC is GOOD IC is GOOD IC is GOOD 62

6 7474 D FLIP FLOP 7 7486 EX-OR GATE Gate1 ok, Gate2 ok ( IC is GOOD ) Gate1 ok, Gate2 ok, Gate3 ok, Gate4 ok ( IC is GOOD ) IC is GOOD IC is GOOD 8 7447 BCD TO 7SEG IC is GOOD IC is GOOD 9 74151 8 1 MUX IC is GOOD IC is GOOD 10 7482 FULL ADDER IC is GOOD IC is GOOD 11 74109 JK FLIP FLOP 12 7474 D FLIP FLOP Gate1 not ok, Gate2 not ok ( IC is BAD ) Gate1 not ok, Gate2 not ok ( IC is BAD ) IC is BAD IC is BAD Di bawah ini, ditampilkan contoh gambar dari hasil pengujian Sistem Kerja Alat: Gambar 4.4 Hasil Pengujian Sistem Kerja Alat 63

Dari hasil pengujian ini, dapat diketahui bahwa Sistem Kerja Alat secara keseluruhan sudah berfungsi dengan baik, yaitu hasil yang didapatkan adalah sesuai dengan keadaan dari IC yang sebenarnya, jika IC dalam keadaan baik maka hasilnya adalah IC is GOOD dan jika IC dalam keadaan rusak maka hasilnya adalah IC is BAD. 64

BAB V KESIMPULAN Dari hasil Pengujian Rangkaian dan Pengukuran yang dilakukan maka dapat disimpulkan sebagai berikut: 1. Dengan menggunakan IC Regulator Tegangan pada Rangkaian Power Supply, maka Tegangan Output yang dihasilkan akan stabil. 2. ULN 2003 ( Open Collector Darlington ) dapat mengendalikan / menggerakkan berbagai beban dengan baik ( dalam hal ini misalnya: Relay ). 3. LCD dapat menampilkan huruf dan angka dengan baik sesuai dengan konfigurasi yang kita inginkan / set sebelumnya. 4. Digital IC Tester ini dapat bekerja / berfungsi dengan baik, sesuai dengan pemograman yang dirancang. 65

DAFTAR PUSTAKA 1. Andi Nalwan, Pulus, Panduan Pratis Teknik Antarmuka dan Pemrograman Mikrocontroller 89C51, Penerbit Elex Media Komputindo, Jakarta, 2003. 2. Budiharto, Widodo, Teknik Interfacing Komputer dan Mikrokontroller, Penerbit Elex Media Komputindo, Jakarta, 2004. 3. Budiharto, Widodo, Belajar Sendiri Membuat Robot Cerdas, Penerbit Elex Media Komputindo, Jakarta, 2006. 4. Sams, Howard W. & Company, Microsoft Macro Assembler Bible, The Waite Group,Inc., USA, 1990. 66

LAMPIRAN 67

Features Compatible with MCS-51 Products 20K bytes of In-System Reprogrammable Flash Memory Endurance: 1,000 Write/Erase Cycles Fully Static Operation: 0 Hz to 33 MHz Three-Level Program Memory Lock 256 x 8 bit Internal RAM 32 Programmable I/O Lines Three 16 bit Timer/Counters Eight Interrupt Sources Low Power Idle and Power Down Modes Description The AT89C55 is a low-power, high-performance CMOS 8 bit microcomputer with 20K bytes of Flash programmable and erasable read only memory. The device is manufactured using Atmel s high density nonvolatile memory technology and is compatible with the industry standard 80C51 instruction set and pinout. The on-chip Flash allows the program memory to be reprogrammed in-system or by a conventional nonvolatile memory programmer. By combining a versatile 8 bit CPU with Flash on a monolithic chip, the Atmel AT89C55 is a powerful microcomputer which provides a highly flexible and cost effective solution to many embedded control applications. (continued) 8 bit Microcontroller with 20K bytes Flash AT89C55 Pin Configurations PDIP AT89C55 PQFP/TQFP PLCC

Block Diagram 2 AT89C55

AT89C55 Description (Continued) Port Pin Alternate Functions The AT89C55 provides the following standard features: 20K bytes of Flash, 256-bytes of RAM, 32 I/O lines, three 16 bit timer/counters, a six-vector two-level interrupt architecture, a full duplex serial port, on-chip oscillator, and clock circuitry. In addition, the AT89C55 is designed with static logic for operation down to zero frequency and supports two software selectable power saving modes. The Idle Mode stops the CPU while allowing the RAM, timer/counters, serial port, and interrupt system to continue functioning. The Power Down Mode saves the RAM contents but freezes the oscillator, disabling all other chip functions until the next hardware reset. The low voltage option saves power and operates with a 2.7-volt power supply. Pin Description VCC Supply voltage. GND Ground. Port 0 Port 0 is an 8 bit open drain bidirectional I/O port. As an output port, each pin can sink eight TTL inputs. When 1s are written to port 0 pins, the pins can be used as high-impedance inputs. Port 0 can also be configured to be the multiplexed low-order address/data bus during accesses to external program and data memory. In this mode, P0 has internal pullups. Port 0 also receives the code bytes during Flash programming and outputs the code bytes during program verification. External pullups are required during program verification. Port 1 Port 1 is an 8 bit bidirectional I/O port with internal pullups. The Port 1 output buffers can sink/source four TTL inputs. When 1s are written to Port 1 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 1 pins that are externally being pulled low will source current (IIL) because of the internal pullups. In addition, P1.0 and P1.1 can be configured to be the timer/counter 2 external count input (P1.0/T2) and the timer/counter 2 trigger input (P1.1/T2EX), respectively, as shown in the following table. P1.0 P1.1 T2 (external count input to Timer/Counter 2), clock-out T2EX (Timer/Counter 2 capture/reload trigger and direction control) Port 1 also receives the low-order address bytes during Flash programming and program verification. Port 2 Port 2 is an 8 bit bidirectional I/O port with internal pullups. The Port 2 output buffers can sink/source four TTL inputs. When 1s are written to Port 2 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 2 pins that are externally being pulled low will source current (IIL) because of the internal pullups. Port 2 emits the high-order address byte during fetches from external program memory and during accesses to external data memory that use 16 bit addresses (MOVX @ DPTR). In this application, Port 2 uses strong internal pullups when emitting 1s. During accesses to external data memory that use 8 bit addresses (MOVX @ RI), Port 2 emits the contents of the P2 Special Function Register. Port 2 also receives the high-order address bits and some control signals during Flash programming and verification. Port 3 Port 3 is an 8 bit bidirectional I/O port with internal pullups. The Port 3 output buffers can sink/source four TTL inputs. When 1s are written to Port 3 pins, they are pulled high by the internal pullups and can be used as inputs. As inputs, Port 3 pins that are externally being pulled low will source current (IIL) because of the pullups. Port 3 also serves the functions of various special features of the AT89C55, as shown in the following table. Port Pin Alternate Functions P3.0 RXD (serial input port) P3.1 TXD (serial output port) P3.2 INT0 (external interrupt 0) P3.3 INT1 (external interrupt 1) P3.4 T0 (timer 0 external input) P3.5 T1 (timer 1 external input) P3.6 WR (external data memory write strobe) P3.7 RD (external data memory read strobe) Port 3 also receives some control signals for Flash programming and programming verification. RST Reset input. A high on this pin for two machine cycles while the oscillator is running resets the device. (continued) 3

Pin Description (Continued) ALE/PROG Address Latch Enable is an output pulse for latching the low byte of the address during accesses to external memory. This pin is also the program pulse input (PROG) during Flash programming. In normal operation, ALE is emitted at a constant rate of 1/6 the oscillator frequency and may be used for external timing or clocking purposes. Note, however, that one ALE pulse is skipped during each access to external data memory. If desired, ALE operation can be disabled by setting bit 0 of SFR location 8EH. With the bit set, ALE is active only during a MOVX or MOVC instruction. Otherwise, the pin is weakly pulled high. Setting the ALE-disable bit has no effect if the microcrontroller is in external execution mode. PSEN Program Store Enable is the read strobe to external program memory. When the AT89C55 is executing code from external program memory, PSEN is activated twice each machine cycle, except that two PSEN activations are skipped during each access to external data memory. EA/VPP External Access Enable. EA must be strapped to GND in order to enable the device to fetch code from external program memory locations starting at 0000H up to FFFFH. Note, however, that if lock bit 1 is programmed, EA will be internally latched on reset. EA should be strapped to VCC for internal program executions. This pin also receives the 12-volt programming enable voltage (VPP) during 12-volt Flash programming. XTAL1 Input to the inverting oscillator amplifier and input to the internal clock operating circuit. XTAL2 Output from the inverting oscillator amplifier. User software should not write 1s to these unlisted locations, since they may be used in future products to invoke new features. In that case, the reset or inactive values of the new bits will always be 0. Timer 2 Registers Control and status bits are contained in registers T2CON (shown in Table 2) and T2MOD (shown in Table 4) for Timer 2. The register pair (RCAP2H, RCAP2L) are the Capture/Reload registers for Timer 2 in 16 bit capture mode or 16 bit auto-reload mode. Interrupt Registers The individual interrupt enable bits are in the IE register. Two priorities can be set for each of the six interrupt sources in the IP register. Data Memory The AT89C55 implements 256-bytes of on-chip RAM. The upper 128-bytes occupy a parallel address space to the Special Function Registers. That means the upper 128- bytes have the same addresses as the SFR space but are physically separate from SFR space. When an instruction accesses an internal location above address 7FH, the address mode used in the instruction specifies whether the CPU accesses the upper 128-bytes of RAM or the SFR space. Instructions that use direct addressing access SFR space. For example, the following direct addressing instruction accesses the SFR at location 0A0H (which is P2). MOV 0A0H, #data Instructions that use indirect addressing access the upper 128-bytes of RAM. For example, the following indirect addressing instruction, where R0 contains 0A0H, accesses the data byte at address 0A0H, rather than P2 (whose address is 0A0H). MOV @R0, #data Note that stack operations are examples of indirect addressing, so the upper 128-bytes of data RAM are available as stack space. Special Function Registers A map of the on-chip memory area called the Special Function Register (SFR) space is shown in Table 1. Note that not all of the addresses are occupied, and unoccupied addresses may not be implemented on the chip. Read accesses to these addresses will in general return random data, and write accesses will have an indeterminate effect. 4 AT89C55

Table 1. AT89C55 SFR Map and Reset Values 0F8H 0FFH 0F0H B 00000000 0F7H 0E8H 0EFH 0E0H ACC 00000000 0E7H 0D8H 0DFH 0D0H PSW 00000000 0D7H 0C8H T2CON 00000000 T2MOD XXXXXX00 RCAP2L 00000000 RCAP2H 00000000 TL2 00000000 TH2 00000000 0CFH 0C0H 0C7H 0B8H IP XX000000 0BFH 0B0H P3 11111111 0B7H 0A8H IE 0X000000 0AFH 0A0H P2 11111111 0A7H 98H SCON 00000000 SBUF XXXXXXXX 9FH 90H P1 11111111 97H 88H TCON 00000000 TMOD 00000000 TL0 00000000 TL1 00000000 TH0 00000000 TH1 00000000 8FH 80H P0 11111111 SP 00000111 DPL 00000000 DPH 00000000 PCON 0XXX0000 87H AT89C55 5

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

ULN2001A-ULN2002A ULN2003A-ULN2004A SEVEN DARLINGTON ARRAYS SEVEN DARLINGTONS PER PACKAGE OUTPUT CURRENT 500mA PER DRIVER (600mA PEAK) OUTPUT VOLTAGE 50V INTEGRATED SUPPRESSION DIODES FOR INDUCTIVE LOADS OUTPUTS CAN BE PARALLELED FOR. HIGHER CURRENT TTL/CMOS/PMOS/DTL COMPATIBLE INPUTS INPUTS PINNED OPPOSITE OUTPUTS TO SIMPLIFY LAYOUT DIP16 ORDERING NUMBERS: ULN2001A/2A/3A/4A SO16 DESCRIPTION The ULN2001A, ULN2002A, ULN2003 and ULN2004A are high voltage, high current darlington arrays each containing seven open collector darlington pairs with common emitters. Each channel rated at 500mA and can withstand peak currents of 600mA. Suppression diodes are included for inductive load driving and the inputs are pinned opposite the outputs to simplify board layout. The four versions interface to all common logic families : ULN2001A ULN2002A ULN2003A ULN2004A General Purpose, DTL, TTL, PMOS, CMOS 14-25V PMOS 5V TTL, CMOS 6 15V CMOS, PMOS ORDERING NUMBERS: ULN2001D/2D/3D/4D PIN CONNECTION These versatile devices are useful for driving a wide range of loads including solenoids, relays DC motors, LED displays filament lamps, thermal printheads and high power buffers. The ULN2001A/2002A/2003A and 2004A are supplied in 16 pin plastic DIP packages with a copper leadframe to reduce thermal resistance. They are available also in small outline package (SO-16) as ULN2001D/2002D/2003D/2004D. February 2002 1/8

ULN2001A - ULN2002A - ULN2003A - ULN2004A SCHEMATIC DIAGRAM Series ULN-2001A (each driver) Series ULN-2002A (each driver) Series ULN-2003A (each driver) Series ULN-2004A (each driver) ABSOLUTE MAXIMUM RATINGS Symbol Parameter Value Unit V o Output Voltage 50 V V in Input Voltage (for ULN2002A/D - 2003A/D - 2004A/D) 30 V I c Continuous Collector Current 500 ma I b Continuous Base Current 25 ma T amb Operating Ambient Temperature Range 20 to 85 C T stg Storage Temperature Range 55 to 150 C T j Junction Temperature 150 C THERMAL DATA Symbol Parameter DIP16 SO16 Unit R th j-amb Thermal Resistance Junction-ambient Max. 70 120 C/W 2/8

ULN2001A - ULN2002A - ULN2003A - ULN2004A ELECTRICAL CHARACTERISTICS (Tamb = 25 o C unless otherwise specified) Symbol Parameter Test Conditions Min. Typ. Max. Unit Fig. I CEX Output Leakage Current V CE = 50V T amb = 70 C, V CE = 50V T amb = 70 C for ULN2002A V CE = 50V, V i = 6V for ULN2004A V CE = 50V, V i = 1V 500 500 µa µa 1b 1b Collector-emitter Saturation I C = 100mA, I B = 250µA 0.9 1.1 V 2 Voltage I C = 200 ma, I B = 350µA 1.1 1.3 V 2 I C = 350mA, I B = 500µA 1.3 1.6 V 2 I i(on) Input Current for ULN2002A, V i = 17V 0.82 1.25 ma 3 for ULN2003A, V i = 3.85V 0.93 1.35 ma 3 for ULN2004A, V i = 5V 0.35 0.5 ma 3 V i = 12V 1 1.45 ma 3 I i(off) Input Current T amb = 70 C, I C = 500µA 50 65 µa 4 V i(on) Input Voltage V CE = 2V V 5 for ULN2002A I C = 300mA 13 for ULN2003A I C = 200mA 2.4 I C = 250mA 2.7 I C = 300mA 3 for ULN2004A I C = 125mA 5 I C = 200mA 6 I C = 275mA 7 I C = 350mA 8 h FE DC Forward Current Gain for ULN2001A V CE = 2V, I C = 350mA 1000 2 C i Input Capacitance 15 25 pf t PLH Turn-on Delay Time 0.5 V i to 0.5 V o 0.25 1 µs t PHL Turn-off Delay Time 0.5 V i to 0.5 V o 0.25 1 µs V CE(sat) I R Clamp Diode Leakage Current V R = 50V T amb = 70 C, V R = 50V V F Clamp Diode Forward Voltage I F = 350mA 1.7 2 V 7 50 100 50 100 µa µa µa µa 1a 1a 6 6 3/8