TUGAS AKHIR JAM DIGITAL BERBASIS MIKROKONTROLER AT89S51 Disusun oleh : MUHAMAD YUSUF PARDEDE NIM:04106013 PROGRAM STUDI SISTEM KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS NAROTAMA SURABAYA 2010
JAM DIGITAL BERBASIS MIKROKONTROLER AT89S51 Oleh: Muhamad Yusuf Pardede Pembimbing I: Didik Tristianto, S.Kom., M.Kom Pembimbing II: Adi Sutanto, ST ABSTRAK Jam merupakan sebuah perangkat yang digunakan untuk menunjukkan lamanya waktu berjalan. Pada umumnya jam menggunakan tampilan dengan petunjuk jarum jam saja dan pengaturannya secara diputar. Melihat hal tersebut penulis tertarik untuk merangkai jam digital dengan menggunakan mikrkontroler yang output atau displaynya menggunakan seven segment dan pengaturannya dibuat cukup sederhana. Jam digital dengan mikrokontroler AT89S51 adalah sebuah alat yang bekerja menggunakana IC (Integreted Circuit) mikrokontroler yang berfungsi untuk mengontrol penampil jam digital. Pada alat ini digunakan IC AT89S51 yang merupakan IC mikrokontroler yang dapat diprogam dan dihapus. Seven segment marupakan komponen logika digital yang digunakan untuk menampilkan display sederhana yang dapat dimengerti oleh manusia. Pada alat ini terdiri atas enam digit seven segment, dua digit berfungsi untuk menapilkan display waktu jam, dua digit seven segment berikutnya menampilkan display waktu dalam menit, dan dua digit terakhir untuk menampilkan display waktu detik. Kata Kunci: IC, Mikrokontroler, Jam Digital, Seven Segment
KATA PENGANTAR Dengan memanjatkan puji syukur kehadirat Allah S.W.T, karena atas berkat dan rahmat serta hidayahnya penulis dapat menyelesaikan Tugas Akhir dengan waktu yang tepat dan dengan hasil yang baik. Tugas Akhir ini dibuat sebagai salah satu syarat dalam menyelesaikan jenjang S1 di Universitas Narotama Surabaya. Adapun judul yang telah dibuat dalam penulisan proyek madya ini adalah : JAM DIGITAL BERBASIS MIKROKONTROLER AT89S51 Saya selaku penulis sadar bahwa didunia ini tidak adanya kebenaran yang hakiki karena kebenaran tersebut hanya dimiliki oleh sang khalik yang tidak mungkin dimiliki oleh seorang manusia. Dan saya selaku penulis mohon maaf yang sebesarbesarnya, karena dalam penulisan tugas akhir ini jika masih banyak kekeliruan dan kekurangan dan perlu adanya masukan-masukan dari berbagai pihak. Saya berterimakasih kepada semua pihak terkait dengan penulisan Tugas Akhir ini tidak akan selesai tanpa adanya bantuan dari pihak yang telah memberikan dorongan moril serta spirit yang tak ternilai harganya. Dan Insya Allah bantuan tersebut tidak akan terlupakan oleh penulis. Penulis sangat menyadari bahwa tanpa bantuan tenaga, pikiran, dukungan serta bimbingan dari berbagai pihak, maka tugas akhir ini tidak akan mungkin dapat terselesaikan oleh karena itu pada kesempatan ini penulis ingin menyampaikan ucapan terima kasih kepada : 1. Ibunda tercinta dan Ayahanda tercinta dan keluarga besar saya, yang tak henti memberikan motivasi, doa dalam penyelesaian tugas akhir.
2. Ibu Rinci Kembang Habsari, S.Si, selaku dekan Fakultas Ilmu Komputer 3. Bpk. Didik Tristianto, S.Kom., M.Kom. Selaku pembimbing pertama yang banyak membantu untuk menyelesaikan Tugas Akhir ini sekaligus sebagai ketua kaprodi sistem komputer. 4. Bpk. Adi Sutanto, ST. Selaku pembimbing kedua atas segala arahan dan bimbingannya. 5. Seluruh dosen pengajar yang telah memberikan ilmunya dan staff administrasi Fakultas Ilmu Komputer Universitas Narotama. 6. Buat teman-teman Fakultas Ilmu Komputer angkatan 2006 yang telah memberikan supportnya REWO-REWO rek. 7. Moh. Irwan Sumartono, Moh Farid Dirmansyah, Safiq Rosyad, dan Sindhu Harimurti selaku teman yang membantu saya dalam memberikan semangat. Semoga Allah memberikan pahala yang setimpal kepada semua pihak yang telah banyak memberikan bantuan, bimbingan ataupun nasehatnasehat. Penulis menyadari bahwa masih banyak kekurangan pada penulisan tugas akhir ini. Semoga tugas akhir ini bermanfaat bagi penulis khusunya dan bagi pembacadan semoga tugas akhir ini dapat memicu penelitian baru yang lebih baik dan sempurna. Semoga tugas akhir ini dapat bermanfaat bagi rekan-rekan di jurusan ilmu komputer khusunya sistem komputer Surabaya, Oktober 2010 Penulis
DAFTAR ISI Halaman ABSTRAK... KATA PENGANTAR... DAFTAR ISI... DAFTAR GAMBAR... DAFTAR TABEL... i ii v ix xi BAB I PENDAHULUAN 1.1 Latar Belakang... 1 1.2 Rumusan Masalah... 2 1.3 Batasan Masalah... 2 1.4 Tujuan... 3 1.5 Manfaat... 3 1.6 Metode Penulisan... 3 1.7 Sistematika Penulisan... 5 BAB II LANDASAN TEORI 2.1 Mikrokontroler AT89S51... 7 2.1.1 Konfigurasi dan Fungsi Pin AT89S51... 9 2.1.1.1 PSEN (Program Store Enable)... 10 2.1.1.2 ALE/PROG... 10 2.1.1.3 EA/VPP... 10 2.1.1.4 RST... 11 2.1.1.5 Port 0... 11
2.1.1.6 Port 1... 11 2.1.1.7 Port 2... 12 2.1.1.8 Port 3... 13 2.1.1.9 VCC... 14 2.1.1.10 GND... 14 2.1.1.11 XTAL 1 dan XTAL 2... 14 2.1.2 Spesial Function Register... 14 2.1.3 Pemrograman Bahasa Assembly MCS51... 16 2.1.3.1 MOV, MOVC dan MOVX... 16 2.1.3.2 ADD dan SUBB... 17 2.1.3.3 MUL AB dan DIV AB... 18 2.1.3.4 DEC dan INC... 18 2.1.3.5 ORL, ANL, dan CPL... 19 2.1.3.6 RR, RL dan SWAP... 19 2.1.3.7 SETB dan CLR... 20 2.1.3.8 PUSH dan POP... 20 2.1.3.9 JMP, JB, JNB, JZ, JNZ dan CJNE... 21 2.1.3.10 CALL dan RET... 24 2.2 RESISTOR... 25 2.2.1 Resistor Tetap (Fixed Resistor)... 26 2.2.1.1 Identifikasi Empat Gelang... 26 2.2.1.2 Identifikasi Lima Gelang... 26 2.2.2 Resistor Tidak Tetap (Variable Resistor)... 28
2.2.2.1 Potensiometer... 29 2.2.2.2 Trimpot... 29 2.3 KAPASITOR... 29 2.3.1 Wujud dan Macam Kapaistor... 30 2.4 TRANSISTOR... 33 2.4.1 Cara Kerja Transistor... 34 2.4.2 Jenis-Jenis Transistor... 35 2.5 SEVEN SEGMENT... 36 2.6 DIODA... 37 2.7 REAL TIME CLOCK (RTC)... 37 BAB III PERANCANGAN SISTEM 3.1 ANALISIS KEBUTUHAN... 39 3.1.1 Hardware... 39 3.1.2 Software... 40 3.1.3 Alat Pendukung... 40 3.2 PERACANCANGAN SISTEM... 40 3.2.1 Perancangan Perangkat Keras... 41 3.3 PERANCANGAN PROGRAM... 43 BAB IV PENGUJIAN ALAT 4.1 TAHAP-TAHAP PENULISAN, MENGKOMPILE, DAN MENGISI ATAU MENDOWNLOAD KE MIKROKONTROLER AT89S51... 45
4.1.1 Kabel Downloader... 45 4.1.2 Program Penulisan Bahasa Assembly dan Kompilernya... 46 4.1.3 Program Untuk Mengisi File *.hex ke dalam Mikrokontroler... 48 4.2 HASIL PERANCANGAN ALAT... 50 BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan... 51 5.2 Saran... 51 DAFTAR PUSTAKA... 52
DAFTAR GAMBAR Halaman Gambar 2.1 Model IC AT89S51 dan Konfigurasi Pin AT89S51...8 Gambar 2.2 Diagram Blok AT89S51...9 Gambar 2.3 Peta Special Function Register...15 Gambar 2.4 Isi Register Program Status Word...16 Gambar 2.5 Gambar 2.6 Resistor Empat Gelang...25 Lambang Kapasitor...30 Gambar 2.7 Electrolytic Kapasitor...31 Gambar 2.8 Tantalum Kapasitor...32 Gambar 2.9 Ceramic Kapasitor...32 Gambar 2.10 Multilayer Ceramic Kapasitor...33 Gambar 2.11 Gambar 2.12 Gambar 2.13 Gambar 2.14 Transistor PNP...34 Simbol Tansistor...35 Simbol Transistor Unipolar...36 Transistor Unipolar...36 Gambar 2.15 Seven Segment...36 Gambar 2.16 Simbol Dioda...37 Gambar 2.17 Real Time Clock DS 1307...38 Gambar 3.1 Rangkaian Sistem Minimum AT89S51 dengan Real Time Clock...41 Gambar 3.2 Rangkaian Mikrokontroler AT89S51 dengan Seven Segment...42 Gambar 3.3 Flowchart Algoritma Pemrograman...43 Gambar 3.4 Blok Diagram Jam Digital...44
Gambar 4.1 Kabel Pararel Port Untuk Downloader...46 Gambar 4.2 Tampilan awal Software M-IDE...47 Gambar 4.3 Proses Kompiler...47 Gambar 4.4 Gambar 4.5 Software Downloader to Mikrokontroler...48 Tampilan Program ISP-Flash Programmer...49 Gambar 4.6 Proses Downloading...49 Gambar 4.7 Tampilan Setelah Proses Downloader Selesai...50 Gambar 4.8 Hasil Pembuatan Jam Digital Berbasis Mikrkontroler AT89S51...50
DAFTAR TABEL Halaman Tabel 2.1 Fungsi Tambahan Port 1...12 Tabel 2.2 Fungsi Tambahan Port 3...13 Tabel 2.3 Tabel 2.4 Tabel 2.5 Tabel 2.6 Instruksi MOV...17 Instruksi ADD dan SUBB...17 Instruksi DEC dan INC...19 Instruksi ORL, ANL, dan CPL...19 Tabel 2.7 Instruksi RR, RL, SWAP...20 Tabel 2.8 Tabel Kode Warna dari Resistor...27
DAFTAR PUSTAKA Atmel, 1997, Flash Microcontroler Architectural Overview, Atmel Inc., (http://www.atmel.com).usa (13 September 2010) Setiawan, Sulhan 2006, Mudah dan Menyenangkan Belajar Mikrokontroler, Andi Yogyakarta. Mikroprosessor, tim lab, 2007, Pemrograman Mikrokontroler AT89S51 dengan C/C++ dan Assembler, Andi Yogyakarta. Terapan, Tim LAB Elektronika, 2009, Mendesain PCB dengan Software Eagle dan PCB Design Serta Proses Pengerjaan PCB, INDAH Surabaya. Ibnu Malik ST, Moh, 2003, Belajar Mikrokontroler ATMEL AT89S8252, Gava Media. Setiawan, Rachmad, 2006, Mkrokontroler MCS-51, Graha Ilmu. http://www.semicon.toshiba.co.jp/icsfiles/artimage/2006/11/21/ec_trantopic/eye200 505_02_1.gi (20 September 2010) http://agfi.staff.ugm.ac.id/blog/index.php/2009/02/tutorial-at89-rtc-ds1307-64-x-8serial-real-time-clock/ (13 September 2010).