i Universitas Kristen Maranatha
REALISASI SISTEM PENGONTROLAN DAN MONITORING MINIATUR
LIFT BERBASIS PC (PERSONAL COMPUTER)
Disusun Oleh :
PANDAPOTAN MAHARADJA
0522110
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha Jln. Prof. drg. Surya Sumantri, MPH 65, Bandung 40164, Indonesia
Email : dama_88@yahoo.com
ABSTRAK
Pada era globalisasi sekarang ini, banyak bangunan gedung bertingkat dengan skala ketinggian yang berbeda-beda. Untuk memudahkan aktivitas masyarakat pada satu tempat yang sama, sehingga diperlukan lift yang berfungsi sebagai alat transportasi vertikal yaitu sebagai penghubung antar lantai suatu gedung.
Pada Tugas Akhir ini telah direalisasikan sistem pengontrolan dan monitoring miniatur lift 3 lantai ini menggunakan Mikrokontroler AT89S52 dan program pada PC (Personal Computer) menggunakan Delphi sebagai tampilan posisi lift pada monitor komputer. Lift bekerja sesuai dengan pola yang telah ditentukan yaitu lantai 1 menjadi prioritas pada saat jam masuk kerja pukul 07.00-08.00, dan lantai 3 menjadi prioritas pada saat jam pulang kerja pukul 16.00-17.00, selain dua kondisi tersebut, yang menjadi prioritas adalah lantai dengan penggunaan lift yang terbanyak. Pengawasan lift dapat dilihat pada monitor komputer, bila koneksi berwarna merah, lift mengalami gangguan, dan koneksi berwarna hijau, lift tidak mengalami gangguan.
Berdasarkan hasil percobaan yang telah dilakukan, lift dapat dikendalikan dan dimonitor dengan baik, dengan keberhasilan 100%.
ii Universitas Kristen Maranatha REALIZATION OF PC(PERSONAL COMPUTER) BASED CONTROL AND
MONITORING SYSTEM OF MINIATURE LIFT
Composed by :
PANDAPOTAN MAHARADJA
0522110
Electrical Engineering, Faculty of Engineering, Maranatha Christian University, Prof. drg. Surya Sumantri, MPH Street, No. 65th, Bandung 40164, Indonesia.
Email : dama_88@yahoo.com
ABSTRACT
In the era of globalization today, many buildings storey buildings with scales the height of different aptitudes. To make the society in one place the same, so that required a lift that serves as a means of transportation vertical namely as a link between the floor of a building.
At this Final Task has been realized of PC(Personal Computer) based control and monitoring system of miniature 3-floor lift using microcontroller AT89S52 and program on the PC (Personal Computer) using Delphi as the display position of the lift on a computer monitor. Lift works in accordance with a predetermined pattern that is the first floor to be a priority time for work at 07.00 to 08.00 o’clock, and the third floor is a priority time of out work at 16.00 to 17.00 o’clock, in addition to the two conditions, the priority is the floor with the use of lift the most. Supervision of lift can be viewed on a computer monitor, where red connection, lift was down, and green connections, lift are not impaired.
Based on the results of experiments conducted, the lift can be controlled and monitored well, with the success of 100 %.
iii Universitas Kristen Maranatha
DAFTAR ISI
Halaman
ABSTRAK ……… i
ABSTRACT ……….. ii
KATA PENGANTAR ……….. iii
DAFTAR ISI ………. v
DAFTAR TABEL ………. ix
DAFTAR GAMBAR ……… x
BAB I PENDAHULUAN I.1 Latar Belakang ……….. 1
I.2 Identifikasi Masalah ……….. 2
I.3 Perumusan Masalah ………... 2
I.4 Tujuan ……… 2
I.5 Pembatasan Masalah ………. 2
I.6 Spesifikasi Alat ……….. 3
I.7 Metodologi Penelitian ……… 3
I.8 Sistematika Penulisan ………. 4
BAB II LANDASAN TEORI II.1 Pengertian Lift Secara Umum ………... 5
II.2 Mikrokontroler ……….. 6
iv Universitas Kristen Maranatha
II.3.1 CPU (Central Processing Unit) ………. 7
II.3.2 Memori ……….. 8
II.3.3 Input/output (I/O) ……….. 8
II.4 Mikrokontroler AT89S52 ………. 9
II.4.1 Konfigurasi Kaki-kaki Mikrokontroler AT89S52 ………. 10
II.4.2 Organisasi Memori ……… 12
II.4.3 Flash PEROM AT89S51/52 ……….. 13
II.4.4 Special Function Register (SFR) ……….... 14
II.5 Transistor Sebagai Saklar ………... 16
II.6 Relay ………... 17
II.7 RTC (Real Time Clock) ……….. 18
II.8 Motor Arus DC ……….. 19
II.8.1 Kontruksi Motor DC ……….. 19
II.9 Keypad ………... 20
II.10 Konverter RS232/TTL ………... 20
BAB III PERANCANGAN ALAT III.1 Tujuan Perancangan ………... 22
III.2 Langkah-langkah Perancangan ……….. 22
III.3 Spesifikasi Perancangan ………. 23
III.4 Diagram Blok ………. 24
III.4.1 Mikrokontroler AT89S52 ………... 24
III.4.2 Penggerak Relay ……….... 25
III.4.3 Keypad ……… 26
v Universitas Kristen Maranatha
III.4.5 Penggerak Motor DC ……….... 29
III.4.6 Komunikasi Antara Mikrokontroler dan Komputer …….. 29
III.4.7 RTC (Real Time Clock) DS1307 ………...……. 30
III.4.8 Rangkaian Sensor Batas dan Tombol ………. 31
III.4.9 Catu Daya ………... 32
III.5 Cara Kerja Alat ………... 32
III.6 Pembuatan Alat ……….. 33
III.6.1 Perangkat Keras ………. 33
III.6.2 Perancangan Mekanik ……….... 34
III.6.3 Perangkat Lunak ………... 35
III.6.3.1 Cara Kerja ……… 41
BAB IV PENGUKURAN DAN PENGUJIAN ALAT IV.1 Pengukuran Alat ……….. 42
IV.1.1 Pengukuran Tegangan Catu Daya ………... 42
IV.1.2 Pengukuran Sensor Batas ……… 42
IV.1.3 Pengukuran Penggerak Relay ……….. 43
IV.2 Pengujian Alat ………... 44
IV.2.1 Pengujian Perangkat Lunak ………... 44
IV.2.2 Pengujian Prioritas Waktu Lift Pada Jam Masuk Kerja ….. 45
IV.2.3 Pengujian Prioritas Waktu Lift Pada Jam Pulang Kerja ….. 46
IV.2.4 Koneksi Mikrokontroler Dengan Komputer ……… 47
IV.2.5 Pengujian Perangkat Keras ……….. 48
IV.2.5.1 Pengujian Mikrokontroler ………. 48
vi Universitas Kristen Maranatha IV.2.5.3 Pengujian Catu Daya ……….. 49
BAB V SIMPULAN DAN SARAN
V.1 Simpulan ………. 50 V.2 Saran ………... 51
DAFTAR PUSTAKA ……… 52
LAMPIRAN A PROGRAM PADA PENGONTROL
vii Universitas Kristen Maranatha
DAFTAR TABEL
Halaman
Tabel 2.1 Tipe IC Mikrokontroler Keluarga Atmel ……… 9
Tabel 2.2 Fungsi Alternatif Kaki Port 3 ………. 12
Tabel 2.3 Mode Kerja Flash PEROM AT89S51/52 ……….. 14
Tabel 2.4 Special Function Register (SFR) .……….... 15
Tabel 3.1 Keypad ……….... 27
Tabel 3.2 Display 7-Segment ……….. 28
Tabel 4.1 Hasil Pengukuran Tegangan Output Catu Daya ………….. 42
Tabel 4.2 Hasil Pengukuran Sensor Batas ………... 43
Tabel 4.3 Hasil Pengukuran Penggerak Relay ………. 43
Table 4.4 Pengujian Saat Awal Lift Bekerja ……….... 44
viii Universitas Kristen Maranatha
DAFTAR GAMBAR
Halaman
Gambar 2.1 Konfigurasi Kaki Mikrokontroler AT89S52 …...………. 10
Gambar 2.2 Peta Memori RAM Internal ……….. 13
Gambar 2.3 Transistor Dalam Keadaan Tertutup (Cut Off) …………. 16
Gambar 2.4 Transistor Dalam Keadaan Jenuh ………. 17
Gambar 2.5 Simbol Relay Satu Kontak ……….... 17
Gambar 2.6 Konfigurasi Pin RTC DS1307 ………... 18
Gambar 2.7 Peta Memori Waktu ……….. 19
Gambar 2.8 Kontruksi Motor DC ... 20
Gambar 2.9 Keypad Matrik 4 x 3 ………….………. 20
Gambar 2.10 Konfigurasi Pin Max232 ………... 21
Gambar 3.1 Alur Perancangan ……….. 23
Gambar 3.2 Diagram Blok ……….……… 24
Gambar 3.3 Mikrokontroler AT89S52 ….………. 25
Gambar 3.4 Keypad ……….……….. 26
Gambar 3.5 Display 7-Segment ………... 28
Gambar 3.6 Penggerak Motor DC …….………... 29
Gambar 3.7 Konverter RS232 to TTL ………... 30
Gambar 3.8 RTC (Real Time Clock) ……….. 31
Gambar 3.9 Rangkaian Sensor Batas dan Tombol ………. 31
Gambar 3.10 Catu Daya ………... 32
Gambar 3.11 Perancangan Mekanik . …...……… 34
ix Universitas Kristen Maranatha
Gambar 3.13 Flow chart Mikrokontroler (b) ………. 37
Gambar 3.14 Flow chart Mikrokontroler (c) ………. 38
Gambar 3.15 Flow chart Mikrokontroler (d) ………. 39
Gambar 3.16 Flow chart Delphi ………...…………. 40
Gambar 4.1 Posisi Awal Lift di Lantai 3 dan Diturunkan ke Lantai 1 ... 45
Gambar 4.2 Lift Dinaikkan ke Lantai 3 dan Diturunkan ke Lantai 1 ….. 46
Gambar 4.3 Lift Berada Pada Lantai 1 dan Dinaikkan ke Lantai 3 ……. 46
Gambar 4.4 Lift Turun ke Lantai 2 dan Dinaikkan ke Lantai 3 ……….. 47
1
LAMPIRAN A
INCLUDE "8051.H"
PENGATUR1 .EQU P1.6 ;INPUT SWITCH PENGATUR2 .EQU P1.7
KONTROL1 .EQU P3.6 ;MOTOR KONTROL2 .EQU P3.7 ;SEGMENT DATABUS .EQU P0
SW1 .EQU P1.3 SW2 .EQU P1.4 SW3 .EQU P1.5 SLANTAI1 .EQU P1.0 SLANTAI2 .EQU P1.1 SLANTAI3 .EQU P1.2 SPINTUBUKA .EQU P1.6 SPINTUTUTUP .EQU P1.7
CTULIS .EQU 10100000B ;WRITE DATA COMMAND Note 3 CBACA .EQU 10100001B ;READ DATA COMMAND Note 3 CTEEP .EQU 10100000B ;ALAMAT EEP
CBEEP .EQU 10100001B ;
CTRTC .EQU 11010000B ;WRITE DATA COMMAND Note 3 CBRTC .EQU 11010001B ;READ DATA COMMAND Note 3 ADDRH .EQU 0
ADDRL .EQU 0 BYTCNT .EQU 8 SDA .EQU P3.3 SCK .EQU P3.2
2 X1 .EQU P2.4
X2 .EQU P2.5 X3 .EQU P2.6 .ORG $30
MENITLAMA .BLOCK 1 DETIKLAMA .BLOCK 1 DETIK .BLOCK 1 MENIT .BLOCK 1 JAM .BLOCK 1 HARI .BLOCK 1 TANGGAL .BLOCK 1 BULAN .BLOCK 1 TAHUN .BLOCK 1 ADDR_WI2C .BLOCK 1 ADDR_RI2C .BLOCK 1 DATAKEY .BLOCK 1 POSISI .BLOCK 1 STATUSSER .BLOCK 1 JUM_LANTAI1 .BLOCK 1 JUM_LANTAI2 .BLOCK 1 JUM_LANTAI3 .BLOCK 1 JUM_MENIT .BLOCK 1 BUFFER .BLOCK 8 PRIORITAS .BLOCK 1 STLTPOS .BLOCK 1
.ORG $0 LJMP MULAI .ORG $100
MULAI: MOV SP,#$20 MOV PSW,#$00 CLR KONTROL1 CLR KONTROL2
3 LCALL DELAYSW
MOV STATUSSER,#0 MOV POSISI,#0
LCALL MOTOROFFSEMUA LCALL SEGMENTMIN
LCALL INIT_SERIAL MOV A,#'A'
LCALL SENDCHR MOV A,#'B' LCALL SENDCHR MOV A,#'C' LCALL SENDCHR MOV A,#'D' LCALL SENDCHR MOV A,#$0A LCALL SENDCHR MOV A,#$0D LCALL SENDCHR
LCALL MOTORNAIK LCALL DELAY10X LCALL POSISIRESET LCALL SEGMENT1 MOV POSISI,#1 MOV A,#'1' LCALL SENDCHR MOV A,#$0D LCALL SENDCHR LCALL DELAYSW
LCALL PINTUBUKATUTUP
4 MOV PRIORITAS,#0
MOV STLTPOS,#1
MOV ADDR_WI2C,#CTRTC MOV ADDR_RI2C,#CBRTC LOOP0:
LOOP: MOV SP,#$20
EXEC1:
JB SW1,EXEC2 MOV SP,#$20
MOV A,JUM_LANTAI1 ADD A,#1
DA A
MOV JUM_LANTAI1,A LJMP SW1AKTIF
EXEC2:
JB SW2,EXEC3 MOV SP,#$20
MOV A,JUM_LANTAI2 ADD A,#1
DA A
MOV JUM_LANTAI2,A LJMP SW2AKTIF
EXEC3:
JB SW3,EXECPASS MOV SP,#$20
MOV A,JUM_LANTAI3 ADD A,#1
DA A
MOV JUM_LANTAI3,A LJMP SW3AKTIF
EXECPASS:
;---PENGECEKAN JAM PRIORITAS--- CEKJAMPAGI:
5 CJNE A,#$07,CEKJAMPAGI1
MOV PRIORITAS,#'T' ;TURUN KE LT.1 LCALL PRIORITASTURUN
LJMP CEKJAMPASS
CEKJAMPAGI1: CJNE A,#$08,CEKJAMSORE MOV A,MENIT
CJNE A,#$00,CEKJAMSORE MOV PRIORITAS,#'T' ; LCALL PRIORITASTURUN LJMP CEKJAMPASS CEKJAMSORE: MOV A,JAM
CJNE A,#$16,CEKJAMSORE1 MOV PRIORITAS,#'A'
LCALL PRIORITASNAIK LJMP CEKJAMPASS
CEKJAMSORE1: CJNE A,#$17,CEKJAMEND MOV A,MENIT
CJNE A,#$00,CEKJAMEND MOV PRIORITAS,#'A' LCALL PRIORITASNAIK LJMP CEKJAMPASS
CEKJAMEND: MOV PRIORITAS,#'N'
CEKJAMPASS:
;---PENGECEKAN PENEKANAN KEYPAD LCALL SCANNINGKEYPAD CJNE A,#$0C,BUKANSETJAM LCALL SEGMENTBLANK LCALL DELAYSW
LCALL SEGMENTMIN LCALL DELAYSW
LCALL SEGMENTBLANK LCALL DELAYSW
LCALL SEGMENTMIN LCALL DELAYSW
6 LCALL DELAYSW
LCALL SEGMENTMIN MOV SP,#$20
LJMP SET_JAMTGL BUKANSETJAM:
LCALL KIRIMJAMKEPC
MOV A,JUM_MENIT
CJNE A,#$10,HITUNGJUMMENIT MOV JUM_MENIT,#0
;---MEMBANDINGKAN LANTAI PEMAKAIAN LCALL PERBANDINGANJUMLAH MOV JUM_LANTAI1,#0
MOV JUM_LANTAI2,#0 MOV JUM_LANTAI3,#0 MOV A,PRIORITAS
CJNE A,#'N',HITUNGJUMMENIT LCALL PRIORITASNORMAL HITUNGJUMMENIT:
MOV A,MENIT
CJNE A,MENITLAMA,TAMBAHMENIT LJMP LOOP0
TAMBAHMENIT: MOV MENITLAMA,MENIT MOV A,JUM_MENIT
ADD A,#$1 DA A
MOV JUM_MENIT,A LJMP LOOP0
;--- JAM PRIORITAS TURUN--- PRIORITASTURUN:
MOV A,POSISI
CJNE A,#1,CEKPOSTRN2 RET
7 LCALL TURUNLANTAI2KE1 RET
CEKPOSTRN3: CJNE A,#3,CEKPOSTRNPASS LCALL TURUNLANTAI3KE1
CEKPOSTRNPASS: RET
;--- JAM PRIORITAS NAIK--- PRIORITASNAIK:
MOV A,POSISI
CJNE A,#3,CEKPOSNAIK2 RET
CEKPOSNAIK2: CJNE A,#2,CEKPOSNAIK1 LCALL NAIKLANTAI2KE3
RET
CEKPOSNAIK1: CJNE A,#1,CEKPOSNAIKPASS LCALL NAIKLANTAI1KE3
CEKPOSNAIKPASS: RET
;---PRIORITAS YG TERBANYAK--- PRIORITASNORMAL:
POSLT1: MOV A,STLTPOS CJNE A,#1,POSLT2 MOV A,POSISI CJNE A,#1,POS12 RET
POS12: CJNE A,#2,POS13
LCALL TURUNLANTAI2KE1 RET
POS13: CJNE A,#3,POS13PASS LCALL TURUNLANTAI3KE1 POS13PASS: RET
POSLT2:
8 POS21: CJNE A,#1,POS23
LCALL NAIKLANTAI1KE2 RET
POS23: CJNE A,#3,POS23PASS LCALL TURUNLANTAI3KE2 POS23PASS: RET
POSLT3:
CJNE A,#3,POS32PASS MOV A,POSISI
CJNE A,#3,POS31 RET
POS31: CJNE A,#1,POS32 LCALL NAIKLANTAI1KE3 RET
POS32: CJNE A,#2,POS32PASS LCALL NAIKLANTAI2KE3 POS32PASS: RET
;--- PERBANDINGANJUMLAH:
MOV A,JUM_LANTAI1
CJNE A,#$00,MULAIBANDING MOV A,JUM_LANTAI2
CJNE A,#$00,MULAIBANDING MOV A,JUM_LANTAI3
CJNE A,#$00,MULAIBANDING MOV STLTPOS,#1
RET MULAIBANDING:
9
;LT1 > LT2 MAKA BANDINGKAN LT1 DGN LT3 BD1DAN3:
MOV A,JUM_LANTAI1 MOV B,JUM_LANTAI3 CJNE A,B,CEKLT1LBKC MOV STLTPOS,#1 RET
CEKLT1LBKC: JC LT1LBKC MOV STLTPOS,#1 RET
LT1LBKC: MOV STLTPOS,#3 RET
JUM1LBKC:
;LT1 < LT2 MAKA BANDINGKAN LT2 DGN LT3 BD2DAN3:
MOV A,JUM_LANTAI2 MOV B,JUM_LANTAI3 CJNE A,B,CEKLT2LBKC MOV STLTPOS,#2 RET
CEKLT2LBKC: JC LT2LBKC MOV STLTPOS,#2 RET
LT2LBKC: MOV STLTPOS,#3 RET
;---
; PENGIRIMAN PAKET DATA KEKOMPUTER ;---
KIRIMJAMKEPC:
LCALL BACA_WAKTU MOV A,#'J'
11 LCALL SENDCHR
MOV A,#'*' LCALL SENDCHR MOV A,#$0D LCALL SENDCHR RET
ANDF0PC: SWAP A AND0FPC: ANL A,#$0F ADD A,#$30 LCALL SENDCHR RET
TURUNLANTAI2KE1:
LCALL LANTAI2KE1 MOV POSISI,#1 LCALL SEGMENT1 MOV A,#'1'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR RET
TURUNLANTAI3KE1:
LCALL LANTAI3KE1 MOV POSISI,#1 LCALL SEGMENT1 MOV A,#'1'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR RET
TURUNLANTAI3KE2:
12 MOV POSISI,#2
LCALL SEGMENT2 MOV A,#'2'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR RET
NAIKLANTAI1KE2:
LCALL LANTAI1KE2 MOV POSISI,#2 LCALL SEGMENT2 MOV A,#'2'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR RET
NAIKLANTAI1KE3:
LCALL LANTAI1KE3 MOV POSISI,#3 LCALL SEGMENT3 MOV A,#'3'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR RET
NAIKLANTAI2KE3:
LCALL LANTAI2KE3 MOV POSISI,#3 LCALL SEGMENT3 MOV A,#'3'
13 ADAKEYPAD1: LJMP ADAKEYPAD SW1AKTIF:
MOV A,POSISI
CPOS1_1 CJNE A,#$1,CPOS1_2 LCALL PINTUBUKATUTUP LSW1_1: LCALL SCANNINGKEYPAD CJNE A,#0,ADAKEYPAD1
LJMP LSW1_1
CPOS1_2 CJNE A,#$2,CPOS1_3 LCALL LANTAI2KE1 MOV POSISI,#1 LCALL SEGMENT1 MOV A,#'1'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR
LCALL PINTUBUKATUTUP LSW1_2: LCALL SCANNINGKEYPAD CJNE A,#0,ADAKEYPAD1
LJMP LSW1_2
CPOS1_3 CJNE A,#$3,CPOS1_3 LCALL LANTAI3KE1 MOV POSISI,#1 LCALL SEGMENT1 MOV A,#'1'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR
LCALL PINTUBUKATUTUP LSW1_3: LCALL SCANNINGKEYPAD CJNE A,#0,ADAKEYPAD1
LJMP LSW1_3
15 MOV POSISI,#3
LCALL SEGMENT3 MOV A,#'3'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR
LCALL PINTUBUKATUTUP LSW3_1: LCALL SCANNINGKEYPAD CJNE A,#0,ADAKEYPAD3
LJMP LSW3_1
CPOS3_2 CJNE A,#$2,CPOS3_3 LCALL LANTAI2KE3 MOV POSISI,#3 LCALL SEGMENT3 MOV A,#'3'
LCALL SENDCHR MOV A,#$0D LCALL SENDCHR
LCALL PINTUBUKATUTUP LSW3_2: LCALL SCANNINGKEYPAD CJNE A,#0,ADAKEYPAD3
LJMP LSW3_2
CPOS3_3 CJNE A,#$3,CPOS3_3 LCALL PINTUBUKATUTUP LSW3_3: LCALL SCANNINGKEYPAD CJNE A,#0,ADAKEYPAD3
LJMP LSW3_3
ADAKEYPAD:
MOV A,DATAKEY CJNE A,#$0B,CEKLAIN LJMP LOOP0
CEKLAIN:
CJNE A,#1,CEKANGKA2 MOV A,POSISI
18 LCALL MOTORNAIK
TLANTAI3:
JB SLANTAI3,TLANTAI3 LCALL MOTOROFFSEMUA RET
LANTAI1KE3:
LCALL MOTORNAIK TLANTAI1KE2:
JB SLANTAI2,TLANTAI1KE2 LCALL SEGMENT2
MOV A,#'2' LCALL SENDCHR MOV A,#$0D LCALL SENDCHR TLANTAI2KE3:
JB SLANTAI3,TLANTAI2KE3 LCALL MOTOROFFSEMUA RET
LANTAI3KE2:
LCALL MOTORTURUN TLANTAI3KE2:
JB SLANTAI2,TLANTAI3KE2 LCALL MOTOROFFSEMUA RET
LANTAI2KE1:
LCALL MOTORTURUN POSISIRESET21:
JB SLANTAI1,POSISIRESET21 LCALL MOTOROFFSEMUA RET
LANTAI3KE1:
LCALL MOTORTURUN TLANTAI3KE21:
19 LCALL SEGMENT2
MOV A,#'2' LCALL SENDCHR MOV A,#$0D LCALL SENDCHR POSISIRESET31:
JB SLANTAI1,POSISIRESET31 LCALL MOTOROFFSEMUA RET
POSISIRESETPINTU: RET
DELAYLANTAI: MOV R2,#8 DELAYLANTAI1:
LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW
DJNZ R2,DELAYLANTAI1 RET
PINTUBUKA:
JB SPINTUBUKA,PINTUBUKA1 LCALL MOTOROFFSEMUA LCALL DELAYSW
RET
PINTUBUKA1: LCALL MOTORBUKA LJMP PINTUBUKA
PINTUTUTUP:
20 LCALL DELAYSW
RET
PINTUTUTUP1: LCALL MOTORTUTUP LJMP PINTUTUTUP
PINTUBUKATUTUP: LCALL DELAYSW LCALL DELAYSW
LCALL DELAYSW LCALL DELAYSW LCALL PINTUBUKA LCALL DELAY10X LCALL PINTUTUTUP RET
POSISIRESET:
LCALL MOTORTURUN POSISIRESET1:
JB SLANTAI1,POSISIRESET1 LCALL MOTOROFFSEMUA RET
MOTOROFFSEMUA:
MOV DATABUS,#$00 LCALL KONTROLM RET
MOTORNAIK:
MOV DATABUS,#$01 LCALL KONTROLM RET
MOTORTURUN:
MOV DATABUS,#$03 LCALL KONTROLM RET
21 MOV DATABUS,#$04
LCALL KONTROLM RET
MOTORTUTUP:
MOV DATABUS,#$0C LCALL KONTROLM RET
KONTROLM: SETB KONTROL1 LCALL DELAY_K
CLR KONTROL1 LCALL DELAY_K RET
SEGMENTBLANK:
MOV DATABUS,#$FF LCALL KONTROLSEG RET
SEGMENTMIN:
MOV DATABUS,#$3F LCALL KONTROLSEG RET
SEGMENT1:
MOV DATABUS,#$79 LCALL KONTROLSEG RET
SEGMENT2:
MOV DATABUS,#$24 LCALL KONTROLSEG RET
SEGMENT3:
MOV DATABUS,#$30 LCALL KONTROLSEG RET
22 LCALL DELAY_K
CLR KONTROL2 LCALL DELAY_K RET
SET_JAMTGL:
MOV R1,#BUFFER LCALL CEKKEYPAD MOV @R1,A ;J INC R1
LCALL CEKKEYPAD MOV @R1,A ;J INC R1
LCALL CEKKEYPAD MOV @R1,A ;M INC R1
LCALL CEKKEYPAD MOV @R1,A ;M INC R1
LCALL CEKKEYPAD MOV @R1,A ;D INC R1
LCALL CEKKEYPAD MOV @R1,A ;D INC R1
ISIJAM:
MOV A,BUFFER ; ANL A,#$0F SWAP A MOV JAM,A JAMPASS:
23 MOV A,BUFFER+2
; ANL A,#$0F SWAP A
MOV MENIT,A MOV A,BUFFER+3 ; ANL A,#$0F ORL A,MENIT MOV MENIT,A MOV A,BUFFER+4 ; ANL A,#$0F SWAP A
MOV DETIK,A MOV A,BUFFER+5 ; ANL A,#$0F ORL A,DETIK MOV DETIK,A
MOV R4,#00H MOV R6,#3 MOV R1,#DETIK LCALL TULISI2C LCALL DLYTULIS MOV A,POSISI CJNE A,#1,CTAMP2 LCALL SEGMENT1 LJMP LOOP0
CTAMP2: CJNE A,#2,CTAMP3 LCALL SEGMENT2
LJMP LOOP0
24 PASSJAM:
;SET TGL
MOV R1,#BUFFER LCALL CEKKEYPAD MOV @R1,A
INC R1
LCALL CEKKEYPAD MOV @R1,A ; INC R1
LCALL CEKKEYPAD MOV @R1,A
INC R1
LCALL CEKKEYPAD MOV @R1,A ; INC R1
LCALL CEKKEYPAD MOV @R1,A
INC R1
LCALL CEKKEYPAD MOV @R1,A ; INC R1
LCALL CEKKEYPAD MOV @R1,A
INC R1
LCALL CEKKEYPAD MOV @R1,A
INC R1
MOV A,BUFFER ANL A,#$0F SWAP A MOV HARI,A MOV A,BUFFER+1 ANL A,#$0F
25 MOV A,BUFFER+2
ANL A,#$0F SWAP A
MOV TANGGAL,A MOV A,BUFFER+3 ANL A,#$0F
ORL A,TANGGAL MOV TANGGAL,A MOV A,BUFFER+4 ANL A,#$0F
SWAP A
MOV BULAN,A MOV A,BUFFER+5 ANL A,#$0F
ORL A,BULAN MOV BULAN,A MOV A,BUFFER+6 ANL A,#$0F
SWAP A
MOV TAHUN,A MOV A,BUFFER+7 ANL A,#$0F
ORL A,TAHUN MOV TAHUN,A
ISITGL:
MOV R3,#00H MOV R4,#03H MOV R6,#4 MOV R1,#HARI LCALL TULISI2C LCALL DLYTULIS LJMP LOOP
26 MOV R3,#$00 ;high address MOV R4,#$00 ;low address MOV R6,#7 ;jumlah counter MOV R1,#DETIK
LCALL BACAI2C LCALL DLYTULIS ;--- Tulis Waktu Jika Jam Mati MOV A,DETIK ANL A,#80H
CJNE A,#80H,WAKTU_RET ANL DETIK,#7FH
LCALL DLYTULIS
MOV R3,#$00 ;high address MOV R4,#$00 ;low address MOV R6,#1 ;jumlah counter MOV R1,#DETIK
LCALL TULISI2C LCALL DLYTULIS WAKTU_RET
RET
CEKKEYPAD: LCALL SCANNINGKEYPAD CJNE A,#$0,CEKKEYPASS
LJMP CEKKEYPAD
CEKKEYPASS: CJNE A,#$0B,CEKKEYPASS1 LCALL DELAYSW
LJMP LOOP0
CEKKEYPASS1: CJNE A,#$0A,BIASA MOV DATAKEY,#0
BIASA: MOV A,DATAKEY RET
SCANNINGKEYPAD: SCANKEYPAD:
KOLOM1: MOV DATAKEY,#0 CLR X1
28 ANL A,#0FH
CTOMBOL3: CJNE A,#0EH,CTOMBOL6 MOV DATAKEY,#03H
LJMP TOLCD
CTOMBOL6: CJNE A,#0DH,CTOMBOL9 MOV DATAKEY,#06H
LJMP TOLCD
CTOMBOL9: CJNE A,#0BH,CTOMBOLP MOV DATAKEY,#09H
LJMP TOLCD
CTOMBOLP: CJNE A,#07H,KEYPADRET MOV DATAKEY,#0CH
TOLCD:
LCALL DELAYSW MOV A,DATAKEY KEYPADRET:
MOV A,DATAKEY RET
;--- ; PROC RUTIN INTERRUPT SERIAL ; TERIMA DATA DARI PRINTER MODUL ;--- SERINT:
JBC RI,GETDATASERIAL RETI
GETDATASERIAL: PUSH ACC MOV A,SBUF
CLR RI
CEKSER1: CJNE A,#'1',CEKSER2 MOV STATUSSER,#1 POP ACC
RETI
29 RETI
CEKSER3: CJNE A,#'3',CEKSER4 MOV STATUSSER,#3 POP ACC
RETI
CEKSER4: CJNE A,#'4',CEKSER5 MOV STATUSSER,#4 POP ACC
RETI
CEKSER5: CJNE A,#'5',PASSRET MOV STATUSSER,#5 POP ACC
RETI
PASSRET: MOV STATUSSER,#0 POP ACC
RETI
;---KIRIM DATA SERIAL--- SENDCHR:
CLR TI
MOV SBUF,A TXLOOP:
JNB TI,TXLOOP RET
;---AMBIL DATA SERIAL--- GETCHR: JNB RI,GETCHR
MOV A,SBUF ANL A,#$7F CLR RI RET
INIT_SERIAL:
30 SETB TR1
RET
TULISI2C1: BYTEWL:
MOV A,ADDR_WI2C ;LOAD WRITE COMMAND LCALL OUTS ;SEND IT
MOV A,R3 ;GET HI BYTE ADDRESS LCALL OUT ;SEND IT
MOV A,R4 ;GET LOW BYTE ADDRESS LCALL OUT ;SEND IT
BTLP11:
CLR A MOV A,@R1 LCALL OUT INC R1
DJNZ R6,BTLP11 LCALL STOP
; MOV A,R1 ;GET DATA ; LCALL OUT ;SEND IT
; LCALL STOP ;SEND STOP CONDITION RET
;--- ; Procedure Baca Data Dari I2C Bus
;--- TULISI2C:
MOV A,ADDR_WI2C LCALL OUTS
MOV A,R4 LCALL OUT BTLP1: CLR A MOV A,@R1 LCALL OUT INC R1
31 RET
BACAI2C1:
BLKRDL: MOV A,ADDR_WI2C ;LOAD WRITE COMMAND TO SEND ADDRESS
LCALL OUTS ;SEND IT
MOV A,R3 ;GET HI BYTE ADDRESS LCALL OUT ;SEND IT
MOV A,R4 ;GET LOW BYTE ADDRESS LCALL OUT ;SEND IT
MOV A,ADDR_RI2C ;LOAD READ COMMAND LCALL OUTS ;SEND IT
SJMP BRDLP ;CONTINUE WITH DATA READ
BACAI2C:
MOV A,ADDR_WI2C ;LOAD WRITE COMMAND TO SEND ADDRESS
LCALL OUTS ;SEND IT
MOV A,R4 ;GET LOW BYTE ADDRESS LCALL OUT ;SEND IT
MOV A,ADDR_RI2C ;LOAD READ COMMAND LCALL OUTS ;SEND IT
BRDLP: LCALL IN ;READ DATA MOV @R1,A ;STORE DATA
INC R1 ;INCREMENT DATA POINTER DJNZ R6,AKLP ;DECREMENT LOOP COUNTER LCALL STOP ;IF DONE, ISSUE STOP CONDITION RET ;DONE, EXIT ROUTINE
AKLP: CLR SDA ;NOT DONE, ISSUE ACK SETB SCK
MOV R7,#3 LCALL DELAYCK CLR SCK
32 OUTS: MOV R2,#8
SETB SDA SETB SCK MOV R7,#2 LCALL DELAYCK CLR SDA
MOV R7,#2 LCALL DELAYCK CLR SCK
OTSLP: RLC A JNC BITLS SETB SDA SJMP OTSL1 BITLS: CLR SDA OTSL1:
SETB SCK MOV R7,#3
LCALL DELAYCK CLR SCK
DJNZ R2,OTSLP SETB SDA MOV R7,#2
LCALL DELAYCK SETB SCK
MOV R7,#3
LCALL DELAYCK CLR SCK
RET
33 SJMP OTL1
BITL: CLR SDA OTL1:
SETB SCK MOV R7,#3
LCALL DELAYCK CLR SCK
DJNZ R2,OTLP SETB SDA MOV R7,#2
LCALL DELAYCK SETB SCK
MOV R7,#3
LCALL DELAYCK CLR SCK
RET
IN: MOV R2,#8 SETB SDA INLP: CLR SCK MOV R7,#3
LCALL DELAYCK SETB SCK
CLR C
JNB SDA,INL1 CPL C
INL1: RLC A DJNZ R2,INLP CLR SCK RET
STOP: CLR SDA ;STOP CONDITION SET DATA LOW MOV R7,#2
LCALL DELAYCK
34 LCALL DELAYCK
SETB SDA ;SET DATA HIGH
MOV R7,#8
LCALL DELAYCK RET
DELAYCK: DJNZ R7,DELAYCK RET
DELAY_K:
MOV R7,#10
D_LK1: DJNZ R7,D_LK1 RET
DLYTULIS:
DELAYTL0: MOV R6,#50 DELAYTL1: MOV R7,#100
DELAYTL2: DJNZ R7,DELAYTL2 DJNZ R6,DELAYTL1
RET
DELAY10X: LCALL DELAYSW LCALL DELAYSW
LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW LCALL DELAYSW RET
DELAYSW:
35 DELAYSW0: MOV R6,#0FFH DELAYSW1: MOV R7,#0FFH DELAYSW2: DJNZ R7,DELAYSW2 DJNZ R6,DELAYSW1
DJNZ R5,DELAYSW0 RET
DELAYBT: MOV R5,#1 DELAYBT0: MOV R6,#$FF DELAYBT1: MOV R7,#$FF
DELAYBT2: DJNZ R7,DELAYBT2 DJNZ R6,DELAYBT1
DJNZ R5,DELAYBT0 RET
KEY: .BYTE " 1234567890*#"
36
LAMPIRAN B
unit Unit1;
interface j5 uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, QCCom32, StdCtrls, Buttons;
type
TForm1 = class(TForm) COM: TQCCom32; Timer1: TTimer; Panel1: TPanel; BitBtn1: TBitBtn; Shape1: TShape; lift: TShape; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; p3: TPanel; p2: TPanel; p1: TPanel; Bevel1: TBevel; Label6: TLabel; Pkoneksi: TPanel; Timer2: TTimer;
procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Timer2Timer(Sender: TObject); private
37 public
{ Public declarations } end;
var
Form1: TForm1; datars232:string; Hitung:integer; implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject); begin
datars232:=com.read; if length(datars232)>0 then begin
if copy(datars232,1,1)='J' then begin
panel1.caption:=copy(datars232,2,2)+':'+copy(datars232,4,2)+':'+copy(datars232,6,2) ;
p1.caption:=copy(datars232,9,2); p2.caption:=copy(datars232,11,2); p3.caption:=copy(datars232,13,2); hitung:=0;
pkoneksi.color:=clgreen; end else
begin
if copy(datars232,1,1)='1' then begin
lift.top:=192; lift.left:=40; hitung:=0;
38 if copy(datars232,1,1)='2' then
begin
lift.top:=128; lift.left:=40; hitung:=0;
pkoneksi.color:=clgreen; end;
if copy(datars232,1,1)='3' then begin
lift.top:=64; lift.left:=40; hitung:=0;
pkoneksi.color:=clgreen; end;
end; end; end;
procedure TForm1.FormCreate(Sender: TObject); begin
com.Pick; hitung:=0; end;
procedure TForm1.Timer2Timer(Sender: TObject); begin
hitung:=hitung+1;
if hitung>=60 then begin
pkoneksi.color:=clred; hitung:=0;
end;
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
I.1 Latar Belakang
Berbagai penelitian telah dilakukan oleh berbagai institusi dari seluruh penjuru dunia untuk menemukan teknologi canggih. Pada saat ini banyaknya gedung-gedung tinggi yang dibangun, menyebabkan transportasi vertikal di antara lantai gedung tersebut semakin dibutuhkan. Lift merupakan salah satu transportasi vertikal yang banyak digunakan saat ini, hal ini disebabkan perjalanan antar lantai menggunakan lift di dalam gedung lebih menghemat waktu dan tenaga dibandingan dengan menggunakan tangga.
Pergerakan lift dalam melayani permintaan penggunaan di antara lantai-lantai gedung di kontrol oleh sistem komputer. Sistem di dalam komputer tersebut yang mengontrol pergerakan lift. Sistem kontrol lift dibuat berdasarkan kebutuhan di suatu gedung, misalkan di gedung-gedung apartemen atau perkantoran. Sistem kontrol dibuat sehingga penumpang tidak harus menunggu lift dalam waktu yang lama.
Perkembangan teknologi dibidang pengontrolan sangat memungkinkan untuk dapat membuat sebuah sistem yang mampu melakukan kontrol secara terpusat sekaligus memonitor. Oleh karena itu di realisasikan sebuah sistem pengontrolan dan monitoring miniatur lift secara terpusat.
BAB I PENDAHULUAN 2
Universitas Kristen Maranatha
I.2 Identifikasi Masalah
Diperlukan sistem pengontrolan dan monitoring miniatur lift secara terpusat berbasis PC (Personal Computer) untuk mengetahui keberadaan posisi lift.
I.3 Perumusan Masalah
Bagaimana merancang dan merealisasikan sistem pengontrolan dan
Monitoring miniatur lift berbasis PC(Personal Computer)?
I.4 Tujuan
Tujuan dari perancangan dan pembuatan alat ini adalah membuat Prototipe miniatur lift yang dapat dikendalikan dan di-monitoring melalui PC
(Personal Computer).
I.5 Pembatasan Masalah
Dalam pembahasan tugas akhir ini akan dibuat sebuah sistem pengaturan monitoring miniatur lift secara terpusat, serta membahas tentang bagaimana modul lift dapat mengirim data ke komputer. Untuk memfokuskan permasalahan dan menghindari salah pengertian dalam perancangan alat, maka dalam hal ini perancangan alat ini dibatasi dengan :
Lift dibuat untuk 3 lantai
Lift berdasarkan pola yang sudah ditentukan Tidak ada pemanggilan pada saat yang bersamaan Waktu buka tutup pintu lift berdasarkan delay
BAB I PENDAHULUAN 3
Universitas Kristen Maranatha
I.6 Spesifikasi Alat
Alat yang digunakan pada sistem pengontrolan dan monitoring miniatur lift sebagai berikut;
Menggunakan pengendali mikro berbasis mikrokontroler AT89S52 dengan menggunakan komunikasi serial RS-232
Menggunakan motor DC sebagai penggerak
Menggunakan Sensor Limit Switch untuk batas posisi bawah Menggunakan Keyped sebagai input nomor lantai tujuan Menggunakan 1 buah 7-segment sebagai informasi posisi lift
Menggunakan RTC (Real Time Clock) DS1307 sebagai informasi waktu Penggerak motor DC menggunakan relay
Program monitor komputer menggunakan Delphi 6/7
Menggunakan RS-232 sebagai komunikasi serial terhadap komputer.
I.7 Metodologi Penelitian
Metode yang digunakan dalam penyusunan tugas akhir ini adalah :
1. Melakukan studi referensi, yaitu mengumpulkan bahan-bahan yang dapat dijadikan referensi.
2. Observasi dan mempelajari referensi yang diperlukan.
3. Inventarisasi permasalahan dan kebutuhan dalam proses perancangan dan pembuatan.
4. Perancangan dan pembuatan perangkat keras. 5. Perancangan dan pembuatan perangkat lunak. 6. Melakukan pengujian
BAB I PENDAHULUAN 4
Universitas Kristen Maranatha
I.8 Sistematika Penulisan
BAB I : PENDAHULUAN
Memuat penjelasan singkat mengenai latar belakang masalah, tujuan, batasan masalah, metode penulisan, serta sistematika penulisan Tugas Akhir.
BAB II : TEORI DASAR
Bab ini membahas prinsip kerja dari komponen-komponen penyusun perangkat yaitu Sensor Limit Switch, mikrokontroler AT89S52, rangkaian pengontrol motor DC, 7-segment, keyped, komunikasi serial RS-232 dan hal-hal
lain yang perlu dikemukakan.
BAB III : PERANCANGAN DAN PEMBUATAN ALAT
Pada bagian ini menjelaskan tahap-tahap perancangan alat mulai dari perancangan sampai dengan tahap pembuatan alat.
BAB IV: PENGUJIAN DAN PENGUKURAN ALAT
Pada bagian ini memaparkan cara-cara pengujian, hasil pengukuran dan analisa pada alat.
BAB V : SIMPULAN
50 Universitas Kristen Maranatha
BAB V
SIMPULAN DAN SARAN
V.1 Simpulan
Dari hasil realisasi dan pengujian alat dapat disimpulkan: 1. Perangkat sistem yang dirancang berhasil direalisasikan.
2. Prioritas saat jam masuk kerja pukul 07.00-08.00, lift diturunkan ke lantai 1, saat jam pulang kerja 16.00-17.00, lift dinaikkan ke lantai 3.
3. Pada jam normal, alat akan menghitung jumlah pemakaian lift tiap lantai selama 15 menit dan kemudian akan melakukan analisa perbandingan jumlah pemakaian yang terjadi di 3 lantai. Setelah waktu 15 menit berlalu maka lift akan menuju lantai dimana pengguanaan lift yang terbanyak.
4. Pengawasan lift dapat dilihat pada monitor komputer, bila koneksi berwarna merah, lift mengalamai gangguan, dan koneksi berwarna hijau, lift tidak mengalami gangguan.
BAB V SIMPULAN DAN SARAN 51
V.2 Saran
Berikut adalah saran-saran penulis bagi yang ingin mengembangkan sistem ini.
1. Perlu dilakukan tambahan sistem pengereman yang dapat mengantisipasi bila terjadi kerusakan pada lift.
2. Prioritas panggilan lift sebaiknya dapat dilakukan saat terjadinya panggilan yang bersamaan, dan melayani panggilan setiap lantai untuk meningkatkan efesiensi kerja lift.
52 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1. Cooper, Wiliam D. Instrumentasi Elektronik dan Teknik Pengukuran. Edisi Kedua. Terjemahan S. Pakpahan. Jakarta : Penerbit Erlangga,1993.
2. Green DC, Komunikasi Data, Andi Offset, Yogyakarta, 1998.
3. Nugroho Eko, Ir., Bahasa-Bahasa Pemrograman, Offset Yogyakarta, 1992.
4. Martina Inge, 36 Jam Belajar Komputer Delphi 5.0, Elex Media Komputindo Gramedia, Jakarta, 2000.
5. Nalwan Paulus Andi. Panduan Praktis Teknik Antarmuka dan Pemrograman Mikrokontroler AT89C51. Jakarta. PT. Elex Media Komputindo, 2003.