KUNCI PINTU DENGAN KATA SANDI BERBASIS MIKROKONTROLER IC AT89S52

 



KELOMPOK B4

1. Ilham Rahutama                       (3.32.19.1.11)
2. Ivan Jakeh Dwi Utomo               (3.32.19.1.12)           
3. Mei Melindawati                        (3.32.19.1.16)
4. Syahrendra Ario Bramantyo       (3.32.19.1.24)


INPUT     : KEYPAD
OUTPUT  : LCD


       Perkembangan teknologi yang ada pada saat ini membuat manusia semakin memacu kreativitas dalam berbagai hal misalnya pada sistem pengontrolan dan pengaturan  yang dapat dimanfaatkan untuk merancang sebuah sistem kunci pintu rumah, perkantoran atau brankas. Sistem kunci pintu pada saat ini masih menggunakan pengunci konvensional (kunci tuas). 

    Pengunci konvensional dirasa kurang praktis pada zaman perkembangan teknologi seperti sekarang ini, dimana pemilik rumah harus selalu membawa kunci ketika meninggalkan rumah tersebut dan terkadang pemilik rumah biasanya lupa bahkan bisa kehilangan kunci tersebut. 

    Untuk itu, kelompok kami membuat sistem kunci pintu yang dapat dikendalikan dengan menggunakan sistem mikrokontroler (AT89S52) yang dapat digunakan untuk mengontrol sistem kendali kunci pintu rumah, gedung atau brankas dengan menggunakan keypad dan kode password sebagai pengganti pengunci konvensional.


1. Presentasi Download File PPT































2. Program Download Program

RS EQU P2.7
RW EQU P2.6
E  EQU P2.5
SEL EQU 41H



ORG 000H 
CLR P2.0
MOV TMOD,#00100001B
MOV TH1,#253
MOV SCON,#50H
SETB TR1
ACALL LCD_INIT
MOV DPTR,#TEXT1
ACALL LCD_OUT
ACALL LINE2
MOV DPTR,#TEXT2
ACALL LCD_OUT



MAIN:ACALL LCD_INIT
     MOV DPTR,#TEXT1
     ACALL LCD_OUT
     ACALL LINE2
     MOV DPTR,#TEXT2
     CLR P2.0
     ACALL LCD_OUT
     ACALL DELAY1
     ACALL DELAY1
     ACALL READ_KEYPRESS
     ACALL LINE1 
     MOV DPTR,#CHKMSG
     ACALL LCD_OUT
     ACALL DELAY1
     ACALL CHECK_PASSWORD      
     SJMP MAIN

LCD_INIT: MOV DPTR,#INIT_COMMANDS
          SETB SEL
          ACALL LCD_OUT
          CLR SEL
          RET      

LCD_OUT:  CLR A
          MOVC A,@A+DPTR
          JZ EXIT
          INC DPTR
          JB SEL,CMD
          ACALL DATA_WRITE
          SJMP LCD_OUT
CMD:      ACALL CMD_WRITE 
          SJMP LCD_OUT
EXIT:   RET          

LINE2: MOV A,#0C0H 
       ACALL CMD_WRITE
       RET   
      
LINE1: MOV A,#80H    
   ACALL CMD_WRITE
       RET

CLRSCR: MOV A,#01H
    ACALL CMD_WRITE
        RET

CMD_WRITE: MOV P0,A
       CLR RS
     CLR RW
     SETB E
     CLR E
     ACALL DELAY
       RET

DATA_WRITE: MOV P0,A
        SETB RS
    CLR RW
    SETB E
    CLR E
    ACALL DELAY
    RET

DELAY: CLR E
       CLR RS
     SETB RW
     MOV P0,#0FFh
     SETB E
     MOV A,P0
       JB ACC.7,DELAY
     CLR E
       CLR RW
       RET
    
DELAY1: MOV R3,#46
BACK:  MOV TH0,#00000000B   
       MOV TL0,#00000000B   
       SETB TR0             
HERE1: JNB TF0,HERE1         
       CLR TR0             
       CLR TF0             
       DJNZ R3,BACK
       RET
       
DELAY2: MOV R3,#250
BACK2:  MOV TH0,#0FCH 
        MOV TL0,#018H 
        SETB TR0 
HERE2:  JNB TF0,HERE2 
        CLR TR0 
        CLR TF0 
        DJNZ R3,BACK2
        RET       


READ_KEYPRESS: ACALL CLRSCR
   ACALL LINE1
   MOV DPTR,#IPMSG
   ACALL LCD_OUT
   ACALL LINE2
   MOV R0,#5
   MOV R1,#160
ROTATE: ACALL KEY_SCAN
MOV @R1,A
ACALL DATA_WRITE
ACALL DELAY2
INC R1
DJNZ R0,ROTATE
RET



CHECK_PASSWORD: MOV R0,#5
MOV R1,#160
MOV DPTR,#PASSW 
RPT: CLR A
MOVC A,@A+DPTR
XRL A,@R1
JNZ FAIL
INC R1
INC DPTR
DJNZ R0,RPT
ACALL CLRSCR
ACALL LINE1
MOV DPTR,#TEXT_S1
ACALL LCD_OUT
ACALL LINE2
ACALL DELAY1
SETB P2.0
MOV DPTR,#TEXT_S2
ACALL LCD_OUT
ACALL DELAY1
SJMP GOBACK
FAIL: ACALL CLRSCR 
  ACALL LINE1
  MOV DPTR,#TEXT_F1
  ACALL LCD_OUT
  ACALL DELAY1
  ACALL LINE2
  MOV DPTR,#TEXT_F2
  ACALL LCD_OUT
  ACALL DELAY1
GOBACK: RET



KEY_SCAN: MOV P3,#11111111B 
          CLR P3.0 
  JB P3.4, NEXT1 
  MOV A,#49
  RET

NEXT1: JB P3.5,NEXT2
   MOV A,#50
       RET
NEXT2: JB P3.6,NEXT3
   MOV A,#51
   RET
NEXT3: JB P3.7,NEXT4
   MOV A,#65
   RET
NEXT4: SETB P3.0
   CLR P3.1 
   JB P3.4, NEXT5 
   MOV A,#52
   RET
NEXT5: JB P3.5,NEXT6
   MOV A,#53
   RET
NEXT6: JB P3.6,NEXT7
   MOV A,#54
   RET
NEXT7: JB P3.7,NEXT8
   MOV A,#66
   RET
NEXT8: SETB P3.1
   CLR P3.2
   JB P3.4, NEXT9 
   MOV A,#55
   RET
NEXT9: JB P3.5,NEXT10
   MOV A,#56
   RET
NEXT10: JB P3.6,NEXT11
MOV A,#57
RET
NEXT11: JB P3.7,NEXT12
MOV A,#67
RET
NEXT12: SETB P3.2
CLR P3.3
JB P3.4, NEXT13 
MOV A,#42
RET
NEXT13: JB P3.5,NEXT14
MOV A,#48
RET
NEXT14: JB P3.6,NEXT15
MOV A,#35
RET
NEXT15: JB P3.7,NEXT16
MOV A,#68
RET
NEXT16: LJMP KEY_SCAN

INIT_COMMANDS:  DB 0CH,01H,06H,80H,3CH  

TEXT1: DB "FATIH YILDIRIM"
TEXT2: DB "0"
IPMSG: DB "INPUT 5 DIGITS"
CHKMSG: DB "CHECKING PASSWORD"
TEXT_S1: DB "0"
TEXT_S2: DB "0"
TEXT_F1: DB "BOLME HATASI"
TEXT_F2: DB "BOLME HATASI"
PASSW: DB 49,50,51,52,53
END

3. Video Simulasi Lihat Video















    





Subscribe to receive free email updates:

1 Response to "KUNCI PINTU DENGAN KATA SANDI BERBASIS MIKROKONTROLER IC AT89S52"

  1. mari gabung bersama kami di Aj0QQ*com x-)
    BONUS CASHBACK 0.3% setiap senin
    BONUS REFERAL 20% seumur hidup. ;-)

    BalasHapus