本实验采用STC89C51单片机设计并实现一款简易密码锁系统。通过编程设置特定密码,用户输入正确密码后,可以控制LED灯或继电器等执行解锁动作。
密码锁实验
硬件:单片机实验板
文件名:st4505.asm
日期:2008-12-10
版本号:1.1
作者:qhm
描述:
本实验中的密码锁有两个密码,一个是设计密码(固定为 1111),存储在ROM中;另一个是使用密码,存于EEPROM中。
输入的密码由4位数字组成,超出4位时以最后四位为准。有效范围是从1到6之间的任意四个数字。
本实验板上K1至K6键代表从1到6的数字按键,而K7和K8则作为命令按钮使用:其中 K7 为设置新密码用;K8 则用于开锁操作。蜂鸣器将被用来指示成功解锁。
开机后系统进入初始状态,此时显示器显示“- - - -”,且最高位闪烁以表明当前输入的数字位置。每次输入一个有效数字之后,闪动的位置会向右移动一位。
在初始状态下,用户可以通过按下K1至K6键来依次输入密码,在完成后按 K8 键尝试开锁。如果最后四位与EEPROM中存储的使用密码匹配或与预设的设计密码相符合,则蜂鸣器将发出声音以示解锁成功,并保持30秒后自动关闭并停止发声。
在开锁状态下,用户可以通过K1至K6键输入新的4位数字来设置新密码。若超过四位则取最后四位作为有效密码;完成后按 K7 键即可保存新密码到EEPROM中,并且新设定的密码会闪烁三下以示确认修改成功后自动返回初始状态。
如果不在开锁状态下或在开锁时输入不足4位数字,按下K7键将无效并直接回到初始状态。