Senin, 10 November 2014

Coding program Sistem Keamanan Rumah Menggunakan Password dan Sensor Cahaya Berbasis Mikrokontroler AT89S51

#include <sfr51.inc>
Org 100h
Mov p1,#00h
Mov p0,#00h
Mov p2,#00h
Mov p3,#80h (Perintah standar pada pemograman mikrokontroler
sebagai penginisialisasian.)

Pilihan :
jb p2.1,step
jb p2.2,haha (Label pilihan port2.1 mendapatkan logika 1(5v) maka
melompat    ke label tutup apabila port2.1 mendapatkan logika 1(5v) maka
melompat ke label tutup.)

Buka:
jb p2.0,ent
jb p2.1,ente
mov p2,#00h
sjmp pil (Apabila port2.1 mendapatka logika 1(5v) maka akan melompat
ke label tutupii dan memberikan nilai port1 sebesar 01011111b melompat
ke label diam jika switch p0.0 tertekan (membuka pintu) dan apabila
switch belum tertekan maka program akan terus berulang (loop).)
step : jb p2.1,maju
acall delay
mov p1,#10h
mov p3,#80h
jb p0.1,maju
   sjmp pil (Melompat ke label ent apabila port2.1 mendapat logika1(5v)
   maka port1 akan mendapatkan nilai 10101111b, jika switch p0.2
   tertekan akan melompat ke label diam akan mendapat delay.)
maju :
mov p1,#10h
mov p3,#80h (Pada label maju ini port1 akan memberikan nilai
pada mikon lalu akan melakukan lompatan ke label step.)
jb p0.0,sun
jb p0.1,maju
jb p0.2,maju
   sjmp pil
(Apabila port2.1 mendapatkan logika 1(5v) maka akan melompat kelabel ent dan port1 akan memberikan nilai pada mikon jika benar akan melompat kelabel sun namun jika salah akan melompat kelabel pilihan.)
sun :
mov p1,#10h
mov p3,#80h
jb p0.1,aha
jb p0.0,sun
jb p0.2,sun
    sjmp sun
(Pada label diam1 ini jika port p2.1 mendapatkan logika 1 makan akan melompat kelabel tutupii dan akan membandingkan apabila   p2=ffh maka akan kelabel diam1 jika salah maka akan melompat kelabel pilihan.)
aha :
mov p1,#20h
mov p3,#80h
jb p0.2,enter
jb p0.1,aha
jb p0.2,aha
sjmp aha
   sjmp pil
ent : sjmp enter1
haha :
mov p1,#30h
mov p3,#81h
jb p0.2,hus
jb p0.1,haha
jb p0.2,haha
      sjmp pil
      pila:
      sjmp pil
ente: sjmp enter
hus :
     mov p1,#50h
     mov p3,#80h
     jb p0.1,beb
     jb p0.0,hus
     jb p0.2,hus
beb :
     jb p0.0,enter1
     mov p1,#40h
     jb p0.1,beb
     jb p0.2,beb
     sjmp beb
enter :
       mov p3,#80h
       mov p1,#08h
       acall delay
        acall delay
        mov p1,#00h
        mov p0,#00h
       mov p3,#80h
     sjmp pil  ( Pada label diam1 ini jika port p2.1 mendapatkan logika 1 makan akan melompat kelabel tutupii dan akan membandingkan apabila   p2=ffh maka akan kelabel diam1 jika salah maka akan melompat kelabel pilihan. )

enter1 :

        mov p3,#80h

ret (Pada bagian program delay ini hanya untuk mengulangi ke awal program.)

End: (Pada program ini untuk mengakhiri sebuah program.)

Tidak ada komentar:

Posting Komentar