TUGAS AKHIR SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS : PENAMPIL NOMOR TEMPAT DUDUK PADA BUS BERBASIS MIKROKONTROLER AT89S8252 Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Disusun oleh: OEI HUI LIONG NIM: 015114066 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007 i
111
Embed
SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS : …repository.usd.ac.id/28362/2/015114066_Full.pdf · SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS : PENAMPIL NOMOR TEMPAT DUDUK PADA
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
TUGAS AKHIR
SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS : PENAMPIL NOMOR TEMPAT DUDUK
PADA BUS BERBASIS MIKROKONTROLER AT89S8252
Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik
Program Studi Teknik Elektro
Disusun oleh: OEI HUI LIONG
NIM: 015114066
PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK UNIVERSITAS SANATA DHARMA
YOGYAKARTA 2007
i
THE AUTOMATIC PASSENGER TICKET IDENTIFICATION SYSTEM : SEAT NUMBER DISPLAY
IN THE BUS BASED ON MICROCONTROLLER AT89S8252
FINAL PROJECT
Presented as Partial Fulfillment of the Requirements To Obtain The Technical Engineering Degree In Electrical Engineering
By:
OEI HUI LIONG
Student Number: 015114066
ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT
ENGINEERING FACULTY SANATA DHARMA UNIVERSITY YOGYAKARTA 2007
ii
LEMBAR PERSETUJUAN TUGAS AKHIR
SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS : PENAMPIL NOMOR TEMPAT DUDUK
PADA BUS BERBASIS MIKROKONTROLER AT89S8252
Pem Ir. Iswa
Pem
B. Wuri H
Disusun oleh:
OEI HUI LIONG
NIM: 015114066
Telah setuju oleh:
bimbing I
njono, M.T Tanggal:
bimbing II
arini, S.T, M.T Tanggal:
iii
LEMBAR PENGESAHAN TUGAS AKHIR
SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS : PENAMPIL NOMOR TEMPAT DUDUK
PADA BUS BERBASIS MIKROKONTROLER AT89S8252
Disusun oleh: OEI HUI LIONG NIM: 015114066 Telah dipertahankan di depan Panitia Penguji pada tanggal 1 Februari 2007
dan dinyatakan memenuhi syarat Susunan Panitia Penguji Nama Lengkap Tanda Tangan Ketua : B. Wuri Harini, S.T, M.T
Sekretaris : Ir. Iswanjono, M.T Anggota : Damar Widjaja, S.T, M.T Anggota : Petrus Setyo Prabowo, S.T
iv
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.
v
HALAMAN MOTTO DAN PERSEMBAHAN
“Hidup ini selalu diliputi dengan berbagai masalah, bila masalah
itu datang maka hadapilah, carilah solusi dengan berdoa karena
jika tidak dihadapi maka masalah tersebut akan selalu
menghantui anda.”
Kupersembahkan tugas akhir ini :
Kepada Tuhan Yesus Kristus, JuruSelamatku yang selalu menyertai dan
memberkatiku setiap saat.
Untuk Bapakku dan Ibuku yang tercinta atas dukungan, doa, kasih sayang dan
bimbingan yang tiada henti.
Untuk Kakak, Adik-adikku dan semua Keluarga Besarku atas saran dan kritik
yang memacu saya untuk menyelesaikan tugas akademikku.
Untuk para Dosen, Karyawan dan Staff Fakultas Teknik Sanata Dharma, Teman-
teman akedemika Universitas Sanata Dharma, khususnya Fakultas Teknik Elektro 2001,
yang telah sudi untuk memberikan kesempatan dan berbagi ilmu untuk menyelesaikan
tugas-tugas akademikku
vi
KATA PENGANTAR
Salam Sejahtera
Puji syukur Penulis ucapkan kepada Tuhan Yesus Kristus atas rahmat dan
petunjuk-Nya sehingga Tugas Akhir ini dapat Penulis selesaikan dengan baik.
Penulis menyadari atas keterbatasan Penulis dalam penyelesaian Tugas Akhir
ini, sehingga tanpa adanya bantuan dari pihak lain, maka tidak mungkin Tugas Akhir
dapat diselesaikan dengan baik. Maka pada kesempatan ini Penulis mengucapkan banyak
terima kasih kepada :
1. Kedua orang tua Penulis atas dukungan, doa, kasih sayang dan bimbingan yang
tiada henti.
2. Bapak Iswanjono sebagai Pembimbing I yang dengan sabar membimbing Penulis
dalam menyelesaikan Tugas Akhir ini.
3. Ibu Wuri Harini sebagai Pembimbing II yang telah membantu dan memberikan
masukan sehingga Penulis dapat menyelesaikan Tugas Akhir ini.
4. Bapak Petrus Setyo Prabowo selaku PA 2001 yang telah bersedia meluangkan
waktunya untuk memonitor Penulis.
5. Para Dosen Teknik Elektro : Bapak Djoko Untoro, Bapak Bayu Primawan, Bapak
Damar Widjaja, Ibu Prima Ari, Ibu Wiwien Widyastuti, Bapak Linggo, Bapak,
Martanto, Bapak Tjendro, Bapak Pius yang telah membagikan ilmunya selama
masa perkuliahan
6. Para Bapak dan Ibu yang bertugas di Sekretariat Fakultas Teknik ( Pak Djito dan
rekan) yang telah membantu Penulis dalam menyelesaikan semua persyaratan
administrasi selama masa kuliah Penulis.
7. Kakak, Adik-adikku dan semua Keluarga Besarku atas bantuan, saran dan
dukungan untuk menyelesaikan Tugas Akhir ini.
8. Teman-teman PHK, Hernomo, Indra, Sulis, Yuke dan lainnya yang telah berusaha
dengan baik untuk menyelesaikan tugasnya masing-masing tanpa kenal lelah dan
Memori merupakan rangkaian elektronis yang digunakan untuk menyimpan
informasi secara temporer atau permanen. Memori biasanya digunakan untuk
menyimpan data yang diperoleh dari saluran masukan-keluaran atau untuk
menyimpan program dari sebuah sistem.
Mikrokontroler AT89S8252 memiliki ruang alamat untuk memori program
dan memori data yang terpisah, seperti terlihat pada (Gambar 2.2.) di bawah. Setiap
memori program dan memori data eksternal dapat dialamati hingga 64Kbytes.
Gambar 2.2 Memori data dan memori program pada mikrokontroler AT89S8252
Pemisahan program dan data memori ini memungkinkan pengaksesan data
memori dengan pengalamatan 8 bit, sehingga dapat langsung disimpan dan
dimanipulasi oleh mikrokontroler dengan kapasitas akses 8 bit. Namun demikian,
untuk pengaksesan data memori dengan alamat 16 bit, harus dilakukan dengan
menggunakan register DPTR (Data Pointer). Program memori hanya dapat dibaca
saja (diletakkan pada ROM/ EPROM). Untuk membaca program memori eksternal,
mikrokontroler akan mengirim sinyal PSEN (Program Store Enable). Sebagai data
memori eksternal dapat digunakan RAM eksternal (maksimum 64 Kbyte). Dalam
pengaksesannya mikrokontroler akan mengirimkan sinyal RD (Read, melakukan
5
operasi pembacaan data) dan WR (Write, melakukan operasi penulisan data). Bila
diperlukan, program memori dan eksternal data dapat dikombinasikan dengan
menyatukan sinyal RD dan PSEN ke dalam input gerbang AND dan menggunakan
output dari gerbang tersebut sebagai sinyal read (baca) untuk program memori atau
eksternal data.
2.1.2. Memori Program
Memori program atau sering disebut dengan flash memory pada
mikrokontroler AT89S8252 memiliki kapasitas sebesar 8KB yang hanya bisa dibaca
saja. Bila pin dihubungkan pada ground program memori dapat diakses secara
eksternal, bila pin AE dihubungkan pada VCC program memori 4KB dapat diakses
langsung pada alamat 0000H-FFFH secara internal dan pada alamat 1000H-FFFFH
secara eksternal.
2.1.3. Memori Data
Memori data menggunakan memori jenis RAM. RAM merupakan memori
yang dapat dibaca dan ditulis. RAM dipakai sebagai penyimpan data pada saat
program bekerja. Isi RAM akan hilang bila catu daya mati (Volatile Memory).
Mikrokontroler AT89S8252 memiliki memori data 256 bytes dan dapat
diakses secara pengalamatan langsung dan pengalamatan tidak langsung.
Pengoperasian stack adalah contoh dari pengalamatan tidak langsung, jadi 128 bytes
RAM data tersedia sebagai ruang stack. Peta memori data dapat dilihat pada
(Gambar 2.3.).
Gambar 2.3 Peta memori dan metode untuk mengakses isi memori
6
Mikrokontroler AT89S8252 memiliki tambahan fitur yang tidak dimiliki
jenis MCS-51. Salah satunya adalah EEPROM yang terpasang pada chip (on-Chip).
EEPROM yang ditanamkan pada MCS8252 memiliki kapasitas sebesar 2 kiloByte
yang terletak pada alamat 000h sampai 7FFh. Untuk mengakses EEPROM on-chip
ini dilakukan pengaturan dengan mengeset bit EEMEN pada register WMCON.
2.1.4. Register Fungsi Khusus (Special Function Register)
Peta dari memori on-chip disebut dengan ruang register fungsi khusus
(Special Function Register).
1. Akumulator
ACC atau akumulator yang menempati lokasi E0H digunakan sebagai
register untuk penyimpanan data sementara dan dapat dialamati secara bit
addressable. Bit 7 6 5 4 3 2 1 0
Name ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0
Gambar 2.4 Akumulator
2. Register B
Register B menempati lokasi F0H digunakan selama operasi perkalian dan
pembagian, untuk intruksi lain dapat diperlakukan sebagai register scratch pad
(papan coret-coret) dan register B juga dapat dialamati secara bit addressable. Bit 7 6 5 4 3 2 1 0
Name B.7 B.6 B.5 B.4 B.3 B.2 B.1 B0
Gambar 2.5 Register B
3. Program Status Word (PSW)
Register PSW (lokasi D0H) mengandung informasi status program seperti
terlihat pada (Gambar 2.6.). Bit 7 6 5 4 3 2 1 0
Name CY AC F0 RS1 RS0 OV P
Gambar 2.6 Program Status Word
7
Fungsi bit pada PSW sebagai berikut:
a. CY (carry flag): bit ini akan diset oleh sejumlah instruksi matematika seperti
ADD, ADDC, SUBB, MUL, DIV dan juga termasuk instruksi untuk rotasi.
b. AC (auxillary carry): bit ini akan diset pada penjumlahan dua buah bilangan BCD
(Binary Code Desimal) yang menghasilkan carry dari bit ketiga ke bit keempat
atau jika nibble bawah berada pada range 0AH sampai 0FH.
c. F0 (flag 0): flag untuk fungsi umum.
d. RS0, RS1 (register bank select): dua bit RS1 Dan RS0 digunakan untuk memilih
bank register yang penggunaannya ditunjukkan pada tabel berikut:
Tabel 2.1 Register Bank Select
e. OV (overflow flag): bit ini akan diset oleh sejumlah intruksi aritmetika, tetapi
biasanya instruksi yang sering membuat bit ini menjadi 1 adalah instruksi ADD
dan SUBB.
f. P (parity flag): bit ini akan diset menjadi satu jika bit-bit 1 pada akumulator
berjumlah ganjil. Sebagai contoh jika isi akumulator adalah 15H (00010101) maka
bit P akan diset menjadi 1 karena jumlah bit satu pada akumulator adalah 3 buah.
4. Stack Pointer
Register Stack Pointer (lokasi 81H) merupakan register dengan panjang 8-
bit, digunakan dalam proses simpan dan ambil dari/ ke stack. Dan operasi yang
sering melibatkan stack pointer adalah PUSH, POP, LCALL, ACALL, RET, dan
RETI.
5. Data Pointer
8
Register Data Pointer terdiri dari DPTR untuk byte tinggi (DPH) dan byte
rendah (DPL). Pada AT89S8252 memiliki 2 buah DPTR untuk memudahkan
pengaksesan baik internal maupun eksternal, yaitu DP0 di lokasi 82H-83H dan DP1
di lokasi 84H-85H. Untuk menggunakannya harus menginisialisasi bit DPS pada
register AUXR1 (lokasi A2H). Bila DPS = 0, maka memilih register DPTR DP0L-
DP0H dan bila DPS = 1, maka memilih register DPTR DP1L-DP1H. Register
AUXR1 dapat dilihat pada (Gambar 2. 7.).
Gambar 2.7. Register AUXR1
6. Control Register
Register-register IP, IE, TMOD, dan TCON berisi bit-bit kontrol dan status
untuk sistem interupsi, pencacah/ pewaktu dan serial port
7. Port masukan/keluaran (I/O port)
Sama seperti keluarga MCS-51 lainnya mikrokontroler AT89S8252
memiliki 4 port masukan/keluaran (I/O port) yang diberi nama port 0, port 1, port 2
dan port 3. Setiap port selain sebagai jalur masuk atau keluar data, juga memiliki
karakteristik masing-masing.
Port 0 merupakan port keluaran/masukan (I/O) bertipe open drain
bidirectional. Port 0 juga dapat dikonfigurasikan sebagai bus alamat data bagian
rendah selama proses pengaksesan memori data dan program eksternal. Port ini
berada di alamat 80H pada SFR.
Port 1 merupakan port I/O dwiarah yang dilengkapi dengan pull-up internal.
Jika ‘1’ dituliskan ke kaki-kaki port 1, masing-masing kaki akan di pull high
dengan pull up internal sehingga dapat digunakan sebagai masukan. Port 1 berada di
alamat 90H juga menerima alamat bagian rendah (low bit) selama pemrograman dan
9
verifikasi flash. Port 1 mikrokontroler Atmel AT89S8252 terdapat beberapa fungsi
khusus. Fungsi khusus tersebut dijelaskan pada tabel berikut.
Tabel 2.2 Fungsi khusus Port 1
Port Pin Fungsi Khusus P1.0 T2 (masukan luar untuk Timer/Counter 2) P1.1 T2 EX (Timer/Counter 2 capture/reload trigger dan control arah) P1.2 - P1.3 - P1.4 SS (Slave port select input) P1.5 MOSI (Master data output, Slave data input untuk kanal SPI) P1.6 MISO (Master data input, Slave data output untuk kanal SPI) P1.7 SCK (Master clock output, Slave clock input untuk kanal SPI)
Port 2 berada di alamat A0H dan memiliki karakteristik yang mirip dengan
port 1. Port 2 akan memberikan byte alamat bagian tinggi selama pengambilan
instruksi dari memori program eksternal dan selama pengaksesan memori data
eksternal yang menggunakan perintah dengan alamat 16-bit (misalnya: MOVX
@DPTR). Port ini juga menerima alamat begian tinggi selama pemrograman dan
verifikasi flash.
Port 3 terletak di alamat B0H. Selain berfungsi untuk menerima sinyal-
sinyal kontrol untuk pemrograman dan verifikasi flash, dapat juga digunakan untuk
fungsi-fungsi yang lain seperti terlihat pada tabel berikut :.
Tabel 2.3 Fungsi alternatif Port 3
Pin Port Fungsi Alternatif P3.0 RXD (masukan port serial) P3.1 TXD (keluaran port serial) P3.2 0INT (interupsi 0 eksternal) P3.3 1INT (interupsi 1 eksternal) P3.4 T0 (input eksternal timer 0) P3.5 T1 (input eksternal timer 1) P3.6 WR (memori data eksternal jalur tulis) P3.7 RD (memori data eksternal jalur baca)
10
8. Timer / Counter
Mikrokontroler AT89S8252 mempunyai tiga buah register timer/counter 16
bit , Timer 0,Timer 1 serta Timer 2. Pada saat sebagai Timer, register naik satu
(increment) setiap satu cycle. Jika digunakan osilator 12 Mhz, maka satu cycle sama
dengan 1/12 frekuensi osilator = 1µs. Pada saat sebagai counter, register naik satu
(increment) pada saat transisi 1 ke 0 dari input eksternal, T0 atau T1.
Apabila periode tertentu telah dilampaui, timer/counter segera
menginterupsi mikrokontroler untuk memberitahukan bahwa perhitungan periode
waktu telah selesai dilaksanakan. Periode waktu timer/counter secara umum
ditentukan oleh persamaan berikut:
* Sebagai T/C 8 bit
( ) sTLxT µ1*255−= dimana TLx adalah isi register TL0 atau TL1.
* Sebagai T/C 16 bit
( ) sTHxTLxT µ1*65535−=
THx = isi register TH0 atau TH1, TLx = isi register TL0 atau TL1
9. Register TCON
Pengontrol kerja timer/counter ada pada register timer control (TCON).
Adapun definisi dari bit-bit pada timer control adalah sebagai berikut: Bit 7 6 5 4 3 2 1 0
Name TF1 TR1 TF0 TR0 IE1 IT0 IE0 IT0 Gambar 2.8. Register TCON
a. TF1 (Timer 1 Overflow)
Bit ini akan otomatis diset menjadi 1 jika timer 1 telah terjadi overflow, dan
akan dinolkan pada saat menjalankan rutin interupsi.
b. TR1 (Timer 1 Run control bit)
Bit ini digunakan untuk megaktifkan atau menonaktifkan kerja dari
timer/counter.
11
c. TF0 (Timer 0 overflow)
Bit ini akan otomatis diset menjadi 1 jika timer 0 telah terjadi overflow, dan
akan dinolkan pada saat menjalankan rutin interupsi.
d. IE1 (Interrupt 1 Edge flag)
Di set oleh hardware ketika interupsi eksternal mendeteksi adanya edge. Di
clear ketika proses interupsi.
e. IT1 (Interrupt 1 Type control bit)
Di set / clear oleh software untuk menentukan pen-triger-an interrupsi
eksternal pada transisi turun / low level.
f. IE0 (Interrupt 0 Edge flag)
Di set oleh hardware ketika interupsi eksternal mendeteksi adanya edge. Di
clear ketika ada interupsi.
g. IR0 (Interrupt 0 Type control bit)
Di set/clear oleh perangkat lunak untuk menentukan pen-triger-an interrupsi
eksternal pada transisi turun / low level.
10. Register TMOD
Pengontrol pemilihan mode operasi timer/counter ada pada register timer mode
(TMOD) . Definisi bit-bitnya adalah sebagai berikut: Bit 7 6 5 4 3 2 1 0
Name GATE(1) C/T(1) M1(1) M0(1) GATE(0) C/T(0) M1(0) M0(0) Gambar 2.9 Register TMOD
Keterangan:
Tabel 2.4 Fungsi-fungsi Register TMOD
Simbol Fungsi
GATE Gate control set. Timer/counter ‘x’ akan aktif jika pin “INT” high dan kondisi pin “TRx” sedang set. Gate control clear. Timer”x” akan aktif jika “TRx” set
C / T Selector timer/counter. Clear untuk mode timer ( input dari internal clock ) dan set untuk mode counter (input dari pin “Tx” )
M1 Bit untuk memilih mode timer/counter M0 Bit untuk memilih mode timer/counter
12
11. Mode Timer/Counter
a. Mode 0
Pada mode ini timer bekerja sebagai timer 13 bit yang terdiri dari counter 8-
bit dengan pembagi 32 (pembagi 5 bit). Setelah perhitungan selesai, mikrokontroler
akan mengeset Timer Interrupt Flag (TF1). Dengan membuat GATE = 1, timer
dapat dikontrol oleh input dari luar (INT1), untuk fasilitas pengukuran lebar pulsa.
Register 13 bit yang digunakan terdiri dari 8 bit dari TH1 dan 5 bit bawah dari TL1
( bit 6,7,8 tidak digunakan ). Mengeset TR1 tidak akan menghapus isi register.
Operasi pada mode 0 untuk Timer 0 dan Timer 1 adalah sama.
b. Mode 1
Mode 1 sama dengan mode 0 kecuali register timer akan bekerja dalam
mode 16 bit.
c. Mode 2
Mode 2 menyusun register timer sebagai 8 bit counter (TL1) dengan
kemampuan pengisian otomatis. Overflow dari TL1 tidak hanya men-set TF1 tetapi
juga mengisi TL1 dengan isi TH1 yang diisi sebelumnya oleh software. Pengisian
ulang ini tidak mengubah nilai TH1.
d. Mode 3
Dalam operasi mode 3 timer 1 akan berhenti, hitungan yang sedang berjalan
dipegang. Efeknya sama seperti mengatur TR1 = 0. Timer 0 dalam mode 3
membuat TL0 dan TH0 sebagai dua counter terpisah. TL0 menggunakan kontrol bit
timer 0 yaitu C/T, GATE, TR0, INT0 dan TF0.. TH0 berfungsi hanya sebagai timer
dan mengambil alih penggunaan TR1 dan TF1 dari timer 1 dan sekarang TH0
mengontrol interupsi timer 1. Mode 3 diperlukan untuk aplikasi yang membutuhkan
ekstra timer/counter 8 bit. Dengan timer 0 dalam mode 3, mikrokontroler
AT89S8252 seperti memiliki 3 timer/counter. Saat timer 0 dalam mode 3, timer 1
dapat dihidupkan atau dimatikan, atau dapat digunakan oleh port serial sebagai
pembangkit baud rate dalam aplikasi komunikasi serial.
13
12. Register WMCON
Nilai SFR ini saat reset adalah 0000 0000b. Adapun bit-bit adalah sebagai
berikut :
PS2 PS1 PS0 EEMWE EEMEN DPS WDTTRST WDTEN
Keterangan :
a. PS2, PS1, PS0 adalah bit prescaler untuk wacthdog timer.
b. EEMWE adalah pengaktif penulisan EEPROM data memori, harus diset sebelum
penulisan dan bit tersebut harus direset setelah penulisan.
c. EEMEN adalah bit pengaktif pengaksesan data internal EEPROM, harus bernilai 1
saat akan mengakses internal EEPROM dan bernilai 0 saat mengakses memori
eksternal.
d. DPS adalah Data Pointer Select.
e. WDTRST adalah Wacthdog Timer Reset dan bendera EEPROM Ready / busy.
f. WDTEN adalah bit pengaktif Wacthdog Timer.
2.1.5. Mode Pengalamatan dan Instruksi Mikrokontroler
Untuk mengakes data di dalam memori mikrokontroler dapat dilakukan
dengan beberapa mode, yaitu:
1. Direct Addressing Mode (Mode Pengalamatan Langsung)
Pada direct addressing instruksi yang dikeluarkan secara spesifik akan
menyebutkan alamat dari operan yang diproses. Hanya internal Data RAM dan SFR
yang dapat diproses dengan menggunakan direct addressing ini.
Contoh: MOV A,55h.
2. Indirect Addressing Mode (Mode Pengalamatan Tak langsung)
Pada indirect addressing instruksi yang dikeluarkan akan menyebutkan
sebuah register yang berisi alamat dari operan yang akan diproses. Baik internal
maupun eksternal RAM dapat diakses menggunakan indirect addressing ini.
Register alamat untuk 8 bit yang dapat dipakai adalah R0 dan R1 dari bank register,
atau Stack Pointer. Pada pengalamatan 16 bit dapat menggunakan register DPTR
VRB = 2,2 V (tegangan yang melewati port 1 atau baris)
Besarnya nilai RB:
RB = VRB / IB ……………………………………………………………….(3.5)
RB = 2,2 V / 50 mA = 44 Ohm
Besarnya hambatan basis (RB) yang digunakan dalam perancangan penggerak
matrik LED adalah 47 Ω karena untuk mencari hambatan tersebut di pasaran lebih
mudah dan untuk menjamin agar transistor tetap dalam keadaan saturasi saat
tegangan keluaran port 1 dan port 3 pada keadaan minimum.
Besarnya nilai IRB pada baris :
IRB pada baris = VRB pada baris / RB ………………………………………...……(3.6)
= 2,2 V / 47 Ω
= 46 mA
D1
Q2BD139
12
3
47 ohm
D2
Port 3
IRB
IRB
Gambar 3.10 Rangkaian driver matrik LED dilihat dari port 3
27
Pada Gambar 3.10, tegangan yang melewati RB yaitu sebesar :
VB = VRB pada kolom + VBE ..............................................................................(3.7)
VRB pada kolom = VB – VBE
= 5 V – 0,7 V
= 4,3 V
IRB pada kolom = VRB pada kolom / RB
= 4,3 V / 47 Ω
= 91,5 mA
3.2 Perancangan perangkat lunak (Software)
Sistem mikrokontroler AT89S8252 dapat bekerja setelah program di
download. Program ini berisi intruksi-instruksi yang akan dijalankan oleh
mikrokontroler.
Dalam perancangan perangkat lunak ada beberapa hal yang perlu
diperhatikan yaitu proses pengolahan data input didalam sistem mikrokontroler
AT89S8252, dan proses pengendalian yang diinginkan.
1. Proses pengolahan data
Proses pengolahan data input terdiri dari: pengolahan data nomor tempat
duduk penumpang.
2. Proses pegendalian
Mengaktifkan matrik LED.
3. Menampilkan nomor dan letak tempat duduk penumpang pada matrik LED
(LED menyala berkedip selama 10 detik, setelah itu LED menyala). Jika ada
penumpang berikutnya yang masuk ke bus lewat pintu maka LED tersebut
yang semula menyala akan padam.
Dari hal-hal diatas dapat dibuat Flow chart dari penampil nomor tempat
duduk pada bus berbasis mikrokontroler AT89S8252.
28
3.2.1 Flow Chart
Flow chart digunakan untuk mempermudah dalam perancangan perangkat
lunak dan dijadikan pedoman langkah-langkah kerja pada perancangan penampil
nomor tempat duduk pada bus berbasis mikrokontroler AT89S8252. Flow chart
penampil nomor tempat duduk pada bus berbasis mikrokontroler AT89S8252
ditunjukkan pada (Gambar 3.9).
START
Inisialisasi data dan port
Baca nomor tempat duduk
LED menyala berkedip sesuai nomor tempat duduk
Set waktu Tunda
LED padam
LED menyala
ya Ada Masukan Tiket Barcode
?
Tidak
SELESAI
Gambar 3.11 Flow chart penampil nomor tempat duduk pada bus berbasis mikrokontroler AT89S8252.
29
BAB IV HASIL DAN PEMBAHASAN
4.1 Driver matrik LED
Driver matrik LED diberi tegangan catu daya sebesar 12 Volt dengan
tegangan masukan 5 Volt pada mikrokontroler AT89S8252 didapatkan data-data
tegangan dan arus sebagai berikut:
Tabel 4.1 Besar Tegangan dengan kondisi 2 buah LED menyala
Bagian-bagian yang diukur Tegangan
LED pada penampil 1,64 V LED pada tempat duduk 1,64 V RB pada baris 1,3 V RB pada kolom 1,3 V RC 0,29 V Catu daya 11,6 V VB 4,82 V VCE pada baris 7,07 V
VCE pada kolom 2,63 V
VBE 0,61 V
Tabel 4.2 Besar Arus dengan kondisi 2 buah LED menyala
Bagian-bagian yang diukur Arus
LED pada penampil 1,49 mA LED pada tempat duduk 1,49 mA RB pada baris 26,8 mA RB pada kolom 27,6 mA RC 2,9 mA
30
Jika dilihat dari tabel 4.1 dan tabel 4.2 didapatkan tegangan maupun arus
yang melewati hambatan basis kecil sehingga dapat disimpulkan bila semua LED
menyala pada saat bersamaan maka LED menyala redup (tidak terang).
Gambar 4.1. Driver matrik LED
Hasil VRB pada baris dan VRB pada kolom yang didapat dari pengukuran dengan
perhitungan secara teori mempunyai besar tegangan yang tidak sama. Hal ini
disebabkan karena arus yang keluar dari mikrokontroler AT89S8252 kecil yaitu
sebesar 26,8 mA pada baris dan 27,6 mA pada kolom. Sehingga LED menyala
tidak terlalu terang.
Berdasarkan data dari tabel 4.1, maka dapat di hitung VRB pada baris,VRB pada
kolom, VRC, VLED :
a. VRB pada baris = IRB pada baris x RB ............................................................................(4.1)
= 26,8 mA x 47 Ω
= 1,26 V
b. VRB pada kolom = IRB pada kolom x RB .........................................................................(4.2)
= 27,6 mA x 47 Ω
= 1,29 V
31
c. VRC = IRC pada kolom x RC ......................................................................................(4.3)
= 2,9 mA x 100 Ω
= 0,29 V
d. VLED = Vcc – VRC – VCE pada baris – VCE pada kolom ................................................(4.4)
= 11,6 V – 0,29 V – 7,07 V – 2,6 V = 1,64 V
Hasil yang didapatkan dengan pengukuran dan perhitungan mempunyai
besaran yang sama, sehingga dapat disimpulkan bahwa data-data yang diperoleh
dari pengukuran adalah benar.
4.2 Penampil nomor tempat duduk
Jenis matrik LED adalah common cathode. Penampil nomor tempat duduk
ditunjukkan pada (Gambar 4.2).
Gambar 4.2 Penampil nomor tempat duduk
Pada penampil nomor tempat duduk penumpang akan menyala jika diberi
logika 1 (5 Volt) pada baris (port 1.0 sampai port 1.7) dan kolom (port 3.4 sampai
port 3.7), dapat dilihat pada tabel dibawah ini:
32
Tabel 4.3 Penampil Nomor Tempat Duduk Nomor Tempat Duduk Kondisi LED Diberi Logika 1 (5 V)
1 Menyala Port 1.0 dan Port 3.4
2 Menyala Port 1.0 dan Port 3.5
3 Menyala Port 1.0 dan Port 3.6
4 Menyala Port 1.0 dan Port 3.7
5 Menyala Port 1.1 dan Port 3.4
6 Menyala Port 1.1 dan Port 3.5
7 Menyala Port 1.1 dan Port 3.6
8 Menyala Port 1.1 dan Port 3.7
9 Menyala Port 1.2 dan Port 3.4
10 Menyala Port 1.2 dan Port 3.5
11 Menyala Port 1.2 dan Port 3.6
12 Menyala Port 1.2 dan Port 3.7
13 Menyala Port 1.3 dan Port 3.4
14 Menyala Port 1.3 dan Port 3.5
15 Menyala Port 1.3 dan Port 3.6
16 Menyala Port 1.3 dan Port 3.7
17 Menyala Port 1.4 dan Port 3.4
18 Menyala Port 1.4 dan Port 3.5
19 Menyala Port 1.4 dan Port 3.6
20 Menyala Port 1.4 dan Port 3.7
21 Menyala Port 1.5 dan Port 3.4
22 Menyala Port 1.5 dan Port 3.5
23 Menyala Port 1.5 dan Port 3.6
24 Menyala Port 1.5 dan Port 3.7
25 Menyala Port 1.6 dan Port 3.4
26 Menyala Port 1.6 dan Port 3.5
27 Menyala Port 1.6 dan Port 3.6
28 Menyala Port 1.6 dan Port 3.7
29 Menyala Port 1.7 dan Port 3.4
30 Menyala Port 1.7 dan Port 3.5
31 Menyala Port 1.7 dan Port 3.6
32 Menyala Port 1.7 dan Port 3.7
33
Tiap LED pada penampil nomor tempat duduk mempunyai tegangan (VLED)
sebesar 1,64 V dan arus yang melewati LED ( ILED) sebesar 1,49 mA.
4.3 Penampil pada tempat duduk
Penampil pada tempat duduk penumpang menggunakan LED, dimana tiap
LED diparalelkan dengan LED pada penampil nomor tempat duduk sehingga
mempunyai besar tegangan yang sama yaitu sebesar 1,64 V. Penampil pada tempat
duduk ditunjukkan pada (Gambar 4.3.a) tampak dari samping dan (Gambar 4.3.b)
tampak dari depan.
(a). Tampak dari samping (b). Tampak dari depan
Gambar 4.3 Penampil pada tempat duduk
Pada tempat duduk penumpang juga terdapat limit switch yang digunakan
sebagai saklar (kondisi awal yaitu ON).
Dari tabel 4.1, diketahui nilai RC =100 Ω, VRC = 0,29 V maka arus LED (ILED) dapat