标题: 关于基于与AT24C02和STC89C52的电子密码锁的几个问题,希望大神赐教,谢谢 [打印本页]
作者: 我叫路人8 时间: 2016-5-31 23:20
标题: 关于基于与AT24C02和STC89C52的电子密码锁的几个问题,希望大神赐教,谢谢
1、基于与AT24C02和STC89C52的电子密码锁,为什么不用STC89C52内部的EEPROM,而用AT24C02?
2、AT24C02是怎么和STC89C52连接的?为什么?
3、密码的位数由什么决定?AT24CO2吗?最多或最少是多少位密码?
请尽量详细,详细,详细,谢谢
作者: ahshmj 时间: 2016-6-1 21:38
根据你的提问,你基本上还没有入门,所以这里无论如何给你讲,都不可能讲的你明白。
作者: zl2168 时间: 2016-6-1 21:50
本帖最后由 zl2168 于 2016-6-2 15:37 编辑
实验28 电子密码锁.rar
(57.34 KB, 下载次数: 38)
先Proteus仿真一下,看看:按后文中的功能操作,真正的电子密码锁。盼挑刺、盼质疑、盼比较。不怕不识货,就怕货比货。
⑴ 电子密码锁电路设计
以上摘自张志良编著《80C51单片机实用教程》ISBN 978-7-04-044532-9,高教社出版。欢迎咨询,zzlls@126.com
作者: zl2168 时间: 2016-6-1 22:21
本帖最后由 zl2168 于 2016-6-2 15:23 编辑
⑵ 电子密码锁功能设计
作者: zl2168 时间: 2016-6-1 22:23
本帖最后由 zl2168 于 2016-6-1 22:42 编辑
⑶ 电子密码锁程序设计
以上摘自张志良编著《80C51单片机实用教程》ISBN978-7-04-044532-9,高教社出版。欢迎咨询,zzlls@126.com
作者: zl2168 时间: 2016-6-1 22:43
⑵ 电子密码锁功能设计
1)开机。闭锁灯VD0亮(红),表示闭锁;其余灯灭。
2)开锁。
① 按开锁键Open(键编号10),发按键嘟声,LCD1602第1行显示:inputpassword(输入密码)。
② 键入8位密码,1602第2行依次显示键入的8位隐形密码:********。每键入一位密码数字,发一次按键嘟声。
③ 8位密码输入完毕,按确认键Enter(键编号11)后,系统核对密码。
④ 若密码正确,1602第1行显示:password ok!(密码正确通过),闭锁灯VD0灭(红),开锁灯VD1亮(绿),表示已开锁。
⑤ 若键入密码中途发现键入有误,可按清除键Clear(键编号15)。按一次Clear键,已键入的隐形密码“*”退一格。
⑥ 若键入8位密码有误,1602第1行显示:error,try again(错,再输入一次),允许用户输错3次(有error1、error2、error3提示)。
⑦ 若连续4次输入错误,1602第1行显示:inputfail!(输入失败),并发出警车声,报警灯VD2(黄)闪烁,中间不能打断。
⑧ 开锁操作有时限,从按下开锁键后,60秒内未键入正确密码,声光报警。
⑨ 警车声停后,仍可正常操作(为便于验证操作演示,警车声频率升降循环3次,实用时可大大延长警车声时间,用作锁定功能)。
3)设置。
本例初始密码为12345678,由生产厂商在出厂前录入串行EPROM AT24C02,用户使用时,可设置新的密码;或者用户需要修改原用密码,前提是先用原有效密码打开密码锁。
① 按设置键Set(键编号12),1602第1行显示:input password(输入密码)。
② 先按开锁操作步骤和过程键入8位有效密码,密码验证正确后,1602第1行显示:password ok!(密码正确通过),第2行显示:set new password(设置新密码)。
③ 若不能键入原有效密码,则不能进入设置程序。并在第4次输入错误后,声光报警。
④ 系统提示设置新密码后,键入8位新密码,1602第2行依次显示键入的8位隐形密码:********。操作步骤和功能同开锁过程。
⑤ 按Enter键后,1602第1行显示:input again(再输入一遍)。
⑥ 再次输入第一次键入的8位新密码,按Enter键后,若二次密码相同,1602第1行显示:new password ok!(新密码设置完成)。
⑦ 若二次密码不相同,1602第1行显示:error,try again(错,再输入一次),允许用户输错2次(有error1、error2提示)。若第3次输入错误,1602第1行显示:input fail!(输入失败)。
⑧ 设置操作有时限,从按下设置键后,60秒内未键入正确密码,声光报警。
4)复位。用于用户忘记密码,无法开锁时,由生产厂商高级维修人员将密码锁初始化。因此,复位操作的功能需要保密和隐蔽,并不对用户和无关人员公开,以防被非法利用。
① 按复位键Reset(键编号14),1602及LED灯均无反应(对无关人员表示Reset键无作用),但若按下复位键后10秒内,不能进行正确的第二步操作,立刻声光报警。
② 正确的第二步操作是在10秒内,按下清除键Clear(键编号15)。
③ 正确的第三步操作是键入8位复位密码(81815151)。若依次键入密码中,有一位出错,1602第1行立刻显示:error,并声光报警。出错后,须再次按复位键Reset,才能重新进入复位操作。
④ 正确键入8位复位密码后,开锁灯VD1亮(绿),1602第1行显示:reset ok!(复位成功),第2行显示:12345678(初始密码)。
⑤ 复位操作进入第三步操作后,仍有时限要求,若30秒内未正确键入8位复位密码,声光报警。
5)关闭。用于上述几种操作完成后退出。
按闭锁键Close(键编号13),停显示、停嘟声、灭灯。但在进入上述4种键操作程序或报警过程中,按闭锁键无效,需待程序和报警执行完毕,才有效。
以上摘自张志良编著《80C51单片机实用教程》ISBN978-7-04-044532-9,高教社出版。欢迎咨询,zzlls@126.com
作者: zl2168 时间: 2016-6-1 22:48
本帖最后由 zl2168 于 2016-6-1 22:49 编辑
【例8-12】
按图8-27所示电子密码锁电路,设开机即接通电源,关机即关闭电源,fOSC=12MHz,试编程实现上述功能设计要求。
解:本例应用3个中断:INT0用于键闭合中断,T0用于警报声频率控制中断,T1用于50ms定时中断。
定时初值计算:T1初值=216-50000ms/1ms=65536–50000=15536=3CB0H
本例Keil C51调试和Proteus仿真见实验28。
作者: lijianbin 时间: 2019-11-24 19:45
进来学习的
作者: bh2030693 时间: 2019-11-24 21:53
1、基于与AT24C02和STC89C52的电子密码锁,为什么不用STC89C52内部的EEPROM,而用AT24C02?
2、AT24C02是怎么和STC89C52连接的?为什么?
3、密码的位数由什么决定?AT24CO2吗?最多或最少是多少位密码?
请尽量详细,详细,详细,谢谢 |
1. 我也是这么想的!内部外部都能用,用法稍有不同,有的是为了学习I2C总线编程选用24cxx。
2. 这个问题网络资源也很多,所以就不讲了,你只要搜索关键字就可以了。因为你需要先看飞利浦I2C协议。
3. 密码的位数由程序决定,可以编写任意位数,或一定范围内任意位数。
TA24c02的容量是有限,但这不是决定密码位数的原因,除非这个密码位数非常长,所以一般不是24c02决定的。
按照惯例,一般密码是6~8位,编程可以设定任意位数(在一定范围内),1位也行,但太少的话安全概率降低,100位也可以,不超出可用存储空间就可以,但是记忆和可操作难度增加,所以一般6~8位居多,这个也有概率论方面的原理,本人就讲不好了,你可以search...
作者: 千江水 时间: 2020-2-25 11:14
eeprom和at24c02 不是同一个东西吗?
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |