PENAMPIL PEWAKTUAN PENGATUR LAMPU LALU LINTAS BERBASIS MIKROKONTROLER AT89S51 TUGAS AKHIR - Penampil pewaktuan pengatur lampu lalu lintas berbasis mikrokontroller AT89S51 - USD Repository
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 YOGYAKARTATHE 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
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
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
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 ....……...…………………………………….....
2 1.4. Manfaat Penelitian ………………………………………………..
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.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.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 Mikrokontroler AT89S51 Lampiran 4 Data Sheet Transistor A733 Lampiran 5 Data Sheet Seven Segment LED Display
BAB I PENDAHULUAN
1.1 Latar 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.2 Batasan 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
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 mundur waktu 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
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 Pada bab terakhir ini akan disampaikan kesimpulan dari alat yang
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 masukan/keluaran (I/O port) yaitu port 0, port 1, port 2 dan port 3. Masing- masing port selain sebagai jalur keluar/masuk data, juga memiliki karakteristik yang berbeda-beda. Pinout dari mikrokontroler AT89S51 dapat dilihat pada gambar 2.1.
Gambar 2.1. Pinout AT89S51Keterangan : 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.
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 internal seperti pada gambar 2.2.
Gambar 2.2. Peta memori dataRuang 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 sementara dalam program.
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
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
pointer low byte (DPL) yang masing-masing 8 bit. Fungsinya ialah untuk
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 SRFSimbol 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 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
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) E
EA ET2 ES ET1 - EX1 ET0 P
Gambar 2.4. Register IEKeterangan : Bit EA=1, interupsi aktif Bit EA=0, interupsi tidak aktif
Register IE dapat dilihat pada tabel 2.2.
Tabel 2.2. Register IESimbol 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
clock sebagai sumber masukan pulsanya, sehingga register naik satu setiap satu
siklus mesin. Jika difungsikan sebagai counter (penghitung), maka mikrokontroler akan menggunakan clock dari luar (eksternal) sebagai masukan pulsanya, sahinga
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
Timer
1 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/CounterM1 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) 1 1 3 Gabungan timer/counter 16 bit dan 8 bit
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 TCONJika 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 MHz. Osilator On-chip dapat dilihat pada gambar 2.7.
AT89S51 30pF
19 XTAL1
12MHz
18 XTAL2 30pF
Gambar 2.7. Osilator On-Chip2.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 saklarBila trasistor dioperasikan pada derah saturasi, maka transistor menjadi
off, maka transistor sebagai sebuah saklar terbuka (off). Nilai dari R di dapat E
dengan persamaan :
V − V − V − V = ......................... (2.2.a) CC E EC LED
V = E CC EC LED V − V −
V Sehingga : V = E E E
I R
V E R = ......................... (2.2.b) E
I E 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 reverse bias dan kolektor dalam forward bias.
I C C = B …………… (2.2.c)
β = atau I β. I
I B B
Besarnya I adalah :
B V − BB BE
V I = .......................... (2.2.d) B R B
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 : B
I B ≈ 0
V = V (2.2.e) CE(cut-off) CC ………………………... 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 :
V CE = V CE(saturasi) .......................... (2.2.f) Dengan mengabaikan tegangan antara emitor dan kolektor (karena cukup kecil saat
V − CC BE
V I = .......................... (2.2.g) C R C
V ........................... (2.2.h)
CE(saturasi)
≈ 0
V CC I = C ( saturasi ) E I ≅ ........................... (2.2.i) R C 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 transistor2.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 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.
f, g, b, c
9
a, b, c, d, e, f, g
8