Anda di halaman 1dari 20

SISTEM PARKIR MENGGUNKAN MIKROKONTROLER 8051

Disusun Oleh : Elia Nugraha Adi 4.35.11.1.08

JURUSAN TEKNIK ELEKTRO PROGRAM STUDI D4 TEKNIK TELEKOMUNIKASI KONSENTRASI TEKNIK BROADCAST POLITEKNIK NEGERI SEMARANG TAHUN 2012

DAFTAR ISI

HALAMAN JUDUL.....................................................................................................i DAFTAR ISI................................................................................................................ii BAB I PENDAHULUAN...........................................................................................1 A.Latar Belakang...............................................................................................1 B.Tujuan.............................................................................................................1 C.Rumusan Masalah..........................................................................................1 BAB II LANDASAN TEORI.....................................................................................2 A.Karakteristik Mikrokontroler 8051................................................................2 B.Display 7-Segment.........................................................................................6 C.Sensor Cahaya................................................................................................8 D.Motor DC.......................................................................................................9 BAB III PEMBAHASAN.........................................................................................10 A. Antarmuka Sensor Dengan Mikrokontroler 8051......................................10 B. Antarmuka 7-Segment Dengan Mikrokontroler 8051...............................10 C. Program Pada Mikrokontroler 8051..........................................................11 D. Cara kerja rangkaian..................................................................................14 BAB IV PENUTUP...................................................................................................14 A. Kesimpulan...................................................................................................14 DAFTAR PUSTAKA..................................................................................................15

ii

iii

BAB I PENDAHULUAN

A. Latar Belakang Mikrokontroler memiliki antarmuka input-output, prosesor dan memori yang dapat menerima perintah, mengolah perintah dan memberi keluaran perintah operasi. Parkir merupakan hal yang cukup penting, apabila dalam satu area parkir sulit diketahui apakah tempat itu penuh atau tidak maka menimbulkan seseorang kesulitan untuk mencari tempat yang kosong dan harus keluar apabila tempat parkir itu penuh. Hal-hal tersebut cukup memakan waktu, sehingga perlu dibuat sebuah sistem parkir menggunakan mikrokontroler untuk mengetahui apakah tempat parkir itu penuh atau tidak.

B. Tujuan Dapat mengerti dan menjelaskan cara kerja mikrokontroler 8051 pada sistem parkir untuk mengetahui jumlah kendaraan.

C. Perumusan Masalah 1. Bagaimana cara kerja mikrokontroler 8051 dalam sistem parkir? 2. Komponen apa saja yang terhubung dengan mikrokontroler 8051 dan bagaimana cara kerja rangkaian sistem parkir?

BAB II LANDASAN TEORI

A. Karakteristik Mikrokontroler 8051 Mikrokontroler adalah penggabungan dari fungsi-fungsi mikroprosesor, memori, antarmuka input-output, interupsi, timer, counter port serial dan lain-lain. Mikrokontroler 8051 merupakan mikrokontroler yang dapat digunakan untuk aplikasi kontrol. Adapun karakterisitik mikrokontroler 8051 sebagai berikut : 8-bit CPU untuk aplikasi kontrol Kemampuan pemrosesan Boolean yang luas (bit-logic tunggal) Ruangan 64 Kilobyte untuk alamat program memori Ruangan 64 Kilobyte untuk alamat data memori 4 Kilobyte memori untuk program 128 byte data RAM 32 jalur input-output UART dua arah 6-sumber atau 4-vektor struktur interupsi dan 2 level prioritas Osilator waktu yang tertanam langsung pada chip

Gambar blok diagram mikrokontroler 8051 :

Gambar 2.1 Blok diagram mikrokontroler 8051 Mikrokontroler 8051 memiliki beberapa bagian memori yang digunakan untuk operasi kontrol, berikut ini pembagian memori pada mikrokontroler 8051 : 1. Memori internal Mikro kontrolir 8051 memiliki memori internal, memori kode dan dapat terhubung dengan memori data eksternal. Terdapat dua jenis memori internal pada 8051 yakni RAM internal dan SFR. RAM yang dimiliki 8051 sebesar 128 byte dan RAM akan menghapus data apabila tidak ada tegangan yang masuk. 2. Memori kode Memori kode digunakan untuk menyimpan kode program mikrokontroler. Memori kode ini memiliki kapasitas sebesar 64 Kilobyte dan merupakan memori jenis ROM. 3. Register bank Register bank yang dimiliki oleh mikrokontroler 8051 sebanyak 8 buah, yang digunakan untuk operasi instruksi dan diberi nama dari 0 sampai 7 (R0, R1, R2, R4, R5, R5, R6, R7). Register yang ada dapat di gunakan

untuk membantu memanipulasi nilai dan memindahkan data dari lokasi memori ke tempat lainnya. 4. Memori bit Terdapat 128 bit memori dengan alamat dari 00h sampai 7Fh. Memori bit merupakan bagian dari RAM internal yang terletak pada alamat 20h sampai 2Fh. 5. Memori SFR (Special Function Register) SFR merupakan daerah memori yang mengendalikan fungsi-fungsi khusus dari mikrokontroler 8051. Empat SFR diguakan untuk pengendalian I/O dan sisanya dapat digunakan untuk mengendalikan serial port, timer, counter dan interupsi. 6. Register Register adalah tempat penyimpanan data pada sementara saat menjalankan perintah operasi pada mikrokontroler 8051. 7. DPTR (Data pointer) Data pointer merupakan register sebesar 16 bit (2 byte) yang digunakan untuk pinter data. DPTR digunakan untuk instruksi akses menuju memori eksternal dan dapat juga digunakan untuk menyimpan nilai sementara.

Berikut ini gambaran dai memori pada Mikrokontroler 8051 :

Gambar 2.2 Pembagian memori mikrokontroler 8051

Mikrokontroler 8051 merupakan programmable mikrokontroler dengan penyimpanan data sebesar 4 Kilobyte. Mikrokontroler memiliki 40 pin dengan fungsinya masing-masing, berikut ini adalah konfigurasi pin dari mikrokontroler 8051:

Gambar 2.3 Konfigurasi pin mikrokontroler 8051 Pada Gambar 2.2 dapat dilihat terdapat empat kelompok port, P0.0-P0.7, P1.0P1.7, P2.0-P2.7 dan P3.0-P3.7. Keempat kelompok port yang ada merupakan 8 bit bidirectional input-output tetapi keempat kelompok port masing-masing memiliki fungsi lain tersendiri. Port 0 dapat digunakan untuk input impedansi tinggi, multipleks alamat orde rendah dan data bus menuju memori eksternal dan memori data. Port 1 memultipleks alamat orde rendah dan Port 2 memultipleks alamat orde tinggi. Pada Port 3, input atau output dapat menggunakan arus rendah dan Port 3 memiliki fungsi tambahan antara lain : Port Pin P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 Fungsi RXD (port input serial) TXD (port input serial) INT0 (interupsi eksternal 0) INT1 (interupsi eksternal 1) T0 (input eksternal timer 0) T1 (input eksternal timer 1) WR (external data memory write strobe)
6

P3.7

RD (external data memory read strobe)

Mikrokontroler 8051 yang sudah berisi program akan mampu menerima input perintah, mengolah instruksi dari memori data dengan ALU dan menghasilkan output berupa perintah operasional.

B. Display 7-Segment Display 7-segment merupakan display yang menampilkan angka desimal serta huruf-huruf. Display 7-segment terbagi atas tujuh bagian, ketujuh bagian ini dapat diaktifkan secara individual.

Gambar 2.4 Segment individual dari 7-segment 7-Segment memiliki sepuluh pin dengan dua diantaranya digunakan untuk Com dan delapan sisanya dihubungkan pada output mikirokontroler.

Gambar 2.5 Konfigurasi pin 7-segment Terdapat dua konfigurasi pin dari 7-segement common cathode dan common anode. Common cathode digunkan untuk rangkaian aktif orde tinggi sedangkan common anode digunakan untuk rangkaian aktif orde rendah. Tabel kebenaran 7-segment a 1 b 1 c 1 d 1 e 1 f 1 g 0 7-LED

C. Sensor Cahaya Sensor cahaya ini berfungsi untuk menggerakkan motor dc pada palang pintu dan menghitung jumlah kendaraan yang sudah masuk ke dalam area parkir.

Gambar 2.5 Fototransistor Kaki kolektor dari fototransistor dijadikan pin output menuju input mikrokontroler. Pada saat kendaraan melewati fototransistor, detektor akan tertutup dan akan mengirim sinyal high menuju mikrokontroler.

D. Motor DC Motor DC yang ada digunakan untuk menggerakkan palang pintu. Data yang diterima pada mikrokontroler 8051 dari fototransistor akan mengaktifkan motor Sc yang ada.

Gambar 2.6 Motor DC

10

BAB III PEMBAHASAN

A. Antarmuka Sensor dengan Mikrokontroler 8051 Setiap sensor yang ada terhubung dengan mikrokontroler. Terdapat tiga sensor yang digunakan untuk menggerakkan motor DC dan penambahan pada mikrokontroler 8051. Sensor pertama akan mengaktifkan motor dc untuk membuka palang, sensor kedua menghentikan motor dc dan sensor ketiga mengaktifkan motor dc untuk menutup palang.

Gambar 3.1 Sensor dengan 8051

B. Antarmuka 7-Segment dengan Mikrokontroler 8051 Layar 7-segment berfungsi menampilkan jumlah kendaraan yang sudah masuk ke dalam sebuah area parkir. Pada saat sensor fototransistor yang terhubung dengan mikrokontroler 8051 aktif akan terjadi penambahan dan layar 7-segment akan menampilkan jumlah kendaraan.

11

Gambar 3.2 7-Segment dengan 8051

C. Program pada Mikrokontroler 8051 Motor dc dengan mikrokontroler 8051


OLG1 REG P1.0 ;OPEN LIMIT GATE1,CLG1 REG P1.1 ;CLOSE LIMIT GATE1 G1IL REG P1.2 ;GATE1 INTERLOCK OLG2 REG P1.3 ;OPEN LIMIT GATE2 CLG2 REG P1.4 ;CLOSE LIMIT GATE2 G2IL REG P1.5 ;GATE2 INTERLOCK M1P1 REG P0.0 ;MOTOR1 PHASE1 M1P2 REG . 1 ;MOTOR1 PHASE2 M1P3 REG P0.2 ;MOTOR1 PHASE3 M1P4 REG P0.3 ;MOTOR1 PHASE4 M2P1 REG P0.4 ;MOTOR2 PHASE1 M2P2 REG P0.5 ;MOTOR2 PHASE2 M2P3 REG P0.6 ;MOTOR2 PHASE3 M2P4 REG P0.7 ;MOTOR2 PHASE4 A_SSD REG P2.4 B_SSD REG P2.7 C_SSD REG P2.6 D_SSD REG P2.5 A_SEL REG P2.2 B_SEL REG P2.0 C_SEL REG P2.1 E_SEL REG P2.3 ENB REG P3.5 ;ENABLE 74LS245 FLG1 REG 00H ;BIT 0 OF 20H FLG2 REG 01H ;BIT 1 OF 20H FLG3 REG 02H ;BIT 2 OF 20H FLG4 REG 03H ;BIT 3 OF 20H FLG5 REG 04H ;BIT 4 OF 20H FLG6 REG 05H ;BIT 5 OF 20H BINC REG 06H ;BIT 6 OF 20H BDEC REG 07H ;BIT 7 OF 20H B_0 REG 08H ;BIT 0 OF 21H B_1 REG 09H ;BIT 1 OF 21H B_2 REG 0AH ;BIT 2 OF 21H B_3 REG 0BH ;BIT 3 OF 21H B_4 REG 0CH ;BIT 4 OF 21H B_5 REG 0DH ;BIT 5 OF 21H B_6 REG 0EH ;BIT 6 OF 21H B_7 REG 0FH ;BIT 7 OF 21H OUTPRT REG P0 ;PORT ZERO DISPRT REG P2 DATREG EQU 21H DLYREG1 EQU 30H DLYREG2 EQU 31H

12

DLYREG3 EQU 32H DLYREG4 EQU 33H D_UNI EQU 34H D_TEN EQU 35H D_HUN EQU 36H CNTR EQU 37H DISPREG EQU 38H ORG 00H ;RESET LJMP INI ORG 0BH LJMP T0ISR ORG 23H LJMP SERISR ORG 30H INI: MOV D_UNI,#00H MOV D_TEN,#00H MOV D_HUN,#00H MOV OUTPRT,#00H CLR ENB CLR FLG1 CLR FLG2 CLR BUZ CLR BINC CLR BDEC CLR E_SEL CLR C_SEL MOV DLYREG1,#FFH MOV DLYREG2,#0FH MOV DLYREG3,#FFH MOV DLYREG4,#0FH MOV TMOD,#21H ;16 BIT TIMER MODE MOV TL0,#DFH MOV TH0,#B1H MOV TH1,#-3 MOV SCON,#50H MOV IE,#92H MOV A,CNTR MOV SBUF,A SETB TR1 SETB TR0 MAIN: CALL INR_0 ;INPUT ROUTINE CALL INR_1 ; CALL INR_2 CALL INR_3 CALL M1R ;MOTOR1 ROUTINE CALL M2R CALL IDR ;INCREMENT/DECREMENT ROUTINE CALL DIVR LJMP MAIN INR_0: JB G1IL,INR1 JB FLG1,INR2 RET INR1: SETB FLG1 RET INR2: JNB FLG1,INREXT1 DJNZ DLYREG1,INREXT1 DJNZ DLYREG2,INREXT1 SETB BINC CLR FLG1 INREXT1: RET INR_1: JB OLG1,INR3 JB CLG1,INR4 RET INR3: SETB FLG2 CLR FLG3 RET INR4: SETB FLG3 CLR FLG2 RET INR_2: JB G2IL,INR1_1 JB FLG4,INR2_2 RET INR1_1: SETB FLG4 RET INR2_2: JNB FLG4,INREXT2 DJNZ DLYREG3,INREXT2 DJNZ DLYREG4,INREXT2 SETB BDEC CLR FLG4 INREXT2: RET INR_3: JB OLG2,INR3_3 JB CLG2,INR4_4 RET INR3_3: SETB FLG5 CLR FLG6 RET INR4_4: SETB FLG6 CLR FLG5 RET M1R: JB FLG1,M1R_1 JB FLG2,M1R_2 RET M1R_1: JNB FLG2,M1R_3 CLR M1P1 CLR M1P2 CLR M1P3 CLR M1P4 RET M1R_3: CALL M1CLK RET M1R_2: JNB FLG3,M1R_4 CLR M1P1 CLR M1P2 CLR M1P3 CLR M1P4 RET M1R_4: CALL M1CCLK RET M1CLK: SETB M1P1 CLR M1P2 CLR M1P3 CLR M1P4 CALL DLYRM1 CLR M1P1 SETB M1P2 CLR M1P3 CLR M1P4 CALL DLYRM1 CLR M1P1 CLR M1P2 SETB M1P3 CLR M1P4 CALL DLYRM1 CLR M1P1 CLR M1P2 CLR M1P3 SETB M1P4 CALL DLYRM1 CLR M1P4 ET M1CCLK: ;MOTOR1 COUNTER CLOCK WISE SETB M1P4 CLR M1P2 CLR M1P3 CLR M1P1 CALL DLYRM1 CLR M1P4 SETB M1P3 CLR M1P2 CLR M1P1 CALL DLYRM1 CLR M1P1 CLR M1P3 SETB M1P2 CLR M1P4 CALL DLYRM1 CLR M1P3 CLR M1P2 CLR M1P4 SETB M1P1 CALL DLYRM1 CLR M1P1 RET DLYRM1:;Delay routine MOV R0,#0FH W1: MOV R1,#FFH W2: DJNZ R1,W2 DJNZ R0,W1 RET M2R: JB FLG4,M2R_1 JB FLG5,M2R_2 stepper motor interface with microcontroller 8051 RET M2R_1: JNB FLG5,M2R_3 CLR M2P1 CLR M2P2 CLR M2P3 CLR M2P4 RET M2R_3: CALL M2CLK RET M2R_2: JNB FLG6,M2R_4 stepper motor interface with microcontroller 8051 CLR M2P1 CLR M2P2 CLR M2P3 CLR M2P4 RET M2R_4: CALL M2CCLK;MOTOR2 CLOCK WISE RET M2CLK: SETB M2P1 CLR M2P2 CLR 2P3 CLR M2P4 CALL DLYRM2 CLR M2P1 SETB M2P2 CLR M2P3 CLR M2P4 CALL DLYRM2 CLR M2P1 CLR M2P2 SETB M2P3 CLR M2P4 CALL DLYRM2 CLR M2P1 CLR M2P2 CLR M2P3 SETB M2P4 CALL DLYRM2 CLR M2P4 RET M2CCLK:;MOTOR 2 COUNTER CLOCK WISE SETB M2P4 CLR M1P2 CLR M1P3 CLR M1P1 CALL DLYRM2 CLR M2P4 SETB M2P3 CLR M2P2 CLR M2P1 CALL DLYRM2 CLR M2P1 CLR M2P3 SETB M2P2 CLR M2P4 CALL DLYRM2 CLR M2P3 CLR M2P2 CLR M2P4 SETB M2P1 CALL

13

DLYRM2 CLR M2P1 RET DLYRM2: an other delay routine called delay 2 routine MOV R2,#0FH W3: MOV R3,#FFH W4: DJNZ R3,W4 DJNZ R2,W3 RET IDR:;INCREMENT DECREMENT ROUTINE, this is most probabaly for motor INCREMENT DECREMENT ROUTINE JB BINC,IDR1 JB BDEC,IDR3 RET IDR1: MOV A,CNTR CJNE A,#FFH,IDR2 MOV CNTR,#FFH CLR BINC RET IDR2: INC CNTR CLR BINC RET IDR3: MOV A,CNTR CJNE A,#00H,IDR4 MOV CNTR,00H CLR BDEC RET IDR4: DEC CNTR CLR BDEC RET ;DIVISION ROUTINE DIVR: MOV A,CNTR MOV B,#0AH DIV AB MOV D_UNI,B MOV B,#0AH DIV AB MOV D_TEN,B MOV D_HUN,A RET T0ISR: PUSH A CLR TR0 MOV TL0,#DFH ;20mSEC OV TH0,#B1H OV A,D_UNI ;SEND THE UNIT PLACE NO. ALL DSHIFT ;TO ADJUST PIN CONFIG NL A,#F0H ;TO SEND ONLY UPPER NIBBLE MOV DISPRT,A ;MOVE DATA TO P2 SETB A_SEL SETB B_SEL ;INITIALIZE UNIT PLACE SEG(3) CALL DSPDLY ;CALL DELAY MOV A,D_TEN ;SEND THE TENTH PLACE NO. CALL DSHIFT ANL A,#F0H MOV DISPRT,A CLR A_SEL SETB B_SEL ;INITIALIZE TENTH PLACE SEG(2) CALL DSPDLY MOV A,D_HUN ;SEND THE HUNDREDTH PLACE NO. CALL DSHIFT ANL A,#F0H MOV DISPRT,A SETB A_SEL CLR B_SEL CALL DSPDLY CLR A_SEL ;INITIALIZE HUNDREDTH PLACE SEG(1) CLR B_SEL POP A SETB TR0 RETI ;DATA SHIFT ROUTINE DSHIFT: MOV DATREG,A ;21H=DATAREG MOV C,B_0 MOV B_4,C MOV C,B_1 MOV B_7,C MOV C,B_2 MOV B_6,C MOV C,B_3 MOV B_5,C MOV A,DATREG RET ;DISPLAY DLAY DSPDLY: MOV R7,#FFH DW1: DJNZ R7,DW1 RET ; SERIAL INT SERISR: PUSH A JNB TI,REC MOV A,CNTR MOV SBUF,A CLR TI POP A RETI REC: JNB RI,SEREXT CLR RI SEREXT: POP A RETI END

7-segment dengan mikrokontroler 8051


mov p0,#10000001b acall delay mov p0,#11001111b acall delay mov p0,#10010010b acall delay mov p0,#10000110b acall delay mov p0,#11001100b acall delay mov p0,#10100100b acall delay mov p0,#10100000b acall delay mov p0,#10001111b

14

acall delay mov p0,#10000000b acall delay mov p0,#10000100b acall delay sjmp repeat delay: mov r3,#010h l3:mov r2,#0ffh l2:mov r1,#0ffh l1:djnz r1,l1 djnz r2,l2 djnz r3,l3 ret

D. Cara Kerja Rangkaian Pada saat mobil masuk, maka fototransistor pertama akan mengirim logika high menuju mikrokontroler 8051 yang akan mengaktifkan motor dc searah jarum jam sehingga palang pintu terbuka. Fototransistor kedua akan mengirim logika high untuk menghentikan motor dc dan foto transistor ketiga mengirim logika high untuk memutar motor dc berlawanan arah jarum jam sehingga palang pintu tertutup. Salah satu fototransistor akan terhubung dengan mikrokontroler kedua untuk menampilkan jumlah kendaraan yang ada berdasarkan jumlah kendaraan yang melewati. Pada saat kendaraan masuk melewati fototransistor, mikrokontroler akan menerima logika high pada salah satu pin pada port pertama dan akan melakukan
15

incriment atau penambahan dan menampilkannya menuju 7-segment melalui port output pada mikrokontroler 8051. Hal yang sama juga terjadi pada saat kendaraan keluar, fototransistor lainnya yang terhubung dengan salah satu pin pada port pertama dan melakukan decrement atau pengurangan yang kemudian akan ditampilkan pada layar 7-segment melalui port output pada mikrokontroler 8051.

BAB IV PENUTUP

A. Kesimpulan Mikrokontroler 8051 akan menerima input dari sensor cahaya berupa fototransistor. Mikrokontroler 8051 memberi perintah untuk menggerakkan motor dc berdasarkan input dari sensor cahaya berupa fototransistor. Mikrokontroler 8051 melakukan penambahan dan pengurangan berdasarkan input dari fototransistor dan menghasilkan output pada layar 7-Segment untuk menampilkan jumlah kendaraan.

16

DAFTAR PUSTAKA
http://microcontroller51.blogspot.com/2010/08/car-parking-system-usingmicro.html

http://www.scribd.com/doc/16189396/Microcontroller-Based-Multilevel-Car-Parkingsystem

17

Anda mungkin juga menyukai