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 danakurat. 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. Itneed 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 Readertelah 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 Sistem2. 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 Ready2 Received Data
7
Request To Send3 Transmitted Data
8
Clear To Send4 Data Terminal Ready
9
Ring Indicator5 Signal Ground Gambar 2. 3. Konektor serial DB-9
Tabel 2.1. Konfigurasi pin dan nama sinyal konektor serial DB-9Nomor 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
terminalnya5. Signal Ground, saluran ground
6. Ring Indicator, pada saluran ini DCE memberitahu ke DTE bahwa sebuah
stasiun menghendaki hubungan dengannya7. 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, osilatorTimer 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 dimilikijenis 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 instruksiCY (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.31 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,# 50HBAB 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 sebagaiberikut, level logika “0” dinyatakan dengan tegangan antara +3 sampai +15 volt,
dan level logika “1” dinyatakan dengan tegangan antara –3 sampai –15 volt.