当前位置:首页 > proteus基于8086的电子密码锁技术报告
寿命长。使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
3.2 程序流程图设计
位数+1
Y
N
密码的输入与判定
初始化 更改密码 按数字按钮 确定 换位 位数=4 N 重新输入 显示 判定 E R R O Y * Y E S 开锁
图3-1密码的输入与判定
7
位数+1
密码的更改
更改密码 按数字按钮 确定 换位 位数=4 N 重新输入 显示 判定 E R R O Y * Y E S 开锁
图3-2 密码的更改
8
Y
N
3.3 按键控制
(1)、控制字
给8255A输入端口控制字: void fun82531() {
__asm {
mov dx, 0x8006 mov al, 0x37 out dx, al }
outp(GATE0,0x02); outp(GATE0,0x00); }
void fun82532() { __asm {
mov dx, 0x8006 mov al, 0x77 out dx, al }
outp(GATE0,0x99); outp(GATE0,0x99); }
9
(2)、密码键入控制
整个过程中主要是对是否有按键信息输入进行扫描判断,并将所得信息与灯管编号进行比对,确定所选择要键入数字的灯管。当目前的灯管数字被选出后,自动跳到下一个灯管,直到四位数字全部选择完毕。
3.4 字符动态显示
四位密码选出后,显示四位选定数字,然后检测密码正确性,8255A通过端口A、B、C读取指令,根据检测结果,密码正确则输出代码显示*YES,错误则显示ERRO。
见附录:检测密码正确性
更改密码,键入“更改密码”控制字后,与输入密码的流程相同,先选择灯管,待选定数字后跳至下一个,直到四位数字全部选定,然后键入“确认更改”指令,则密码更改成功。
见附录:密码更改
第4章系统实现
4.1 proteus仿真实验
10
共分享92篇相关文档