2021-08-18 21:21:36 索炜达电子 611
项目编号:E348
文件大小:14K
源码说明:带中文注释
开发环境:C编译器
简要概述:
本密码锁分为门外门内两部分。
采用红外遥控器输入,均设8位密码,0~9的数字密码有效,门内用户可以输入密码开锁,输入密码错误小于三次时,红灯闪烁两秒,当密码输入三次错误时,蜂鸣器报警5s,密码锁锁住5s,此时门内用户无法输入密码。
当用户输对密码后,(只有输入密码正确后才有此权限)可以按(0x46)键设置新密码,当输入的密码够8位时按下(EQ)键再次确认输入的新密码,若两次输入的密码相同则新密码设置成功,否则失败。而且当用户输入的新密码不够8位就按下(EQ)键时,系统直接提示新密码设置错误。(成功与失败都是绿灯亮,蜂鸣器报警)
门内用户还有时间显示权限,用户按下(0x47)键时,显示屏显示当前的时间。
门内用户还支持一键开锁功能,当用户输入(0x45)键时系统自动开锁,5s后恢复原始状态。
门外用户的权限相对简单,利用矩阵键盘输入8位密码,第11个键表示清除之前输入的一位密码,若一位密码都没输入就按下此键,系统提示用户还没有输入密码;第12个键表示密码输入完成,当用户输入的密码位数不够就按下此键时,系统提示用户输入的密码位数不够。
提示: 上述的0x47、0x45等值请自行对应红外遥控器的键值
安装Keil C51
STC12C5A60S2 单片机
EEPROM(AT24C02 2K容量即可)
红外遥控器以及传感器
蜂鸣器、LED灯若干
LCD1602液晶显示屏
DS1302时钟芯片
制作矩阵键盘独立按键若干
目录│文件列表:
└ Smart-Password-Lock
├ HEADER
│ │ AT24C02.h
│ │ Base.h
│ │ DS1302.h
│ │ Interrupt.h
│ │ Keyboard.h
│ │ LCD1602.h
│ └ LedAndBuzzer.h
├ MAIN
│ └ main.c
├ OUTPUT
│ │ At24c02.lst
│ │ DS1302.lst
│ │ Interrupt.lst
│ │ Keyboard.lst
│ │ LCD1602.lst
│ │ LedAndBuzzer.lst
│ │ main.lst
│ │ Password
│ │ Password.build_log.htm
│ │ Password.lnp
│ │ Password.M51
│ │ Password.plg
│ │ Password.uvgui.TeslaHua
│ │ Password.uvopt
│ │ Password.uvproj
│ │ Password_uvopt.bak
│ └ Password_uvproj.bak
└ SOURCE
│ At24c02.c
│ DS1302.c
│ Interrupt.c
│ Keyboard.c
│ LCD1602.c
└ LedAndBuzzer.c