Perancangan Program Perancangan Dan Pembuatan Sistem Parkir Otomatis Menggunakan Koin Berbasis Mirokontroler AT89S52 Secara Software

3.2 Perancangan Program

Alat ini dirancang untuk sistem parkir otomatis menggunakan koin. Diagram alir dari program yang akan dibuat adalah sebagai berikut: MIKRO 1: START INISIALISASI Ada koin dimasukkan? Ada mobil keluar? Periksa warna koin Warna koin sesuai ? Lewatkan koin Periksa masssa koin Masakoin sesuai ? Wadah diputar kanan 60 derajat dan diputar kiri 60 derajat Lewatkan koin Wadah diputar kiri 60 derajat dan diputrar kanan 60 derajat Suruh mikro2 membuka gerbang masuk Update display1 Hidupkan alamr Update display2 Tuggu sampai mikro dua mengirimkan pesan bahwa gerbang masuk telah dibuka Updiae display3 Suruh mikro2 menutup gerbang masuk Tunggu sampai mikro dua mengirimkan pesan bahwa gerbang masuk telah ditutup Data = data - 1 Update display1 Data = data + 1 YA YA YA YA TIDAK TIDAK TIDAK TIDAK Update display 1 : “jumlah maximum 10 sisa = data” Update display2 : “koin salah” Update display3 : “Silahkan masuk” Program pertama kali dimulai dari start, setelah itu dilakukan penginisialisasi program untuk memetakan port dan memori yang digunakan dalam program. Mikrokontroler akan memeriksa apakah ada koin dimasukkan Universitas Sumatera Utara atau tidak, jika ada selanjutnya mikro memeriksa warna koin. Jika warnanya sesuai dilanjutkan dengan memeriksa berat koin, jika sesuai juga, maka koin diletakkan pada wadah yang benar dan mikro memerintahkan mikro yang satu lagi untuk membuka gerbang masuk dan data tempat kosong pada parkir dikurangi satu. Mikro satu akan menunggu sampai mikro dua membuka gerbang masuk dan mengirimkan pesan bahwa gerbang telah dibuka. Mikro 1 akan mengirimkan data pada display untuk menampilkan kalimat “silahkan masuk”. Setelah itu mikro akan memerintahkan mikro satu lagi untuk menutup gerbang masuk dan menunggu pesan dari mikro satu lagi bahwa gerbang telah ditutup, setelah itu mikro akan mengirimkan data yang akan ditampilkan pada display 1 dan mikro akan kembali ke program utama Jika dari pemeriksaan mikro bahwa ada koin yang dimasukkan beratnya tidak sesuai, maka mikro akan melewatkan koin, dan ditempatkan pada wadah yang salah, kemudian mikro akan menghidupkan alarm dan akan ditampilkan pada display yang berisi kalimat “koin salah”, setelah itu mikro akan kembali ke program utama Jika setelah diperiksa oleh mikro bahwa warna koin yang diperiksa tidak sesuai, maka mikro akan memeriksa warna koin tersebut kemudian akan melewatkan koin, dan ditempatkan pada wadah yang salah, kemudian mikro akan memerintahkan untuk menghidupkan alaram dan mengirimkan data untuk ditampilkan pada display yang berisi kalimat “koin salah” Jika mikro memeriksa bahwa tidak ada koin yang dimasukkan , maka mikro 1 akan menunggu pesan dari mikro 2 apakah ada mobil yang keluar, jika ada maka data tempat kosong pada parkir ditambah satu dan mikro akan Universitas Sumatera Utara menampilkan data pada display 1, setelah itu mikro akan kembali memeriksa apakah ada koin yang dimasukkan Jika mikro 2 tidak mengirimkan pesan bahwa ada mobil yang keluar maka, mikro 1 akan memeriksa apakah ada koin yang dimasukkan begitu seterusnya. MIKRO 2: START INISIALISASI Mobil mau masuk? Ada kendaraan mau keluar? Mobil sudah masuk? Buka gebang masuk Kirim pesan bahwa gerbang sudah dibuka Tuggu kenraan masuk Tutup gebang masuk Data = data + 1 Buka gerbang keluar Tampilkan kata “terimakasih” Pada display tutup gerbang keluar Kendraan sudah keluar? Kirim pesan bahwa gerbang sudah ditutup Kirim pesan ke mikro1 bahwa ada kendraan keluar Update display YA TIDAK TIDAK TIDAK TIDAK YA YA YA Program dimulai dengan start dan dilakuakn proses inisialisasi untuk memetakan port dan memori yang digunakan dalam program. Selanjutnya mikro akan emunggu perintah dari mikro1, atau ada kendraan keluar. Begitu seterusnya Jika ada perintah dari mikro satu untuk membuka gerbang masuk, maka mikrokontroler akan membuka gerbang masuk sebesar 90 derajat, dan menunggu sampai sensor fotodioada mendetaksi bahwa kendraan sudah benar-benar masuk, Universitas Sumatera Utara dan selanjutnya mikrokontroler mengirimkan pesan ke mikro 1 bahwa gerbang telah dibuka. Selanjutnya mikrokontroler kembali ke routin utama Jika ada perintah dari mikro 1 untuk menutup grbang, maka mikro satu akan menghitung kendraan masuk, kemudian gerbnag ditutup dan elanjutnya dikirim pesan kepada mikro 1 bahwa gerbang telah ditutup. Jika sensor mendeteksi ada kendraan yang mau keluar, maka mikrokontroler akan membuka gerbang keluar, dan menunggu sampai kendraan benar-benar keluar, dan selanjutnya menutup gerbang keluar, dan dikirim pesan kepada mikro 1 bahwa ada kendraan yang telah keluar dan selanjutnya program kembali ke program utama. Program Sistem Parkir Otomatis Menggunakan Koin Berbasis Mikrokontroler AT89S52 : Mikrokontroler 1 : LDR equ p2.1 pas equ p2.3 com1 equ p2.0 RS EQU P2.5 RW EQU P2.6 EN EQU P2.7 tekan equ p2.3 clr p2.4 setb com1 Universitas Sumatera Utara masuk equ p2.2 clr p2.2 mov 20h,0 mov r4,10 mov p1,0 clr p2.3 acall silahkan utama: jb masuk,koin jb p1.2,adakeluar sjmp utama adakeluar: inc r4 setb p1.3 jb p1.2, acall delay clr p1.3 acall silahkan sjmp utama Universitas Sumatera Utara koin: acall delaymax acall delaymax jb LDR,warna_cocok jnb LDR,tkcocok sjmp koin tkcocok: ajmp takcocok warna_cocok: acall delay acall lewatkankoin acall delay jnb p2.3,salahdah acall putarkanan acall delay acall delay acall putarkiri acall tutup dec r4 Universitas Sumatera Utara acall mikro1 acall silahkan acall delay CJNE R4,0,utama sjmp sesak sesak: acall penuh bandel: jb masuk,bandal jb p1.2,adakeluar sjmp bandel bandal: acall delaymax acall lewatkankoin acall putarkiri acall delay acall delay acall putarkanan acall tutup Universitas Sumatera Utara setb p2.4 acall delaymax acall delaymax clr p2.4 sjmp bandel takcocok: acall lewatkankoin salahdah: acall putarkiri acall delay acall delay acall putarkanan acall tutup setb p2.4 acall koins acall delaymax acall delaymax acall silahkan clr p2.4 ajmp utama Universitas Sumatera Utara lewatkankoin: mov p3,0 mov r1,14 lewatsaja: setb p3.4 acall delay clr p3.4 setb p3.5 acall delay clr p3.5 setb p3.6 acall delay clr p3.6 setb p3.7 acall delay clr p3.7 djnz r1,lewatsaja ret tutup: mov p3,0 mov r1,15 tarik: Universitas Sumatera Utara setb p3.7 acall delay clr p3.7 setb p3.6 acall delay setb p3.5 clr p3.6 acall delay setb p3.4 clr p3.5 acall delay clr p3.4 djnz r1,tarik ret putarkanan: mov p3,0 mov r1,14 kanan: setb p3.0 acall delay setb p3.1 clr p3.0 Universitas Sumatera Utara acall delay setb p3.2 clr p3.1 acall delay setb p3.3 clr p3.2 acall delay clr p3.3 djnz r1,kanan ret putarkiri: mov p3,0 mov r1,10 kiri: setb p3.3 acall delay setb p3.2 clr p3.3 acall delay setb p3.1 clr p3.2 acall delay setb p3.0 Universitas Sumatera Utara clr p3.1 acall delay clr p3.0 djnz r1,kiri ret mikro1: clr com1 acall delay acall silahkanmasuk jnb p1.0, setb com1 ret delay: mov r2,0ffh deli: mov r3,10h djnz r3, djnz r2,deli ret delaymax: mov r7,060h Universitas Sumatera Utara de: ACALL delay djnz r7,de ret konversi: mov 21h, satu: cjne r5,1,dua mov r5,1 ret dua: cjne r5,2,tiga mov r5,2 ret tiga: cjne r5,3,empat mov r5,3 ret empat: cjne r5,4,lima mov r5,4 ret Universitas Sumatera Utara lima: cjne r5,5,enam mov r5,5 ret enam: cjne r5,6,tujuh mov r5,6 ret tujuh: cjne r5,7,lapan mov r5,7 ret lapan: cjne r5,8,sembilan mov r5,8 ret sembilan: cjne r5,9,sepuluh mov r5,9 ret sepuluh: cjne r5,10,anti_error mov r5,0 Universitas Sumatera Utara mov 21h,1 ret anti_error: mov r5,0 mov 21h,1 ret silahkan: mov a,r4 mov r5,a acall konversi mov 20h,r5 MOV A,038H LCALL SCAN ACALL PENAMPIL ACALL SCAN MOV A,J ACALL KIRIM MOV A,L ACALL KIRIM Universitas Sumatera Utara mOV A,H ACALL KIRIM MOV A, ACALL KIRIM MOV A,M ACALL KIRIM MOV A,A ACALL KIRIM MOV A,K ACALL KIRIM MOV A,S ACALL KIRIM MOV A, ACALL KIRIM MOV A,: ACALL KIRIM MOV A, ACALL KIRIM MOV A,1 ACALL KIRIM MOV A,0 ACALL KIRIM MOV A, ACALL KIRIM Universitas Sumatera Utara MOV A,0c0H LCALL SCAN MOV A,S ACALL KIRIM MOV A,I ACALL KIRIM MOV A,S ACALL KIRIM MOV A,A ACALL KIRIM MOV A, ACALL KIRIM MOV A,: acall KIRIM MOV A, ACALL KIRIM MOV A,21h ACALL KIRIM MOV A,20h ACALL KIRIM RET silahkanmasuk: MOV A,038H Universitas Sumatera Utara LCALL SCAN ACALL PENAMPIL ACALL SCAN MOV A,S ACALL KIRIM MOV A,I ACALL KIRIM MOV A,L ACALL KIRIM MOV A,A ACALL KIRIM mOV A,H ACALL KIRIM MOV A,K ACALL KIRIM MOV A,A ACALL KIRIM MOV A,N ACALL KIRIM MOV A, ACALL KIRIM MOV A,M ACALL KIRIM MOV A,A Universitas Sumatera Utara ACALL KIRIM MOV A,S ACALL KIRIM MOV A,U ACALL KIRIM MOV A,K ACALL KIRIM MOV A, ACALL KIRIM MOV A,0c0H LCALL SCAN MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, acall KIRIM Universitas Sumatera Utara MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM RET ret koins: MOV A,038H LCALL SCAN ACALL PENAMPIL ACALL SCAN MOV A,M ACALL KIRIM MOV A,A ACALL KIRIM mOV A,A ACALL KIRIM MOV A,F ACALL KIRIM MOV A, Universitas Sumatera Utara ACALL KIRIM MOV A,K ACALL KIRIM MOV A,O ACALL KIRIM MOV A,I ACALL KIRIM MOV A,N ACALL KIRIM MOV A, ACALL KIRIM MOV A,S ACALL KIRIM MOV A,L ACALL KIRIM MOV A,H ACALL KIRIM MOV A,0c0H LCALL SCAN MOV A, ACALL KIRIM MOV A, ACALL KIRIM Universitas Sumatera Utara MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, acall KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM RET penuh: MOV A,038H LCALL SCAN ACALL PENAMPIL ACALL SCAN ACALL KIRIM mOV A,P Universitas Sumatera Utara ACALL KIRIM MOV A,A ACALL KIRIM MOV A,R ACALL KIRIM MOV A,K ACALL KIRIM mOV A,I ACALL KIRIM mOV A,R ACALL KIRIM MOV A, ACALL KIRIM MOV A,P ACALL KIRIM MOV A,E ACALL KIRIM mOV A,N ACALL KIRIM MOV A,U ACALL KIRIM MOV A,H ACALL KIRIM MOV A, Universitas Sumatera Utara ACALL KIRIM MOV A, ACALL KIRIM ACALL KIRIM MOV A,0c0H LCALL SCAN MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, acall KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM Universitas Sumatera Utara MOV A, ACALL KIRIM RET PENAMPIL: MOV A,00CH LCALL SCAN MOV A,006H LCALL SCAN MOV A,080H LCALL SCAN RET SCAN: MOV P0,A CLR RS CLR RW SETB EN CLR EN LCALL DELAY RET Universitas Sumatera Utara KIRIM: MOV P0,A SETB RS CLR RW SETB EN CLR EN LCALL DELAY RET End Mikrokontroler 2 : com1 equ p2.0 fotodioda1 equ p2.2 fotodioda2 equ p2.4 fotodioda3 equ p2.3 RS EQU P2.5 RW EQU P2.6 EN EQU P2.7 mov p0,0 mov p1,0 mov p3,0 mov r4,0 Universitas Sumatera Utara mov r6,0 acall silahkan utama: jnb com1,mikro1 jnb fotodioda2,kendraankeluar sjmp utama kendraankeluar: acall buka_palangkeluar ACALL silahkankeluar jb fotodioda3, jnb fotodioda3, acall tutup_palangkeluar acall silahkan sjmp utama mikro1: acall buka_palangmasuk Universitas Sumatera Utara jb fotodioda1, jnb fotodioda1, acall tutup_palangmasuk setb p1.0 acall delay acall delay acall delay clr p1.0 sjmp utama buka_palangmasuk: mov p3,0 mov r1,13 tarik: setb p3.7 acall delay clr p3.7 setb p3.6 acall delay setb p3.5 clr p3.6 acall delay setb p3.4 Universitas Sumatera Utara clr p3.5 acall delay clr p3.4 djnz r1,tarik ret tutup_palangmasuk: mov p3,0 mov r1,13 sjmp itung refles: acall silahkan mon: setb p3.4 acall delay clr p3.4 setb p3.5 acall delay setb p3.6 clr p3.5 acall delay setb p3.7 clr p3.6 acall delay Universitas Sumatera Utara clr p3.7 djnz r1,mon ret itung: inc r4 cjne r4,12,refles mov r4,0 inc r6 sjmp refles tutup_palangkeluar: mov p3,0 mov r1,12 kanan: setb p3.0 acall delay setb p3.1 clr p3.0 acall delay setb p3.2 clr p3.1 acall delay setb p3.3 Universitas Sumatera Utara clr p3.2 acall delay clr p3.3 djnz r1,kanan ret buka_palangkeluar: mov p3,0 mov r1,13 setb p1.2 acall delay jnb p1.3, clr p1.2 kiri: setb p3.3 acall delay setb p3.2 clr p3.3 acall delay setb p3.1 clr p3.2 acall delay setb p3.0 Universitas Sumatera Utara clr p3.1 acall delay clr p3.0 djnz r1,kiri ret delaymin: mov r2,0ffh deli: mov r3,05h djnz r3, djnz r2,deli ret delay: mov r7,08h de: ACALL delaymin djnz r7,de ret konversi: cjne r5,0,satu Universitas Sumatera Utara mov r5,0 ret satu: cjne r5,1,dua mov r5,1 ret dua: cjne r5,2,tiga mov r5,2 ret tiga: cjne r5,3,empat mov r5,3 ret empat: cjne r5,4,lima mov r5,4 ret lima: cjne r5,5,enam mov r5,5 ret enam: cjne r5,6,tujuh Universitas Sumatera Utara mov r5,6 ret tujuh: cjne r5,7,lapan mov r5,7 ret lapan: cjne r5,8,sembilan mov r5,8 ret sembilan: cjne r5,9,anti_error mov r5,9 ret anti_error: ret silahkan: mov a,r4 mov r5,a acall konversi mov 20h,r5 Universitas Sumatera Utara mov a,r6 mov r5,a acall konversi mov 21h,r5 MOV A,038H LCALL SCAN ACALL PENAMPIL ACALL SCAN MOV A,J ACALL KIRIM MOV A,L ACALL KIRIM mOV A,H ACALL KIRIM MOV A, ACALL KIRIM MOV A,M ACALL KIRIM MOV A,A ACALL KIRIM MOV A,K ACALL KIRIM MOV A,S Universitas Sumatera Utara ACALL KIRIM MOV A, ACALL KIRIM MOV A,: ACALL KIRIM MOV A, ACALL KIRIM MOV A,1 ACALL KIRIM MOV A,0 ACALL KIRIM MOV A,0c0H LCALL SCAN MOV A,J ACALL KIRIM MOV A,L ACALL KIRIM MOV A,H ACALL KIRIM MOV A, ACALL KIRIM MOV A,M ACALL KIRIM Universitas Sumatera Utara MOV A,B ACALL KIRIM MOV A,L acall KIRIM MOV A, MOV A,M acall KIRIM MOV A,S ACALL KIRIM MOV A,K ACALL KIRIM MOV A, ACALL KIRIM MOV A,: ACALL KIRIM MOV A, ACALL KIRIM MOV A,21h ACALL KIRIM MOV A,20h ACALL KIRIM RET silahkankeluar: MOV A,038H LCALL SCAN Universitas Sumatera Utara ACALL PENAMPIL ACALL SCAN MOV A,T ACALL KIRIM MOV A,E ACALL KIRIM mOV A,R ACALL KIRIM MOV A,I ACALL KIRIM MOV A,M ACALL KIRIM MOV A,A ACALL KIRIM MOV A,K ACALL KIRIM MOV A,A ACALL KIRIM MOV A,S ACALL KIRIM MOV A,I ACALL KIRIM MOV A,H ACALL KIRIM Universitas Sumatera Utara MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A,0c0H LCALL SCAN MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, acall KIRIM MOV A, MOV A, acall KIRIM Universitas Sumatera Utara MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM MOV A, ACALL KIRIM RET PENAMPIL: MOV A,00CH LCALL SCAN MOV A,006H LCALL SCAN MOV A,080H LCALL SCAN RET Universitas Sumatera Utara SCAN: MOV P0,A CLR RS CLR RW SETB EN CLR EN LCALL delaymin RET KIRIM: MOV P0,A SETB RS CLR RW SETB EN CLR EN LCALL delaymin RET end Universitas Sumatera Utara BAB 4 PENGUJIAN RANGKAIAN DAN ANALISA

4.1 Pengujian Rangkaian