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 YOGYAKARTA

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

  

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 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.

  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 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 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

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

  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 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 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 IE

  Keterangan : Bit EA=1, interupsi aktif Bit EA=0, interupsi tidak aktif

  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

  

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/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) 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 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 MHz. Osilator On-chip dapat dilihat pada gambar 2.7.

  AT89S51 30pF

  19 XTAL1

  12MHz

  18 XTAL2 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

  off, maka transistor sebagai sebuah saklar terbuka (off). Nilai dari R di dapat E

  dengan persamaan :

  VVVV = ......................... (2.2.a) CC E EC LED

  V = E CC EC LED VV

  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 VBB 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

  VCC 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 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 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