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

  

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

  

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

  

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:

  

LEMBAR PENGESAHAN TUGAS AKHIR

UNIT DETEKSI TIKET

PADA SISTEM IDENTIFIKASI

TIKET PENUMPANG OTOMATIS

(TICKET DETECTING UNIT

OF AUTOMATIC PASSENGER

TICKET IDENTIFICATION SYSTEM)

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.

  

Untuk Bapak dan Ibu,

yang tidak pernah menyerah...

  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

  

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

  

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

  

DAFTAR GAMBAR

Gambar 2.1 Blok Diagram Sistem ......................................................................3Gambar 2.2 Komunikasi Asinkron tanpa bit paritas ..........................................4Gambar 2.3 Konektor serial DB – 9 ...................................................................5Gambar 2.4 Memori data dan memori program pada mikrokontroler AT89S8252 .....................................................................................7Gambar 2.5 Peta memori dan metode untuk mengakses isinya ..........................9Gambar 2.6 Akumulator .....................................................................................9Gambar 2.7 Register B ......................................................................................10Gambar 2.8 Program Status Word ....................................................................10Gambar 2.9 Register AUXRI ............................................................................11Gambar 2.10 Register TCON ..............................................................................14Gambar 2.11 Register TMOD .............................................................................15Gambar 3.1 Diagram Blok Perangkat Keras .....................................................19Gambar 3.2 Konfigurasi MAX 232 ..................................................................20Gambar 3.3 Konfigurasi LED ...........................................................................21Gambar 3.4 Konfigurasi On-Chip Oscilator .....................................................21Gambar 3.5 Diagram Alir Perangkat Lunak .....................................................22Gambar 3.6 Flowchart Program Utama AT89S8252 ........................................23Gambar 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 ................................................................29Gambar 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

  

DAFTAR TABEL

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

  

Tabel 2.4b Kombinasi M0 dan M1 .................................................................15

  

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.

  

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.

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.

  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.

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

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

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.

  Transfer Memori Data dan Data AT89S825 penumpang

  2 YES (LED Hijau) Barcode Pemban- dingan NO (LED Merah)

  Reader

Gambar 2.1. Blok Diagram Sistem

  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 :

  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

  1 Received Line Signal Detector

  

6

DCE Ready

  2 Received Data

  

7

Request To Send

  3 Transmitted Data

  

8

Clear To Send

  4 Data Terminal Ready

  

9

Ring Indicator

  5 Signal Ground Gambar 2. 3. Konektor serial DB-9

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

  Nomor Nama Direction Keterangan Pin Sinyal Data Carrier Detect / Received Line Signal

  1 DCD In 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

  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

  

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 , 2 data pointer, 6 vektor dua level interupsi, serial port full duplex, osilator

  Timer dan clock circuitry. on-chip 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,

  

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 A dihubungkan pada V program memori 4KB dapat

  E CC

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

  

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.

  

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: : bit ini akan diset oleh sejumlah instruksi

  CY (carry flag)

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.

  : flag untuk fungsi umum.

  F0 (flag 0)

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

  : bit ini akan diset oleh sejumlah intruksi OV (overflow flag)

aritmetika, tetapi biasanya instruksi yang sering membuat bit ini menjadi 1

adalah instruksi ADD dan SUBB.

  

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 .

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,

2 dan port 3. Setiap port selain sebagai jalur masuk atau keluar data, juga port memiliki karakteristik masing-masing.

  Port 0 merupakan port keluaran/masukan (I/O) bertipe open drain . Port 0 juga dapat dikonfigurasikan sebagai bus alamat data bidirectional

bagian rendah selama proses pengaksesan memori data dan program eksternal.

  Port ini berada di alamat 80H pada SFR.

  1 merupakan port I/O dwiarah yang dilengkapi dengan pull-up Port

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.

  1 berada di alamat 90H juga menerima alamat bagian rendah (low bit) Port 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.

  3 terletak di alamat B0H. Selain berfungsi untuk menerima Port

sinyal-sinyal kontrol untuk pemrograman dan verifikasi flash, dapat juga digunakan untuk fungsi-fungsi yang lain seperti terlihat pada tabel berikut : Tabel 2. 3. fungsi alternatif Port 3 Pin Port Fungsi Alternatif

  P3.0 RXD (masukan port serial) P3.1 TXD (keluaran port serial)

  P3.2

  

INT

(interupsi 0 eksternal) P3.3

  1 INT (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

  ( ) TLx s T

  μ − 255 1 * = dimana TLx adalah isi register TL0 atau TL1.

  • Sebagai T/C 16 bit

  ( ) THxTLx s T

  μ 65535 1 * − = THx = isi register TH0 atau TH1, TLx = isi register TL0 atau TL1

  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 , dan akan dinolkan pada saat menjalankan rutin interupsi. overflow 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

  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

  . Timer/counter ‘x’ akan aktif jika pin “INT” high

  Gate control set GATE dan kondisi pin “TRx” sedang set.

  Gate control clear. Timer”x” akan aktif jika “TRx” set Selector timer/counter. Clear untuk mode timer ( input dari internal

  C / T

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

  Timer/counter pengisian otomatis (auto reload)

  Timer/counter 1 0 2 8 bit

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

  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

  0 dalam mode 3, timer 1 dapat dihidupkan atau dimatikan, atau timer 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 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

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

  Barcode Max232

  PC Reader

AT89S825

  2

  2 LED LED HIJA MERAH

Gambar 3. 1. Diagram Blok Perangkat Keras

  

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.