97
TUGAS AKHIR UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Elektro Disusun oleh: HERNOMO KUSTRIATMOJO NIM: 015114060 PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS SANATA DHARMA YOGYAKARTA 2007 iv

UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

TUGAS AKHIR

UNIT DETEKSI TIKET

PADA SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik

Program Studi Teknik Elektro

Disusun oleh:

HERNOMO KUSTRIATMOJO

NIM: 015114060

PROGRAM STUDI TEKNIK ELEKTRO JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK UNIVERSITAS SANATA DHARMA

YOGYAKARTA 2007

iv

Page 2: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

FINAL PROJECT

TICKET DETECTING UNIT ON AUTOMATIC PASSENGER TICKET

IDENTIFICATION SYSTEM

Presented as Partial Fulfillment of the Requirements To Obtain The Technical Engineering Degree

In Electrical Engineering

By:

HERNOMO KUSTRIATMOJO

Student Number: 015114060

ELECTRICAL ENGINEERING STUDY PROGRAM ELECTRICAL ENGINEERING DEPARTMENT

ENGINEERING FACULTY SANATA DHARMA UNIVERSITY

2007

v

Page 3: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

LEMBAR PERSETUJUAN TUGAS AKHIR

UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI

TIKET PENUMPANG OTOMATIS

(TICKET DETECTING UNIT OF AUTOMATIC PASSENGER

TICKET IDENTIFICATION SYSTEM)

Disusun Oleh:

HERNOMO KUSTRIATMOJO

NIM: 015114060

Telah Disetujui oleh:

vi

Page 4: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

LEMBAR PENGESAHAN TUGAS AKHIR

UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI

TIKET PENUMPANG OTOMATIS

(TICKET DETECTING UNIT OF AUTOMATIC PASSENGER

TICKET IDENTIFICATION SYSTEM)

vii

Page 5: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

viii

Page 6: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

KATA PENGANTAR

Terpujilah Tuhan atas kasihNya yang melimpah sehingga penulis dapat

menyelesaikan Tugas Akhir ini.

Terima kasih yang mendalam penulis ucapkan kepada pihak – pihak yang

telah membantu penulis dalam penyelesaian Tugas Akhir ini. Mereka adalah:

1. Ir. Greg.Heliarko, SJ.,SS.,BST., MA., Msc., selaku Dekan Fakultas Teknik.

2. Bapak A. Bayu Primawan, S.T., M.Eng. selaku Kaprodi Teknik Elektro.

3. Bapak Pdt. Obaja Sigit Karyono, M.Th sebagai pembimbing penulis.

4. Bapak Ir. Iswanjono, M.T. sebagai pembimbing Tugas Akhir.

5. Bapak Petrus Setyo Prabowo, ST. sebagai Pembimbing Akademik.

6. Keluarga Besar GKN Gloria Yogyakarta.

7. Segenap Dosen di Jurusan Teknik Elektro yang telah melayani sebagai

pengajar dan penasihat.

8. Segenap Laboran Teknik Elektro.

9. “The Winning Team” : Indra, Sulis, Liong, dan Yayuk. Never Give Up!

10. Rekan seangkatan TE’01 atas kebersamaannya di tahun-tahun yang silam.

11. Fajar Ira J., S. Farm, Apt. dan Pungkas Yoga K, ST. untuk pengertian dan

semua toleransi yang diberikan.

12. Keluarga Bp. Haryono ( Tasura 52 ), Keluarga Ibu Tukilah ( Gg. Nilam ), dan

Keluarga Bp. Suparno ( Jl. P. Puger II ).

13. Gloria Smile Jogjakarta : Dwi D., SP, Fernandez J.N., S.E. dan Kristiana T.A.,

S.Pd. akhirnya kita semua jadi sarjana !

14. Serta semua pihak yang namanya tidak tertulis pada lembar ini. Tuhan

memberkati.

vi

Page 7: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Untuk Bapak dan Ibu, yang tidak pernah menyerah...

vii

Page 8: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

DAFTAR ISI HALAMAN JUDUL................................................................................................i TITLE PAGE...........................................................................................................ii HALAMAN PERSETUJUAN...............................................................................iii HALAMAN PENGESAHAN................................................................................iv HALAMAN PERNYATAAN KEASLIAN KARYA............................................v KATA PENGANTAR...........................................................................................vi HALAMAN MOTO DAN PERSEMBAHAN.....................................................vii DAFTAR ISI........................................................................................................viii DAFTAR GAMBAR.............................................................................................ix DAFTAR TABEL...................................................................................................x DAFTAR LAMPIRAN..........................................................................................xi INTISARI..............................................................................................................xii ABSTRACT.........................................................................................................xiii BAB I PENDAHULUAN 1.1 Judul................................................................................................1 1.2 Latar Belakang Masalah..................................................................1 1.3 Tujuan Penelitian.............................................................................2 1.3.1 Tujuan Umum......................................................................2 1.3.2 Tujuan Khusus.....................................................................2 1.4 Batasan Masalah..............................................................................2 BAB II DASAR TEORI

viii

Page 9: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

2.1 Transfer Data...................................................................................4

2.1.1 RS 232..................................................................................4

2.2 Mikrokontroler AT89S8252............................................................6 2.2.1 Organisasi memori AT89S8252...........................................7 2.2.2 Memori Program..................................................................8

2.2.3 Memori Data........................................................................8

2.2.4 Register fungsi khusus (Special Function Register)............9

2.2.5 Mode Pengalamatan dan Instruksi Mikrokontroler...........17 BAB II RANCANGAN PENELITIAN

3.1 Perancangan Perangkat Keras........................................................19 3.1.1 Pengondisi Sinyal RS 232..................................................20

3.1.2 LED Output.......................................................................21 3.1.3 On-Chip Oscilator..............................................................21

3.2 Perancangan Perangkat Lunak.......................................................22

3.2.1 Pemrograman Mikrokontroler............................................22 3.2.1.1 Inisialisasi...............................................................23

3.2.1.2 Pemrograman Penerimaan Pada mikrokontroler...24

3.2.1.3 Pemrograman Pembandingan Data pada

Mikrokontroler.......................................................25 BAB IV ANALISA DAN PEMBAHASAN

4.1 Program Penerimaan Data..............................................................28

4.2 Program Pembandingan Data.........................................................30

4.2.1 Pemindahan Data antar mikrokontroler............................30

ix

Page 10: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

4.2.2 Pembandingan Data...........................................................31

4.2.3 Pengaktifan Perangkat Keras.........................................................32 BAB V KESIMPULAN DAN SARAN 5.1 Kesimpulan........................................................................36

5.2 Saran...................................................................................36

DAFTAR PUSAKA .................................................................................37

x

Page 11: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

DAFTAR GAMBAR Gambar 2.1 Blok Diagram Sistem ......................................................................3

Gambar 2.2 Komunikasi Asinkron tanpa bit paritas ..........................................4

Gambar 2.3 Konektor serial DB – 9 ...................................................................5

Gambar 2.4 Memori data dan memori program pada mikrokontroler

AT89S8252 .....................................................................................7

Gambar 2.5 Peta memori dan metode untuk mengakses isinya ..........................9

Gambar 2.6 Akumulator .....................................................................................9

Gambar 2.7 Register B ......................................................................................10

Gambar 2.8 Program Status Word ....................................................................10

Gambar 2.9 Register AUXRI ............................................................................11

Gambar 2.10 Register TCON ..............................................................................14

Gambar 2.11 Register TMOD .............................................................................15

Gambar 3.1 Diagram Blok Perangkat Keras .....................................................19

Gambar 3.2 Konfigurasi MAX 232 ..................................................................20

Gambar 3.3 Konfigurasi LED ...........................................................................21

Gambar 3.4 Konfigurasi On-Chip Oscilator .....................................................21

Gambar 3.5 Diagram Alir Perangkat Lunak .....................................................22

Gambar 3.6 Flowchart Program Utama AT89S8252 ........................................23

Gambar 3.7 Flowchart Terima_Data ................................................................25

Gambar 3.8a Flowchart Banding_Data ..............................................................26

Gambar 3.8b Flowchart Banding_Data ..............................................................27

Gambar 4.1 Pengaksesan EEPROM ................................................................29

Gambar 4.2 10 byte data yang diterima di IRAM.............................................30

Gambar 4.3a Kondisi port setelah pembandingan data (bila data tidak sesuai ) 31

Gambar 4.3b Kondisi port setelah pembandingan data (bila data sesuai ) .........32

Gambar 4.3c Kondisi port setelah pembandingan data (nomor kursi 10 ) .........33

Gambar 4.3d Kondisi port setelah pembandingan data (nomor kursi 11) ..........34

xi

Page 12: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

DAFTAR TABEL Tabel 2.1 Konfigurasi pin dan nama sinyal konektor serial DB-9 ..................5 Tabel 2.2 Register Bank Select .....................................................................10 Tabel 2.3 Fungsi alternatif port 3 ..................................................................13 Tabel 2.4a Fungsi – fungsi register TMOD ....................................................15 Tabel 2.4b Kombinasi M0 dan M1 .................................................................15

xii

Page 13: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

xiii

Page 14: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

INTISARI

Sistem transportasi modern membutuhkan pelayanan yang cepat dan

akurat. Dibutuhkan sebuah sistem yang memudahkan penumpang bis untuk

memperoleh pelayanan transportasi secara cepat dengan tidak mengesampingkan

kenyamanan dan keamanan dalam melakukan sebuah perjalanan darat.

Alat yang dibuat adalah sebuah modul yang bisa menerima serta

menyimpan data. Penelitian ini menggunakan AT89S8252 sebagai pengolah

utama, RS232 sebagai antar muka serial, masukan dari interupsi serial dan

keluaran dihubungkan pada perangkat keras bis.

Tujuan pembuatan alat ini adalah untuk menerima data kode baris yang

tercetak pada tiket penumpang untuk dibandingkan dengan data yang tersimpan

pada mikrokontroler.

xiv

Page 15: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

ABSTRACT

Modern transportation system require the quick and accurate service. It

need a system that can facilitating bus passenger to obtain get the transportation

service quickly with not overrule the comfort and security te get a land

transportation.

Appliance made is a module which can accept and also saving data. This

research use AT89S8252 as main processor, RS232 as interface system, input

from interupting serial and output connected at bus hardware.

The target of this appliance is to accept the data of barcode that printed at

passenger ticket to be compared to data that saved at mikrokontroler.

xv

Page 16: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

BAB I

PENDAHULUAN

I. 1. Judul

Unit Deteksi Tiket pada Sistem Identifikasi Tiket Penumpang Otomatis.

1. 2. Latar Belakang Masalah

Pada era sekarang ini, penumpang yang menggunakan jasa yang

menyediakan transportasi (bus, kereta api dan lain-lain) sering kali mengalami

pelayanan yang kurang memuaskan. Hal ini disebabkan karena kualitas pelayanan

yang kurang baik, sehingga menyebabkan gangguan-gangguan terhadap tata cara

pelaksanaan transportasi antar daerah, kesalahan identifikasi penumpang,

kesalahan penumpang mengidentifikasi sarana transportasi yang dipakai, dan

praktek percaloan serta hal-hal yang lebih cenderung merugikan pihak pemakai

sarana transportasi. Untuk dapat meningkatkan kualitas pelayanan menjadi lebih

baik, hal yang perlu diperbaiki yaitu dalam pembuatan tiket, dimana tiket tersebut

harus mampu memberikan informasi tentang identitas penumpang (nama, jenis

kelamin, nomor tempat duduk, nama/nomor kendaraan, asal, dan tujuan) dengan

jelas dan tepat.

Untuk itu, pada penelitian ini akan dilakukan identifikasi tiket penumpang

dengan menggunakan Mikrokontroller AT89S8252 sebagai pemroses input /

output serta pengendali gerak pintu otomatis. Identifikasi tiket penumpang dapat

dilakukan dengan membuat suatu perangkat yang dapat digunakan sebagai alat

pengidentifikasi tiket penumpang tersebut. Keuntungan utama yang dapat

diperoleh dari penelitian tersebut adalah hasil penelitian dapat digunakan untuk

mengidentifikasi identitas penumpang dengan lebih jelas dan tepat sehingga

mendukung peningkatan kualitas pelayanan transportasi menjadi lebih baik.

Page 17: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

1. 3. Tujuan Penelitian

1. 3. 1. Tujuan Umum

Tujuan umum dari alat ini adalah sebagai berikut:

a) Membuat sistem identifikasi dengan metode pengecekan data secara

berulang.

b) Merancang perangkat yang dapat mengaplikasikan program penyimpanan

dan pembandingan data dan menghasilkan keluaran visual.

c) Merancang dan membuat program yang dapat mengirim data penumpang

secara serial.

d) Merancang program yang mampu menyimpan/menulis sejumlah data dan

mengaksesnya kembali.

1. 3. 2. Tujuan Khusus

Tujuan khusus dari penelitian ini adalah untuk mengaplikasikan ilmu yang

telah diperoleh penulis dalam pendalaman teori serta untuk menyelesaikan

program penelitian terpadu.

1. 4. Batasan Masalah

Untuk Unit Deteksi Tiket Pada sistem ini, penelitian yang dilakukan adalah

pada proses penyimpanan dan pembandingan data :

1. Dengan menggunakan Mikrokontroler AT89S8252 sebagai pengatur

sistem,

2. Menggunakan Visual Basic 6.0 sebagai perangkat lunak sistem,

3. RS 232 sebagai saluran transmisi, serta

4. LED sebagai indikator keluaran.

5. Jumlah tempat duduk dalam bus sebanyak 32 buah.

2

Page 18: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

BAB II

DASAR TEORI

Pada penelitian ini akan dibuat suatu alat yang akan membandingkan suatu

data dari PC yang berupa byte-byte data dengan data yang diinterupsikan dari port

mikrokontroler. Semula data yang diperoleh dari PC berupa byte data yang berisi

nomor bus dan nomor kursi terlebih dahulu ditransfer melalui kabel serial RS 232,

kemudian data tersebut disimpan di memori data mikrokontroler. Bila ada

interupsi dari port mikrokontroler (interupsi berupa masukan data dari Barcode

Reader), maka data masukan dari port ini akan dibandingkan dengan data yang

telah tersimpan di memori data. Bila data tersebut sama dengan salah satu data di

memori, maka keluaran bernilai 1 (LED hijau menyala). Sebaliknya bila data

tidak ada yang sama dengan salah satu data pada memori, keluaran akan bernilai 0

(LED merah menyala).

Penelitian ini dikhususkan pada dua topik, yaitu transfer data dari PC ke

memori mikrokontroler dan pembandingan data di memori tersebut terhadap

interupsi port mikrokontroler.

AT89S8252

Memori Data

Data penumpang

Barcode

Reader Pemban-

dingan

YES (LED Hijau)

NO (LED Merah)

Transfer

dan

Gambar 2.1. Blok Diagram Sistem

Page 19: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

2. 1. Transfer Data

Dikenal dua cara komunikasi data serial, yaitu secara sinkron dan secara

asinkron. Pada komunikasi secara sinkron, clock dikirimkan bersama-sama

dengan data serial, sedangkan pada komunikasi secara asinkron, clock tidak

dikirimkan bersama data serial namun dibangkitkan sendiri baik pada sisi

pengirim maupun pada sisi penerima. Pada IBM PC kompatibel port serialnya

termasuk jenis asinkron. Komonikasi data serial ini dikerjakan oleh UART

(Universal Asynchronous Receiver/Transmitter). IC UART dibuat khusus untuk

mengubah data paralel menjadi data serial dan menerima data serial yang

kemudian diubah kembali menjadi data paralel.

Pada UART, kecepatan pengiriman data (Baud Rate) dan fase clock pada

sisi transmitter dan pada sisi receiver harus sinkron. Untuk itu diperlukan

sinkronisasi antara transmitter dan receiver. Hal ini dilakukan oleh bit “Start” dan

bit “Stop”.

Bit data 7 6 5 4 3 2 1 0

Start Stop

Gambar 2. 2. Komunikasi asinkron tanpa bit paritas

2. 1. 1. RS 232

Standar sinyal komunikasi serial RS 232 dikembangkan oleh Electronic

Industry Association and the Telecommunications Industry Association (EIA/TIA)

dan dipublikasikan pertama kali tahun 1962. Standar ini hanya menyangkut

komunikasi data antar komputer (Data Terminal Equipment – DTE) dengan alat-

alat pelengkap komputer (Data Circuit – Terminating Equipment – DCE).

Standar sinyal RS232 memiliki ketentuan level tegangan sebagai berikut :

1. Logika “1” terletak antara –3 volt sampai –25 volt

4

Page 20: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

2. Logika “0” terletak antara 3 volt sampai 25 volt

3. Daerah tegangan antara –3 volt sampai 3 volt adalah invalid level

(tidak memiliki level logika, sehingga harus dihindari)

4. Daerah tegangan dibawah –25 volt dan di atas 25 volt harus dihindari

untuk mencegah kerusakan alat.

DB - 9

9

8

7

6

5

4

3

2

1 Received Line Signal Detector

Received Data

Transmitted Data

Data Terminal Ready

DCE Ready

Signal Ground Ring Indicator

Clear To Send

Request To Send

Gambar 2. 3. Konektor serial DB-9

Tabel 2.1. Konfigurasi pin dan nama sinyal konektor serial DB-9 Nomor

Pin Nama Sinyal Direction Keterangan

1 DCD In Data Carrier Detect / Received Line Signal Detect

2 RxD In Receive Data 3 TxD Out Transmit Data 4 DTR Out Data Terminal Ready 5 GND - Ground 6 DSR In Data Set Ready 7 RST Out Request to Send 8 CTS In Clear to Send 9 RI In Ring Indicator

5

Page 21: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Keterangan mengenai fungsi saluran RS232 pada konektor DB-9 adalah

sebagai berikut :

1. Received Line Signal Detect, dengan saluran ini DCE memberitahukan ke

DTE bahwa pada terminal masukan data masuk.

2. Received Data, digunakan DTE menerima data dari DCE

3. Transmit Data, digunakan DTE mengirimkan data ke DCE

4. Data Terminal Ready, pada saluran ini DTE memberitahukan kesiapan

terminalnya

5. Signal Ground, saluran ground

6. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah

stasiun menghendaki hubungan dengannya

7. Clear to Send, dengan saluran ini DCE memberitahukan bahwa DTE boleh

mulai mengirim data

8. Request To Send, dengan saluran ini DCE diminta mengirim data oleh

DTE

9. DCE Ready, sinyal aktif pada saluran ini menunjukkan bahwa DCE sudah

siap

Untuk dapat menggunakan port serial kita perlu mengetahui alamatnya.

Biasanya tersedia dua port serial pada CPU, yaitu COM1 dan COM2. Base

Address COM1 biasanya adalah 1016 (3F8h) dan COM2 biasanya 760 (2F8h).

Alamat tersebut adalah alamat yang biasa digunakan, tergantung dari komputer

yang digunakan. Tepatnya kita bisa melihat pada peta memori tempat menyimpan

alamat tersebut, yaitu memori 0000.0400h untuk base address COM1 dan memori

0000.0402h untuk base address COM2.

2. 2. Mikrokontroler AT89S8252 Mikrokontroler AT89S8252 adalah mikrokontroler CMOS 8-bit yang

berkemampuan tinggi dengan 8K bytes in-sistem programmable Flash Memory.

AT89S8252 ini dibuat dengan teknologi Atmel memori non-volatile. AT89S8252

6

Page 22: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

yang dipakai memiliki fitur: 8KB In-Sistem Programmable Flash, 2 KB

EEPROM, 256 Bytes RAM, 32 jalur I/O, tiga 16-bit timers/counters, Watchdog

Timer, 2 data pointer, 6 vektor dua level interupsi, serial port full duplex, osilator

on-chip dan clock circuitry.

2. 2. 1. Organisasi Memori AT89S8252

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.4.) di bawah.

Setiap memori program dan memori data eksternal dapat dialamati hingga

64Kbytes.

Gambar 2. 4. 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,

7

Page 23: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

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 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 / Eksternal Data.

2. 2. 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 di akses

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. 2. 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. 5.).

8

Page 24: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Gambar 2. 5. Peta memori dan metode untuk mengakses isinya

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 MCS825252 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. 2. 4. Register Fungsi Khusus (Special Function Register)

Peta dari memori on-chip disebut dengan ruang register fungsi khusus

(Special Function Register).

a. Akumulator

ACC atau akumulator yang menempati lokasi E0H digunakan sebagai register

untuk penyimpanan data sementara dan dapat dialamati secara bit addressable.

Gambar2. 6. Akumulator

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

9

Page 25: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Gambar 2. 7. Register B

c. Program Status Word (PSW)

Register PSW (lokasi D0H) mengandung informasi status program seperti

terlihat pada (Gambar 2. 8.).

Gambar 2. 8. Program Status Word

Fungsi bit pada PSW sebagai berikut:

CY (carry flag) : bit ini akan diset oleh sejumlah instruksi

matematika seperti ADD, ADDC, SUBB, MUL, DIV dan juga termasuk

instruksi untuk rotasi.

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 bawahnya berada pada range 0AH

sampai 0FH.

F0 (flag 0) : flag untuk fungsi umum.

RS0, RS1 (register bank select) : dua bit RS1 Dan RS0 digunakan untuk

memilih bank register yang penggunaannya ditunjukkan pada tabel berikut:

Tabel 2. 2. Register Bank Select

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.

10

Page 26: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

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.

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

e. Data Pointer

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.

9.).

Gambar 2. 9. Register AUXR1

f. Kontrol Register

Register-register IP, IE, TMOD, dan TCON berisi bit-bit kontrol dan status

untuk sistem interupsi, pencacah/ pewaktu dan serial port .

11

Page 27: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

g. 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 verifikasi flash.

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 :

12

Page 28: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

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)

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

13

Page 29: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Register TCON

Pengontrol kerja timer/counter ada pada register timer control

(TCON). Adapun definisi dari bit-bit pada timer control adalah sebagai

berikut:

Gambar 2. 10 Register TCON

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.

TR1 (Timer 1 Run control bit)

Bit ini digunakan untuk megaktifkan atau menonaktifkan kerja dari

timer/counter.

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.

IE1 (Interrupt 1 Edge flag)

Di set oleh hardware ketika interupsi eksternal mendeteksi adanya

edge. Di clear ketika proses interupsi.

IT1 (Interrupt 1 Type control bit)

Di set / clear oleh software untuk menentukan pen-triger-an

interrupsi eksternal pada transisi turun / low level.

IE0 (Interrupt 0 Edge flag)

Di set oleh hardware ketika interupsi eksternal mendeteksi adanya

edge. Di clear ketika ada interupsi.

IR0 (Interrupt 0 Type control bit)

Di set/clear oleh perangkat lunak untuk menentukan pen-triger-an

interrupsi eksternal pada transisi turun / low level

Register TMOD

14

Page 30: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Pengontrol pemilihan mode operasi timer/counter ada pada register

timer mode (TMOD) . Definisi bit-bitnya adalah sebagai berikut:

Gambar 2. 11. Register TMOD

Tabel 2. 4a 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

Tabel 2. 4b Kombinasi M0 dan M1 M1 M0 Mode Operasi

0 0 0 Timer 13 bit

0 1 1 Timer/counter 16 bit

1 0 2 Timer/counter pengisian otomatis (auto reload) 8 bit

1 1 3 (Timer 0)

TL0 adalah T/C 8 bit yang dikontrol oleh kontrol bit standar timer 0. TH0 adalah timer 8 bit dan dikontrol oleh kontrol bit timer 1

15

Page 31: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Mode Timer/Counter

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.

Mode 1

Mode 1 sama dengan mode 0 kecuali register timer akan

bekerja dalam mode 16 bit.

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.

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 AT89S51 seperti memiliki 3 timer/counter. Saat

16

Page 32: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

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.

i. Register WMCON

Nilai SFR ini saat reset adalah 0000 0000b. Adapun bit-btnya 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 adalahWacthdog Timer Reset dan bendera EEPROM Ready /

busy

f. WDTEN adalah bit pengaktif Wacthdog Timer.

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

17

Page 33: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

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

Pointer). Contoh: MOV A, @R0

3. Register Addressing Mode (Mode Pengalamatan Register)

Bank register berisi register R0 sampai R7 yang dapat diakses dengan

instruksi-instruksi tertentu dimana hanya akan melibatkan 3 bit register spesifik

yang berisi opcode dari instruksi. Instruksi yang mengakses register dengan cara

ini akan lebih efisien, karena mode ini akan menghilangkan bagian byte alamat.

Saat instruksi ini dieksekusi, satu dari delapan register dari bank register akan

diakses. Contoh : MOV A,R2.

4. Immediate Addressing Mode (Mode Pengalamatan Segera)

Proses pengalamatan ini terjadi pada sebuah instruksi ketika nilai

operan merupakan data yang akan diproses. Biasanya operan tersebut

selalu diawali dengan tanda ‘#’. Contoh : MOV A,# 50H

18

Page 34: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

BAB III

RANCANGAN PENELITIAN

3. 1. Perancangan Perangkat keras Perangkat keras terdiri dari sebuah modul mikrokontroler yang

dihubungkan pada PC (Personal Computer) menggunakan Kabel serial RS 232.

PC tersambung pada modul mikrokontroler melalui kabel serial DB-9 untuk

mengirim data. Data yang masuk ke mikrokontroler disimpan untuk kemudian

dibandingkan dengan data interupsi dari port yang lain. Keluarannya dihubungkan

dengan LED warna sebagai indikator output. Secara umum blok diagramnya

ditunjukkan pada gambar 3. 1.

VCC

PC

2

Barcode

Reader

AT89S825

2

LED HIJA

LED MERAH

Max232

Gambar 3. 1. Diagram Blok Perangkat Keras

Page 35: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

3. 1. 1. Pengondisi sinyal RS 232 Saluran transmisi RS 232 yang digunakan memiliki karakteristik sebagai

berikut, level logika “0” dinyatakan dengan tegangan antara +3 sampai +15 volt,

dan level logika “1” dinyatakan dengan tegangan antara –3 sampai –15 volt.

Standar itu tidak sesuai dengan komponen digital yang pada umumnya bekerja

dengan sumber tegangan +5 volt, dan level logika “0” dinyatakan dengan

tegangan antara 0 – 0,8 volt serta logika “1” dinyatakan dengan tegangan 3,5

sampai 5 volt, maka dibutuhkan sebuah pengondisi sinyal untuk menyamakan

ketentuan tersebut.

IC MAX 232 memiliki 2 buah RS232 Line Driver dan 2 buah RS232 Line

Receiver. IC ini akan berperan sebagai IC translator yang akan menyamakan level

tegangan antara RS232 dengan perangkat digital yang digunakan. Dalam IC

tersebut dilengkapi dengan pengganda tegangan DC sehingga meskipun catu daya

untuk IC MAX232 hanya +5 volt, ia sanggup bekerja pada level RS232 antara –

10 sampai +10 volt.

P1

DB9

AT89S8252

594837261

U2

MAX232

1312891114107

R1INR2INT1INT2IN

C+C1-C2+C2-V+V-

R1OUTR2OUTT1OUTT2OUT

134

Port 3.0Port 3.1

526

Gambar 3. 2. Konfigurasi MAX232

20

Page 36: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

3. 1. 2. LED Output Keluaran dari sistem adalah dua buah LED yang berbeda warna. Warna

Hijau untuk “YA” (data yang diinterupsikan sama dengan salah satu data yang

terdapat dalam memori) dan sebaliknya warna merah untuk “TIDAK” (dalam

memori tidak ada data yang sama dengan data interupsi). Kedua LED

dihubungkan langsung pada port mikrokontroler.

LED Hijau

VCC

LED Merah

330

AT89S8252 Port 0.0 Port 0.1

Gambar 3. 3. Konfigurasi LED

3. 1. 3. On-Chip Oscilator

Mikrokontroler AT89S8252 memiliki rangkaian osilator internal.

Komponen-komponen yang dibutuhkan untuk menghidupkan osilator internal

adalah 2 buah kapasitor (dari data sheet AT89S8252 nilai kapasitor adalah 30 pF –

33pF) dan sebuah resonator keramik/kristal yang dihubungkan dengan kaki

XTAL1 dan XTAL2 pada pin mikrokontroler, seperti pada gambar 3. 4.

AT89S8252

30p

XTAL1XTAL2

XTAL1 XTAL2

CRYSTAL

30p

12 MHz

Gambar 3. 4. Kofigurasi On-Chip Oscilator

21

Page 37: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

3. 2. Perancangan Perangkat Lunak Perancangan perangkat lunak meliputi pemrograman mikrokontroler untuk

pengiriman data dan pemrograman mikrokontroler untuk pembandingan data serta

keluarannya.

MULAI

Kirim Data ke µC

SELESAI

Pembandingan Data

Gambar 3. 5. Diagram Alir Perangkat Lunak

3. 2. 1. Pemrograman mikrokontroler Mikrokontroler dapat bekerja bila pada mikrokontroler tersebut

dimasukkan instruksi-instruksi yang diprogramkan. Pada alat ini program terdiri

dari program utama dan subrutin-subrutin pendukungnya, yaitu subrutin

penerimaan data, serta subrutin pembandingan data.

Program dimulai dengan menginisialisasi program, lalu bila ada interupsi

serial dari PC maka program akan masuk dalam subrutin penerimaan data

(Terima_Data) dan mengakses EEPROM sebagai tempat data. Program akan

menunggu sampai ada interupsi dari barcode reader. Saat interupsi dari barcode

reader aktif, program masuk ke subrutin pembandingan data (Banding_Data).

22

Page 38: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

NO

YES

YES

NO

Gambar 3. 6. Flowchart Program Utama AT89S8252

3. 2. 1. 1. Inisialisasi Port serial akan digunakan dengan konfigurasi 8 bit UART dengan baud

rate 9600 bps, menggunakan Timer 1 untuk menghasilkan detak baud rate.

Inisialisasinya adalah :

SM0 SM1 SM2 REN TB8 RB8 TI RI 0 1 0 1 0 0 1 Gate C/T M1 M0 GATE C/T M1 0 0 1 0 0 0 0

SCON : TMOD :

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 1

TCON :

TH1 :

SELESAI

Output LED

Sub Banding_Data

Ada data

dari reader ?

A

A

MULAI

Sub Terima_Data

Ada data

dari PC ?

Inisialisasi

(Counter, register,

23

Page 39: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Dengan mengatur SMO = 0 dan SM1 = 1 menjadikan port serial bekerja

dalam mode UART 8 bit. REN = 1 akan mengaktifkan port serial agar dapat mulai

menerima karakter. Dengan mengatur TI = 1 berarti karakter pertama dapat

dikirim (SBUF dalam kondisi kosong). M1 = 1 dan M0 = 0 maka Timer 1 bekerja

sebagai pewaktu 8 bit dengan isi ulang otomatis, dan TR1 = 1 akan mengaktifkan

Timer 1 itu sendiri. Bit-bit lainnya diisi 0 karena tidak digunakan. Untuk

mengaktifkan interupsi serial itu sendiri dilakukan dengan mengatur EA = 1 dan

ES = 1 pada register IE (Interrupt Enable).

TH1 didapat dari 9600/32 = 300. Karena menggunakan timer 1 yang

memiliki laju 1000 kHz, maka 1000/300 = 3,33 dibulatkan menjadi 3. Yang

diisikan ke TH1 adalah –3 atau FDh.

3. 2. 1. 2. Pemrograman Penerimaan data pada mikrokontroler

Data yang akan dikirim dari PC adalah sekelompok data yang

terdiri dari 32 data penumpang, yang besarnya 7 byte tiap data,

sehingga total data yang dikirimkan adalah 32 × 7 byte = 224 byte

data. Oleh karena itu pada counter register diisikan nilai 224 sebagai

pencacah data. Penyimpanan data terdapat pada subrutin penerimaan data. Sehingga

pengaksesan EEPROM terdapat dalam subrutin ini. Pengaksesan EEPROM

dimulai dengan menentukan nilai bit-bit EEMEN, EEMWE, WDTRST yang

terdapat dalam register WMCON.

EEPROM on-chip ini diakses dengan mengeset bit EEMEN pada register

WMCON pada alamat 96h. Alamat EEPROM ini adalah 000h sampai 7FFh.

Untuk menulis data pada sembarang lokasi memori EEPROM, bit EEMWE pada

register WMCON harus diset ke 1, dan setelah tidak digunakan lagi bit EEMWE

dikembalikan lagi ke 0.

24

Page 40: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Terima_Data

Inisialisasi (counter, register, serialport)

NO

YES

Baca Karakter dari PC

Simpan karakter dari PC ke EEPROM

Karakter Habis ?

RET

Gambar 3. 7. Flowchart Terima_Data

25

Page 41: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

3. 2. 2. 3. Pemrograman Pembandingan data pada mikrokontroler

Interupsi dari barcode reader pada mikrokontroler yang telah berisi data,

akan dilayani di alamat lain dari memori data. Sejumlah data yang masuk

disimpan dahulu di alamat yang berbeda, dan setelah semua data dari interupsi

barcode reader masuk, maka akumulator digunakan sebagai wadah pembanding

data.

Banding_Data

NO

YES

Inisialisasi (counter,register,serialport)

Baca karakter dari reader

Simpan karakter reader

karakter Habis ?

B

Gambar 3. 8a. Flowchart Banding_Data

26

Page 42: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

BAB IV

ANALISA DAN PEMBAHASAN

Hasil dari alat yang telah dibuat adalah sebuah modul mikrokontroler yang

telah diprogram untuk memenuhi kebutuhan sistem. Unit deteksi tiket terdiri dari

dua program utama, yaitu penerimaan data yang mengakses memori eksternal dan

pembandingan data yang berisi program pemindahan data antar mikrokontroler,

pembandingan, serta pengiriman data ke perangkat keras.

4. 1. Program Penerimaan Data

Data yang diterima adalah basis data penumpang yang dikirim

administrator. Tetapi karena perangkat keras, dalam hal ini komunikasi serial

belum dapat bekerja, maka penerimaan dilakukan dalam bentuk simulasi. Untuk

itu data masukan dimasukkan melalui keypad.

Program penerimaan data akan menjalankan dua langkah, langkah

pertama adalah saat mikrokontroler aktif dan siap untuk menerima data,

instruksinya adalah: SERINT: JB RI,TERIMA_CH CLR TI

JUMP SERINT

Bila tidak ada interupsi dari PC, maka program akan berputar di tiga

instruksi tersebut. Langkah kedua adalah pada saat ada interupsi. Program akan

mengerjakan instruksi terima data yang ditunjuk oleh label ‘TERIMA_CH’ yang

berisi : TERIMA_CH: PUSH PSW PUSH ACC WRT_EEPROM: orl WMCON,#EEMEN orl WMCON,#EEMWE MOV A,SBUF CLR RI MOVX @DPTR,A

Page 43: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

INC DPTR MOV P0,A MOV SBUF,A POP ACC POP PSW RETI

Setelah menyimpan nilai akumulator dan PSW, instruksi ‘MOVX @DPTR,A’

akan menyimpan data yang terkirim ke EEPROM, dan instruksi ‘POP ACC’ dan

‘POP PSW’ akan menampilkan nilai akumulator kembali.

Basis data yang disimpan secara manual adalah sebanyak 32 data. Setiap

data berisi tanggal, bulan, tahun, kode bis serta nomor kursi. Pada percobaan

berikut diambil contoh tanggal 3, bulan oktober tahun 2006, kode bis 4, sebanyak

32 kursi. Sehingga data yang diisikan melalui keypad adalah 03 untuk tanggal, 10

untuk bulan, 06 untuk tahun, 04 untuk kode bis, serta 01 sampai 32 untuk nomor

kursi. Pengisian EEPROM dapat dilihat pada gambar 4.1.

Pada gambar dapat dilihat bahwa data telah terisi dalam EEPROM (Static

RAM) mulai dari alamat 0000 sampai 013F (320 byte).

10 data pertama

Alamat

Gambar 4.1a. pengaksesan EEPROM

Page 44: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

10 data terakhir

Alamat Akhir Gambar 4.1b. pengaksesan EEPROM

Setelah EEPROM berisi semua data yang telah dikirim, maka data tersebut

siap dibandingkan dengan data dari reader.

4. 2. Program Pembandingan Data Secara khusus program pembandingan data akan melakukan tiga langkah,

yaitu pemindahan data antar mikrokontroler, pembandingan, serta pengaktifan

perangkat keras. Perangkat keras terdiri dari konfigurasi LED sebagai penampil

kursi serta modul pintu yang terdiri dari motor, solenoid, dan sensor cahaya.

4.2.1. Pemindahan Data Antar Mikrokontroler

Data yang dikirimkan oleh mikrokontroler sejawat adalah berupa data

heksadesimal yang terdiri dari 5 karakter, dan masing-masing terdiri dari 2 byte,

sehingga dalam pengirimannya dibutuhkan 10 byte penampung. Dalam

pengamatan ini digunakan keypad sebagai sumber data masukan. Instruksi yang

digunakan dalam penerimaan data ini adalah : TAKE_IT: JNB P2.5,$ MOV A,SBUF CLR RI MOV @R0,A INC R0 DJNZ R1,TAKE_IT

Page 45: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Instruksi ‘MOV A,SBUF’ serta ‘MOV @R0,A’ akan menyimpan data di

IRAM sebelum data tersebut dibandingkan dengan data yang tersimpan di

EEPROM. Data tersebut berupa data heksadesimal yang berjumlah 10 byte.

Ketentuannya adalah byte pertama dan kedua menunjukkan tanggal, byte 3 dan

byte 4 menunjukkan bulan, byte 5 dan byte 6 menunjukkan tahun, byte 7 dan byte

8 menunjukkan kode bis, byte 9 dan byte 10 menunjukkan nomor kursi. Lebih

jelasnya ditunjukkan pada gambar 4.2.

Data Data Tanggal

Nomor

Data Nomor Bis

Gambar 4.2. 10 byte data yang diterima di IRAM

4.2.2. Pembandingan Data

Pembandingan dilakukan sesaat setelah semua data diterima, instruksinya

adalah: NEXT1: 1 MOVX A,@DPTR 2 INC DPTR ;NAIKKAN DPTR 3 INC R0 4 DEC R4 5 CJNE A,31H,NEXT ;SIMPAN KE IRAM 6 DJNZ R4,NEXT2 7 JMP MERAH

Baris 1 adalah memindahkan data dari EEPROM ke akumulator, lalu

instruksi di baris 5 akan membandingkan data di akumulator dengan data di

IRAM ( pada cuplikan di atas di alamat 31H ). Bila data sesuai, program lanjut ke

data berikutnya. Namun bila tidak sesuai, baris 7 akan menyelesaikan program

dengan mengaktifkan LED merah (tersambung pada Port 3.3).

Page 46: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

4.2.3. Pengaktifan perangkat keras

Hasil dari pembandingan data adalah sesuai atau tidak sesuai. Perangkat

keras pertama yaitu modul pintu akan dipanggil apabila data sesuai. Instruksinya

adalah : CALL INDRA . . . . . . . RET

Gambar 4.3a. Kondisi port setelah pembandingan data ( bila data tidak sesuai ) Port 3.3

Gambar 4.3a memperlihatkan pembandingan data tidak sesuai. Port 3.3

yang berkondisi ‘low’ akan mengaktifkan LED merah sebagai indikator data tidak

sesuai. Dari sini program akan kembali ke program awal, yaitu menunggu data

berikutnya.

Port 3.2

Gambar 4.3b. Kondisi port setelah pembandingan Data ( bila data sesuai )

Gambar 4.3b memperlihatkan pembandingan data sesuai. Port 3.2 yang

berkondisi ‘low’ akan mengaktifkan LED hijau sebagai indikator data sesuai.

Adapun Port – port lain yang juga berkondisi ‘low’ memperlihatkan bahwa

program menjalankan sistem selanjutnya, yaitu driver pintu. Sub sistem driver

pintu tidak dijelaskan dalam tulisan ini.

Perangkat keras sesudahnya adalah penampil nomor tempat duduk, yang

harus disesuaikan antara data dan konfigurasi port pada mikrokontroler. Adapun

Page 47: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

konfigurasi portnya adalah sebagai berikut, P1.0 sampai P1.7 untuk baris 1 sampai

8, dan P3.4 sampai P3.7 untuk kolom 1 sampai 4. Sehingga saat P1.0 dan P3.4

berlogika ‘1’ maka LED 1 akan menyala, dan saat P1.0 dan P3.5 berlogika ‘1’,

maka LED 2 yang menyala, begitu seterusnya. Ketentuan ini terdapat dalam

program di sub sistem driver LED, yang terdapat dalam listing program pada

lampiran. Untuk itu pengaktifan LED dimulai dengan memanggil subrutinnya.

Instruksinya: CALL LIONG_MULAI . . . . . . RET LED_1:

CJNE A,#01H,LED_2 lagi_1: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1 CALL DELAY ;lakukan penundaan sesaat clr p1.0 CALL DELAY djnz r0,lagi_1 setb p1.0

setb p3.4

Di bawah ini akan diambil contoh 2 pengamatan, yaitu di kursi nomor 10

dan 11.

a) Bila yang di deteksi kursi nomor 10, maka tabel akan mengerjakan

instruksi: LED_10: CJNE A,#010H,LED_11

lagi10: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

CALL DELAY ;lakukan penundaan sesaat clr p1.2 clr p3.5 CALL DELAY djnz r0, lagi10 setb p1.2 setb p3.5 jmp menunggu

Hasil pengamatan diperlihatkan di gambar 4.3c :

Page 48: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Port 1.2

Gambar 4.3c. Kondisi port setelah pembandingan Data (nomor kursi 10 ) Port 3.5

Port 1.2 dan Port 3.5 yang berkondisi ‘high’ akan menyalakan LED

nomor 10 sesuai dengan perancangan nyala LED di kursi/display bis. Hal

ini bisa dilihat pada listing program ( tertera pada Lampiran ) di baris 477

dan 478. Sedangkan bit – bit lain yang tidak aktif menandakan tidak ada

LED lain yang menyala selama LED nomor 10 menyala.

b) Bila yang di deteksi kursi nomor 11, maka tabel akan mengerjakan

instruksi: LED_11: CJNE A,#011H,LED_12

lagi11: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1 CALL DELAY ;lakukan penundaan sesaat

clr p1.2 clr p3.6 CALL DELAY djnz r0, lagi11 setb p1.2 setb p3.6

jmp menunggu

Hasil pengamatan diperlihatkan di gambar 4.3c :

Port 1.2Port 3.6

Page 49: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

Gambar 4.3c. Kondisi port setelah pembandingan Data (nomor kursi 11 )

Port 1.2 dan Port 3.6 yang berkondisi ‘high’ akan menyalakan LED nomor

11 ( dilihat pada listing program di baris 02DE dan 02E0 ). Sedangkan bit – bit

lain yang tidak aktif menandakan tidak ada LED lain yang menyala selama LED

nomor 11 menyala.

Aktifnya P1.2 dan P3.5 untuk nomor kursi 10 serta aktifnya P1.2 dan P3.6

untuk nomor kursi 11 menandakan bahwa pencuplikan nomor kursi pada program

pembandingan data berhasil. Setelah proses pengaktifan perangkat keras selesai,

program kembali ke instruksi awal, yaitu menunggu interupsi pada port

komunikasi.

Page 50: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

BAB V

KESIMPULAN DAN SARAN 5.1 KESIMPULAN Dari penelitian ini dapat diambil kesimpulan sebagai berikut:

1. Meskipun koneksi dengan PC belum berjalan dengan baik, namun

dengan menggunakan data manual, pengaksesan EEPROM

mikrokontroler AT89S8252 pada Unit Deteksi Tiket dapat

disimulasikan dengan baik dan sesuai dengan kinerja alat yang

direncanakan.

2. Program pembandingan data pada mikrokontroler serta pencuplikan

nomor kursi dapat disimulasikan dengan baik sesuai ketentuan

konfigurasi penampil nomor kursi.

5.2. SARAN Untuk kemajuan dan perbaikan mutu di kemudian hari, saran yang

diberikan adalah:

1. Dengan mengintegrasi modul mikrokontroler, komunikasi, dan

perangkat keras menjadi satu piranti akan memudahkan pemrograman

perangkat lunaknya.

2. Dalam Perancangan perangkat lunak sebaiknya memiliki cadangan

perangkat keras yang akan digunakan, sehingga bila sewaktu – waktu

terjadi kerusakan dapat ditanggulangi dengan segera.

Dari penelitian ini dapat diambil kesimpulan sebagai berikut:

3. Meskipun koneksi dengan PC belum berjalan dengan baik, namun

dengan menggunakan data manual, pengaksesan EEPROM

mikrokontroler AT89S8252 pada Unit Deteksi Tiket dapat

Page 51: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

disimulasikan dengan baik dan sesuai dengan kinerja alat yang

direncanakan.

4. Program pembandingan data pada mikrokontroler serta pencuplikan

nomor kursi dapat disimulasikan dengan baik sesuai ketentuan

konfigurasi penampil nomor kursi.

5.2. SARAN Untuk kemajuan dan perbaikan mutu di kemudian hari, saran yang

diberikan adalah:

1. Dengan mengintegrasi modul mikrokontroler, komunikasi, dan

perangkat keras menjadi satu piranti akan memudahkan pemrograman

perangkat lunaknya.

3. Dalam Perancangan perangkat lunak sebaiknya memiliki cadangan

perangkat keras yang akan digunakan, sehingga bila sewaktu – waktu

terjadi kerusakan dapat ditanggulangi dengan segera.

Page 52: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

12 MHz

U2

MAX232

1381110

134526

129

147

R1INR2INT1INT2IN

C+C1-C2+C2-V+V-

R1OUTR2OUTT1OUTT2OUT

330

LED Merah

10k

VCC

AT89S8252

91819 29

30

31

40

12345678

2122232425262728

1011121314151617

3938373635343332

RSTXTAL2XTAL1 PSEN

ALE/PROG

EA/VPP

VCC

P1.0/T2P1.1/T2-EXP1.2P1.3P1.4/SSP1.5/MOSIP1.6/MISOP1.7/SCK

P2.0/A8P2.1/A9

P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15

P3.0/RXDP3.1/TXD

P3.2/INTOP3.3/INT1

P3.4/TOP3.5/T1

P3.6/WRP3.7/RD

P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7

1u

30p

1uVCC

P1

DB9

594837261

LED Hijau

VCC

30p

1u

VCC

C7

C

CRYSTAL

1u

ELECTRONIC CIRCUIT

TICKET DETECTING UNIT

Page 53: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

AUTOMATIC PASSENGER TICKET IDENTIFICATION SYSTEM

Page 54: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

LISTING PROGRAM MIKROKONTROLERHERNOMO KUSTRIATMOJO

NO. MHS : 015114060

1 0000 ;================================================================2 0000 ;====== AUTOMATIC PASSENGER TICKET IDENTIFICATION SYSTEM ======3 0000 ;======== MIKROKONTROLER AT 89S8252 ========4 0000 ;================================================================5 0000 ;6 0000 ;7 0000 ;================================================================8 0000 ;UNIT DETEKSI TIKET 9 0000 ;PADA SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS10 0000 ;HERNOMO KUSTRIATMOJO11 0000 ;================================================================12 0000 ;INISIALISASI UNTUK PENGAKSESAN EEPROM13 0000 ;================================================================14 0000 WMCON EQU 96h15 0000 EEMEN equ 00001000b16 0000 EEMWE equ 00010000b17 0000 WDTRST equ 00000010b18 0000 DPS equ 00000100b19 0000 ;----------------------------------------------------------------21 0000 ;==========================================================22 0000 ;PEMBUKA DAN PENUTUP PINTU BUS OTOMATIS23 0000 ;BERBASIS MIKROKONTROLER AT89S825224 0000 ;PADA SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS25 0000 ;==========================================================26 0000 ;INDRA CHRISTIAWAN27 0000 ;01511405328 0000 ;==========================================================29 0000 ;INISIALISASI PORT .ALAMAT MEMORI DAN DATA AWAL30 0000 ;==========================================================31 0000 ir1 bit p0.032 0000 ir2 bit p0.133 0000 led1 bit p0.234 0000 led2 bit p0.335 0000 cw1 bit p0.436 0000 cw2 bit p0.537 0000 ccw1 bit p0.638 0000 ccw2 bit p0.739 0000 sensir1 bit p2.040 0000 sensir2 bit p2.141 0000 senslmt1 bit p2.242 0000 senslmt2 bit p2.343 0000 sole bit p2.444 0000 ;--------------------------plus---------------------45 0000 cek bit p2.746 0000 ;----------------------------------------------------47 0000 delay10 equ 20048 0000 delay5 equ 10050 0000 org 00h ; PROGRAM DIMULAI52 0000 MOV R5,#3253 0002 PC_8252:54 0002 mov dptr,#0000h55 0005 CLR ACC56 0007 JNB P2.6,TRIMA ;CEK APAKAH ADA INTERUPSI SERIAL57 000A JNB P2.5,BANDING ;MEMULAI PEMBANDINGAN DATA58 000D JMP PC_825260 0010 ;----------------------------------------------------------------61 0010 ;SUBRUTIN TERIMA DATA DARI PC62 0010 ;----------------------------------------------------------------

Page 55: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

64 0010 TRIMA:65 0010 SETB P3.366 0012 SETB P3.267 0014 sjmp start68 0016 ;interupsi serial69 0016 org 23h70 0023 sjmp SERINT71 0025 ;Mulai program utama72 0025 ;73 0025 org 30h74 0030 start:75 0030 MOV TMOD,#20H ;TIMER 1 MODE 276 0033 MOV TH1,#0F4H ;9600 BPS (XTAL 12 MHz)77 0036 ;jika Xtal 11.0592MHz, isi TH1 = F4H78 0036 MOV SCON,#50H ;MODE SERIAL, 8BIT UART79 0039 SETB TR1 ;START BAUD RATE80 003B MOV SP,#2FH ;DEFINISI LOKASI STAC82 003E ;----------------------------------------------------------------83 003E ;INISIALISASI INTERUPSI84 003E ;85 003E SETB ES86 0040 SETB EA87 0042 ;INTERUPSI SERIAL SEKARANG DIAKTIFKAN88 0042 ;89 0042 SERINT:90 0042 JB RI,TERIMA_CH ;APAKAH TERIMA KARAKTER, JIKA YA LOMPAT KE TERIMA_CH91 0045 CLR TI ;TIDAK, HAPUS TI92 0047 JB P2.6,PC_825293 004A JUMP SERINT94 004D ;95 004D ;YA TERIMA KARAKTER96 004D TERIMA_CH:97 004D PUSH PSW ;SIMPAN REGISTER298 004F PUSH ACC99 0051 WRT_EEPROM: ;PENULISAN KE EEPROM100 0051 orl WMCON,#EEMEN101 0054 orl WMCON,#EEMWE102 0057 MOV A,SBUF ;BACA DATA KARAKTER103 0059 CLR RI ;KOSONGKAN RI (SIAP TERIMA LAGI)104 005B MOVX @DPTR,A ;SIMPAN DATA KE EEPROM105 005C INC DPTR ;DPTR + 1106 005D ; MOV P0,A ;kirim ke port 0 juga107 005D ; MOV SBUF,A ;KIRIM KEMBALI108 005D ;EXIT109 005D POP ACC110 005F POP PSW111 0061 JMP SERINT112 0064 ;113 0064 ;----------------------------------------------------------------114 0064 ;PROGRAM PENGAMBILAN DAN PEMBANDINGAN DATA DARI S52 KE S8252115 0064 ;----------------------------------------------------------------117 0064 BANDING:118 0064 SETB P2.5119 0066 JB P2.5,$120 0069 MOV P1,#0FFH121 006C MOV P2,#0FFH122 006F MOV P3,#0FFH123 0072 MOV P0,#0FFH124 0075 MOV R1,#10125 0077 MOV R0,#30H126 0079 MOV DPTR,#0001H127 007C CLR A128 007D TAKE_IT:

Page 56: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

129 007D JNB P2.5,$130 0080 MOV A,SBUF131 0082 CLR RI132 0084 MOV @R0,A133 0085 INC R0134 0086 DJNZ R1,TAKE_IT135 0088 YO2:136 0088 MOV R4,#00H137 008A MOV R4,#0A0H ;SET 32 DATA138 008C orl WMCON,#EEMEN139 008F orl WMCON,#EEMWE140 0092 MOV R0,#30H141 0094 NEXT:142 0094 MOVX A,@DPTR143 0095 CJNE A,#00H,HRNM144 0098 DJNZ R4,TUMP_MERAH145 009A JMP PC_8252146 009D HRNM:147 009D INC DPTR148 009E INC R0149 009F DEC R4150 00A0 CJNE A,30H,NEXT ;SIMPAN KE IRAM151 00A3 NEXT1:152 00A3 MOVX A,@DPTR153 00A4 INC DPTR ;NAIKKAN DPTR154 00A5 INC R0155 00A6 DEC R4156 00A7 CJNE A,31H,NEXT ;SIMPAN KE IRAM157 00AA DJNZ R4,NEXT2158 00AC JMP MERAH159 00AF NEXT2:160 00AF MOVX A,@DPTR161 00B0 INC DPTR ;NAIKKAN DPTR162 00B1 INC R0163 00B2 DEC R4164 00B3 CJNE A,32H,NEXT ;SIMPAN KE IRAM165 00B6 DJNZ R4,NEXT3166 00B8 JMP MERAH167 00BB NEXT3:168 00BB MOVX A,@DPTR169 00BC INC DPTR ;NAIKKAN DPTR170 00BD INC R0171 00BE DEC R4172 00BF CJNE A,33H,NEXT ;SIMPAN KE IRAM173 00C2 DJNZ R4,NEXT4174 00C4 JMP MERAH175 00C7 NEXT4:176 00C7 MOVX A,@DPTR177 00C8 INC DPTR ;NAIKKAN DPTR178 00C9 INC R0179 00CA DEC R4180 00CB CJNE A,34H,NEXT ;SIMPAN KE IRAM181 00CE DJNZ R4,NEXT5182 00D0 JMP MERAH184 00D3 TUMP_NEXT:185 00D3 JMP NEXT186 00D6 TUMP_MERAH:187 00D6 JMP MERAH189 00D9 NEXT5:190 00D9 MOVX A,@DPTR191 00DA INC DPTR ;NAIKKAN DPTR192 00DB INC R0193 00DC DEC R4194 00DD CJNE A,35H,NEXT ;SIMPAN KE IRAM

Page 57: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

195 00E0 DJNZ R4,NEXT6196 00E2 JMP MERAH197 00E5 NEXT6:198 00E5 MOVX A,@DPTR199 00E6 INC DPTR ;NAIKKAN DPTR200 00E7 INC R0201 00E8 DEC R4202 00E9 CJNE A,36H,NEXT ;SIMPAN KE IRAM203 00EC DJNZ R4,NEXT7204 00EE JMP MERAH205 00F1 NEXT7:206 00F1 MOVX A,@DPTR207 00F2 INC DPTR ;NAIKKAN DPTR208 00F3 INC R0209 00F4 DEC R4210 00F5 CJNE A,37H,NEXT ;SIMPAN KE IRAM211 00F8 DJNZ R4,NEXT8212 00FA JMP MERAH213 00FD NEXT8:214 00FD MOVX A,@DPTR215 00FE INC DPTR ;NAIKKAN DPTR216 00FF INC R0217 0100 DEC R4218 0101 CALL TABEL2219 0104 CJNE A,38H,NEXT ;SIMPAN KE IRAM220 0107 DJNZ R4,NEXT9221 0109 JMP MERAH222 010C NEXT9:223 010C MOVX A,@DPTR224 010D INC DPTR ;NAIKKAN DPTR225 010E INC R0226 010F DEC R4227 0110 CJNE A,39H,TUMP_NEXT ;SIMPAN KE IRAM228 0113 CALL TABEL3229 0116 JMP HIJAU231 0119 MERAH:232 0119 CLR P3.3233 011B MOV DPTR,#00H234 011E JMP PC_8252235 0121 HIJAU:236 0121 CLR P3.2237 0123 MOV DPTR,#00H238 0126 ORL A,B239 0128 PUSH ACC240 012A ACALL INDRA241 012C POP ACC242 012E CALL LIONG243 0131 DJNZ R5,PULANG244 0133 JMP SELESAI245 0136 PULANG:246 0136 JMP PC_8252248 0139 SELESAI:249 0139 SETB P3.3250 013B CLR P3.2251 013D CALL DELAY252 0140 SETB P3.2253 0142 CLR P3.3254 0144 CALL DELAY255 0147 JMP SELESAI257 014A TABEL2:258 014A ZERO:259 014A CJNE A,#30H,ONE260 014D MOV B,#00H261 0150 RET

Page 58: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

262 0151 ONE:263 0151 CJNE A,#31H,TWO264 0154 MOV B,#10H265 0157 RET266 0158 TWO:267 0158 CJNE A,#32H,THREE268 015B MOV B,#20H269 015E RET270 015F THREE:271 015F CJNE A,#33H,FOUR272 0162 MOV B,#30H273 0165 RET274 0166 FOUR:275 0166 CJNE A,#34H,FIVE276 0169 MOV B,#40H277 016C RET278 016D FIVE:279 016D CJNE A,#35H,SIX280 0170 MOV B,#50H281 0173 RET282 0174 SIX:283 0174 CJNE A,#36H,SEVEN284 0177 MOV B,#60H285 017A RET286 017B SEVEN:287 017B CJNE A,#37H,EIGHT288 017E MOV B,#70H289 0181 RET290 0182 EIGHT:291 0182 CJNE A,#38H,NINE292 0185 MOV B,#80H293 0188 RET294 0189 NINE:295 0189 CJNE A,#39H,TEN296 018C MOV B,#90H297 018F TEN:298 018F RET299 0190 TABEL3:300 0190 3ZERO:301 0190 CJNE A,#30H,3ONE302 0193 MOV A,#00H303 0195 RET304 0196 3ONE:305 0196 CJNE A,#31H,3TWO306 0199 MOV A,#01H307 019B RET308 019C 3TWO:309 019C CJNE A,#32H,3THREE310 019F MOV A,#02H311 01A1 RET312 01A2 3THREE:313 01A2 CJNE A,#33H,3FOUR314 01A5 MOV A,#03H315 01A7 RET316 01A8 3FOUR:317 01A8 CJNE A,#34H,3FIVE318 01AB MOV A,#04H319 01AD RET320 01AE 3FIVE:321 01AE CJNE A,#35H,3SIX322 01B1 MOV A,#05H323 01B3 RET324 01B4 3SIX:325 01B4 CJNE A,#36H,3SEVEN

Page 59: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

326 01B7 MOV A,#06H327 01B9 RET328 01BA 3SEVEN:329 01BA CJNE A,#37H,3EIGHT330 01BD MOV A,#06H331 01BF RET332 01C0 3EIGHT:333 01C0 CJNE A,#38H,3NINE334 01C3 MOV A,#06H335 01C5 RET336 01C6 3NINE:337 01C6 CJNE A,#39H,3TEN338 01C9 MOV A,#09H339 01CB 3TEN:340 01CB RET341 01CC ;==========================================================================342 01CC ;OEI HUI LIONG (015114066)343 01CC ;PENAMPIL NOMOR TEMPAT DUDUK PADA BUS BERBASIS344 01CC ;MIKROKONTROLER AT89S8252345 01CC ;==========================================================================346 01CC ;--------------------------------------------------------------------------347 01CC ;SUBRUTIN LIONG348 01CC ;--------------------------------------------------------------------------349 01CC LIONG:350 01CC p1 equ 90h ;port 1 dengan alamat 90H351 01CC p3 equ 0b0h ;port 3 dengan alamat B0H352 01CC ratusan equ 100 ;100 X 10000 UD = 1 DETIK353 01CC cacah EQU -10000354 01CC ;org 0h ;mulai dari alamat 0h355 01CC mov p0,#0ffh356 01CF mov p1,#0357 01D2 mov p2,#0ffh358 01D5 mov p3,#03h359 01D8 MOV TMOD,#01h360 01DB mov r0,#5361 01DD ;362 01DD LED_1:363 01DD CJNE A,#01H,LED_2364 01E0 lagi_1: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1365 01E2 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1366 01E4 CALL DELAY ;lakukan penundaan sesaat367 01E7 clr p1.0 368 01E9 CALL DELAY369 01EC djnz r0,lagi_1370 01EE setb p1.0371 01F0 setb p3.4372 01F2 jmp menunggu374 01F5 LED_2:375 01F5 CJNE A,#02H,LED_3376 01F8 lagi_2: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1377 01FA setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1378 01FC CALL DELAY ;lakukan penundaan sesaat379 01FF clr p1.0 380 0201 CALL DELAY381 0204 djnz r0, lagi_2382 0206 setb p1.0

Page 60: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

383 0208 setb p3.5 384 020A jmp menunggu386 020D LED_3:387 020D CJNE A,#03H,LED_4388 0210 lagi3: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1389 0212 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1390 0214 CALL DELAY ;lakukan penundaan sesaat391 0217 clr p1.0 392 0219 CALL DELAY393 021C djnz r0, lagi3394 021E setb p1.0395 0220 setb p3.6396 0222 jmp menunggu398 0225 LED_4:399 0225 CJNE A,#04H,LED_5400 0228 lagi4: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1401 022A setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1402 022C CALL DELAY ;lakukan penundaan sesaat403 022F clr p1.0 404 0231 clr p3.7 405 0233 CALL DELAY406 0236 djnz r0, lagi4407 0238 setb p1.0408 023A setb p3.7409 023C jmp menunggu411 023F LED_5:412 023F CJNE A,#05H,LED_6413 0242 lagi5: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1414 0244 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1415 0246 CALL DELAY ;lakukan penundaan sesaat416 0249 clr p1.1 417 024B clr p3.4 418 024D CALL DELAY419 0250 djnz r0, lagi5420 0252 setb p1.1421 0254 setb p3.4422 0256 jmp menunggu424 0259 LED_6:425 0259 CJNE A,#06H,LED_7426 025C lagi6: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1427 025E setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1428 0260 CALL DELAY ;lakukan penundaan sesaat429 0263 clr p1.1 430 0265 clr p3.5 431 0267 CALL DELAY432 026A djnz r0, lagi6433 026C setb p1.1434 026E setb p3.5435 0270 jmp menunggu437 0273 LED_7:438 0273 CJNE A,#07H,LED_8439 0276 lagi7: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1440 0278 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1441 027A CALL DELAY ;lakukan penundaan sesaat

Page 61: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

442 027D clr p1.1 443 027F clr p3.6 444 0281 CALL DELAY445 0284 djnz r0, lagi7446 0286 setb p1.1447 0288 setb p3.6448 028A jmp menunggu450 028D LED_8:451 028D CJNE A,#08H,LED_9452 0290 lagi8: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1453 0292 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1454 0294 CALL DELAY ;lakukan penundaan sesaat455 0297 clr p1.1 456 0299 clr p3.7 457 029B CALL DELAY458 029E djnz r0, lagi8459 02A0 setb p1.1460 02A2 setb p3.7461 02A4 jmp menunggu462 02A7 LED_9:463 02A7 CJNE A,#09H,LED_10464 02AA lagi9: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1465 02AC setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1466 02AE CALL DELAY ;lakukan penundaan sesaat467 02B1 clr p1.2468 02B3 clr p3.4 469 02B5 CALL DELAY470 02B8 djnz r0,lagi9471 02BA setb p1.2472 02BC setb p3.4473 02BE jmp menunggu474 02C1 LED_10:475 02C1 CJNE A,#010H,LED_11476 02C4 lagi10: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1477 02C6 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1478 02C8 CALL DELAY ;lakukan penundaan sesaat479 02CB clr p1.2 480 02CD clr p3.5 481 02CF CALL DELAY482 02D2 djnz r0, lagi10483 02D4 setb p1.2484 02D6 setb p3.5485 02D8 jmp menunggu487 02DB LED_11:488 02DB CJNE A,#011H,LED_12489 02DE lagi11: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1490 02E0 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1491 02E2 CALL DELAY ;lakukan penundaan sesaat492 02E5 clr p1.2493 02E7 clr p3.6 494 02E9 CALL DELAY495 02EC djnz r0, lagi11496 02EE setb p1.2497 02F0 setb p3.6498 02F2 jmp menunggu500 02F5 LED_12:

Page 62: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

501 02F5 CJNE A,#012H,LED_13502 02F8 lagi12: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1503 02FA setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1504 02FC CALL DELAY ;lakukan penundaan sesaat505 02FF clr p1.2 506 0301 clr p3.7 507 0303 CALL DELAY508 0306 djnz r0, lagi9509 0308 setb p1.2510 030A setb p3.7511 030C jmp menunggu513 030F LED_13:514 030F CJNE A,#013H,LED_14515 0312 lagi13: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1516 0314 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1517 0316 CALL DELAY ;lakukan penundaan sesaat518 0319 clr p1.3 519 031B clr p3.4 520 031D CALL DELAY521 0320 djnz r0, lagi13522 0322 setb p1.3523 0324 setb p3.4524 0326 jmp menunggu526 0329 LED_14:527 0329 CJNE A,#014H,LED_15528 032C lagi14: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1529 032E setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1530 0330 CALL DELAY ;lakukan penundaan sesaat531 0333 clr p1.3532 0335 clr p3.5 533 0337 CALL DELAY534 033A djnz r0, lagi14535 033C setb p1.3536 033E setb p3.5537 0340 jmp menunggu539 0343 LED_15:540 0343 CJNE A,#015H,LED_16541 0346 lagi15: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1542 0348 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1543 034A CALL DELAY ;lakukan penundaan sesaat544 034D clr p1.3 545 034F clr p3.6 546 0351 CALL DELAY547 0354 djnz r0, lagi15548 0356 setb p1.3549 0358 setb p3.6550 035A jmp menunggu552 035D LED_16:553 035D CJNE A,#016H,LED_17554 0360 lagi16: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1555 0362 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1556 0364 CALL DELAY ;lakukan penundaan sesaat557 0367 clr p1.3 558 0369 clr p3.7

Page 63: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

559 036B CALL DELAY560 036E djnz r0, lagi16561 0370 setb p1.3562 0372 setb p3.7563 0374 jmp menunggu565 0377 LED_17:566 0377 CJNE A,#017H,LED_18567 037A lagi17: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1568 037C setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1569 037E CALL DELAY ;lakukan penundaan sesaat570 0381 clr p1.4 571 0383 clr p3.4 572 0385 CALL DELAY573 0388 djnz r0, lagi17574 038A setb p1.4575 038C setb p3.4576 038E jmp menunggu578 0391 LED_18:579 0391 CJNE A,#018H,LED_19580 0394 lagi18: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1581 0396 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1582 0398 CALL DELAY ;lakukan penundaan sesaat583 039B clr p1.4 584 039D clr p3.5 585 039F CALL DELAY586 03A2 djnz r0, lagi18587 03A4 setb p1.4588 03A6 setb p3.5589 03A8 jmp menunggu591 03AB LED_19:592 03AB CJNE A,#019H,LED_20593 03AE lagi19: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1594 03B0 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1595 03B2 CALL DELAY ;lakukan penundaan sesaat596 03B5 clr p1.4 597 03B7 clr p3.6 598 03B9 CALL DELAY599 03BC djnz r0, lagi19600 03BE setb p1.4601 03C0 setb p3.6602 03C2 jmp menunggu604 03C5 LED_20:605 03C5 CJNE A,#020H,LED_21606 03C8 lagi20: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1607 03CA setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1608 03CC CALL DELAY ;lakukan penundaan sesaat609 03CF clr p1.4 610 03D1 clr p3.7 611 03D3 CALL DELAY612 03D6 djnz r0, lagi20613 03D8 setb p1.4614 03DA setb p3.7615 03DC jmp menunggu617 03DF LED_21:618 03DF CJNE A,#021H,LED_22619 03E2 lagi21: setb p1.5 ;kirim data 0000 0001B sehingga diport 1

Page 64: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

berlogika 1620 03E4 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1621 03E6 CALL DELAY ;lakukan penundaan sesaat622 03E9 clr p1.5623 03EB clr p3.4 624 03ED CALL DELAY625 03F0 djnz r0, lagi21626 03F2 setb p1.5627 03F4 setb p3.4628 03F6 jmp menunggu630 03F9 LED_22:631 03F9 CJNE A,#022H,LED_23632 03FC lagi22: setb p1.5 ;kirim data 0000 0001B sehingga diport 1 berlogika 1633 03FE setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1634 0400 CALL DELAY ;lakukan penundaan sesaat635 0403 clr p1.5636 0405 clr p3.5637 0407 CALL DELAY638 040A djnz r0, lagi22639 040C setb p1.5640 040E setb p3.5641 0410 jmp menunggu643 0413 LED_23:644 0413 CJNE A,#023H,LED_24645 0416 lagi23: setb p1.5 ;kirim data 0000 0001B sehingga diport 1 berlogika 1646 0418 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1647 041A CALL DELAY ;lakukan penundaan sesaat648 041D clr p1.5 649 041F clr p3.6 650 0421 CALL DELAY651 0424 djnz r0, lagi23652 0426 setb p1.5653 0428 setb p3.6654 042A jmp menunggu656 042D LED_24:657 042D CJNE A,#024H,LED_25658 0430 lagi24: setb p1.5 ;kirim data 0000 0001B sehingga diport 1 berlogika 1659 0432 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1660 0434 CALL DELAY ;lakukan penundaan sesaat661 0437 clr p1.5 662 0439 clr p3.7 663 043B CALL DELAY664 043E djnz r0, lagi24665 0440 setb p1.5666 0442 setb p3.7667 0444 jmp menunggu669 0447 LED_25:670 0447 CJNE A,#025H,LED_26671 044A lagi25: setb p1.6 ;kirim data 0000 0001B sehingga diport 1 berlogika 1672 044C setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1673 044E CALL DELAY ;lakukan penundaan sesaat674 0451 clr p1.6 675 0453 clr p3.4 676 0455 CALL DELAY677 0458 djnz r0, lagi25

Page 65: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

678 045A setb p1.6679 045C setb p3.4 680 045E jmp menunggu682 0461 LED_26:683 0461 CJNE A,#026H,LED_27684 0464 lagi26: setb p1.6 ;kirim data 0000 0001B sehingga diport 1 berlogika 1685 0466 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1686 0468 CALL DELAY ;lakukan penundaan sesaat687 046B clr p1.6 688 046D clr p3.5 689 046F CALL DELAY690 0472 djnz r0, lagi26691 0474 setb p1.6692 0476 setb p3.5 693 0478 jmp menunggu695 047B LED_27:696 047B CJNE A,#027H,LED_28697 047E lagi27: setb p1.6 ;kirim data 0000 0001B sehingga diport 1 berlogika 1698 0480 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1699 0482 CALL DELAY ;lakukan penundaan sesaat700 0485 clr p1.6 701 0487 clr p3.6 702 0489 CALL DELAY703 048C djnz r0, lagi27704 048E setb p1.6705 0490 setb p3.6 706 0492 jmp menunggu708 0495 LED_28:709 0495 CJNE A,#028H,LED_29710 0498 lagi28: setb p1.6 ;kirim data 0000 0001B sehingga diport 1 berlogika 1711 049A setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1712 049C CALL DELAY ;lakukan penundaan sesaat713 049F clr p1.6 714 04A1 clr p3.7 715 04A3 CALL DELAY716 04A6 djnz r0, lagi28717 04A8 setb p1.6718 04AA setb p3.7719 04AC jmp menunggu721 04AF LED_29:722 04AF CJNE A,#029H,LED_30723 04B2 lagi29: setb p1.7 ;kirim data 0000 0001B sehingga diport 1 berlogika 1724 04B4 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1725 04B6 CALL DELAY ;lakukan penundaan sesaat726 04B9 clr p1.7 727 04BB clr p3.4 728 04BD CALL DELAY729 04C0 djnz r0, lagi29730 04C2 setb p1.7731 04C4 setb p3.4732 04C6 jmp menunggu734 04C9 LED_30:735 04C9 CJNE A,#030H,LED_31736 04CC lagi30: setb p1.7 ;kirim data 0000 0001B sehingga diport 1 berlogika 1737 04CE setb p3.5 ;kirim data 0010 0000B sehingga diport 3

Page 66: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

berlogika 1738 04D0 CALL DELAY ;lakukan penundaan sesaat739 04D3 clr p1.7740 04D5 clr p3.5 741 04D7 CALL DELAY742 04DA djnz r0, lagi30743 04DC setb p1.7744 04DE setb p3.5 745 04E0 jmp menunggu747 04E3 LED_31:748 04E3 CJNE A,#031H,LED_32749 04E6 lagi31: setb p1.7 ;kirim data 0000 0001B sehingga diport 1 berlogika 1750 04E8 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1751 04EA CALL DELAY ;lakukan penundaan sesaat752 04ED clr p1.7 753 04EF clr p3.6 754 04F1 CALL DELAY755 04F4 djnz r0, lagi31756 04F6 setb p1.7757 04F8 setb p3.6758 04FA jmp menunggu760 04FD LED_32:761 04FD CJNE A,#032H,menunggu762 0500 lagi32: setb p1.7 ;kirim data 0000 0001B sehingga diport 1 berlogika 1763 0502 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1764 0504 CALL DELAY ;lakukan penundaan sesaat765 0507 clr p1.7 766 0509 clr p3.7 767 050B CALL DELAY768 050E djnz r0, lagi32769 0510 setb p1.7770 0512 setb p3.7771 0514 jmp menunggu773 0517 menunggu:775 0517 JMP BANDING777 051A DELAY: 778 051A mov r1,#ratusan780 051C LAGIb:781 051C mov TH0,#high cacah782 051F mov TL0,#low cacah783 0522 SETB TR0785 0524 TUNGGU:786 0524 jnb TF0,TUNGGU787 0527 clr TF0788 0529 clr TR0789 052B DJNZ r1,LAGIb792 052D RET793 052E ;--------------------------------------------------------------------------794 052E ; LOOK_UP_TABEL PEMBANDINGAN795 052E ;--------------------------------------------------------------------------797 052E TABEL:798 052E ;799 052E NOLNOL: CJNE A,#0D2H,SATU800 0531 RET801 0532 SATU: CJNE A,#72H,DUA802 0535 RET803 0536 DUA: CJNE A,#06CH,TIGA804 0539 RET

Page 67: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

805 053A TIGA: CJNE A,#09CH,EMPAT806 053D RET807 053E EMPAT: CJNE A,#090H,LIMA808 0541 RET809 0542 LIMA: CJNE A,#050H,ENAM810 0545 RET811 0546 ENAM: CJNE A,#0CCH,TUJUH812 0549 RET813 054A TUJUH: CJNE A,#0C8H,DLAPAN814 054D RET815 054E DLAPAN: CJNE A,#068H,SMBLN816 0551 RET817 0552 SMBLN: CJNE A,#04EH,SPLH818 0555 RET819 0556 SPLH: CJNE A,#04AH,SBLS820 0559 RET821 055A SBLS: CJNE A,#02AH,DUABLS822 055D RET823 055E DUABLS: CJNE A,#0A1H,TGBLS824 0561 RET825 0562 TGBLS: CJNE A,#0E0H,EPTBLS826 0565 RET827 0566 EPTBLS: CJNE A,#0D2H,LMBLS828 0569 RET829 056A LMBLS: CJNE A,#0D1H,NMBLS830 056D RET831 056E NMBLS: CJNE A,#0F0H,TJHBLS832 0571 RET833 0572 TJHBLS: CJNE A,#0EAH,DLPBLS834 0575 RET835 0576 DLPBLS: CJNE A,#078H,SBLBLS836 0579 RET837 057A SBLBLS: CJNE A,#062H,DUAPLH838 057D RET839 057E DUAPLH: CJNE A,#54H,DUAST840 0581 RET841 0582 DUAST: CJNE A,#0EAH,DUADUA842 0585 RET843 0586 DUADUA: CJNE A,#07AH,DUATG844 0589 RET845 058A DUATG: CJNE A,#075H,DUAPAT846 058D RET847 058E DUAPAT: CJNE A,#053H,DUALIM848 0591 RET849 0592 DUALIM: CJNE A,#033H,DUANAM850 0595 RET851 0596 DUANAM: CJNE A,#02DH,DUATJH852 0599 RET853 059A DUATJH: CJNE A,#06BH,DUALPN854 059D RET855 059E DUALPN: CJNE A,#03BH,DUASBL856 05A1 RET857 05A2 DUASBL: CJNE A,#039H,TGPLH858 05A5 RET859 05A6 TGPLH: CJNE A,#0DEH,TGST860 05A9 RET861 05AA TGST: CJNE A,#0CCH,TGD862 05AD RET863 05AE TGD: CJNE A,#03CH,TGTG864 05B1 RET865 05B2 TGTG: CJNE A,#1DH,TGPAT866 05B5 RET867 05B6 TGPAT: CJNE A,#05CH,TGLM868 05B9 RET

Page 68: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

869 05BA TGLM: CJNE A,#04AH,TGNAM870 05BD RET871 05BE TGNAM: CJNE A,#08DH,TGTJH872 05C1 RET873 05C2 TGTJH: CJNE A,#06CH,TGLPN874 05C5 RET875 05C6 TGLPN: CJNE A,#66H,TGSBLN876 05C9 RET877 05CA TGSBLN: CJNE A,#08EH,MPPLH878 05CD RET879 05CE MPPLH: CJNE A,#02EH,MPST880 05D1 RET881 05D2 MPST: CJNE A,#28H,MPDUA882 05D5 RET883 05D6 MPDUA: CJNE A,#0BDH,MPTG884 05D9 RET885 05DA MPTG: CJNE A,#93H,MPMP886 05DD RET887 05DE MPMP: CJNE A,#72H,MPLM888 05E1 RET889 05E2 MPLM: CJNE A,#0DDH,MPNAM890 05E5 RET891 05E6 MPNAM: CJNE A,#0CBH,MPTJH892 05E9 RET893 05EA MPTJH: CJNE A,#78H,MPLPN894 05ED RET895 05EE MPLPN: CJNE A,#07DH,MPSBLN896 05F1 RET897 05F2 MPSBLN: CJNE A,#094H,LMPLH898 05F5 RET899 05F6 LMPLH: CJNE A,#34H,LMST900 05F9 RET901 05FA LMST: CJNE A,#0EEH,LMDUA902 05FD RET903 05FE LMDUA: CJNE A,#0E8H,LMTG904 0601 RET905 0602 LMTG: CJNE A,#0F4H,LMPT906 0605 RET907 0606 LMPT: CJNE A,#05FH,LMLM908 0609 RET909 060A LMLM: CJNE A,#04DH,LMNAM910 060D RET911 060E LMNAM: CJNE A,#01DH,LMTJH912 0611 RET913 0612 LMTJH: CJNE A,#06FH,LMLPN914 0615 RET915 0616 LMLPN: CJNE A,#069H,LMSBLN916 0619 RET917 061A LMSBLN: CJNE A,#021H,NAMPLH918 061D RET919 061E NAMPLH: CJNE A,#81H,NAMST920 0621 RET921 0622 NAMST: CJNE A,#48H,NAMDUA922 0625 RET923 0626 NAMDUA: CJNE A,#91H,NAMTG924 0629 RET925 062A NAMTG: CJNE A,#35H,NAMPT926 062D RET927 062E NAMPT: CJNE A,#11H,NAMLM928 0631 RET929 0632 NAMLM: CJNE A,#0B4H,NAMNAM930 0635 RET931 0636 NAMNAM: CJNE A,#08AH,NAMTJH932 0639 RET

Page 69: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

933 063A NAMTJH: CJNE A,#30H,NAMLPN934 063D RET935 063E NAMLPN: CJNE A,#28H,NAMSBLN936 0641 RET937 0642 NAMSBLN: CJNE A,#95H,TJHPLH938 0645 RET939 0646 TJHPLH: CJNE A,#89H,TJHST940 0649 RET941 064A TJHST: CJNE A,#064H,TJHDUA942 064D RET943 064E TJHDUA: CJNE A,#0C6H,TJHTG944 0651 RET945 0652 TJHTG: CJNE A,#38H,TJHPT946 0655 RET947 0656 TJHPT: CJNE A,#36H,TJHLM948 0659 RET949 065A TJHLM: CJNE A,#18H,TJHNAM950 065D RET951 065E TJHNAM: CJNE A,#056H,TJHTJH952 0661 RET953 0662 TJHTJH: CJNE A,#0C1H,TJHLPN954 0665 RET955 0666 TJHLPN: CJNE A,#01AH,TJHSBLN956 0669 RET957 066A TJHSBLN: CJNE A,#07EH,LPNPLH958 066D RET959 066E LPNPLH: CJNE A,#41H,LPNST960 0671 RET961 0672 LPNST: CJNE A,#0C0H,LPNDUA962 0675 RET963 0676 LPNDUA: CJNE A,#0A2H,LPNTG964 0679 RET965 067A LPNTG: CJNE A,#0E9H,LPNPAT966 067D RET967 067E LPNPAT: CJNE A,#0F8H,LPNLM968 0681 RET969 0682 LPNLM: CJNE A,#0F6H,LPNNAM970 0685 RET971 0686 LPNNAM: CJNE A,#0ABH,LPNTJH972 0689 RET973 068A LPNTJH: CJNE A,#09BH,LPNLPN974 068D RET975 068E LPNLPN: CJNE A,#099H,LPNSBLN976 0691 RET977 0692 LPNSBLN: CJNE A,#0E4H,SBLNPLH978 0695 RET979 0696 SBLNPLH: CJNE A,#0FCH,SBLST980 0699 RET981 069A SBLST: CJNE A,#0C4H,SBLDUA982 069D RET983 069E SBLDUA: CJNE A,#07DH,SBLTG984 06A1 RET985 06A2 SBLTG: CJNE A,#23H,SBLPT986 06A5 RET987 06A6 SBLPT: CJNE A,#62H,SBLLM988 06A9 RET989 06AA SBLLM: CJNE A,#0EDH,SBLNAM990 06AD RET991 06AE SBLNAM: CJNE A,#0E7H,SBLTJH992 06B1 RET993 06B2 SBLTJH: CJNE A,#0AFH,SBLLPN994 06B5 RET995 06B6 SBLLPN: CJNE A,#0A9H,SBLSBLN996 06B9 RET

Page 70: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

997 06BA SBLSBLN: CJNE A,#0E3H,TUS998 06BD RET999 06BE TUS: CJNE A,#9CH,CAPEK1000 06C1 RET1001 06C2 CAPEK: 1002 06C2 RET1004 06C3 ;-----------------------------------------------------------------1005 06C3 ;SUBRUTIN INDRA1006 06C3 ;-----------------------------------------------------------------1007 06C3 INDRA:1008 06C3 CLR cek1009 06C5 siap:1010 06C5 setb sole1011 06C7 mov tmod,#00000001b1013 06CA cek_kom:1014 06CA jb cek,$1015 06CD clr sole1016 06CF putarcw:1017 06CF clr led11018 06D1 clr cw11019 06D3 clr cw21020 06D5 sensorpintu1:1021 06D5 jb senslmt1,sensorpintu11023 06D8 matimotor:1024 06D8 setb cw11025 06DA setb cw21026 06DC setb led11027 06DE nyalasensor:1028 06DE clr ir11029 06E0 clr ir21030 06E2 tunggu:1031 06E2 mov r1,delay101032 06E4 delay:1033 06E4 mov th0,#high -500001034 06E7 mov tl0,#low -500001035 06EA setb tr01036 06EC jnb tf0,$1037 06EF clr tf01038 06F1 clr tr01039 06F3 djnz r1,delay1041 06F5 setb sensir11042 06F7 setb sensir21043 06F9 cek_sensor1:1044 06F9 jnb sensir1,tunggu11045 06FC jnb sensir2,tunggu11046 06FF sjmp takadapenumpang1047 0701 tunggu1:1048 0701 mov r2,delay51049 0703 delay1:1050 0703 mov th0,#high -500001051 0706 mov tl0,#low -500001052 0709 setb tr01053 070B jnb tf0,$1054 070E clr tf01055 0710 clr tr01056 0712 djnz r2,delay11057 0714 sjmp cek_sensor11059 0716 takadapenumpang:1060 0716 clr led21061 0718 matisensor:1062 0718 setb ir11063 071A setb ir21064 071C putarccw:1065 071C clr ccw1

Page 71: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

1066 071E clr ccw21067 0720 sensorpintu2:1068 0720 jb senslmt2,sensorpintu21069 0723 matimotor2:1070 0723 setb ccw11071 0725 setb ccw21072 0727 setb led21073 0729 setb sole1075 072B RET1076 072C ;===================================================================

1 0000 ;================================================================2 0000 ;====== AUTOMATIC PASSENGER TICKET IDENTIFICATION SYSTEM ======3 0000 ;======== MIKROKONTROLER AT 89S8252 ========4 0000 ;================================================================5 0000 ;6 0000 ;7 0000 ;================================================================8 0000 ;UNIT DETEKSI TIKET 9 0000 ;PADA SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS10 0000 ;HERNOMO KUSTRIATMOJO11 0000 ;================================================================12 0000 ;INISIALISASI UNTUK PENGAKSESAN EEPROM13 0000 ;================================================================14 0000 WMCON EQU 96h15 0000 EEMEN equ 00001000b16 0000 EEMWE equ 00010000b17 0000 WDTRST equ 00000010b18 0000 DPS equ 00000100b19 0000 ;----------------------------------------------------------------21 0000 ;==========================================================22 0000 ;PEMBUKA DAN PENUTUP PINTU BUS OTOMATIS23 0000 ;BERBASIS MIKROKONTROLER AT89S825224 0000 ;PADA SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS25 0000 ;==========================================================26 0000 ;INDRA CHRISTIAWAN27 0000 ;01511405328 0000 ;==========================================================29 0000 ;INISIALISASI PORT .ALAMAT MEMORI DAN DATA AWAL30 0000 ;==========================================================31 0000 ir1 bit p0.032 0000 ir2 bit p0.133 0000 led1 bit p0.234 0000 led2 bit p0.335 0000 cw1 bit p0.436 0000 cw2 bit p0.537 0000 ccw1 bit p0.638 0000 ccw2 bit p0.739 0000 sensir1 bit p2.040 0000 sensir2 bit p2.141 0000 senslmt1 bit p2.242 0000 senslmt2 bit p2.343 0000 sole bit p2.444 0000 ;--------------------------plus---------------------45 0000 cek bit p2.746 0000 ;----------------------------------------------------47 0000 delay10 equ 20048 0000 delay5 equ 10050 0000 org 00h ; PROGRAM DIMULAI52 0000 MOV R5,#3253 0002 PC_8252:54 0002 mov dptr,#0000h55 0005 CLR ACC56 0007 JNB P2.6,TRIMA ;CEK APAKAH ADA INTERUPSI SERIAL

Page 72: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

57 000A JNB P2.5,BANDING ;MEMULAI PEMBANDINGAN DATA58 000D JMP PC_825260 0010 ;----------------------------------------------------------------61 0010 ;SUBRUTIN TERIMA DATA DARI PC62 0010 ;----------------------------------------------------------------64 0010 TRIMA:65 0010 SETB P3.366 0012 SETB P3.267 0014 sjmp start68 0016 ;interupsi serial69 0016 org 23h70 0023 sjmp SERINT71 0025 ;Mulai program utama72 0025 ;73 0025 org 30h74 0030 start:75 0030 MOV TMOD,#20H ;TIMER 1 MODE 276 0033 MOV TH1,#0F4H ;9600 BPS (XTAL 12 MHz)77 0036 ;jika Xtal 11.0592MHz, isi TH1 = F4H78 0036 MOV SCON,#50H ;MODE SERIAL, 8BIT UART79 0039 SETB TR1 ;START BAUD RATE80 003B MOV SP,#2FH ;DEFINISI LOKASI STAC82 003E ;----------------------------------------------------------------83 003E ;INISIALISASI INTERUPSI84 003E ;85 003E SETB ES86 0040 SETB EA87 0042 ;INTERUPSI SERIAL SEKARANG DIAKTIFKAN88 0042 ;89 0042 SERINT:90 0042 JB RI,TERIMA_CH ;APAKAH TERIMA KARAKTER, JIKA YA LOMPAT KE TERIMA_CH91 0045 CLR TI ;TIDAK, HAPUS TI92 0047 JB P2.6,PC_825293 004A JUMP SERINT94 004D ;95 004D ;YA TERIMA KARAKTER96 004D TERIMA_CH:97 004D PUSH PSW ;SIMPAN REGISTER298 004F PUSH ACC99 0051 WRT_EEPROM: ;PENULISAN KE EEPROM100 0051 orl WMCON,#EEMEN101 0054 orl WMCON,#EEMWE102 0057 MOV A,SBUF ;BACA DATA KARAKTER103 0059 CLR RI ;KOSONGKAN RI (SIAP TERIMA LAGI)104 005B MOVX @DPTR,A ;SIMPAN DATA KE EEPROM105 005C INC DPTR ;DPTR + 1106 005D ; MOV P0,A ;kirim ke port 0 juga107 005D ; MOV SBUF,A ;KIRIM KEMBALI108 005D ;EXIT109 005D POP ACC110 005F POP PSW111 0061 JMP SERINT112 0064 ;113 0064 ;----------------------------------------------------------------114 0064 ;PROGRAM PENGAMBILAN DAN PEMBANDINGAN DATA DARI S52 KE S8252115 0064 ;----------------------------------------------------------------117 0064 BANDING:118 0064 SETB P2.5119 0066 JB P2.5,$120 0069 MOV P1,#0FFH121 006C MOV P2,#0FFH122 006F MOV P3,#0FFH123 0072 MOV P0,#0FFH

Page 73: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

124 0075 MOV R1,#10125 0077 MOV R0,#30H126 0079 MOV DPTR,#0001H127 007C CLR A128 007D TAKE_IT:129 007D JNB P2.5,$130 0080 MOV A,SBUF131 0082 CLR RI132 0084 MOV @R0,A133 0085 INC R0134 0086 DJNZ R1,TAKE_IT135 0088 YO2:136 0088 MOV R4,#00H137 008A MOV R4,#0A0H ;SET 32 DATA138 008C orl WMCON,#EEMEN139 008F orl WMCON,#EEMWE140 0092 MOV R0,#30H141 0094 NEXT:142 0094 MOVX A,@DPTR143 0095 CJNE A,#00H,HRNM144 0098 DJNZ R4,TUMP_MERAH145 009A JMP PC_8252146 009D HRNM:147 009D INC DPTR148 009E INC R0149 009F DEC R4150 00A0 CJNE A,30H,NEXT ;SIMPAN KE IRAM151 00A3 NEXT1:152 00A3 MOVX A,@DPTR153 00A4 INC DPTR ;NAIKKAN DPTR154 00A5 INC R0155 00A6 DEC R4156 00A7 CJNE A,31H,NEXT ;SIMPAN KE IRAM157 00AA DJNZ R4,NEXT2158 00AC JMP MERAH159 00AF NEXT2:160 00AF MOVX A,@DPTR161 00B0 INC DPTR ;NAIKKAN DPTR162 00B1 INC R0163 00B2 DEC R4164 00B3 CJNE A,32H,NEXT ;SIMPAN KE IRAM165 00B6 DJNZ R4,NEXT3166 00B8 JMP MERAH167 00BB NEXT3:168 00BB MOVX A,@DPTR169 00BC INC DPTR ;NAIKKAN DPTR170 00BD INC R0171 00BE DEC R4172 00BF CJNE A,33H,NEXT ;SIMPAN KE IRAM173 00C2 DJNZ R4,NEXT4174 00C4 JMP MERAH175 00C7 NEXT4:176 00C7 MOVX A,@DPTR177 00C8 INC DPTR ;NAIKKAN DPTR178 00C9 INC R0179 00CA DEC R4180 00CB CJNE A,34H,NEXT ;SIMPAN KE IRAM181 00CE DJNZ R4,NEXT5182 00D0 JMP MERAH184 00D3 TUMP_NEXT:185 00D3 JMP NEXT186 00D6 TUMP_MERAH:187 00D6 JMP MERAH189 00D9 NEXT5:

Page 74: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

190 00D9 MOVX A,@DPTR191 00DA INC DPTR ;NAIKKAN DPTR192 00DB INC R0193 00DC DEC R4194 00DD CJNE A,35H,NEXT ;SIMPAN KE IRAM195 00E0 DJNZ R4,NEXT6196 00E2 JMP MERAH197 00E5 NEXT6:198 00E5 MOVX A,@DPTR199 00E6 INC DPTR ;NAIKKAN DPTR200 00E7 INC R0201 00E8 DEC R4202 00E9 CJNE A,36H,NEXT ;SIMPAN KE IRAM203 00EC DJNZ R4,NEXT7204 00EE JMP MERAH205 00F1 NEXT7:206 00F1 MOVX A,@DPTR207 00F2 INC DPTR ;NAIKKAN DPTR208 00F3 INC R0209 00F4 DEC R4210 00F5 CJNE A,37H,NEXT ;SIMPAN KE IRAM211 00F8 DJNZ R4,NEXT8212 00FA JMP MERAH213 00FD NEXT8:214 00FD MOVX A,@DPTR215 00FE INC DPTR ;NAIKKAN DPTR216 00FF INC R0217 0100 DEC R4218 0101 CALL TABEL2219 0104 CJNE A,38H,NEXT ;SIMPAN KE IRAM220 0107 DJNZ R4,NEXT9221 0109 JMP MERAH222 010C NEXT9:223 010C MOVX A,@DPTR224 010D INC DPTR ;NAIKKAN DPTR225 010E INC R0226 010F DEC R4227 0110 CJNE A,39H,TUMP_NEXT ;SIMPAN KE IRAM228 0113 CALL TABEL3229 0116 JMP HIJAU231 0119 MERAH:232 0119 CLR P3.3233 011B MOV DPTR,#00H234 011E JMP PC_8252235 0121 HIJAU:236 0121 CLR P3.2237 0123 MOV DPTR,#00H238 0126 ORL A,B239 0128 PUSH ACC240 012A ACALL INDRA241 012C POP ACC242 012E CALL LIONG243 0131 DJNZ R5,PULANG244 0133 JMP SELESAI245 0136 PULANG:246 0136 JMP PC_8252248 0139 SELESAI:249 0139 SETB P3.3250 013B CLR P3.2251 013D CALL DELAY252 0140 SETB P3.2253 0142 CLR P3.3254 0144 CALL DELAY255 0147 JMP SELESAI

Page 75: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

257 014A TABEL2:258 014A ZERO:259 014A CJNE A,#30H,ONE260 014D MOV B,#00H261 0150 RET262 0151 ONE:263 0151 CJNE A,#31H,TWO264 0154 MOV B,#10H265 0157 RET266 0158 TWO:267 0158 CJNE A,#32H,THREE268 015B MOV B,#20H269 015E RET270 015F THREE:271 015F CJNE A,#33H,FOUR272 0162 MOV B,#30H273 0165 RET274 0166 FOUR:275 0166 CJNE A,#34H,FIVE276 0169 MOV B,#40H277 016C RET278 016D FIVE:279 016D CJNE A,#35H,SIX280 0170 MOV B,#50H281 0173 RET282 0174 SIX:283 0174 CJNE A,#36H,SEVEN284 0177 MOV B,#60H285 017A RET286 017B SEVEN:287 017B CJNE A,#37H,EIGHT288 017E MOV B,#70H289 0181 RET290 0182 EIGHT:291 0182 CJNE A,#38H,NINE292 0185 MOV B,#80H293 0188 RET294 0189 NINE:295 0189 CJNE A,#39H,TEN296 018C MOV B,#90H297 018F TEN:298 018F RET299 0190 TABEL3:300 0190 3ZERO:301 0190 CJNE A,#30H,3ONE302 0193 MOV A,#00H303 0195 RET304 0196 3ONE:305 0196 CJNE A,#31H,3TWO306 0199 MOV A,#01H307 019B RET308 019C 3TWO:309 019C CJNE A,#32H,3THREE310 019F MOV A,#02H311 01A1 RET312 01A2 3THREE:313 01A2 CJNE A,#33H,3FOUR314 01A5 MOV A,#03H315 01A7 RET316 01A8 3FOUR:317 01A8 CJNE A,#34H,3FIVE318 01AB MOV A,#04H319 01AD RET320 01AE 3FIVE:

Page 76: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

321 01AE CJNE A,#35H,3SIX322 01B1 MOV A,#05H323 01B3 RET324 01B4 3SIX:325 01B4 CJNE A,#36H,3SEVEN326 01B7 MOV A,#06H327 01B9 RET328 01BA 3SEVEN:329 01BA CJNE A,#37H,3EIGHT330 01BD MOV A,#06H331 01BF RET332 01C0 3EIGHT:333 01C0 CJNE A,#38H,3NINE334 01C3 MOV A,#06H335 01C5 RET336 01C6 3NINE:337 01C6 CJNE A,#39H,3TEN338 01C9 MOV A,#09H339 01CB 3TEN:340 01CB RET341 01CC ;==========================================================================342 01CC ;OEI HUI LIONG (015114066)343 01CC ;PENAMPIL NOMOR TEMPAT DUDUK PADA BUS BERBASIS344 01CC ;MIKROKONTROLER AT89S8252345 01CC ;==========================================================================346 01CC ;--------------------------------------------------------------------------347 01CC ;SUBRUTIN LIONG348 01CC ;--------------------------------------------------------------------------349 01CC LIONG:350 01CC p1 equ 90h ;port 1 dengan alamat 90H351 01CC p3 equ 0b0h ;port 3 dengan alamat B0H352 01CC ratusan equ 100 ;100 X 10000 UD = 1 DETIK353 01CC cacah EQU -10000354 01CC ;org 0h ;mulai dari alamat 0h355 01CC mov p0,#0ffh356 01CF mov p1,#0357 01D2 mov p2,#0ffh358 01D5 mov p3,#03h359 01D8 MOV TMOD,#01h360 01DB mov r0,#5361 01DD ;362 01DD LED_1:363 01DD CJNE A,#01H,LED_2364 01E0 lagi_1: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1365 01E2 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1366 01E4 CALL DELAY ;lakukan penundaan sesaat367 01E7 clr p1.0 368 01E9 CALL DELAY369 01EC djnz r0,lagi_1370 01EE setb p1.0371 01F0 setb p3.4372 01F2 jmp menunggu374 01F5 LED_2:375 01F5 CJNE A,#02H,LED_3376 01F8 lagi_2: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1377 01FA setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

Page 77: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

378 01FC CALL DELAY ;lakukan penundaan sesaat379 01FF clr p1.0 380 0201 CALL DELAY381 0204 djnz r0, lagi_2382 0206 setb p1.0383 0208 setb p3.5 384 020A jmp menunggu386 020D LED_3:387 020D CJNE A,#03H,LED_4388 0210 lagi3: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1389 0212 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1390 0214 CALL DELAY ;lakukan penundaan sesaat391 0217 clr p1.0 392 0219 CALL DELAY393 021C djnz r0, lagi3394 021E setb p1.0395 0220 setb p3.6396 0222 jmp menunggu398 0225 LED_4:399 0225 CJNE A,#04H,LED_5400 0228 lagi4: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1401 022A setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1402 022C CALL DELAY ;lakukan penundaan sesaat403 022F clr p1.0 404 0231 clr p3.7 405 0233 CALL DELAY406 0236 djnz r0, lagi4407 0238 setb p1.0408 023A setb p3.7409 023C jmp menunggu411 023F LED_5:412 023F CJNE A,#05H,LED_6413 0242 lagi5: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1414 0244 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1415 0246 CALL DELAY ;lakukan penundaan sesaat416 0249 clr p1.1 417 024B clr p3.4 418 024D CALL DELAY419 0250 djnz r0, lagi5420 0252 setb p1.1421 0254 setb p3.4422 0256 jmp menunggu424 0259 LED_6:425 0259 CJNE A,#06H,LED_7426 025C lagi6: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1427 025E setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1428 0260 CALL DELAY ;lakukan penundaan sesaat429 0263 clr p1.1 430 0265 clr p3.5 431 0267 CALL DELAY432 026A djnz r0, lagi6433 026C setb p1.1434 026E setb p3.5435 0270 jmp menunggu437 0273 LED_7:438 0273 CJNE A,#07H,LED_8

Page 78: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

439 0276 lagi7: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1440 0278 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1441 027A CALL DELAY ;lakukan penundaan sesaat442 027D clr p1.1 443 027F clr p3.6 444 0281 CALL DELAY445 0284 djnz r0, lagi7446 0286 setb p1.1447 0288 setb p3.6448 028A jmp menunggu450 028D LED_8:451 028D CJNE A,#08H,LED_9452 0290 lagi8: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1453 0292 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1454 0294 CALL DELAY ;lakukan penundaan sesaat455 0297 clr p1.1 456 0299 clr p3.7 457 029B CALL DELAY458 029E djnz r0, lagi8459 02A0 setb p1.1460 02A2 setb p3.7461 02A4 jmp menunggu462 02A7 LED_9:463 02A7 CJNE A,#09H,LED_10464 02AA lagi9: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1465 02AC setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1466 02AE CALL DELAY ;lakukan penundaan sesaat467 02B1 clr p1.2468 02B3 clr p3.4 469 02B5 CALL DELAY470 02B8 djnz r0,lagi9471 02BA setb p1.2472 02BC setb p3.4473 02BE jmp menunggu474 02C1 LED_10:475 02C1 CJNE A,#010H,LED_11476 02C4 lagi10: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1477 02C6 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1478 02C8 CALL DELAY ;lakukan penundaan sesaat479 02CB clr p1.2 480 02CD clr p3.5 481 02CF CALL DELAY482 02D2 djnz r0, lagi10483 02D4 setb p1.2484 02D6 setb p3.5485 02D8 jmp menunggu487 02DB LED_11:488 02DB CJNE A,#011H,LED_12489 02DE lagi11: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1490 02E0 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1491 02E2 CALL DELAY ;lakukan penundaan sesaat492 02E5 clr p1.2493 02E7 clr p3.6 494 02E9 CALL DELAY

Page 79: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

495 02EC djnz r0, lagi11496 02EE setb p1.2497 02F0 setb p3.6498 02F2 jmp menunggu500 02F5 LED_12:501 02F5 CJNE A,#012H,LED_13502 02F8 lagi12: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1503 02FA setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1504 02FC CALL DELAY ;lakukan penundaan sesaat505 02FF clr p1.2 506 0301 clr p3.7 507 0303 CALL DELAY508 0306 djnz r0, lagi9509 0308 setb p1.2510 030A setb p3.7511 030C jmp menunggu513 030F LED_13:514 030F CJNE A,#013H,LED_14515 0312 lagi13: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1516 0314 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1517 0316 CALL DELAY ;lakukan penundaan sesaat518 0319 clr p1.3 519 031B clr p3.4 520 031D CALL DELAY521 0320 djnz r0, lagi13522 0322 setb p1.3523 0324 setb p3.4524 0326 jmp menunggu526 0329 LED_14:527 0329 CJNE A,#014H,LED_15528 032C lagi14: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1529 032E setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1530 0330 CALL DELAY ;lakukan penundaan sesaat531 0333 clr p1.3532 0335 clr p3.5 533 0337 CALL DELAY534 033A djnz r0, lagi14535 033C setb p1.3536 033E setb p3.5537 0340 jmp menunggu539 0343 LED_15:540 0343 CJNE A,#015H,LED_16541 0346 lagi15: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1542 0348 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1543 034A CALL DELAY ;lakukan penundaan sesaat544 034D clr p1.3 545 034F clr p3.6 546 0351 CALL DELAY547 0354 djnz r0, lagi15548 0356 setb p1.3549 0358 setb p3.6550 035A jmp menunggu552 035D LED_16:553 035D CJNE A,#016H,LED_17554 0360 lagi16: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

Page 80: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

555 0362 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1556 0364 CALL DELAY ;lakukan penundaan sesaat557 0367 clr p1.3 558 0369 clr p3.7 559 036B CALL DELAY560 036E djnz r0, lagi16561 0370 setb p1.3562 0372 setb p3.7563 0374 jmp menunggu565 0377 LED_17:566 0377 CJNE A,#017H,LED_18567 037A lagi17: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1568 037C setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1569 037E CALL DELAY ;lakukan penundaan sesaat570 0381 clr p1.4 571 0383 clr p3.4 572 0385 CALL DELAY573 0388 djnz r0, lagi17574 038A setb p1.4575 038C setb p3.4576 038E jmp menunggu578 0391 LED_18:579 0391 CJNE A,#018H,LED_19580 0394 lagi18: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1581 0396 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1582 0398 CALL DELAY ;lakukan penundaan sesaat583 039B clr p1.4 584 039D clr p3.5 585 039F CALL DELAY586 03A2 djnz r0, lagi18587 03A4 setb p1.4588 03A6 setb p3.5589 03A8 jmp menunggu591 03AB LED_19:592 03AB CJNE A,#019H,LED_20593 03AE lagi19: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1594 03B0 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1595 03B2 CALL DELAY ;lakukan penundaan sesaat596 03B5 clr p1.4 597 03B7 clr p3.6 598 03B9 CALL DELAY599 03BC djnz r0, lagi19600 03BE setb p1.4601 03C0 setb p3.6602 03C2 jmp menunggu604 03C5 LED_20:605 03C5 CJNE A,#020H,LED_21606 03C8 lagi20: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1607 03CA setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1608 03CC CALL DELAY ;lakukan penundaan sesaat609 03CF clr p1.4 610 03D1 clr p3.7 611 03D3 CALL DELAY612 03D6 djnz r0, lagi20613 03D8 setb p1.4

Page 81: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

614 03DA setb p3.7615 03DC jmp menunggu617 03DF LED_21:618 03DF CJNE A,#021H,LED_22619 03E2 lagi21: setb p1.5 ;kirim data 0000 0001B sehingga diport 1 berlogika 1620 03E4 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1621 03E6 CALL DELAY ;lakukan penundaan sesaat622 03E9 clr p1.5623 03EB clr p3.4 624 03ED CALL DELAY625 03F0 djnz r0, lagi21626 03F2 setb p1.5627 03F4 setb p3.4628 03F6 jmp menunggu630 03F9 LED_22:631 03F9 CJNE A,#022H,LED_23632 03FC lagi22: setb p1.5 ;kirim data 0000 0001B sehingga diport 1 berlogika 1633 03FE setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1634 0400 CALL DELAY ;lakukan penundaan sesaat635 0403 clr p1.5636 0405 clr p3.5637 0407 CALL DELAY638 040A djnz r0, lagi22639 040C setb p1.5640 040E setb p3.5641 0410 jmp menunggu643 0413 LED_23:644 0413 CJNE A,#023H,LED_24645 0416 lagi23: setb p1.5 ;kirim data 0000 0001B sehingga diport 1 berlogika 1646 0418 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1647 041A CALL DELAY ;lakukan penundaan sesaat648 041D clr p1.5 649 041F clr p3.6 650 0421 CALL DELAY651 0424 djnz r0, lagi23652 0426 setb p1.5653 0428 setb p3.6654 042A jmp menunggu656 042D LED_24:657 042D CJNE A,#024H,LED_25658 0430 lagi24: setb p1.5 ;kirim data 0000 0001B sehingga diport 1 berlogika 1659 0432 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1660 0434 CALL DELAY ;lakukan penundaan sesaat661 0437 clr p1.5 662 0439 clr p3.7 663 043B CALL DELAY664 043E djnz r0, lagi24665 0440 setb p1.5666 0442 setb p3.7667 0444 jmp menunggu669 0447 LED_25:670 0447 CJNE A,#025H,LED_26671 044A lagi25: setb p1.6 ;kirim data 0000 0001B sehingga diport 1 berlogika 1672 044C setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

Page 82: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

673 044E CALL DELAY ;lakukan penundaan sesaat674 0451 clr p1.6 675 0453 clr p3.4 676 0455 CALL DELAY677 0458 djnz r0, lagi25678 045A setb p1.6679 045C setb p3.4 680 045E jmp menunggu682 0461 LED_26:683 0461 CJNE A,#026H,LED_27684 0464 lagi26: setb p1.6 ;kirim data 0000 0001B sehingga diport 1 berlogika 1685 0466 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1686 0468 CALL DELAY ;lakukan penundaan sesaat687 046B clr p1.6 688 046D clr p3.5 689 046F CALL DELAY690 0472 djnz r0, lagi26691 0474 setb p1.6692 0476 setb p3.5 693 0478 jmp menunggu695 047B LED_27:696 047B CJNE A,#027H,LED_28697 047E lagi27: setb p1.6 ;kirim data 0000 0001B sehingga diport 1 berlogika 1698 0480 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1699 0482 CALL DELAY ;lakukan penundaan sesaat700 0485 clr p1.6 701 0487 clr p3.6 702 0489 CALL DELAY703 048C djnz r0, lagi27704 048E setb p1.6705 0490 setb p3.6 706 0492 jmp menunggu708 0495 LED_28:709 0495 CJNE A,#028H,LED_29710 0498 lagi28: setb p1.6 ;kirim data 0000 0001B sehingga diport 1 berlogika 1711 049A setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1712 049C CALL DELAY ;lakukan penundaan sesaat713 049F clr p1.6 714 04A1 clr p3.7 715 04A3 CALL DELAY716 04A6 djnz r0, lagi28717 04A8 setb p1.6718 04AA setb p3.7719 04AC jmp menunggu721 04AF LED_29:722 04AF CJNE A,#029H,LED_30723 04B2 lagi29: setb p1.7 ;kirim data 0000 0001B sehingga diport 1 berlogika 1724 04B4 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1725 04B6 CALL DELAY ;lakukan penundaan sesaat726 04B9 clr p1.7 727 04BB clr p3.4 728 04BD CALL DELAY729 04C0 djnz r0, lagi29730 04C2 setb p1.7731 04C4 setb p3.4732 04C6 jmp menunggu

Page 83: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

734 04C9 LED_30:735 04C9 CJNE A,#030H,LED_31736 04CC lagi30: setb p1.7 ;kirim data 0000 0001B sehingga diport 1 berlogika 1737 04CE setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1738 04D0 CALL DELAY ;lakukan penundaan sesaat739 04D3 clr p1.7740 04D5 clr p3.5 741 04D7 CALL DELAY742 04DA djnz r0, lagi30743 04DC setb p1.7744 04DE setb p3.5 745 04E0 jmp menunggu747 04E3 LED_31:748 04E3 CJNE A,#031H,LED_32749 04E6 lagi31: setb p1.7 ;kirim data 0000 0001B sehingga diport 1 berlogika 1750 04E8 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1751 04EA CALL DELAY ;lakukan penundaan sesaat752 04ED clr p1.7 753 04EF clr p3.6 754 04F1 CALL DELAY755 04F4 djnz r0, lagi31756 04F6 setb p1.7757 04F8 setb p3.6758 04FA jmp menunggu760 04FD LED_32:761 04FD CJNE A,#032H,menunggu762 0500 lagi32: setb p1.7 ;kirim data 0000 0001B sehingga diport 1 berlogika 1763 0502 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1764 0504 CALL DELAY ;lakukan penundaan sesaat765 0507 clr p1.7 766 0509 clr p3.7 767 050B CALL DELAY768 050E djnz r0, lagi32769 0510 setb p1.7770 0512 setb p3.7771 0514 jmp menunggu773 0517 menunggu:775 0517 JMP BANDING777 051A DELAY: 778 051A mov r1,#ratusan780 051C LAGIb:781 051C mov TH0,#high cacah782 051F mov TL0,#low cacah783 0522 SETB TR0785 0524 TUNGGU:786 0524 jnb TF0,TUNGGU787 0527 clr TF0788 0529 clr TR0789 052B DJNZ r1,LAGIb792 052D RET793 052E ;--------------------------------------------------------------------------794 052E ; LOOK_UP_TABEL PEMBANDINGAN795 052E ;--------------------------------------------------------------------------797 052E TABEL:798 052E ;799 052E NOLNOL: CJNE A,#0D2H,SATU

Page 84: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

800 0531 RET801 0532 SATU: CJNE A,#72H,DUA802 0535 RET803 0536 DUA: CJNE A,#06CH,TIGA804 0539 RET805 053A TIGA: CJNE A,#09CH,EMPAT806 053D RET807 053E EMPAT: CJNE A,#090H,LIMA808 0541 RET809 0542 LIMA: CJNE A,#050H,ENAM810 0545 RET811 0546 ENAM: CJNE A,#0CCH,TUJUH812 0549 RET813 054A TUJUH: CJNE A,#0C8H,DLAPAN814 054D RET815 054E DLAPAN: CJNE A,#068H,SMBLN816 0551 RET817 0552 SMBLN: CJNE A,#04EH,SPLH818 0555 RET819 0556 SPLH: CJNE A,#04AH,SBLS820 0559 RET821 055A SBLS: CJNE A,#02AH,DUABLS822 055D RET823 055E DUABLS: CJNE A,#0A1H,TGBLS824 0561 RET825 0562 TGBLS: CJNE A,#0E0H,EPTBLS826 0565 RET827 0566 EPTBLS: CJNE A,#0D2H,LMBLS828 0569 RET829 056A LMBLS: CJNE A,#0D1H,NMBLS830 056D RET831 056E NMBLS: CJNE A,#0F0H,TJHBLS832 0571 RET833 0572 TJHBLS: CJNE A,#0EAH,DLPBLS834 0575 RET835 0576 DLPBLS: CJNE A,#078H,SBLBLS836 0579 RET837 057A SBLBLS: CJNE A,#062H,DUAPLH838 057D RET839 057E DUAPLH: CJNE A,#54H,DUAST840 0581 RET841 0582 DUAST: CJNE A,#0EAH,DUADUA842 0585 RET843 0586 DUADUA: CJNE A,#07AH,DUATG844 0589 RET845 058A DUATG: CJNE A,#075H,DUAPAT846 058D RET847 058E DUAPAT: CJNE A,#053H,DUALIM848 0591 RET849 0592 DUALIM: CJNE A,#033H,DUANAM850 0595 RET851 0596 DUANAM: CJNE A,#02DH,DUATJH852 0599 RET853 059A DUATJH: CJNE A,#06BH,DUALPN854 059D RET855 059E DUALPN: CJNE A,#03BH,DUASBL856 05A1 RET857 05A2 DUASBL: CJNE A,#039H,TGPLH858 05A5 RET859 05A6 TGPLH: CJNE A,#0DEH,TGST860 05A9 RET861 05AA TGST: CJNE A,#0CCH,TGD862 05AD RET863 05AE TGD: CJNE A,#03CH,TGTG

Page 85: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

864 05B1 RET865 05B2 TGTG: CJNE A,#1DH,TGPAT866 05B5 RET867 05B6 TGPAT: CJNE A,#05CH,TGLM868 05B9 RET869 05BA TGLM: CJNE A,#04AH,TGNAM870 05BD RET871 05BE TGNAM: CJNE A,#08DH,TGTJH872 05C1 RET873 05C2 TGTJH: CJNE A,#06CH,TGLPN874 05C5 RET875 05C6 TGLPN: CJNE A,#66H,TGSBLN876 05C9 RET877 05CA TGSBLN: CJNE A,#08EH,MPPLH878 05CD RET879 05CE MPPLH: CJNE A,#02EH,MPST880 05D1 RET881 05D2 MPST: CJNE A,#28H,MPDUA882 05D5 RET883 05D6 MPDUA: CJNE A,#0BDH,MPTG884 05D9 RET885 05DA MPTG: CJNE A,#93H,MPMP886 05DD RET887 05DE MPMP: CJNE A,#72H,MPLM888 05E1 RET889 05E2 MPLM: CJNE A,#0DDH,MPNAM890 05E5 RET891 05E6 MPNAM: CJNE A,#0CBH,MPTJH892 05E9 RET893 05EA MPTJH: CJNE A,#78H,MPLPN894 05ED RET895 05EE MPLPN: CJNE A,#07DH,MPSBLN896 05F1 RET897 05F2 MPSBLN: CJNE A,#094H,LMPLH898 05F5 RET899 05F6 LMPLH: CJNE A,#34H,LMST900 05F9 RET901 05FA LMST: CJNE A,#0EEH,LMDUA902 05FD RET903 05FE LMDUA: CJNE A,#0E8H,LMTG904 0601 RET905 0602 LMTG: CJNE A,#0F4H,LMPT906 0605 RET907 0606 LMPT: CJNE A,#05FH,LMLM908 0609 RET909 060A LMLM: CJNE A,#04DH,LMNAM910 060D RET911 060E LMNAM: CJNE A,#01DH,LMTJH912 0611 RET913 0612 LMTJH: CJNE A,#06FH,LMLPN914 0615 RET915 0616 LMLPN: CJNE A,#069H,LMSBLN916 0619 RET917 061A LMSBLN: CJNE A,#021H,NAMPLH918 061D RET919 061E NAMPLH: CJNE A,#81H,NAMST920 0621 RET921 0622 NAMST: CJNE A,#48H,NAMDUA922 0625 RET923 0626 NAMDUA: CJNE A,#91H,NAMTG924 0629 RET925 062A NAMTG: CJNE A,#35H,NAMPT926 062D RET927 062E NAMPT: CJNE A,#11H,NAMLM

Page 86: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

928 0631 RET929 0632 NAMLM: CJNE A,#0B4H,NAMNAM930 0635 RET931 0636 NAMNAM: CJNE A,#08AH,NAMTJH932 0639 RET933 063A NAMTJH: CJNE A,#30H,NAMLPN934 063D RET935 063E NAMLPN: CJNE A,#28H,NAMSBLN936 0641 RET937 0642 NAMSBLN: CJNE A,#95H,TJHPLH938 0645 RET939 0646 TJHPLH: CJNE A,#89H,TJHST940 0649 RET941 064A TJHST: CJNE A,#064H,TJHDUA942 064D RET943 064E TJHDUA: CJNE A,#0C6H,TJHTG944 0651 RET945 0652 TJHTG: CJNE A,#38H,TJHPT946 0655 RET947 0656 TJHPT: CJNE A,#36H,TJHLM948 0659 RET949 065A TJHLM: CJNE A,#18H,TJHNAM950 065D RET951 065E TJHNAM: CJNE A,#056H,TJHTJH952 0661 RET953 0662 TJHTJH: CJNE A,#0C1H,TJHLPN954 0665 RET955 0666 TJHLPN: CJNE A,#01AH,TJHSBLN956 0669 RET957 066A TJHSBLN: CJNE A,#07EH,LPNPLH958 066D RET959 066E LPNPLH: CJNE A,#41H,LPNST960 0671 RET961 0672 LPNST: CJNE A,#0C0H,LPNDUA962 0675 RET963 0676 LPNDUA: CJNE A,#0A2H,LPNTG964 0679 RET965 067A LPNTG: CJNE A,#0E9H,LPNPAT966 067D RET967 067E LPNPAT: CJNE A,#0F8H,LPNLM968 0681 RET969 0682 LPNLM: CJNE A,#0F6H,LPNNAM970 0685 RET971 0686 LPNNAM: CJNE A,#0ABH,LPNTJH972 0689 RET973 068A LPNTJH: CJNE A,#09BH,LPNLPN974 068D RET975 068E LPNLPN: CJNE A,#099H,LPNSBLN976 0691 RET977 0692 LPNSBLN: CJNE A,#0E4H,SBLNPLH978 0695 RET979 0696 SBLNPLH: CJNE A,#0FCH,SBLST980 0699 RET981 069A SBLST: CJNE A,#0C4H,SBLDUA982 069D RET983 069E SBLDUA: CJNE A,#07DH,SBLTG984 06A1 RET985 06A2 SBLTG: CJNE A,#23H,SBLPT986 06A5 RET987 06A6 SBLPT: CJNE A,#62H,SBLLM988 06A9 RET989 06AA SBLLM: CJNE A,#0EDH,SBLNAM990 06AD RET991 06AE SBLNAM: CJNE A,#0E7H,SBLTJH

Page 87: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

992 06B1 RET993 06B2 SBLTJH: CJNE A,#0AFH,SBLLPN994 06B5 RET995 06B6 SBLLPN: CJNE A,#0A9H,SBLSBLN996 06B9 RET997 06BA SBLSBLN: CJNE A,#0E3H,TUS998 06BD RET999 06BE TUS: CJNE A,#9CH,CAPEK1000 06C1 RET1001 06C2 CAPEK: 1002 06C2 RET1004 06C3 ;-----------------------------------------------------------------1005 06C3 ;SUBRUTIN INDRA1006 06C3 ;-----------------------------------------------------------------1007 06C3 INDRA:1008 06C3 CLR cek1009 06C5 siap:1010 06C5 setb sole1011 06C7 mov tmod,#00000001b1013 06CA cek_kom:1014 06CA jb cek,$1015 06CD clr sole1016 06CF putarcw:1017 06CF clr led11018 06D1 clr cw11019 06D3 clr cw21020 06D5 sensorpintu1:1021 06D5 jb senslmt1,sensorpintu11023 06D8 matimotor:1024 06D8 setb cw11025 06DA setb cw21026 06DC setb led11027 06DE nyalasensor:1028 06DE clr ir11029 06E0 clr ir21030 06E2 tunggu:1031 06E2 mov r1,delay101032 06E4 delay:1033 06E4 mov th0,#high -500001034 06E7 mov tl0,#low -500001035 06EA setb tr01036 06EC jnb tf0,$1037 06EF clr tf01038 06F1 clr tr01039 06F3 djnz r1,delay1041 06F5 setb sensir11042 06F7 setb sensir21043 06F9 cek_sensor1:1044 06F9 jnb sensir1,tunggu11045 06FC jnb sensir2,tunggu11046 06FF sjmp takadapenumpang1047 0701 tunggu1:1048 0701 mov r2,delay51049 0703 delay1:1050 0703 mov th0,#high -500001051 0706 mov tl0,#low -500001052 0709 setb tr01053 070B jnb tf0,$1054 070E clr tf01055 0710 clr tr01056 0712 djnz r2,delay11057 0714 sjmp cek_sensor11059 0716 takadapenumpang:1060 0716 clr led2

Page 88: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

1061 0718 matisensor:1062 0718 setb ir11063 071A setb ir21064 071C putarccw:1065 071C clr ccw11066 071E clr ccw21067 0720 sensorpintu2:1068 0720 jb senslmt2,sensorpintu21069 0723 matimotor2:1070 0723 setb ccw11071 0725 setb ccw21072 0727 setb led21073 0729 setb sole1075 072B RET1076 072C ;===================================================================

Page 89: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

MAX232, MAX232IDUAL EIA-232 DRIVERS/RECEIVERS

SLLS047I – FEBRUARY 1989 – REVISED OCTOBER 2002

1POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

Meet or Exceed TIA/EIA-232-F and ITURecommendation V.28

Operate With Single 5-V Power Supply

Operate Up to 120 kbit/s

Two Drivers and Two Receivers

±30-V Input Levels

Low Supply Current . . . 8 mA Typical

Designed to be Interchangeable WithMaxim MAX232

ESD Protection Exceeds JESD 22– 2000-V Human-Body Model (A114-A)

ApplicationsTIA/EIA-232-FBattery-Powered SystemsTerminalsModemsComputers

description/ordering information

The MAX232 is a dual driver/receiver that includes a capacitive voltage generator to supply EIA-232 voltagelevels from a single 5-V supply. Each receiver converts EIA-232 inputs to 5-V TTL/CMOS levels. Thesereceivers have a typical threshold of 1.3 V and a typical hysteresis of 0.5 V, and can accept ±30-V inputs. Eachdriver converts TTL/CMOS input levels into EIA-232 levels. The driver, receiver, and voltage-generatorfunctions are available as cells in the Texas Instruments LinASIC library.

ORDERING INFORMATION

TA PACKAGE† ORDERABLEPART NUMBER

TOP-SIDEMARKING

PDIP (N) Tube MAX232N MAX232N

SOIC (D)Tube MAX232D

MAX232

0°C to 70°C

SOIC (D)Tape and reel MAX232DR

MAX232

0°C to 70°C

SOIC (DW)Tube MAX232DW

MAX232SOIC (DW)Tape and reel MAX232DWR

MAX232

SOP (NS) Tape and reel MAX232NSR MAX232

PDIP (N) Tube MAX232IN MAX232IN

SOIC (D)Tube MAX232ID

MAX232I–40°C to 85°C

SOIC (D)Tape and reel MAX232IDR

MAX232I

SOIC (DW)Tube MAX232IDW

MAX232ISOIC (DW)Tape and reel MAX232IDWR

MAX232I

† Package drawings, standard packing quantities, thermal data, symbolization, and PCB designguidelines are available at www.ti.com/sc/package.

Copyright 2002, Texas Instruments IncorporatedPRODUCTION DATA information is current as of publication date.Products conform to specifications per the terms of Texas Instrumentsstandard warranty. Production processing does not necessarily includetesting of all parameters.

Please be aware that an important notice concerning availability, standard warranty, and use in critical applications ofTexas Instruments semiconductor products and disclaimers thereto appears at the end of this data sheet.

LinASIC is a trademark of Texas Instruments.

1

2

3

4

5

6

7

8

16

15

14

13

12

11

10

9

C1+VS+C1–C2+C2–VS–

T2OUTR2IN

VCCGNDT1OUTR1INR1OUTT1INT2INR2OUT

MAX232 . . . D, DW, N, OR NS PACKAGEMAX232I . . . D, DW, OR N PACKAGE

(TOP VIEW)

Page 90: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

MAX232, MAX232IDUAL EIA-232 DRIVERS/RECEIVERS

SLLS047I – FEBRUARY 1989 – REVISED OCTOBER 2002

2 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

Function Tables

EACH DRIVER

INPUTTIN

OUTPUTTOUT

L H

H L

H = high level, L = lowlevel

EACH RECEIVER

INPUTRIN

OUTPUTROUT

L H

H L

H = high level, L = lowlevel

logic diagram (positive logic)

T1IN T1OUT

R1INR1OUT

T2IN T2OUT

R2INR2OUT

11

10

12

9

14

7

13

8

Page 91: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

MAX232, MAX232IDUAL EIA-232 DRIVERS/RECEIVERS

SLLS047I – FEBRUARY 1989 – REVISED OCTOBER 2002

3POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

absolute maximum ratings over operating free-air temperature range (unless otherwise noted)†

Input supply voltage range, VCC (see Note 1) –0.3 V to 6 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Positive output supply voltage range, VS+ VCC – 0.3 V to 15 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Negative output supply voltage range, VS– –0.3 V to –15 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Input voltage range, VI: Driver –0.3 V to VCC + 0.3 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Receiver ±30 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Output voltage range, VO: T1OUT, T2OUT VS– – 0.3 V to VS+ + 0.3 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

R1OUT, R2OUT –0.3 V to VCC + 0.3 V. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Short-circuit duration: T1OUT, T2OUT Unlimited. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Package thermal impedance, θJA (see Note 2): D package 73°C/W. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

DW package 57°C/W. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N package 67°C/W. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . NS package 64°C/W. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lead temperature 1,6 mm (1/16 inch) from case for 10 seconds 260°C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Storage temperature range, Tstg –65°C to 150°C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

† Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, andfunctional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is notimplied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.

NOTE 1: All voltage values are with respect to network ground terminal.2. The package thermal impedance is calculated in accordance with JESD 51-7.

recommended operating conditionsMIN NOM MAX UNIT

VCC Supply voltage 4.5 5 5.5 V

VIH High-level input voltage (T1IN,T2IN) 2 V

VIL Low-level input voltage (T1IN, T2IN) 0.8 V

R1IN, R2IN Receiver input voltage ±30 V

TA Operating free air temperatureMAX232 0 70

°CTA Operating free-air temperatureMAX232I –40 85

°C

electrical characteristics over recommended ranges of supply voltage and operating free-airtemperature (unless otherwise noted) (see Note 3 and Figure 4)

PARAMETER TEST CONDITIONS MIN TYP‡ MAX UNIT

ICC Supply currentVCC = 5.5 V,TA = 25°C

All outputs open,8 10 mA

‡ All typical values are at VCC = 5 V and TA = 25°C.NOTE 3: Test conditions are C1–C4 = 1 µF at VCC = 5 V ± 0.5 V.

Page 92: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

MAX232, MAX232IDUAL EIA-232 DRIVERS/RECEIVERS

SLLS047I – FEBRUARY 1989 – REVISED OCTOBER 2002

4 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

DRIVER SECTION

electrical characteristics over recommended ranges of supply voltage and operating free-airtemperature range (see Note 3)

PARAMETER TEST CONDITIONS MIN TYP† MAX UNIT

VOH High-level output voltage T1OUT, T2OUT RL = 3 kΩ to GND 5 7 V

VOL Low-level output voltage‡ T1OUT, T2OUT RL = 3 kΩ to GND –7 –5 V

ro Output resistance T1OUT, T2OUT VS+ = VS– = 0, VO = ±2 V 300 Ω

IOS§ Short-circuit output current T1OUT, T2OUT VCC = 5.5 V, VO = 0 ±10 mA

IIS Short-circuit input current T1IN, T2IN VI = 0 200 µA

† All typical values are at VCC = 5 V, TA = 25°C.‡ The algebraic convention, in which the least positive (most negative) value is designated minimum, is used in this data sheet for logic voltage

levels only.§ Not more than one output should be shorted at a time.NOTE 3: Test conditions are C1–C4 = 1 µF at VCC = 5 V ± 0.5 V.

switching characteristics, VCC = 5 V, TA = 25°C (see Note 3)

PARAMETER TEST CONDITIONS MIN TYP MAX UNIT

SR Driver slew rateRL = 3 kΩ to 7 kΩ,See Figure 2

30 V/µs

SR(t) Driver transition region slew rate See Figure 3 3 V/µs

Data rate One TOUT switching 120 kbit/s

NOTE 3: Test conditions are C1–C4 = 1 µF at VCC = 5 V ± 0.5 V.

RECEIVER SECTION

electrical characteristics over recommended ranges of supply voltage and operating free-airtemperature range (see Note 3)

PARAMETER TEST CONDITIONS MIN TYP† MAX UNIT

VOH High-level output voltage R1OUT, R2OUT IOH = –1 mA 3.5 V

VOL Low-level output voltage‡ R1OUT, R2OUT IOL = 3.2 mA 0.4 V

VIT+Receiver positive-going inputthreshold voltage

R1IN, R2IN VCC = 5 V, TA = 25°C 1.7 2.4 V

VIT–Receiver negative-going inputthreshold voltage

R1IN, R2IN VCC = 5 V, TA = 25°C 0.8 1.2 V

Vhys Input hysteresis voltage R1IN, R2IN VCC = 5 V 0.2 0.5 1 V

ri Receiver input resistance R1IN, R2IN VCC = 5, TA = 25°C 3 5 7 kΩ† All typical values are at VCC = 5 V, TA = 25°C.‡ The algebraic convention, in which the least positive (most negative) value is designated minimum, is used in this data sheet for logic voltage

levels only.NOTE 3: Test conditions are C1–C4 = 1 µF at VCC = 5 V ± 0.5 V.

switching characteristics, VCC = 5 V, TA = 25°C (see Note 3 and Figure 1)

PARAMETER TYP UNIT

tPLH(R) Receiver propagation delay time, low- to high-level output 500 ns

tPHL(R) Receiver propagation delay time, high- to low-level output 500 ns

NOTE 3: Test conditions are C1–C4 = 1 µF at VCC = 5 V ± 0.5 V.

Page 93: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

MAX232, MAX232IDUAL EIA-232 DRIVERS/RECEIVERS

SLLS047I – FEBRUARY 1989 – REVISED OCTOBER 2002

5POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

PARAMETER MEASUREMENT INFORMATION

≤10 ns

VCC

R1INor

R2IN

R1OUTor

R2OUT

RL = 1.3 kΩ

See Note C

CL = 50 pF(see Note B)

TEST CIRCUIT

≤10 ns

Input

Output

tPHLtPLH

1.5 VVOL

VOH

0 V

3 V

10%90%

50%

500 ns

WAVEFORMS

1.5 V

90%50% 10%

NOTES: A. The pulse generator has the following characteristics: ZO = 50 Ω, duty cycle ≤ 50%.B. CL includes probe and jig capacitance.C. All diodes are 1N3064 or equivalent.

PulseGenerator

(see Note A)

Figure 1. Receiver Test Circuit and Waveforms for tPHL and tPLH Measurements

Page 94: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

MAX232, MAX232IDUAL EIA-232 DRIVERS/RECEIVERS

SLLS047I – FEBRUARY 1989 – REVISED OCTOBER 2002

6 POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

PARAMETER MEASUREMENT INFORMATION

T1IN or T2IN T1OUT or T2OUT

CL = 10 pF(see Note B)

TEST CIRCUIT

≤10 ns≤10 ns

Input

Output

tPHLtPLH

VOL

VOH

0 V

3 V

10%

90%50%

5 µs

WAVEFORMS

90%50%

10%

RL

90%

10%

90%

10%

tTLHtTHL

SR 0.8 (VOH – VOL)

tTLHor

0.8 (VOL – VOH)

tTHL

NOTES: A. The pulse generator has the following characteristics: ZO = 50 Ω, duty cycle ≤ 50%.B. CL includes probe and jig capacitance.

PulseGenerator

(see Note A)EIA-232 Output

Figure 2. Driver Test Circuit and Waveforms for tPHL and tPLH Measurements (5-µs Input)

EIA-232 Output

–3 V

3 V

–3 V

3 V

3 kΩ

10%1.5 V90%

WAVEFORMS

20 µs

1.5 V90%

10%

VOH

VOL

tTLHtTHL

≤10 ns ≤10 ns

TEST CIRCUIT

CL = 2.5 nF

PulseGenerator

(see Note A)

Input

Output

SR 6 VtTHL or tTLH

NOTE A: The pulse generator has the following characteristics: ZO = 50 Ω, duty cycle ≤ 50%.

Figure 3. Test Circuit and Waveforms for tTHL and tTLH Measurements (20-µs Input)

Page 95: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

MAX232, MAX232IDUAL EIA-232 DRIVERS/RECEIVERS

SLLS047I – FEBRUARY 1989 – REVISED OCTOBER 2002

7POST OFFICE BOX 655303 • DALLAS, TEXAS 75265

APPLICATION INFORMATION

VS+

VS–

2

6

14

7

13

8

C1+

C1–

C2+

C2–

1

3

4

5

11

10

12

9

GND15

0 V

VCC

16

5 V

EIA-232 Output

EIA-232 Output

EIA-232 Input

EIA-232 Input

+1 µF

8.5 V

–8.5 V

1 µF

1 µF

1 µF

From CMOS or TTL

To CMOS or TTL

CBYPASS = 1 µF+

C1

C2

C3†

C4

† C3 can be connected to VCC or GND.

Figure 4. Typical Operating Circuit

Page 96: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

IMPORTANT NOTICE

Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,enhancements, improvements, and other changes to its products and services at any time and to discontinueany product or service without notice. Customers should obtain the latest relevant information before placingorders and should verify that such information is current and complete. All products are sold subject to TI’s termsand conditions of sale supplied at the time of order acknowledgment.

TI warrants performance of its hardware products to the specifications applicable at the time of sale inaccordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TIdeems necessary to support this warranty. Except where mandated by government requirements, testing of allparameters of each product is not necessarily performed.

TI assumes no liability for applications assistance or customer product design. Customers are responsible fortheir products and applications using TI components. To minimize the risks associated with customer productsand applications, customers should provide adequate design and operating safeguards.

TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or processin which TI products or services are used. Information published by TI regarding third–party products or servicesdoes not constitute a license from TI to use such products or services or a warranty or endorsement thereof.Use of such information may require a license from a third party under the patents or other intellectual propertyof the third party, or a license from TI under the patents or other intellectual property of TI.

Reproduction of information in TI data books or data sheets is permissible only if reproduction is withoutalteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproductionof this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable forsuch altered documentation.

Resale of TI products or services with statements different from or beyond the parameters stated by TI for thatproduct or service voids all express and any implied warranties for the associated TI product or service andis an unfair and deceptive business practice. TI is not responsible or liable for any such statements.

Mailing Address:

Texas InstrumentsPost Office Box 655303Dallas, Texas 75265

Copyright 2002, Texas Instruments Incorporated

Page 97: UNIT DETEKSI TIKET PADA SISTEM IDENTIFIKASI TIKET

This datasheet has been download from:

www.datasheetcatalog.com

Datasheets for electronics components.