
为提升楼宇出入安全,本文设计了一套以 iButton 为身份载体的门禁控制系统,结合单片机实现身份识别、时间记录与门禁开锁等功能。选用具有独特64位序列号的 iButton 作为身份信息载体,结合串行时钟芯片和可编程存储器,能够在出入口通道实现快速、稳定的身份验证与日志记录,确保楼宇安全并便于运维。
2 硬件设计
系统总体架构由电源、单片机、身份识别模块、时钟模块、数据存储模块、显示模块及电控锁继电器等组成,核心部件包括:
- 身份识别模块:采用 DS1990A(iButton)作为身份信息存储介质,采用独特的64位序列号yy易游。通信为单线协议,接口仅需一条数据线与地线,具备抗干扰能力、结构简单、成本低等优点。DS1990A 与单片机的接口通过一根数据线与上拉电阻实现数据读写。
- 实时时钟模块:选用 DS1302 实时钟芯片,通过简单的三线接口与单片机通信,提供年-月-日-时-分-秒级时间信息,便于准确记录人员进出时间。
- 存储模块:AT24C02 256×8 位 E2PROM,采用 I2C 总线接口,与单片机连接便于存储已授权的 iButton 序列号及进出时间等日志信息。工作电压宽、擦写次数多、写入速度快、抗干扰能力强,体积小且易于维护。
- 显示模块:液晶显示器 LCD1602,显示两行共16个字符,供电5V,通过简单的指令/数据接口与单片机通信,用于实时显示系统状态、时间、身份信息等。
- 电控锁继电器:通过继电器控制门锁的开合,配合蜂鸣器提供音响提示,提升使用体验与安全性。
- 其他:为保持稳定性,系统在关键接口处设计了必要的上拉电阻与保护电路,确保信号在低功耗下的可靠性。
3 软件设计
单片机软件采用模块化设计,核心功能包括初始化、身份识别、时钟管理、存储记录、显示显示及门控控制。主要模块及实现思路如下:
3.1 身份识别模块
- 轮询 DS1990A,发送复位脉冲,唤醒总线;若设备在线,发送读取 ROM 的命令,读取 8 字节的唯一序列号。
- 将读出的序列号与存储在 AT24C02 中的授权序列号逐条对比,若一致,认定为合法用户;显示“欢迎使用”,记录进出时间并开启电锁,蜂鸣器发出有效提示音。
- 若未找到匹配项,显示未登记信息,蜂鸣器发出无效提示音,门锁保持关闭状态。
3.2 时钟模块
- 通过位操作实现 DS1302 的读写驱动,数据与地址以从低位开始传输。提供向指定地址写入数据、从指定地址读取数据的函数。
- 实现设置初始时间与读取当前时间的功能,为进出记录提供时间戳,并可在界面上显示当前时间。
3.3 存储模块
- AT24C02 的 I2C 读写通过标准的起始位、停止位、应答位实现。包括写入授权序列号、读取存储区中的序列号集合并进行比对、以及写入进出时间等日志信息。
- 针对 I2C 总线的开漏输出特性,适当在 SDA、SCL 引脚上加入上拉电阻,确保通信稳定性。
3.4 显示模块
- LCD1602 显示当前工作状态:待机时显示当前时间,进出时显示身份提示信息和卡号等。对门禁操作、错误信息进行实时提示,提升系统可用性。
3.5 门控与日志
- 成功识别后,触发门锁继电器打开门,并将识别信息与时间数据写入存储区形成日志,便于后续安防审计与维护。
4 结论
该门禁系统架构简单、成本低、可靠性高,单片机实现的模块化设计便于后续维护和功能扩展。将 iButton 身份载体、DS1302 实时钟、AT24C02 存储以及 LCD1602 显示整合于一体,能够在学生宿舍、办公区、库房等场景中实现高效、稳定的门禁控制与日志管理,提升楼宇安防水平并降低运维成本。