• Tidak ada hasil yang ditemukan

TUGAS AKHIR - Unit deteksi tiket pada sistem identifikasi tiket penumpang otomatis - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "TUGAS AKHIR - Unit deteksi tiket pada sistem identifikasi tiket penumpang otomatis - USD Repository"

Copied!
97
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

LEMBAR PENGESAHAN TUGAS AKHIR

UNIT DETEKSI TIKET

PADA SISTEM IDENTIFIKASI

TIKET PENUMPANG OTOMATIS

(5)
(6)

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 !

(7)
(8)

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

(9)

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

(10)

4.2.2

Pembandingan Data...31

4.2.3 Pengaktifan

Perangkat

Keras...32

BAB V KESIMPULAN DAN SARAN

(11)

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

(12)

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

(13)
(14)

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.

(15)

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.

(16)

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.

(17)

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.

(18)

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.

AT89S825

2

Memori Data

Data

penumpang

Barcode

Reader

Pemban-dingan

YES (LED Hijau)

NO (LED Merah)

Transfer

dan

(19)

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

(20)

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

(21)

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

(22)

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

64K

bytes.

Gambar 2. 4. Memori data dan memori program pada mikrokontroler AT89S8252

(23)

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

E

A

dihubungkan pada V

CC

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

).

(24)

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

(25)

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

(26)

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

(27)

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

.

(28)

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

INT

0

(interupsi 0 eksternal)

P3.3

INT

1

(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

t

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

(

TLx

)

s

T

=

255

*

1

μ

dimana TLx adalah isi register TL0 atau TL1.

* Sebagai T/C 16 bit

(

THxTLx

)

s

T

=

65535

*

1

μ

(29)

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

(30)

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 setdan kondisi pin “TRx” sedang. Timer/counter set ‘x’ akan aktif jika pin “INT” . high

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)

(31)

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

(32)

timer

0 dalam mode 3, t

imer

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)

(33)

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)

(34)

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

(35)

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 5 9 4 8 3 7 2 6 1 U2 MAX232 13 12 8 9 11 14 10 7 R1IN R2IN T1IN T2IN C+ C1-C2+ C2-V+ V-R1OUT R2OUT T1OUT T2OUT 1 3 4 Port 3.0 Port 3.1 5 2 6

(36)

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

XTAL1 XTAL2

XTAL1 XTAL2

CRYSTAL 30p

12 MHz

(37)

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.

(38)

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

(39)

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.

(40)

Terima_Data

Inisialisasi

(counter, register, serialport)

NO

YES Baca Karakter dari PC

Simpan karakter dari PC ke EEPROM

Karakter Habis ?

RET

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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

(46)

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.

(47)

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

(48)

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 :

(49)

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.

(50)

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:

(51)

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.

(52)
(53)

AUTOMATI

C PASS

ENGER TI

CKE

T

IDENTIFI

CATION SY

(54)

LISTING PROGRAM MIKROKONTROLER HERNOMO 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 OTOMATIS 10 0000 ;HERNOMO KUSTRIATMOJO

11 0000 ;================================================================ 12 0000 ;INISIALISASI UNTUK PENGAKSESAN EEPROM

13 0000 ;================================================================

14 0000 WMCON EQU 96h

15 0000 EEMEN equ 00001000b

16 0000 EEMWE equ 00010000b

17 0000 WDTRST equ 00000010b

18 0000 DPS equ 00000100b

19 0000 ;---21 0000 ;==========================================================

22 0000 ;PEMBUKA DAN PENUTUP PINTU BUS OTOMATIS 23 0000 ;BERBASIS MIKROKONTROLER AT89S8252

24 0000 ;PADA SISTEM IDENTIFIKASI TIKET PENUMPANG OTOMATIS

25 0000 ;========================================================== 26 0000 ;INDRA CHRISTIAWAN

27 0000 ;015114053

28 0000 ;========================================================== 29 0000 ;INISIALISASI PORT .ALAMAT MEMORI DAN DATA AWAL

30 0000 ;========================================================== 31 0000 ir1 bit p0.0

32 0000 ir2 bit p0.1 33 0000 led1 bit p0.2 34 0000 led2 bit p0.3 35 0000 cw1 bit p0.4 36 0000 cw2 bit p0.5 37 0000 ccw1 bit p0.6 38 0000 ccw2 bit p0.7

39 0000 sensir1 bit p2.0 40 0000 sensir2 bit p2.1 41 0000 senslmt1 bit p2.2 42 0000 senslmt2 bit p2.3 43 0000 sole bit p2.4

44 0000 ;---plus---45 0000 cek bit p2.7

46 0000 ;---47 0000 delay10 equ 200

48 0000 delay5 equ 100

50 0000 org 00h ; PROGRAM DIMULAI

52 0000 MOV R5,#32

53 0002 PC_8252:

54 0002 mov dptr,#0000h

55 0005 CLR ACC

56 0007 JNB P2.6,TRIMA ;CEK APAKAH ADA INTERUPSI SERIAL

57 000A JNB P2.5,BANDING ;MEMULAI PEMBANDINGAN DATA

58 000D JMP PC_8252

(55)

64 0010 TRIMA:

65 0010 SETB P3.3

66 0012 SETB P3.2

67 0014 sjmp start

68 0016 ;interupsi serial 69 0016 org 23h

70 0023 sjmp SERINT

71 0025 ;Mulai program utama 72 0025 ;

73 0025 org 30h 74 0030 start:

75 0030 MOV TMOD,#20H ;TIMER 1 MODE 2

76 0033 MOV TH1,#0F4H ;9600 BPS (XTAL 12 MHz)

77 0036 ;jika Xtal 11.0592MHz, isi TH1 = F4H

78 0036 MOV SCON,#50H ;MODE SERIAL, 8BIT UART

79 0039 SETB TR1 ;START BAUD RATE

80 003B MOV SP,#2FH ;DEFINISI LOKASI STAC

82 003E ;---83 003E ;INISIALISASI INTERUPSI

84 003E ;

85 003E SETB ES 86 0040 SETB EA

87 0042 ;INTERUPSI SERIAL SEKARANG DIAKTIFKAN 88 0042 ;

89 0042 SERINT:

90 0042 JB RI,TERIMA_CH ;APAKAH TERIMA KARAKTER, JIKA YA LOMPAT KE TERIMA_CH

91 0045 CLR TI ;TIDAK, HAPUS TI

92 0047 JB P2.6,PC_8252 93 004A JUMP SERINT

94 004D ;

95 004D ;YA TERIMA KARAKTER 96 004D TERIMA_CH:

97 004D PUSH PSW ;SIMPAN REGISTER2

98 004F PUSH ACC

99 0051 WRT_EEPROM: ;PENULISAN KE EEPROM

100 0051 orl WMCON,#EEMEN 101 0054 orl WMCON,#EEMWE

102 0057 MOV A,SBUF ;BACA DATA KARAKTER

103 0059 CLR RI ;KOSONGKAN RI (SIAP TERIMA LAGI)

104 005B MOVX @DPTR,A ;SIMPAN DATA KE EEPROM

105 005C INC DPTR ;DPTR + 1

106 005D ; MOV P0,A ;kirim ke port 0 juga

107 005D ; MOV SBUF,A ;KIRIM KEMBALI

108 005D ;EXIT

109 005D POP ACC 110 005F POP PSW 111 0061 JMP SERINT 112 0064 ;

113 0064 ;---114 0064 ;PROGRAM PENGAMBILAN DAN PEMBANDINGAN DATA DARI S52 KE S8252 115 0064 ;---117 0064 BANDING:

118 0064 SETB P2.5

119 0066 JB P2.5,$

120 0069 MOV P1,#0FFH

121 006C MOV P2,#0FFH

122 006F MOV P3,#0FFH

123 0072 MOV P0,#0FFH

124 0075 MOV R1,#10

(56)

129 007D JNB P2.5,$

130 0080 MOV A,SBUF

131 0082 CLR RI

132 0084 MOV @R0,A

133 0085 INC R0

134 0086 DJNZ R1,TAKE_IT

135 0088 YO2:

136 0088 MOV R4,#00H

137 008A MOV R4,#0A0H ;SET 32 DATA

138 008C orl WMCON,#EEMEN

139 008F orl WMCON,#EEMWE

140 0092 MOV R0,#30H

141 0094 NEXT:

142 0094 MOVX A,@DPTR

143 0095 CJNE A,#00H,HRNM

144 0098 DJNZ R4,TUMP_MERAH

145 009A JMP PC_8252

146 009D HRNM:

147 009D INC DPTR

148 009E INC R0

149 009F DEC R4

150 00A0 CJNE A,30H,NEXT ;SIMPAN KE IRAM

151 00A3 NEXT1:

152 00A3 MOVX A,@DPTR

153 00A4 INC DPTR ;NAIKKAN DPTR

154 00A5 INC R0

155 00A6 DEC R4

156 00A7 CJNE A,31H,NEXT ;SIMPAN KE IRAM

157 00AA DJNZ R4,NEXT2

158 00AC JMP MERAH

159 00AF NEXT2:

160 00AF MOVX A,@DPTR

161 00B0 INC DPTR ;NAIKKAN DPTR

162 00B1 INC R0

163 00B2 DEC R4

164 00B3 CJNE A,32H,NEXT ;SIMPAN KE IRAM

165 00B6 DJNZ R4,NEXT3

166 00B8 JMP MERAH

167 00BB NEXT3:

168 00BB MOVX A,@DPTR

169 00BC INC DPTR ;NAIKKAN DPTR

170 00BD INC R0

171 00BE DEC R4

172 00BF CJNE A,33H,NEXT ;SIMPAN KE IRAM

173 00C2 DJNZ R4,NEXT4

174 00C4 JMP MERAH

175 00C7 NEXT4:

176 00C7 MOVX A,@DPTR

177 00C8 INC DPTR ;NAIKKAN DPTR

178 00C9 INC R0

179 00CA DEC R4

180 00CB CJNE A,34H,NEXT ;SIMPAN KE IRAM

181 00CE DJNZ R4,NEXT5

182 00D0 JMP MERAH

184 00D3 TUMP_NEXT:

185 00D3 JMP NEXT

186 00D6 TUMP_MERAH:

187 00D6 JMP MERAH

189 00D9 NEXT5:

190 00D9 MOVX A,@DPTR

191 00DA INC DPTR ;NAIKKAN DPTR

(57)

195 00E0 DJNZ R4,NEXT6

196 00E2 JMP MERAH

197 00E5 NEXT6:

198 00E5 MOVX A,@DPTR

199 00E6 INC DPTR ;NAIKKAN DPTR

200 00E7 INC R0

201 00E8 DEC R4

202 00E9 CJNE A,36H,NEXT ;SIMPAN KE IRAM

203 00EC DJNZ R4,NEXT7

204 00EE JMP MERAH

205 00F1 NEXT7:

206 00F1 MOVX A,@DPTR

207 00F2 INC DPTR ;NAIKKAN DPTR

208 00F3 INC R0

209 00F4 DEC R4

210 00F5 CJNE A,37H,NEXT ;SIMPAN KE IRAM

211 00F8 DJNZ R4,NEXT8

212 00FA JMP MERAH

213 00FD NEXT8:

214 00FD MOVX A,@DPTR

215 00FE INC DPTR ;NAIKKAN DPTR

216 00FF INC R0

217 0100 DEC R4

218 0101 CALL TABEL2

219 0104 CJNE A,38H,NEXT ;SIMPAN KE IRAM

220 0107 DJNZ R4,NEXT9

221 0109 JMP MERAH

222 010C NEXT9:

223 010C MOVX A,@DPTR

224 010D INC DPTR ;NAIKKAN DPTR

225 010E INC R0

226 010F DEC R4

227 0110 CJNE A,39H,TUMP_NEXT ;SIMPAN KE IRAM

228 0113 CALL TABEL3

229 0116 JMP HIJAU

231 0119 MERAH:

232 0119 CLR P3.3

233 011B MOV DPTR,#00H

234 011E JMP PC_8252

235 0121 HIJAU:

236 0121 CLR P3.2

237 0123 MOV DPTR,#00H

238 0126 ORL A,B

239 0128 PUSH ACC

240 012A ACALL INDRA

241 012C POP ACC

242 012E CALL LIONG

243 0131 DJNZ R5,PULANG

244 0133 JMP SELESAI

245 0136 PULANG:

246 0136 JMP PC_8252

248 0139 SELESAI:

249 0139 SETB P3.3

250 013B CLR P3.2

251 013D CALL DELAY

252 0140 SETB P3.2

253 0142 CLR P3.3

254 0144 CALL DELAY

255 0147 JMP SELESAI

(58)

262 0151 ONE:

263 0151 CJNE A,#31H,TWO

264 0154 MOV B,#10H

265 0157 RET 266 0158 TWO:

267 0158 CJNE A,#32H,THREE

268 015B MOV B,#20H

269 015E RET 270 015F THREE:

271 015F CJNE A,#33H,FOUR

272 0162 MOV B,#30H

273 0165 RET 274 0166 FOUR:

275 0166 CJNE A,#34H,FIVE

276 0169 MOV B,#40H

277 016C RET 278 016D FIVE:

279 016D CJNE A,#35H,SIX

280 0170 MOV B,#50H

281 0173 RET 282 0174 SIX:

283 0174 CJNE A,#36H,SEVEN

284 0177 MOV B,#60H

285 017A RET 286 017B SEVEN:

287 017B CJNE A,#37H,EIGHT

288 017E MOV B,#70H

289 0181 RET 290 0182 EIGHT:

291 0182 CJNE A,#38H,NINE

292 0185 MOV B,#80H

293 0188 RET 294 0189 NINE:

295 0189 CJNE A,#39H,TEN

296 018C MOV B,#90H

297 018F TEN: 298 018F RET 299 0190 TABEL3: 300 0190 3ZERO:

301 0190 CJNE A,#30H,3ONE

302 0193 MOV A,#00H

303 0195 RET 304 0196 3ONE:

305 0196 CJNE A,#31H,3TWO

306 0199 MOV A,#01H

307 019B RET 308 019C 3TWO:

309 019C CJNE A,#32H,3THREE

310 019F MOV A,#02H

311 01A1 RET 312 01A2 3THREE:

313 01A2 CJNE A,#33H,3FOUR

314 01A5 MOV A,#03H

315 01A7 RET 316 01A8 3FOUR:

317 01A8 CJNE A,#34H,3FIVE

318 01AB MOV A,#04H

319 01AD RET 320 01AE 3FIVE:

321 01AE CJNE A,#35H,3SIX

322 01B1 MOV A,#05H

(59)

326 01B7 MOV A,#06H 327 01B9 RET

328 01BA 3SEVEN:

329 01BA CJNE A,#37H,3EIGHT

330 01BD MOV A,#06H

331 01BF RET 332 01C0 3EIGHT:

333 01C0 CJNE A,#38H,3NINE

334 01C3 MOV A,#06H

335 01C5 RET 336 01C6 3NINE:

337 01C6 CJNE A,#39H,3TEN

338 01C9 MOV A,#09H

339 01CB 3TEN: 340 01CB RET 341 01CC

;========================================================================== 342 01CC ;OEI HUI LIONG (015114066)

343 01CC ;PENAMPIL NOMOR TEMPAT DUDUK PADA BUS BERBASIS 344 01CC ;MIKROKONTROLER AT89S8252

345 01CC

;========================================================================== 346 01CC

;---347 01CC ;SUBRUTIN LIONG

348 01CC

;---349 01CC LIONG:

350 01CC p1 equ 90h ;port 1 dengan alamat 90H 351 01CC p3 equ 0b0h ;port 3 dengan alamat B0H 352 01CC ratusan equ 100 ;100 X 10000 UD = 1 DETIK 353 01CC cacah EQU -10000

354 01CC ;org 0h ;mulai dari alamat 0h 355 01CC mov p0,#0ffh

356 01CF mov p1,#0 357 01D2 mov p2,#0ffh 358 01D5 mov p3,#03h 359 01D8 MOV TMOD,#01h 360 01DB mov r0,#5 361 01DD ;

362 01DD LED_1:

363 01DD CJNE A,#01H,LED_2

364 01E0 lagi_1: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

365 01E2 setb p3.4 ;kirim data 0010 0000B sehingga diport

3 berlogika 1

366 01E4 CALL DELAY ;lakukan penundaan sesaat

367 01E7 clr p1.0

368 01E9 CALL DELAY

369 01EC djnz r0,lagi_1

370 01EE setb p1.0

371 01F0 setb p3.4

372 01F2 jmp menunggu

374 01F5 LED_2:

375 01F5 CJNE A,#02H,LED_3

376 01F8 lagi_2: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

377 01FA setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

378 01FC CALL DELAY ;lakukan penundaan sesaat

(60)

383 0208 setb p3.5

384 020A jmp menunggu

386 020D LED_3:

387 020D CJNE A,#03H,LED_4

388 0210 lagi3: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

389 0212 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

390 0214 CALL DELAY ;lakukan penundaan sesaat

391 0217 clr p1.0

392 0219 CALL DELAY

393 021C djnz r0, lagi3

394 021E setb p1.0

395 0220 setb p3.6

396 0222 jmp menunggu

398 0225 LED_4:

399 0225 CJNE A,#04H,LED_5

400 0228 lagi4: setb p1.0 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

401 022A setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

402 022C CALL DELAY ;lakukan penundaan sesaat

403 022F clr p1.0

404 0231 clr p3.7

405 0233 CALL DELAY

406 0236 djnz r0, lagi4

407 0238 setb p1.0

408 023A setb p3.7

409 023C jmp menunggu 411 023F LED_5:

412 023F CJNE A,#05H,LED_6

413 0242 lagi5: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

414 0244 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

415 0246 CALL DELAY ;lakukan penundaan sesaat

416 0249 clr p1.1

417 024B clr p3.4

418 024D CALL DELAY

419 0250 djnz r0, lagi5

420 0252 setb p1.1

421 0254 setb p3.4

422 0256 jmp menunggu 424 0259 LED_6:

425 0259 CJNE A,#06H,LED_7

426 025C lagi6: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

427 025E setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

428 0260 CALL DELAY ;lakukan penundaan sesaat

429 0263 clr p1.1

430 0265 clr p3.5

431 0267 CALL DELAY

432 026A djnz r0, lagi6

433 026C setb p1.1

434 026E setb p3.5

435 0270 jmp menunggu 437 0273 LED_7:

438 0273 CJNE A,#07H,LED_8

439 0276 lagi7: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

(61)

442 027D clr p1.1

443 027F clr p3.6

444 0281 CALL DELAY

445 0284 djnz r0, lagi7

446 0286 setb p1.1

447 0288 setb p3.6

448 028A jmp menunggu

450 028D LED_8:

451 028D CJNE A,#08H,LED_9

452 0290 lagi8: setb p1.1 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

453 0292 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

454 0294 CALL DELAY ;lakukan penundaan sesaat

455 0297 clr p1.1

456 0299 clr p3.7

457 029B CALL DELAY

458 029E djnz r0, lagi8

459 02A0 setb p1.1

460 02A2 setb p3.7

461 02A4 jmp menunggu

462 02A7 LED_9:

463 02A7 CJNE A,#09H,LED_10

464 02AA lagi9: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

465 02AC setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

466 02AE CALL DELAY ;lakukan penundaan sesaat

467 02B1 clr p1.2

468 02B3 clr p3.4

469 02B5 CALL DELAY

470 02B8 djnz r0,lagi9

471 02BA setb p1.2

472 02BC setb p3.4

473 02BE jmp menunggu

474 02C1 LED_10:

475 02C1 CJNE A,#010H,LED_11

476 02C4 lagi10: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

477 02C6 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

478 02C8 CALL DELAY ;lakukan penundaan sesaat

479 02CB clr p1.2

480 02CD clr p3.5

481 02CF CALL DELAY

482 02D2 djnz r0, lagi10

483 02D4 setb p1.2

484 02D6 setb p3.5

485 02D8 jmp menunggu

487 02DB LED_11:

488 02DB CJNE A,#011H,LED_12

489 02DE lagi11: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

490 02E0 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

491 02E2 CALL DELAY ;lakukan penundaan sesaat

492 02E5 clr p1.2

493 02E7 clr p3.6

494 02E9 CALL DELAY

495 02EC djnz r0, lagi11

(62)

501 02F5 CJNE A,#012H,LED_13

502 02F8 lagi12: setb p1.2 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

503 02FA setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

504 02FC CALL DELAY ;lakukan penundaan sesaat

505 02FF clr p1.2

506 0301 clr p3.7

507 0303 CALL DELAY

508 0306 djnz r0, lagi9

509 0308 setb p1.2

510 030A setb p3.7

511 030C jmp menunggu

513 030F LED_13:

514 030F CJNE A,#013H,LED_14

515 0312 lagi13: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

516 0314 setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

517 0316 CALL DELAY ;lakukan penundaan sesaat

518 0319 clr p1.3

519 031B clr p3.4

520 031D CALL DELAY

521 0320 djnz r0, lagi13

522 0322 setb p1.3

523 0324 setb p3.4

524 0326 jmp menunggu

526 0329 LED_14:

527 0329 CJNE A,#014H,LED_15

528 032C lagi14: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

529 032E setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

530 0330 CALL DELAY ;lakukan penundaan sesaat

531 0333 clr p1.3

532 0335 clr p3.5

533 0337 CALL DELAY

534 033A djnz r0, lagi14

535 033C setb p1.3

536 033E setb p3.5

537 0340 jmp menunggu

539 0343 LED_15:

540 0343 CJNE A,#015H,LED_16

541 0346 lagi15: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

542 0348 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

543 034A CALL DELAY ;lakukan penundaan sesaat

544 034D clr p1.3

545 034F clr p3.6

546 0351 CALL DELAY

547 0354 djnz r0, lagi15

548 0356 setb p1.3

549 0358 setb p3.6

550 035A jmp menunggu

552 035D LED_16:

553 035D CJNE A,#016H,LED_17

554 0360 lagi16: setb p1.3 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

555 0362 setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

(63)

559 036B CALL DELAY 560 036E djnz r0, lagi16

561 0370 setb p1.3

562 0372 setb p3.7

563 0374 jmp menunggu

565 0377 LED_17:

566 0377 CJNE A,#017H,LED_18

567 037A lagi17: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

568 037C setb p3.4 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

569 037E CALL DELAY ;lakukan penundaan sesaat

570 0381 clr p1.4

571 0383 clr p3.4

572 0385 CALL DELAY

573 0388 djnz r0, lagi17

574 038A setb p1.4

575 038C setb p3.4

576 038E jmp menunggu

578 0391 LED_18:

579 0391 CJNE A,#018H,LED_19

580 0394 lagi18: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

581 0396 setb p3.5 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

582 0398 CALL DELAY ;lakukan penundaan sesaat

583 039B clr p1.4

584 039D clr p3.5

585 039F CALL DELAY

586 03A2 djnz r0, lagi18

587 03A4 setb p1.4

588 03A6 setb p3.5

589 03A8 jmp menunggu

591 03AB LED_19:

592 03AB CJNE A,#019H,LED_20

593 03AE lagi19: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

594 03B0 setb p3.6 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

595 03B2 CALL DELAY ;lakukan penundaan sesaat

596 03B5 clr p1.4

597 03B7 clr p3.6

598 03B9 CALL DELAY

599 03BC djnz r0, lagi19

600 03BE setb p1.4

601 03C0 setb p3.6

602 03C2 jmp menunggu

604 03C5 LED_20:

605 03C5 CJNE A,#020H,LED_21

606 03C8 lagi20: setb p1.4 ;kirim data 0000 0001B sehingga diport 1 berlogika 1

607 03CA setb p3.7 ;kirim data 0010 0000B sehingga diport 3 berlogika 1

608 03CC CALL DELAY ;lakukan penundaan sesaat

609 03CF clr p1.4

610 03D1 clr p3.7

611 03D3 CALL DELAY

612 03D6 djnz r0, lagi20

613 03D8 setb p1.4

614 03DA setb p3.7

(64)

Gambar

Gambar 2.1. Blok Diagram Sistem
Gambar 2. 2. Komunikasi asinkron tanpa bit paritas
Tabel 2.1.  Konfigurasi pin dan nama sinyal konektor serial DB-9
Gambar 2. 4. Memori data dan memori program pada mikrokontroler AT89S8252
+7

Referensi

Dokumen terkait

Pada penelitian ini pengambilan data dimulai dari data kesehatan reproduksi siswa putri kelas VIII terkait perilaku seksual, personal Hygiene dan adab pergaulannya

¾ The basic EPS calculation is made by dividing the profit (or loss) relating to the ordinary shareholders by the weighted average number of ordinary shares outstanding in the

Tujuan penelitian ini, untuk mengetahui apakah metode mind mapping dan model pembelajaran kooperatif tipe think pair share berpengaruh terhadap kemampuan

Berdasarkan hasil penelitian dan pembahasan, penerapan model pembelajaran berbasis masalah (Problem Based Learning/PBL) dapat meningkatkan hasil belajar Matematika

JUDUL : RS UGM TANGANI TRAUMA EKS GAFATAR MEDIA : TRIBUN JOGJA. TANGGAL : 03

Pengaruh Waktu Pelapisan Spermatozoa Sapi Pada Media TALP yang Disuplementasi bovine serum albumin (BSA) Terhadap Jenis Kelamin Embrio In vitroT. The Influence of Time Veneering Cow

Untuk meningkatkan kualitas sumber daya manusia khususnya sumber daya manusia yang ada dikelembagaan RT 02 dan RW 12. Perubahan yang bertujuan untuk mempercepat laju

Strategi Potongan harga 10% yang digunakan untuk meningkatkan penerimaan perusahaan dari pelanggan dapat diterapkan pada kelas pertama dan kedua yaitu Most Valuable