PENAMPIL PEWAKTUAN PENGATUR LAMPU LALU
LINTAS BERBASIS MIKROKONTROLER AT89S51
TUGAS AKHIR
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Disusun oleh :
MARCELLINUS PRIMA SIGIT NUGROHO NIM : 005114046
PROGRAM STUDI TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2007
THE TIME DISPLAY FOR TRAFFIC LIGHT
CONTROLLER BASED ON ATMEL AT89S51
MIKCROCONTROLLER
FINAL PROJECT
Presented as a partial fulfillment of the requirements to obtain the TEKNIK Degree in Electrical Engineering Study Program
By
MARCELLINUS PRIMA SIGIT NUGROHO
Student Number : 005114046
ELECTRICAL ENGINEERING STUDY PROGRAM
ELECTRICAL ENGINEERING DEPARTEMENT
ENGINEERING FACULTY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2007
LEMBAR PERSETUJUAN PEMBIMBING
TUGAS AKHIR
PENAMPIL PEWAKTUAN PENGATUR LAMPU LALU
LINTAS BERBASIS MIKROKONTROLER AT89S51
Disusun oleh :
MARCELLINUS PRIMA SIGIT NUGROHO NIM : 005114046
telah disetujui oleh :
Pembimbing I
Ir. Iswanjono, MT. Tanggal : ______________________
LEMBAR PENGESAHAN
PENAMPIL PEWAKTUAN PENGATUR LAMPU LALU
LINTAS BERBASIS MIKROKONTROLER AT89S51
Disusun oleh :
MARCELLINUS PRIMA SIGIT NUGROHO NIM : 005114046
Telah dipertahankan didepan dosen penguji pada tanggal Februari 2007
dan dinyatakan telah memenuhi syarat
Susunan Panitia Penguji:
Nama Lengkap Tanda tangan
Ketua : Damar Widjaja, S.T., M.T. _____________________
Sekretaris : Ir. Iswanjono, M.T. _____________________
Anggota : B. Djoko Untoro S., SSi, M.T. _____________________
Anggota : Wiwien Widyastuti, S.T., M.T. _____________________
Yogyakarta, Februari 2007
Fakultas Teknik Universitas Sanata Dharma
Dekan Fakultas Teknik
Ir. Greg. Heliarko, SJ., SS., BST., MA., MSc.
PERNYATAAN KEASLIAN KARYA
“Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya
tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah
disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya
ilmiah.”
Yogyakarta, Februari 2007
Marcellinus Prima Sigit Nugroho
HALAMAN MOTTO DAN PERSEMBAHAN
“Orang yang paling bodoh adalah orang-orang yang menyia-nyiakan kesempatan hidup”
“Aku tidak selalu mendapat apa yang aku cintai, karena itu aku berusaha mencintai apa yang aku dapat”
“Masa depan adalah kepunyaan orang-orang yang berani, yang berpengharapan kuat dan bertahan; dan bukan kepunyaan orang-orang yang berkecil hati, menyerah pada keadaan dan tetap pada pendiriannya”
“Jesus never said that life is going to be easy. He never tell that u’ll never strunggle, but He promise that He will always be there for you”
KUPERSEMBAHKAN UNTUK :
¾ Yesus Kristus dan Bunda Maria, Engkaulah andalanku
¾ Papa dan Mama, terima kasih atas dorongan dan doa kalian
yang selalu mengiringi setiap langkahku hingga studiku dapat
selesai
¾ Keluarga dan sahabat-sahabatku, dorongan dan bantuan
dari kalian adalah motivasiku
¾ Kekasihku tersayang, perhatian dan cintamu adalah
semangatku
¾ Dan semuanya yang spesial, all of you is the best, Jesus
Bless You All
INTISARI
Penelitian ini bertujuan untuk memberikan informasi mengenai lamanya waktu nyala lampu lalu lintas dengan tampilan angka bagi para pengguna jalan di traffic light pada persimpangan jalan.
Alat ini memiliki tiga bagian utama, yaitu masukan berupa waktu nyala tetap 4 detik untuk lampu hijau, 1 detik untuk lampu kuning, dan waktu lampu merah adalah kumulatif waktu dari lama lampu hijau dan kuning untuk empat ruas jalan.Sebuah piranti pemroses mikrokontroler AT89S51 dan keluaran berupa LED untuk lampu kuning dan seven segment untuk lampu merah dan hijau. Pada saat satu sisi ruas jalan menampilkan lamanya waktu nyala, pada ketiga sisi lain akan menghitung mundur waktunya. Penampil ini hanya menampilkan waktu untuk lampu merah dan hijau saja, sedangkan untuk lampu kuning diabaikan.
Seven sement dua digit untuk menampilkan lama waktu lampu merah dan satu digit untuk menampilkan lama waktu lampu hijau. Penampil keluaran ini akan menampilkan waktu dalam satuan detik dengan kesalahan waktu 0,88 permil (0,088 %).
Kata kunci : penampil waktu nyala, lampu lalu lintas, aplikasi mikrokontroler AT89S51.
ABSTRACT
The aim of this research is to give information about “ON” time for the traffic light with displaying numbers for the drivers when they passed the traffic light.
This device have three main component; a time input of 4 seconds for green light, 1 second for yellow light and a cumulative time of the green and yellow light for a red light for the intersection. The second component is AT89S51 microcontroller and the last component is a LED display unit for the yellow light and seven segment for the red light and for the green light. When one section display the “ON” time of the light, the other three sections will count down the time. The display only show the time of the red light and the green light only, while for the yellow light is ignored.
The two digit seven segments for show the time the red light and one digit for show the time the green light. This display the time in second unit with 0,88 per-mil error (0,088 %).
Keywords : timer display, traffic light controller, AT89S51 microcontroller application
KATA PENGANTAR
Puji dan syukur penulis haturkan kepada Tuhan Yesus Kristus atas berkat,
rahmat dan bimbinganMu selalu sehingga penulis dapat menyelesaikan Tugas
Akhir ini dengan baik. as segala pengorbanan dalam memberikan dukungan moril
dan materil sehingga Tugas Akhir ini dapat terselesaikan.
Pada kesempatan ini penulis mengucapkan banyak terima kasih kepada:
1. Bapak Agustinus bayu Primawan, S.T., M.Eng, selaku Ketua Jurusan
Teknik Elektro Fakultas Teknik Universitas Sanata Dharma Yogyakarta.
2. Bapak Ir. Iswanjono, M.T. selaku Dosen Pembimbing yang telah berkenan
memberikan pengarahan dan bimbingan selama penyusunan Tugas Akhir
ini.
3. Pimpinan Fakultas Teknik, Dosen-dosen Teknik Elektro dan Karyawan
laboratorium TE yang sangat membantu penulis selama kuliah dan juga
penelitian.
4. Papa dan mama tercinta, terima kasih atas segala doa, bimbingan,
perhatian dan dukungan yang selalu diberikan.
5. Yang terkasih Alm.kakek dan nenek, keluarga dan saudaraku, Padhe
Supriyadi, Om Wahono, Om Yanto, Bulik Nelly, Om Susilo, Om Gowar,
Alm.Om Hari, terima kasih atas segenap dukungannya.
6. Kekasihku, Sukrintoworo Hestining Winahyu, terima kasih atas semangat,
dukungan dan perhatiannya.
7. Semua teman-teman seperjuangan : Wahyu ’Cici’, Sigit ’Si Bos’, G.
Ludony ‘Iyung’, Widi, Agung, Andre, David, Danang, Yosep, Jatmiko,
Fredy yang telah membantu bertukar pikiran juga memberikan dorongan
semangat dalam susah dan bahagia.
8. Teman-teman Mudika Santo Paulus Pringgolayan, khususnya Dian
‘Brewok’, Yudha ‘Ayek’, Esthi, Agung, Bety, Tutik .
9. Sahabat-sahabatku yang spesial dan semuanya yang telah membantuku,
kalian yang terbaik.
10. Semua pihak yang tidak bisa disebutkan satu persatu, terima kasih.
Penulis menyadari bahwa Tugas Akhir ini masih jauh dari sempurna,
karena itu dengan segala kerendahan hati, kritikan dan saran yang membangun
dari semua pihak akan penulis terima dengan senang hati. Harapan penulis
semoga Tugas Akhir ini bermanfaat bagi para pembacanya.
Yogyakarta, Februari 2007
Penulis
Marcellinus Prima Sigit Nugroho
DAFTAR ISI
HALAMAN JUDUL ………. i
HALAMAN PERSETUJUAN PEMBIMBING ………... iii
HALAMAN PENGESAHAN ………..…...………. iv
HALAMAN PERNYATAAN KEASLIAAN KARYA ...………... v
HALAMAN MOTTO DAN PERSEMBAHAN ……….. vi
INTISARI ……….. vii
ABSTRACT ……….. viii
KATA PENGANTAR ……….. ix
DAFTAR ISI ………. xi
DAFTAR GAMBAR ….……...……… xiii
DAFTAR TABEL ….……… xv
DAFTAR LAMPIRAN ……… xvi I. PENDAHULUAN 1.1. Latar Belakang …….……...………... 1
1.2. Batasan Masalah ....………... 1
1.3. Tujuan Penelitian ....……...………... 1.4. Manfaat Penelitian ……….. 2 2 1.5. Metodologi Penelitian ….……...………... 2
1.6. Sistematika Penulisan Laporan ….……...……..………. 3
II. DASAR TEORI 2.1. Arsitektur Mikrokontroler AT89S51 .…..………... 4
2.1.1. Memori Mikrokontroler AT89S51 ………..….... 6
2.1.2. Register Dasar ………. 7
2.1.3. Register Fungsi Khusus (Special Function Register) …….. 9
2.1.4. Sistem Interupsi……….... 10
2.1.5. Timer / Counter ……… 11
2.1.5.1. Timer Mode Register (TMOD) ……… 12
2.1.5.2. Timer Control Register Timer 0 dan 1 …………. 13
2.1.6. Osilator On-Chip ………….………... 13
2.2. Transistor Sebagai Fungsi Saklar …….……...…………..………. 14
2.3. Display / Penampil ………. 16
2.3.1. Penampil Seven Segment ………...…………. 16
2.3.2. Dioda Pemancar Cahaya ………….…….………... 18
III. PERANCANGAN ALAT 3.1. Perancangan Perangkat Keras ………. 19
3.2. Mikrokontroler AT89S51 ……...……….…………..………. 22
3.2.1. Rangkaian Reset ………. 22
3.2.2. Program Timer …………..………..……… 22
3.3. Unit Penampil ………. 23
3.3.1. Dioda Pemancar Cahaya …………..……….………. 23
3.3.2. Rangkaian Penampil dengan Seven Segment………... 24
3.4. Perancangan Perangkat Lunak ……..……..………...………. 26
3.4.1. Algoritma Perangkat Lunak ………...…………. 26
3.4.2. Diagram Alir Program Utama ………...………. 27
3.4.3. Diagram Alir Proses Tunda Waktu 1 Detik ……...……… 28
3.4.4. Diagram Alir Proses Timer Down Lampu Merah ……..… 29
3.4.5. Diagram Alir Proses Timer Down Lampu Hijau ………… 30
IV. HASIL DAN PEMBAHASAN 4.1. Hasil Akhir Perancangan ……….……… 31
4.2. Pengamatan Waktu Scanning ……….. 35
V. KESIMPULAN DAN SARAN
5.1. Kesimpulan ……… 37
5.2. Saran ……….. 37
DAFTAR PUSTAKA ………. 39
DAFTAR GAMBAR
Gambar 2.1. Pinout AT89S51 …………..…..………...……… 5
Gambar 2.2. Peta memori data ………….…..……… 7
Gambar 2.3. Register Program Status Word (PSW)……….…. 8
Gambar 2.4. Register IE ……….… 10
Gambar 2.5. Register TMOD …………...…..……… 12
Gambar 2.6. Register TCON ………….…..………..……… 13
Gambar 2.7. Osilator On-Chip ………...……… 14
Gambar 2.8. Transistor Sebagai Fungsi Saklar ………..…… 14
Gambar 2.9. Grafik daerah kerja transistor ……..………..……… 16
Gambar 2.10. Tampilan Seven Segment ………..……… 17
Gambar 2.11. Rangkaian LED ……..……..…………..………...…...… 18
Gambar 3.1. Diagram Blok Sistem Penampil Pewaktu Nyala Lampu Lalu Lintas ……….……..………...………... 19
Gambar 3.2. Diagram waktu nyala lampu lalu lintas dengan 4 ruas jalan..………..………...………. 20
Gambar 3.3. Rangkaian Reset ………...………..……...…………...… 22
Gambar 3.4. Rangkaian LED …………..…..………..………...… 23
Gambar 3.5. Skema Dasar Konfigurasi Saklar Menggunakan Transistor……..………..………...… 24
Gambar 3.6. Rangkaian Penampil Seven Segment ……..………..……….… 26
Gambar 3.7. Diagram Alir Program Utama ……..………..………...… 27
Gambar 3.8. Diagram Alir Proses Tunda Waktu Lampu Kuning…………...………. 28
Gambar 3.9. Diagram Alir Proses Timer Down Lampu Merah ……… 29
Gambar 3.10. Diagram Alir Proses Timer Down Lampu Hijau …...……...… 30
Gambar 4.1. Bentuk Alat Penampil Pewaktu Pengatur Lampu Lalu Lintas.. 31 Gambar 4.2. Tampilan saat hijau 4 detik ………..
Gambar 4.5. Tampilan saat nyala lampu kuning ………... 34
Gambar 4.6. Pengamatan Seven Segment dan Output dari Mikrokontroler... 35
DAFTAR TABEL
Tabel 2.1. Register – register dalam SFR ………...……...…. 9
Tabel 2.2. Register IE ………... 11
Tabel 2.3. Mode Operasi Timer / Counter …...………...… 12
Tabel 2.4. Tabel Kebenaran Seven Segment ………... 17
Tabel 3.1. Tabel Pewaktuan Penampil Pewaktu Lampu Lalu Lintas ……... 21
Tabel 4.1. Tabel Hasil Pewaktuan Penampil Lampu Lalu Lintas ………….. 32
DAFTAR LAMPIRAN
Lampiran 1 Listing Program
Lampiran 2 Data Sheet Light Dependent Resistor Lampiran 3 Data Sheet MikrokontrolerAT89S51 Lampiran 4 Data Sheet Transistor A733
Lampiran 5 Data Sheet Seven Segment LED Display
1
BAB I
PENDAHULUAN
1.1Latar Belakang
Sistem transportasi pada masa sekarang ini perlu ditunjang dengan sistem keamanan dan kenyamanan yang baik bagi para pemakai jalan. Dalam bidang lalu lintas, sistem pengendali lampu lalu lintas yang sudah ada sekarang ini mempunyai penampil yang hanya menampilkan nyala lampu lalu lintas. Salah satu kendala dari sistem ini adalah bahwa para pengguna jalan raya tidak mengetahui lama waktu nyala lampu lalu lintas.
Pengembangan yang dilakukan dalam perancangan ini adalah pengendali pengaturan lampu lalu lintas dengan metode count down yang akan menghitung lama waktu untuk berhenti dan lama waktu untuk jalan semua kendaraan. Waktu yang dihitung ditampilkan dalam angka satuan detik melalui display seven segment pada traffic light. Waktu nyala akan diatur dan dihitung mundur untuk lampu merah dan hijau di setiap sisi lampu lalu lintas, sehingga pengguna jalan raya akan menjadi lebih siap apabila berhenti atau jalan di traffic light.
Dalam tugas akhir ini, akan dibuat alat penampil pewaktu pengatur lampu lalu lintas. Sistem ini akan memberikan informasi kepada para pengguna jalan raya tentang lamanya waktu nyala lampu lalu lintas melalui media digit seven segment yang berbasis mikrokontroler AT89S51 sebagai pengendali utamanya.
1.2Batasan Masalah
1. Rangkaian menggunakan IC mikrokontroler AT89S51 sebagai pengendali
utama alat.
2. Waktu maksimum yang dapat ditampilkan pada tiap-tiap lampu merah
untuk sekali nyala sampai padam berupa angka dari 0 sampai 20 detik dan 0 sampai 4 detik untuk lampu hijau.
3. Sistem penampil ini hanya menampilkan waktu nyala untuk lampu merah
2
4. Alat ini pemakaiannya pada lampu lalu lintas yang mempunyai waktu
nyala tetap untuk lampu kuning 1 detik dan lampu hijau 4 detik, sedangkan waktu lampu merah adalah kumulatif waktu dari lampu kuning dan hijau untuk 4 ruas jalan, yang telah diatur dalam mikrokontroler. 5. Pada saat satu sisi ruas jalan menampilkan lamanya waktu nyala, pada
ketiga sisi lain akan menghitung mundurwaktu nyalanya, karena keempat ruas sisi lampu lalu lintas terhubung menjadi satu.
6. Seven segment dua digit untuk lampu merah dan satu digit untuk lampu hijau untuk masing-masing sisi pada 4 ruas jalan, sebagai penampil keluaran yang menampilkan waktu dalam satuan detik.
1.3. Tujuan Penelitian
Tujuan dari penelitian ini adalah merancang suatu sistem penampil pewaktuan nyala pengatur lampu lalu lintas berbasis mikrokontroler AT89S51, yang digunakan sebagai sistem informasi pada traffic light.
1.4. Manfaat Penelitian
1. Memberi informasi mengenai lama waktu nyala lampu lalu lintas dengan
tampilan angka bagi pengguna jalan di traffic light pada persimpangan jalan, sehingga para pemakai jalan raya akan merasa nyaman.
2. Penelitian ini dapat digunakan sebagai bahan referensi / masukan untuk
pengembangan selanjutnya bagi para peneliti lain.
1.5. Metodologi Penelitian
1. Studi literatur yang ada serta mempelajari cara kerja dan cara
merencanakan dalam pembuatan peralatan tersebut.
2. Perancangan alat menggunakan teori yang sudah ada untuk mendapatkan
karakteristik yang sesuai dengan keinginan kedalam rangkaian yang disimulasikan yang selanjutnya disusun menjadi kesatuan utuh.
3. Melakukan pengamatan pada titik-titik uji penting melalui percobaan di
3
1.6. Sistematika Penulisan Laporan
Sistematika penulisan yang dipergunakan dalam penulisan Tugas Akhir ini adalah sebagai berikut :
BAB I. PENDAHULUAN
Dalam bab ini akan diuraikan tentang latar belakang masalah, perumusan dan pembatasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan.
BAB II. DASAR TEORI
Pada bab ini akan diuraikan dasar teori yang digunakan dalam penulisan tugas akhir ini. Pembahasan pada bab ini akan ditekankan pada penjelasan tentang arsitektur mikrokontroler AT89S51, transistor sebagai saklar, display / penampil berupa LED dan seven segment.
BAB III. PERANCANGAN ALAT
Dalam bab ini membahas tentang diagram blok alat meliputi perancangan sistem perangkat keras, mikrokontroler AT89S51, unit penampil LED dan seven segment serta perancangan perangkat lunak yang meliputi pemrograman bahasa assembly mikrokontroler dan diagram alir program yang dijalankan.
BAB IV. HASIL DAN PEMBAHASAN
Bab ini memuat analisis dan pembahasan mengenai hasil penelitian yang telah dilaksanakan.
BAB V. KESIMPULAN DAN SARAN
4
BAB II
DASAR TEORI
Lampu lalu lintas terdiri atas tiga bagian warna lampu, yaitu lampu
berwarna merah, lampu berwarna kuning dan lampu berwarna hijau. Penyalaan
setiap lampu selalu bergantian antara lampu satu dengan yang lainnya, dengan
urutan penyalaan lampu adalah dari lampu merah menyala ke lampu hijau lalu ke
lampu kuning. Proses ini akan berulang secara terus menerus dengan periode
waktu yang sama.
Penghitungan waktu nyala lampu lalu lintas menggunakan mikrokontroler
AT89S51 yang didalamnya sudah terdapat timer/counter. Pada dasarnya
time/counter merupakan pencacah. Bila sinyal masukan mempunyai periode yang tetap maka disebut sebagai timer, sedangkan bila sinyal masukan mempunyai periode tidak tetap disebut sebagai counter.
2.1. Arsitektur Mikrokontroler AT89S51
Mikrokontroler AT89S51 adalah mikrokontroler CMOS 8 bit yang
memiliki kemampuan tinggi dengan 4K bytes Downloadable Flash Memory. AT89S51 memiliki fitur : 2KB EEPROM, 3 level program memori lock, 128
bytes RAM internal, 32 I/O yang dapat dipakai semua, 2 buah timer/counter 16 bit, Programmable UART (serial port), SPI Serial Interface, Programmable Watchdog Timer, Dual Data Pointer, dan lain-lain. Mikrokontroler AT89S51 dapat bekerja dengan tegangan masukan 4 Volt sampai 5,5 Volt pada frekuensi 0
sampai 33 MHz.
Konfigurasi kaki-kaki pin mikrokontroler AT89S51 memiliki 4 port
5
Gambar 2.1. Pinout AT89S51 Keterangan :
1. Port 0 : 8 bit jalur terbuka input/output (I/O) dua arah.
2. Port 1 : 8 bit input/output (I/O) dua arah dengan internal pull-up. 3. Port 2 : 8 bit input/output (I/O) dua arah dengan internal pull-up. 4. Port 3 : 8 bit input/output (I/O) dua arah dengan internal pull-up. 5. P1.4 : SS (Slave port select input).
6. P1.5 : MOSI (Master data output, Slave data input untuk kanal SPI).
7. P1.6 : MISO (Master data input, Slave data output untuk kanal SPI).
8. P1.7 : SCK (Master clock output, Slave clock input untuk kanal SPI).
9. ALE/PROG : Address Latch Enable, dengan pulsa keluaran low byte pada waktu mengakses eksternal memori, PROG dengan pulsa masukan sebelum Flash Programming.
10.PSEN : Program Store Enable, membaca data dari eksternal memori.
11.EA/VPP : External Access Memory, aktif rendah untuk memanggil kode alamat memori dari 0000H-FFFFH.
6
13.XTAL1 : masukan untuk penguat inverting osilator danj rangkaian
clock internal.
14.XTAL2 : keluaran dari penguat inverting osilator.
2.1.1. Memori Mikrokontroler AT89S51
Memori merupakan rangkaian elektronis yang digunakan untuk
menyimpan informasi secara temporary atau permanent. Mikrokontroler MCS-51 memiliki dua jenis memori, yaitu :
1. Memori internal (on-chip memory)
Memori internal yang terpasang pada mikrokontroler MCS-51 terbagi
menjadi ROM/EPROM dan RAM. ROM/EPROM berukuran 4KB sampai
8KB yang digunakan untuk menyimpan program. Sementara RAM
berkapasitas 128 byte sampai 256 byte digunakan untuk menyimpan data sementara.
2. Memori luar (eksternal memory)
Apabila diperlukan kapasitas memori yang lebih besar, maka memori luar
dapat ditambahkan pada mikrokontroler MCS-51. Memori luar tersebut
dapat berupa EPROM sampai kapasitas 64KB untuk menyimpan program,
dan RAM sampai kapasitas 64KB juga dapat ditambahkan. Namun jika
menggunakan memori luar maka port 0 dan port 2 terpaksa digunakan untuk menghubungi memori tersebut, karena kedua port berfungsi sebagai
jalur pengalamatan dan atau pengiriman instruksi dari memori ekternal,
sehingga tidak dapat dipakai sebagai port paralel biasa.
Mikrokontroler MCS-51 memiliki RAM internal yang berkapasitas 128
sampai 256 byte. RAM merupakan memori yang bersifat mudah terhapus isinya jika aliran listrik diputuskan. Karena itu RAM tidak digunakan sebagai
penyimpan program tetapi untuk menyimpan data sementara. Peta memori data
7
Gambar 2.2. Peta memori data
Ruang memori dibagi menjadi tiga blok, dikenal sebagai 128 bawah
(lower 128), 128 atas (upper128) dan Register Fungsi Khusus (Special Function Register=SFR). Alamat memori data internal selalu 8 bit atau 1 byte, yang konsekuensinya hanya mampu mengalamati hingga 256 byte saja. Pengalamatan
langsung dengan alamat diatas 7FH mengakases suatu memori, sedangkan
pengalamtan tak langsung dengan alamat diatas 7FH mengakses ruang memori
lain yang berbeda.
2.1.2. Register Dasar
Yang termasuk register dasar adalah Program Counter (PC), akumulator (A), Stack Pointer (SP), Program Status Word (PSW). Register khas dari keluarga mikrokontroler MCS-51 adalah Register B dan Data Pointer Register (DPTR).
1. Program Counter (PC)
Merupakan register 16 bit yang berisi alamat yang akan dikerjakan. Saat
reset PC bernilai 0000H, pada saat prosesor mengambil instruksi 1 byte
maka nilai PC akan bertambah 1.
2. Akumulator (A)
Sesuai dengan namanya akumulator yang artinya menampung, yang
menempati lokasi E0H. Register A berfungsi sebagai penyimpan data
8
3. Stack Pointer (SP)
Register SP digunakan sebagai penyimpan sementara nilai PC sebelum
prosesor menjalankan subrutin. Saat prosesor selesai mengerjakan
subrutin, nilai PC akan dikembalikan dengan cara mengambil SP. Dengan
kata lain register stack pointer merupakan register dengan panjang 8 bit, digunakan dalam proses simpan dan ambil dari/ke stack.
4. Program Status Word (PSW)
Merupakan register 8 bit yang terdiri atas bit CY, AC, FO, RS0, RS1, OV,
dan P. Bit ke-1 tidak digunakan. Register ini berfungsi untuk menyimpan
informasi status prosesor. Fungsi-fungsi bit pada PSW sebagai berikut :
CY : carry setelah operasi aritmatika
AC : auxiliary carry setelah operasi aritmatika
FO : flag untuk fungsi umum
RS0, RS1 : untuk memilih bank register
OV : overflow setelah operasi aritmatika
P : paritas
PSW yang berada dalam ruang SRF, dapat ditunjukkan oleh gambar 2.3.
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0
CY AC FO RS0 RS1 OV - P
Gambar 2.3. Register Program Status Word (PSW)
5. Register B
Register 8 bit yang berlokasi di F0H, yang tugasnya membantu
akumulator. Register ini digunakan untuk operasi perkalian dan
pembagian.
6. Data Pointer Register (DPTR)
Register 16 bit, terbagi menjadi data pointer high byte (DPH) dan data
9
2.1.3. Register Fungsi Khusus (Special Function Register)
SFR pada mikrokontroler MCS-51 memiliki alamat 80H sampai FFH
sehingga terdapat 128 lokasi alamat untuk SFR. Peta dari memori on-chip disebut dengan ruang register fungsi khusus (Special Function Register) dapat dilihat pada tabel 2.1.
Tabel 2.1. Register-register dalam SRF
Simbol Nama Alamat
ACC Akumulator E0h
B Register B F0h
PSW Program Status Word D0h
SP Penunjuk Tumpukan (Stack Pointer) 81h
DPTR Penunjuk Data (Data Pointer) 2 Byte
DPL Data Byte rendah 82h
DPH Data Byte tinggi 83h
P0 Port 0 80h
P1 Port 1 90h
P2 Port 2 A0h
P3 Port 3 B0h
IP Pengendali Prioritas Interupsi B8h
IE Pengendali Aktivasi interupsi A8h
TMOD Pengendali Mode Pewaktu/Pencacah 89h
TCON Pengendali Pewaktu/Pencacah 88h
THO Pewaktu/Pencacah 0 Byte tinggi 8Ch
TLO Pewaktu/Pencacah 0 Byte rendah 8Ah
TH1 Pewaktu/Pencacah 1 Byte tinggi 8Dh
TL1 Pewaktu/Pencacah 1 Byte rendah 8Bh
SCON Pengendali Serial 98h
SBUF Buffer Data Serial 99h
10
2.1.4. Sistem Interupsi
Interupsi merupakan suatu sarana yang sangat berperan dalam penanganan
sistem input/output. Dalam proses interupsi, terjadinya sesuatu pada perangkat keras akan dicatat pada flip-flop yang sering disebut petanda (flag). Catatan dalam petanda tersebut diatur sedemikian rupa sehingga merupakan sinyal permintaan
interupsi pada prosesor. Program yang dijalankan dengan cara tersebut dinamakan
sebagai program pelayanan interupsi (ISR ‘Interrupt Service Routine’). Saat prosesor menjalankan ISR, pekerjaan yang sedang dilakukan dalam program
utama ditinggalkan sementara, selesai menjalankan ISR program utama kembali
dijalankan.
Ada dua buah Special Function Register yang digunakan untuk mengontrol interupsi, yaitu IE (Interupt Enable) yang beralamat di A8H dan IP (Interupt Priority Control) yang beralamat di B8H. IE digunakan untuk mengontrol interupsi yang akan diaktifkan, sedangkan IP akan menentukan
interupsi mana yang memiliki prioritas tinggi dan interupsi mana yang memiliki
prioritas rendah. Masing-masing sumber interupsi dapat diaktifkan dan dimatikan
secara individual dengan mengatur bit EA dalam register IE. Register IE ini juga
mengandung sebuah bit untuk aktivasi interupsi secara keseluruhan, yang dapat
digunakan untuk mengaktifkan dan mematikan interupsi secara keseluruhan. Di
bawah ini adalah gambar 2.4. dan tabel 2.2. dari register IE.
(MSB) (LSB)
Gambar 2.4. Register IE
Keterangan :
Bit EA=1, interupsi aktif
11
Register IE dapat dilihat pada tabel 2.2.
Tabel 2.2. Register IE
Simbol Posisi Fungsi
EA IE.7 Untuk menghidupkan (IE = 1) dan mematikan (IE = 0)
- IE.6 Cadangan
- IE.5 Cadangan
ES IE.4 Bit aktivasi interupsi Port Serial
ET1 IE.3 Bit aktivasi interupsi Timer 1 EX1 IE.2 Bit aktivasi interupsi Eksternal 1
ET0 IE.1 Bit aktivasi interupsi Timer 0 EX0 IE.0 Bit aktivasi interupsi Eksternal 0
2.1.5. Timer/Counter
Pada mikrokontroler MCS-51 terdapat dua buah Timer/Counter, yaitu
Timer 0 dan Timer 1. Timer/Counter merupakan pencacah biner naik (count-up binary counter) yang mencacah dari 0000H sampai FFFFH. Saat kondisi pencacah berubah dari FFFFH kembali ke 0000H akan timbul sinyal limpahan
(overflow). Sinyal clock yang diberikan ke pencacah dibedakan menjadi 2 macam, yaitu sinyal clock dengan frekuensi tetap yang sudah diketahui besarnya dan sinyal clock dengan frekuensi yang bias bervariasi.
Pada mikrokontroler ini, timer/counter juga diatur oleh Special Function Register, yaitu Timer/Counter Control (TCON alamat 88H), dan Timer/Counter Mode Control (TMOD alamat 89H). Selain itu nilai byte bawah dan byte atas dari
timer/counter disimpan dalam register TL dan TH.
Jika difungsikan sebagai timer, maka mikrokontroler akan menggunakan
12
2.1.5.1. Timer Mode Register (TMOD)
Register TMOD merupakan register yang digunakan untuk mengatur kerja
Timer 0 dan Timer 1.Register TMOD terbagi menjadi dua bagian bit 0 sampai 3 (TMOD.0 sampai TMOD.3) dipakai untuk mengatur Timer 0, sedangkan bit 4 sampai 7 (TMOD.4 sampai TMOD.7) dipakai untuk mengatur Timer 1. Register TMOD merupakan register yang tidak bit addressable, seperti ditunjukkan pada gambar 2.5.
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
GATE C/T M1 M0 GATE C/T M1 M0
Timer1 Timer 0
Gambar 2.5. Register TMOD
Bit GATE : Jika GATE = 1, maka timer/counter “x” aktif bila pin INTx high dan pin TRx juga high, yang dipakai untuk
mengatur sinyal detak.
Jika GATE = 0, maka timer/counter “x” aktif jika hanya pin TRx high.
Bit C/T : untuk mengatur sumber sinyal detak yang diberikan ke pencacah
biner, low untuk fungsi timer dan high untuk fungsi counter. M1 dan M0 : dipakai untuk menentukan Mode Timer. Mode operasi timer/counter
ditunjukkan seperti pada tabel 2.3.
Tabel 2.3. Mode Operasi Timer/Counter
M1 M0 MODE OPERASI
0 0 0 Timer/counter 13 bit
0 1 1 Timer/counter 16 bit
1 0 2 Timer/counter 8 bit isi ulang (autoreload)
13
2.1.5.2. Timer Control Register Timer 0 dan 1
TCON merupakan bit addressable sehingga setiap bit bisa diatur (dengan menggunakan instruksi SETB atau CLR). Register TCON berisi pengaturan timer
dan interupsi eksternal sekaligus dalam 1 byte, seperti yang ditunjukkan pada gambar 2.6.
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
Timer Interupsi
Gambar 2.6. Register TCON
Jika dalam pemrograman tidak memakai interupsi eksternal, maka IE dan
IT dapat diabaikan (diset ‘0’).
TR1 dan TR0 : pengatur aktif dan nonaktif timer/counter.
TF1 dan TF0 : penampung bit limpahan (overflow) timer/counter. IE1 dan IE0 : tanda (flag) interupsi eksternal.
IT1 dan IT0 : menentukan pen-trigger-an interupsi eksternal.
2.1.6. Osilator On-Chip
Osilator on-chip digunakan sebagai sumber detak (clock) ke CPU. Untuk menggunakannya, sebuah resonator kristal atau keramik dihubungkan di antara
kaki-kaki XTAL1 dan XTAL2 pada mikrokontroler dan menghubungkannya
dengan kapasitornya ke ground. Rangkaian osilator ini menggunakan kristal 12 MHz dan dua buah kapasitor 30 pF, sehingga frekuensi detak pada CPU adalah 12
14
30pF
AT89S51
18 19
XTAL2 XTAL1
12MHz 30pF
Gambar 2.7. Osilator On-Chip
2.2. Transistor Sebagai Fungsi Saklar
Transistor mempunyai jenis yang bermacam-macam, salah satu fungsinya
banyak diterapkan pada rangkaian digital yaitu transistor sebagai sebuah saklar
elektronik yang bekerja hanya dalam dua kondisi on dan off.
Dari konfigurasi dasarnya, transistor mempunyai 3 daerah kerja berbeda
yaitu: daerah aktif, daerah cut-off dan daerah saturasi. Transistor dengan diberi prasikap tegangan basis yang berfungsi sebagai saklar, dapat dilihat pada gambar
2.8.
Gambar 2.8. Transistor sebagai fungsi saklar
Bila trasistor dioperasikan pada derah saturasi, maka transistor menjadi
15
off, maka transistor sebagai sebuah saklar terbuka (off). Nilai dari di dapat
dengan persamaan :
Pada daerah aktif, besarnya arus basis menentukan besarnya arus kolektor.
Besarnya arus kolektor sebanding dengan besarnya arus basis kali dengan
besarnya β (beta). Pada daerah ini emitor dalam kondisi reversebias dan kolektor dalam forwardbias.
Pada daerah cut-off, basis tidak diberi tegangan atau dengan anggapan arus basis adalah nol. Dengan tidak adanya arus basis berarti baik kolektor dan emitor
dalam kondisi forward bias, sehingga : IBB≈ 0
VCE(cut-off) = VCC ………... (2.2.e)
Karena ada arus yang mengalir melalui emitor menuju kolektor maka transistor
berfungsi sebagai saklar dalam keadaan tertutup (on).
Keadaan terakhir dari prasikap tegangan transistor adalah saturasi. Pada
keadaan ini, arus emitor cenderung selalu tetap untuk perubahan arus basis.
Pertambahan arus basis akan menyebabkan kenaikan arus emitor dan penurunan
tegangan antara emitor dan kolektor, sehingga :
VCE = VCE(saturasi) ... (2.2.f)
Dengan mengabaikan tegangan antara emitor dan kolektor (karena cukup kecil saat
16
Pada keadaan ini transistor berfungsi sebagai saklar dalam keadaan tertutup (off). Grafik daerah kerja fungsi transistor, dapat ditunjukkan seperti pada gambar 2.9.
Gambar 2.9. Grafik daerah kerja transistor
2.3. Display/ Penampil
Penampil yang digunakan adalah seven segment dan dioda pemancar cahaya. Konfigurasi dioda terbagi atas dua yaitu konfigurasi common anoda dan
common catoda. Untuk konfigurasi common anoda, kaki-kaki anoda-nya dihubungkan menjadi satu sedangkan untuk konfigurasi common catoda kaki-kaki
catoda dihubungkan menjadi satu.
2.3.1. Penampil Seven Segment
Penampil merupakan suatu alat peraga dari suatu besaran yang diukur. Ada
berbagai jenis penampil yang digunakan untuk mengetahui suatu hasil proses,
salah satu yang biasa digunakan adalah seven segment.
Untuk menampilkan suatu lambang pada seven segment, tiap segment
17
diinginkan desimal 8 menyala, saklar a, b, c, d, e, f, g ditutup, maka segment LED a, b, c, d, e, f, g menyala sehingga akan tertampil angka desimal 8, seperti yana
dapat dilihat pada gambar 2.10.
Gambar 2.10. Tampilan Seven Segment
Seven segment tersebut mempunyai hubungan CA (common anode), yaitu kaki anoda terhubung satu sama lain. Sehingga untuk menyalakan seven segment
harus dikirim logika 0. Pada kaki-kaki katoda dipasang resistor sebagai penahan
arus dan saklar sebagai fungsi driver. Untuk lebih jelasnya, pada tabel 2.4. dibawah ini dapat dilihat tabel kebenaran untuk tampilan seven segment.
Tabel 2.4. Kebenaran Seven Segment
Cacahan Segment Yang Menyala
0 a, b, c, d, e, f
1 b, c
2 a, b, g, e, d
3 a, b, g, c, d
4 f, g, b, c
5 a, f, g, c, d
6 a, f, e, d, c, g
7 a, b, c
8 a, b, c, d, e, f, g
18
3.2.2. Dioda pemancar cahaya
Dioda pemancar cahaya (Light Emiting Dioda atau LED) bila diberi prasikap tegangan maju akan memancarkan cahaya seperti merah, hijau, kuning,
biru dan infra merah (tak tampak). Gambar 2.11. menunjukkan rangkaian LED
yang dihubungkan dengan resistansi secara seri.
VCC
Vd Ra
Gambar 2.11. Rangkaian LED
Nilai dari Ra dapat dicari dengan persamaan berikut :
d d cc a
I V V
19
BAB III
3.1. Perancangan Perangkat Keras
Penampil pewaktu nyala lampu lalu lintas memiliki tiga bagian utama
yaitu masukan, pengontrol dan keluaran. Masukannya berupa waktu nyala tetap,
yaitu 4 detik untuk lampu hijau dan 1 detik untuk lampu kuning, sedangkan waktu
lampu merah adalah kumulatif waktu dari lampu kuning dan hijau untuk empat
ruas jalan. Jika ingin merubah waktu nyala, maka harus merubah waktu di dalam
program mikrokontroler. Piranti kontrolernya adalah mikrokontroler AT89S51,
sedangkan piranti keluarannya digunakan LED untuk lampu kuning serta
penampil seven segment dua digit untuk lampu merah dan satu digit untuk lampu hijau, yang menunjukkan cacahan angka dalam detik. Diagram blok sistem
penampil pewaktu nyala lampu lalu lintas, ditunjukkan pada gambar 3.1.
Gambar 3.1. Diagram blok sistem penampil pewaktu nyala lampu lalu lintas
20
Pada umumnya lampu lalu lintas terdiri atas tiga bagian warna lampu yaitu
lampu berwarna merah, lampu berwarna hijau dan lampu berwarna kuning.
Penyalaan setiap lampu selalu bergantian antara lampu satu dengan yang lainnya,
dengan urutan penyalaan lampu yang umumnya digunakan adalah dari lampu
merah menyala ke lampu hijau lalu ke lampu kuning. Proses ini akan berulang
secara terus-menerus dengan periode waktu yang sama. Gambar 3.2.
menunjukkan sistem waktu penyalaan lampu lalu lintas untuk empat
persimpangan.
Gambar 3.2. Diagram waktu nyala lampu lalu lintas dengan 4 ruas jalan
Pada diagram waktu, simbol M menunjukkan lampu merah, H
menunjukkan lampu hijau, sedangkan untuk K menunjukkan lampu kuning. Saat
sebelum terjadi perubahan dari merah ke hijau, terdapat tenggang waktu semua
lampu yang menyala di semua ruas adalah lampu merah. Hal tersebut
dimaksudkan sebagai faktor keamanan saja agar pada saat suatu ruas lampu hijau
akan menyala, lampu merah semua ruas benar-benar telah menyala.
Tabel 3.1. menunjukkan sistem pewaktuan pengatur pewaktu lampu lalu
21
Tabel 3.1. Tabel Pewaktuan Penampil Pewaktu Lampu Lalu Lintas
M1 H1 K1 M2 H2 K2 M3 H3 K3 M4 H4 K4
4 6 13 20
3 5 12 19
2 4 11 18
1 3 10 17
0 2 9 16
1 1 8 15
0 7 14
4 6 13
3 5 12
2 4 11
1 3 10
0 2 9
1 1 8
0 7
4 6
3 5 2 4 1 3 0 2 1 1 0
4
22
3.2. Mikrokontroler AT89S51 3.2.1. Rangkaian Reset
Rangkaian reset digunakan untuk mereset mikrokontroler pada saat catu
daya dihidupkan seperti pada gambar 3.3.
RS T
Gambar 3.3. Rangkaian reset
Keadaan reset pada mikrokontroler diperoleh apabila pin reset diberi
logika tinggi (biasanya dalam waktu beberapa milidetik). Waktu reset tersebut
dapat dihitung dengan rumus T = RC. Pada perancangan ini waktu reset 100 ms
dengan menggunakan kapasitor C = 10 µF, maka nilai resistansi dapat dihitung :
100 ms = 10 µF x R
R = 100.10-3 / 10.10-6
R = 10 KΩ.
Cara kerja rangkaian reset adalah sebagai berikut, bila tegangan catu
dihidupkan arus akan mengalir melewati kapasitor sehingga akan menimbulkan
beda tegangan pada resistor. Tegangan pada pin reset merupakan beda tegangan
antara Vcc dengan kapasitor.
3.2.2. Program Timer
Pada mikrokontroler AT89S51, untuk 1 cycle membutuhkan 12 periode osilasi dan osilator kristal yang digunakan adalah 12 MHz, maka dapat dihitung
23
Dalam perancangan ini dibuat pewaktu yang dapat berubah setiap 1 detik,
maka waktu tunda yang diinginkan adalah:
cacah
Jadi untuk mendapat waktu sebesar 1 detik dalam timer, diperlukan nilai tundaan pada program sebesar 1.000.000 μs.
3.3. Unit Penampil
3.3.1. Dioda Pemancar Cahaya
LEDyang diberi prasikap tegangan maju akan memancarkan cahaya. Pada
saat masukan dari Port 0 adalah nol, maka transistor berfungsi sebagai saklar dalam keadaan tertutup, maka rangkaian LED dapat digambarkan seperti gambar
3.5. dibawah ini :
Vd 5Volt
330 Ra
Gambar 3.4. Rangkaian LED
Kebutuhan arus LED diantara 10mA sampai 20mA dan tegangan 1,5V
sampai 2V. Pada perancangan rangkaian ini, berdasarkan data sheet = 1,7 Volt
dan = 10mA serta Vcc yang digunakan adalah 5 Volt, maka nilai R
Jadi resistor yang digunakan adalah 330 Ω sebagai hambatan penahan arus
24
3.3.2. Rangkaian Penampil dengan Seven Segment
Pada seven segment untuk menampilkan suatu lambang harus dinyalakan tiap segment yang berkaitan dengan lambang tersebut yang digerakkan oleh saklar. Seven segment tersebut mempunyai hubungan common anode, yaitu kaki -kaki anoda terhubung menjadi satu. Transistor yang digunakan dalam
perancangan ini adalah PNP A733 yang digunakan berfungsi sebagai saklar untuk
menghubungkan antara seven segment dengan tegangan Vcc seperti terlihat pada gambar 3.5.
Gambar 3.5. Skema Dasar Konfigurasi Saklar Menggunakan Transistor
Agar transistor menjadi ON (kondisi saturasi) maka pada keluaran port
P1.0 harus diberi logika 0 sehingga terdapat arus yang mengalir dari Vcc ke CA.
Dari data sheet transistor A733 dapat diperoleh besar arus penguatan dc ( ) adalah 60, arus kolektor ( ) maksimal 100mA dan besarnya adalah
0,18 Volt. Saat keluaran Port P1.0 bernilai 0, maka transistor berada dalam
25
Besarnya nilai RE berdasarkan persamaan di atas adalah :
Ω
Besarnya nilai yang di dapat dari perhitungan adalah 312Ω, maka
digunakan resistor yang mendekati harga tersebut yaitu resistor sebesar 330Ω. E
R
Saat transistor saturasi IB mencapai nilai jenuh sebesar :
mA
Maka besarnya nilai yang digunakan sebagai penahan muka arus yang masuk
ke transistor melalui kaki basis adalah : B
Dalam perhitungan di dapat nilai sebesar 18682,6Ω maka digunakan
resistor yang mendekati nilai perhitungan, yaitu resistor sebesar 20KΩ. B
R
Rangkaian penampil yang digunakan dalam perancangan ini adalah seven segment dua digit untuk lampu merah dan seven segment satu digit untuk lampu hijau. Seven segment langsung dihubungkan dengan mikrokontroler AT89S51 pada Port 3 sebagai saluran data. Resistor dan digunakan sebagai pembatas arus yang masuk ke dalam transistor. Arus kolektor transistor adalah
, karena nilai sangat kecil maka nilai B
nilai yang dihitung didapatkan nilai sebesar 20 KΩ sebagai penahan arus. Port
P1.0, P1.1, P1.2 digunakan sebagai saklar yang menghubungkan antara Vcc dan
CA (Common Anoda) pada seven segment, seperti ditunjukkan pada gambar 3.6. B
26
Gambar 3.6.Rangkaian Penampil seven segment
Untuk menampilkan datanya dengan metode scanning, yaitu pengiriman data keluaran dari mikrokontroler ke seven segment secara bergantian dan dengan cepat sehingga terlihat seakan-akan hidup secara bersamaan.
3.4. PERANCANGAN PERANGKAT LUNAK 3.4.1. Algoritma Perangkat Lunak
Sistem kerja dari penampil nyala lampu lalu lintas ini disusun menjadi
suatu algoritma berdasarkan cara kerja perangkat keras (hardware)nya. Algoritma ini disusun agar persoalan pengendalian penampil waktu nyala lampu lalu lintas
ini dapat diterjemahkan menjadi bentuk yang sistematis sehingga dapat ditangani
oleh mikrokontroler.
Algorima ini diuraikan menjadi Program Utama dan subrutin-subrutin,
seperti : subroutin program counter down lampu merah, subroutin program
27
3.4.2. Diagram Alir Program Utama
Start
Inisialisasi semua port
Count time lampu = max
Increment alamat waktu nyala
Ya Baca dan tampilkan data
(semua nyala lampu hijau)
Increment alamat waktu nyala
Tidak
Count time
lampu = 0?
Decrement count time lampu
Decrement count time lampu
Baca dan tampilkan data (semua nyala lampu kuning)
Baca dan tampilkan data (semua nyala lampu merah)
Kuning nyala tunda 1 detik
Merah total tunda 20 detik Hijau tunda 4 detik
Increment alamat waktu nyala
Decrement count time lampu
Gambar 3.7. Diagram Alir Program Utama
Program dimulai dengan proses inisialisasi pengosongan data di alamat
penyimpan data. Kondisi awal semua lampu merah menyala untuk keempat sisi.
Data masukan awal waktu nyala lampu telah diatur didalam mikrokontroler
28
(Time Merah) untuk keempat sisi akan diambil dari alamat memori dan disimpan ke register untuk penggunaan pada program subrutin timer down untuk lampu merah. Setelah proses subrutin timer down untuk lampu merah selesai, kamudian dilakukan hal yang sama untuk proses subrutin timer down untuk lampu hijau. Proses akan melakukan perulangan terus menerus ke pengambilan data total
waktu lampu merah (Time Merah) dan data total waktu lampu hijau (Time Hijau).
3.4.3. Diagram Alir Proses Tunda Waktu 1 Detik
Start
Tunda waktu 1 detik
Satuan detik =
0?
Tidak Hidupkan LED
Kuning
Ya
Matikan LED Kuning
End
Gambar 3.8. Diagram Alir Proses Tunda Waktu Lampu Kuning
Proses waktu tunda selama 1 detik, mulai saat seven segment menghitung mundur waktunya, satuan waktu akan dikurangi satu per satu, dengan sistem
scanning. Dengan urutan proses penyalaan, ditunda selama 1 detik, kemudian dimatikan dan digeser, begitu seterusnya. Disini LED kuning juga akan menyala
selama 1 detik setelah lampu hijau padam. Setelah itu baru penampil waktu lampu
29
3.4.4. Diagram Alir Proses Timer Down Lampu Merah
Start
Inisialisasi timer lampu merah
Total waktu lampu merah 20 detik
Data satuan = data satuan - 1
Data puluhan = data puluhan - 1 Data satuan = 9 Tampilkan ke sevent segment
Satuan detik
= 0?
Tidak
Ya
Data puluhan
= 0?
Tidak
Ya
RET
.
Gambar 3.9. Diagram Alir Proses Timer Down Lampu Merah
Untuk proses counter down lampu merah, data angka puluhan dan data angka satuan diambil lalu di simpan pada register sebagai data awal cacahan. Data
satuan akan dikurangi satu per satu hingga mencapai angka 0 dengan tundaan
selama 1 detik. Setelah data satuan menjadi 0, kemudian data puluhan dikurangi
satu dan data satuan diatur menjadi sembilan. Bila semua data telah menjadi 0,
30
3.3.5. Diagram Alir Proses Timer Down Lampu Hijau
RET Start
Inisialisasi timer lampu hijau
Set waktu 4 detik
Data satuan = data satuan - 1 Tampilkan ke sevent segment
Satuan detik = 0?
Tidak
Ya
Gambar 3.10.Diagram Alir Proses Timer Down Lampu Hijau
Untuk proses counter down lampu hijau, data angka satuan diambil lalu di simpan pada register sebagai data awal cacahan. Data satuan akan dikurangi satu
per satu hingga mencapai angka 0 dengan tundaan selama 1 detik. Setelah data
satuan menjadi 0. Bila semua data telah menjadi 0, maka program akan keluar
31
BAB IV
HASIL DAN PEMBAHASAN
4.1. Hasil Akhir Perancangan
Pada bagian ini akan dibahas hasil pengamatan pada alat. Adapun
bentuk dari hasil akhir alat penampil pewaktuan pengatur lampu lalu lintas
berbasisi mikrokontroler AT89S51 dapat dilihat pada gambit 4.1.
LED KUNING
LAMPU
RESET LAMPU MERAH LAMPU LAMPU
MERAH
MERAH LAMPUHIJAU MERAH
LAMPU HIJAU
LED KUNING
LED KUNING LED KUNING LAMPU HIJAU
LAMPU HIJAU
ON/OFF
32
Tabel 4.1. Tabel Pewaktuan Penampil Pewaktu Lampu Lalu Lintas
M1 H1 K1 M2 H2 K2 M3 H3 K3 M4 H4 K4 Traffic Light 3 Traffic Light 4 Traffic Light 2
33
Pada posisi awal, saat sisi I traffic light menampilkan lama nyala untuk lampu hijau 4 detik, sisi II akan menampilkan nyala lampu merah 6
detik, sisi III akan menampilkan nyala lampu merah selama 13 detik dan untuk
sisi IV akan menampilkan waktu selama 20 detik. Ini telah sesuai dengan
waktu yang sudah direncanakan seperti perancangan semula dan dihasilkan
waktu yang sama, seperti yang terlihat pada gambar 4.2.
Gambar 4.2. Tampilan saat hijau 4 detik
Pada saat sisi I traffic light menampilkan lama nyala untuk lampu hijau 3 detik, sisi II akan menampilkan nyala lampu merah 5 detik, sisi III
akan menampilkan nyala lampu merah selama 12 detik dan untuk sisi IV akan
menampilkan waktu selama 19 detik.
Pada saat sisi I traffic light menampilkan lama nyala untuk lampu hijau 2 detik, sisi II akan menampilkan nyala lampu merah 4 detik, sisi III
akan menampilkan nyala lampu merah selama 11 detik dan untuk sisi IV akan
34
Pada saat sisi I traffic light menampilkan lama nyala untuk lampu hijau 1 detik, sisi II akan menampilkan nyala lampu merah 3 detik, sisi III
akan menampilkan nyala lampu merah selama 10 detik dan untuk sisi IV akan
menampilkan waktu selama 17 detik.
Pada saat sisi I traffic light menampilkan lama nyala untuk lampu hijau 0 detik, sisi II akan menampilkan nyala lampu merah 2 detik, sisi III
akan menampilkan nyala lampu merah selama 9 detik dan untuk sisi IV akan
menampilkan waktu selama 16 detik.
Semua hasil akhir telah sesuai dengan waktu yang sudah
direncanakan seperti perancangan semula dan dihasilkan waktu yang sama. Ini
terbukti penampil pewaktu lampu lalu lintas ini dapat dipergunakan. Pada saat
sisi I traffic light menampilkan nyala untuk lampu kuning, sisi II akan menampilkan nyala lampu merah 1 detik, sisi III akan menampilkan nyala
lampu merah selama 8 detik dan untuk sisi IV akan menampilkan selama 15
detik, ini dimaksudkan sebagai faktor keamanan saja agar pada saat suatu ruas
jalan lampu hijau akan menyala, lampu merah untuk ke tiga ruas jalan
benar-benar telah menyala semua, seperti yang terlihat pada gambar 4.3.
35
4.2. Pengamatan Waktu Scanning
Program delay pada sistem scanning, yaitu pengiriman data keluaran dari mikrokontroler ke seven segment secara bergantian dan dengan cepat sehingga terlihat seakan-akan hidup secara bersamaan. Ini digunakan
sebagai penundaan waktu penyalaan sesaat agar pada seven segment dapat tertampil angka yang bisa dilihat oleh manusia. Bila delay terlalu lama akan mengakibatkan terjadinya nyala yang berkedip-kedip sehingga delay diatur sesuai dengan kebutuhan. Besarnya waktu nyala masing-masing seven segment dapat dilihat pada gambar 4.4. dengan menggunakan osiloskop digital.
Gambar 4.4. Pengamatan seven segment dengan osiloskop digital
Dari data hasil pengamatan gambar diatas dengan menggunakan
36
berjumlah 12 adalah 5.540 μs. Dan untuk mendapatkan satu detik maka
dilakukan 181 pengulangan sehingga didapat : 181 x 2420 μs = 999.120 μs.
Perancangan ini membutuhkan pewaktu yang dapat berubah setiap detiknya,
sehingga kekurangannya adalah : 1.000.000 μs – 999.120μs = 880 μs.
Kekurangan tersebut telah habis dipakai untuk melakukan instruksi yang
lainnya, salah satunya untuk pengecekan lampu menyala atau padam.
Besarnya error yang terjadi adalah sebesar :
ERROR = Selisih(detik) / Total Waktu(detik)
= 880 / 1.000.000
= 0,88 permil
= 0,088 %
Jadi besarnya error dalam pengamatan dengan menggunakan osiloskop digital sebesar 0,88 permil sama dengan adalah harga yang kecil.
Ini membuktikan bahwa model penampil pewaktu pengatur lampu lalu lintas
ini dapat digunakan.
37
BAB V
KESIMPULAN DAN SARAN
Berdasarkan hasil pengamatan dan pembahasan dapat diambil beberapa
kesimpulan dan saran guna penyempurnaan dan pengembangan alat ini.
5.1. Kesimpulan
Beberapa hal penting yang dapat diambil dari keseluruhan perancangan dan analisis data, antara lain :
1. Sistem penampil pewaktuan pengatur lampu lalu lintas berbasis mikrokontroler AT89S51, telah dapat berjalan sesuai dengan waktu yang telah direncanakan seperti perancangan semula.
2. Error waktu yang diukur sebesar 0,88 permil atau 0,088 %.
5.2. Saran
Sehubungan dengan jauhnya alat ini dari kesempurnaan maka penulis mencoba untuk menberikan saran-saran bagi pengembangan yang lebih lanjut, yaitu :
1. Waktu nyala sebaiknya dibuat lebih lama sehingga menyerupai pada
keadaan yang sebenarnya.
2. Tampilan akan lebih baik jika dibuat lebih besar misalnya dengan
menggunakan seven segment yang berukuran lebih besar atau menggunakan tampilan LED dot matrik, sehingga dapat diberikan tambahan tulisan-tulisan, simbol ataupun gambar agar lebih jelas terlihat. 3. Masukan dapat menggunakan keypad atau saklar untuk masukan waktu
38
4. Untuk menghindari terputusnya catu daya secara tiba-tiba (listrik padam)
DAFTAR PUSTAKA
1. Albertus Paul Malvino, Ph.D.,EE., Prinsip-Prinsip Elektronika Buku Satu, Terjemahan Ir. Alb. Joko Santoso, M.T., Salemba Teknika, 2003.
2. Albertus Paul Malvino, Ph.D.,EE., Prinsip-Prinsip Elektronika Edisi Kedua, Terjemahan Hanapi Gunawan, Erlangga, Jakarta, 1995.
3. James W. Stewart and Kai X. Miao, The 8051 Microcontroller, Hardware, Software and Interfancing Second Edition, Prentice Hall, Columbus, Ohio, 1999.
4. Agfianto Eko Putra, Belajar Mikrokontroler ATMEL AT89C51/52/55, Gava Media, Yogyakarta, 2002.
5.Moh. Ibnu Malik, ST, Belajar Mikrokontroler ATMEL AT89S8252, Gava Media, Yogyakarta, 2003.
6. www.atmel.com, data sheet IC AT89S51
7. www.elite.com, data sheet Transisitor PNP A733 8.Data sheet 7 Segment LED Display