用74LS138控制位循环显示,其逻辑功能表如表3.3:
表3.3 74LS138逻辑功能表 C 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 Y1 0 1 1 1 1 1 1 1 Y2 1 0 1 1 1 1 1 1 Y0 1 1 0 1 1 1 1 1 Y3 1 1 1 0 1 1 1 1 Y4 1 1 1 1 0 1 1 1 Y5 1 1 1 1 1 0 1 1 Y6 1 1 1 1 1 1 0 1 Y7 1 1 1 1 1 1 0 3.3 开锁电路
在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如3.3所示。当P2.0口输出低电平时,二极管发光,表示开锁。
8
图3.3 开锁电路
3.4报警电路
图3.4报警电路
报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂
9
鸣器工作时约需要100mA驱动电流。蜂鸣器电路如图3.4所示。当89C51的P2.1口输出为低电平时,蜂鸣器产生蜂鸣音,89C51输出为高电平时,蜂鸣器不发声。
10
第四章 软件设计
4.1软件设计思路
电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。
密码的设定,在此程序中密码是固定40H—45H 中,假设预设的密码为\共6位密码。
由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。
4.2 各子程序设计
1 键盘扫描子程序 键盘扫描流程图如图4.2.1
11
图4.2.1 键盘扫描流程图
键盘扫描子程序如下: L2: MOV R3,#0F7H MOV R1,#00H L3: MOV A,R3 MOV P1,A MOV A,P1 MOV R4,A SETB C
12