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
mari gabung bersama kami di Aj0QQ*com x-)
BalasHapusBONUS CASHBACK 0.3% setiap senin
BONUS REFERAL 20% seumur hidup. ;-)