最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

门禁系统设计

来源:动视网 责编:小OO 时间:2025-09-28 14:00:27
文档

门禁系统设计

门禁系统设计设计内容:1.门禁系统的硬件设计;2.门禁系统的软件设计。设计目标:1.通过RFID技术,验证射频门禁卡的合法性,控制电子门锁的开启;2.门禁卡信息进行管理。系统功能:1.卡片的使用模式:采用13.56MHz非接触式物联网射频卡;2.刷卡开门:用户进入门禁管制区域时需刷卡,读卡器读取信息后,将信息传输到主机,主机首先判断信息是否合法,如合法则发出开门指令,不合法则发出报警,同时记录用户刷卡事件;3.管理控制;对控制器的记录进行收集管理,可增加、删除、更新用户信息;4.记录存储;系统
推荐度:
导读门禁系统设计设计内容:1.门禁系统的硬件设计;2.门禁系统的软件设计。设计目标:1.通过RFID技术,验证射频门禁卡的合法性,控制电子门锁的开启;2.门禁卡信息进行管理。系统功能:1.卡片的使用模式:采用13.56MHz非接触式物联网射频卡;2.刷卡开门:用户进入门禁管制区域时需刷卡,读卡器读取信息后,将信息传输到主机,主机首先判断信息是否合法,如合法则发出开门指令,不合法则发出报警,同时记录用户刷卡事件;3.管理控制;对控制器的记录进行收集管理,可增加、删除、更新用户信息;4.记录存储;系统
门禁系统设计

设计内容:

1.门禁系统的硬件设计;

2.门禁系统的软件设计。

设计目标:

1.通过RFID技术,验证射频门禁卡的合法性,控制电子门锁的开启;

2.门禁卡信息进行管理。

系统功能:

1.卡片的使用模式:采用13.56MHz非接触式物联网射频卡;

2.刷卡开门:用户进入门禁管制区域时需刷卡,读卡器读取信息后,将信息传输到主机,主机首先判断信息是否合法,如合法则发出开门指令,不合法则发出报警,同时记录用户刷卡事件;

3.管理控制;对控制器的记录进行收集管理,可增加、删除、更新用户信息;

4.记录存储;系统可将门禁控制器运行产生的所有用户刷卡事件、报警时间等进行记录;

5.报警功能:如发生控制器异常、非法卡开门等事件时系统发出报警信号。

门禁系统设计框图

读卡器:读射频卡信息。

按键模块:注册通行卡。

按下设置键,把工作模式切换到注册模式后,刷卡并显示卡号自动注册。注册完成后液晶显示注册完成。再次刷这张IC卡时,就能开门。

注销通行卡(清除存储器的卡号数据)

 按下设置键,把工作模式切换到注销模式后,刷卡并显示自动注销,就把存储里保存的卡号数据清除。清除数据后,IC卡已经处于注销状态

一.硬件设计内容(系统硬件电路图设计)

1.各模块选用的硬件介绍

刷卡模块、单片机模块、继电器模块、按键模块以及蜂鸣器模块组成。其用高频读卡器模块FM1702,能读写荷兰Philips公司的Mifare非接触式射频卡,读卡距离约10cm。控制模块采用STCC52单片机,它具有8K可编程 Flash 存储器。单片机与读卡器通信是采用SPI通信。

1.1 STCC52单片机介绍

控制的核心选用STCC52。其主要性能如下:

1. STCC52单片机与MCS-51单片机产品能够兼容 

2. 在系统内可编程Flash存储器8K字节

3.擦写周期可达到100000次

4.程序存储器可做到三级加密

5.可编程I/O口线数量达到32个 

6.总共有三个16位计数器 

7.中断源的数目达到了8个 

8.单片机具有全双工UART串行通道 

9.不启动是能耗低 

10.停电以后中断可复位

(1)功能特性描述 

该STCC52单片机作为低功耗、高性能CMOS的8位微控制器,系统可编程 Flash 存储器拥有8K。运用Atmel 公司独特的高密度难丢失存储器技术制造,与工业 上的80C51 产品说明可以和引脚完全的兼容。单片机上Flash做到程序存储器在系统中可以编程,大众化编程器也可进行编程。在单片机的芯片上,有 8 位 CPU 和在系统可编程Flash,做到了 STCC52为众多嵌入式控制应用系统提供高灵活、极为有效的的解决方案。  

(2)引脚图如下:

图1.1 STCC52引脚图

(3)引脚介绍:

VCC :接电源 

GND:接地 

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时, P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。 在 flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 

P1 口:P1 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p1 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX) ,具体如下表所示。 在flash编程和校

验时,P1口接收低8位地址字节。

表1.1 P0口第二功能

引脚第2功能

P1.0T2(定时器/计数器T2的外部计数输入) ,时钟输出 

P1.1 P1.1  T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5 MOSI(在系统编程用)

P1.6 MISO(在系统编程用)

P1.7 SCK(在系统编程用)

P2 口:P2 口是一个具有内部上拉电阻的 8 位双向 I/O 口,P2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。在访问外部程序存储器或用16位地址读取外部数据存储器 (例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送 1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 

P3 口:P3 口是一个具有内部上拉电阻的 8 位双向 I/O 口,p2 输出缓冲器能驱动 4 个TTL 逻辑电平。对 P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL) 。P3口亦作为ATS52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。

表1.2 P3口第二功能

引脚第2功能

P3.0 RXD   (串行口输入端)

P3.1 TXD  (串行口输出端)

P3.2  (外部中断0请求输入端,低电平有效)

P3.3   (外部中断1请求输入端,低电平有效)

表1.3 P3口第二功能

引脚第2功能

P3.4  T0   (定时器/计数器0计数脉冲输入端)

P3.5T1   (定时器/计数器1计数脉冲输入端)

P3.6  (外部数据存储器写选通信号输出端,低电平有效)

P3.7  (外部数据存储器读选通信号输出端,低电平有效)

RST: 复位输入。晶振工作时,RST脚持续2 个机器周期高电平将使单片机复位。看门狗计时完成后,RST 脚输出 96 个晶振周期的高电平。特殊寄存器 AUXR(地址 8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。 

ALE/PROG:地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低 8 位地址的输出脉冲。在flash编程时,此引脚(PROG)也用作编程输入脉冲。在一般情况下,ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或

时钟使用。然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。 

如果需要,通过将地址为8EH的SFR的第0位置  “1”, ALE操作将无效。 这一位置  “1”,ALE仅在执行 MOVX 或MOVC指令时有效。否则,ALE将被微弱拉高。这个 ALE使能标志位 (地址为8EH的SFR的第0位) 的设置对微控制器处于外部执行模式下无效。  

PSEN:外部程序存储器选通信号(PSEN)是外部程序存储器选通信号。 当 ATS52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。 EA/VPP:访问外部程序存储器控制信号。为使能从0000H 到FFFFH的外部程序存储器读取指令,EA必须接GND。 为了执行内部程序指令,EA应该接VCC。在flash编程期间,EA也接收12伏VPP电压。 

XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 

XTAL2:振荡器反相放大器的输出端。

1.2 FM1702高频读卡器模块介绍

 

性能参数:

1、 输入电压:5~5.5V 

2、 输入电流:刷卡电流<25mA 

3、 通讯方式:SPI

4、 有效刷卡高度:3-10cm(视天线、卡和周围环境而不同) 

5、 使用环境:-25~70 摄氏度

6、 尺寸:95.8*54.3 (单位:mm) 

1.3 Mifare射频卡介绍

本设计中采用的射频卡为Mifare射频卡,其核心是PHILIPS公司的Mifare1IC S50系列微芯片。卡片上无源,工作时的电源能量由卡片读写器天线发送无线电载波信号祸合到卡片上天线而产生电能,一般可达2V以上,供卡片上IC工作。工作频率13.56MHZ。

Mifare的主要指标

容量为8K位EEPROM

分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位

每个扇区有的一组密码及访问控制

每张卡有唯一序列号,为32位

具有防冲突机制,支持多卡操作

无电源,自带天线,内含加密控制逻辑和通讯逻辑电路

数据保存期为10年,可改写10万次,读无限次

工作频率:13.56MHZ

通信速率:106KBPS

读写距离:10mm以内(与读写器有关)

(1)卡与读写器的通讯

①复位应答 Mifare卡的通讯协议和通讯波特率是定义好的,当有卡片进入读写器的操作范围时,读写器以特定的协议与它通讯,从而确定该卡是否为M1射频卡,即验证卡片的卡型。

②防冲突机制 当有多张卡进入读写器操作范围时,防冲突机制会从其中选择一张进行操作,未选中的则处于空闲模式等待下一次选卡,该过程会返回被选卡的序列号。

③选择卡片 选择被选中的卡的序列号,并同时返回卡的容量代码。

④三次互相确认 选定要处理的卡片之后,读写器就确定要访问的扇区号,并对该扇区密码进行密码校验,在三次相互认证之后就可以通过加密流进行通讯。(在选择另一扇区时,则必须进行另一扇区密码校验。)

(2)系统的工作方式为:

STCC52控制FM1702,驱动天线对Mifare卡进行读写操作;然后根据所得的数据对其他接口器件,如和上位PC机之间进行通信,把数据传给上位机。与上位机的通信采用RS485通信模块,通信距离能够达到1200米左右。整个系统由5V电源供电。

(3)工作原理:

系统数据存储在无源Mifare中。读写器的主要任务是传输能量给Mifare卡,并建立与之的通信。单片机控制MF RC500,将其接收到的信号通过RS485传送给上位PC机。然后等待上位机传回的信号,确定是否控制执行器开门,还是报警。

2 STCC52的电路连接

本系统中, STCC52电路连接图如下图2.2所示,采用SPI通信方式进行连接,与FM1702模块芯片的数据总线相连。P0口的一部分端口线与FM1702sl芯片的控制总线相连,在电源和地之间加上一个排阻,上电如果初始化成功,则提示可以刷卡,如初始化失败,则一直停留在初始化界面。

    图2.2刷卡模块接口原理图

图2.3  STCC52接线图

3  LCD128液晶显示屏的介绍

LCD128液晶显示屏是带中文字库的128X 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为128×, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4 行16×16 点 阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶 显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。

3.1显示屏模块模块连接电路图

图3.4显示屏模块连接图

单片机与显示屏的接口电路部分:液晶显示屏的数据接口线与单片机的P1口相连,P0.0,P0.1,P0.2用于使能和控制对液晶屏的读写等操作。

4 AT 24C02介绍

AT24C02是低电压工作的2K位串行电可擦除制度存储器,内部组织为256个字节,每个字节8位,该芯片被广泛应用于低电压及低消耗的工商业领域。

4.1AT 24C02存储模块模块连接电路图

图3.7存储器模块接口原理图

4.2 主要特性:

1.工作电压:1.8V~5.5V  2.输入/输出引脚兼容5V  3.应用在内部结构:128x8(1K),256x8(2K),512x8(4K),1024x8(8K),2048x8(16K)  4.二线串行接口  5.输入引脚经施密特触发器滤波抑制噪声  6.双向数据传输协议  7.兼容400KHz(1.8V,2.5V,2.7V,3.6V)  8.支持硬件写保护   9.高可靠性:读写次数:1,000,000次

极限额定参数:

 引脚定义:

表3.4引脚定义

引脚名称引脚功能
A0-A2器件地址输入
SDA串行数据输入输出
SCL串行时钟输入
WP写保护
VCC电源
GND
引脚描述:

  串行时钟信号引脚(SCL):在SCL输入时钟信号的上升沿将数据送入EEPROM器件,并在时钟的下降沿将数据读出。

串行数据输入/输出引脚(SDA):引脚可实现双向串行数据传输。该引脚为开漏输出,可与其他多个开漏输出器件或开集电极器件线或链接。

器件/页 地址脚(A2,A1,A0):A2,A1和A0引脚为AT24C02的硬件地址输入引脚,在一个总线上最一个总线上最多可寻址八个2K器件,A2,A1和A0必须内部链接。

写保护(WP)引脚:AT24C02具有用于硬件数据写保护功能的引脚。当该引脚接GND时,允许正常的读写操作,当该引脚接VCC时,芯片启动写保护功能。

5电子锁控制

电子锁控制采用9012三极管驱动5V继电器,单片机的输出OUT通过9012三极管驱动继电器, 继电器的输出直接接继电器线圈的一端,线圈的另一端接GND。继电器的公共点和长开点分别接电子锁的两跟控制线由于电子锁的开关是靠两根控制线是否连通来控制的,当两根控制线接在一起时就开门,反之如果两根控制线断开就锁门。因此当单片机的输出端输出高电平时三极管倒通,9012的输入端为低电平,由于9012在这电路中起到开关作用,因此9012输出为高电平。此时继电器线圈上有电流流过,继电器吸合,电子锁的两根控制线接通,电子锁开门。反之,如果单片机输出高电平三极管不倒通, 9012三极管的输出为低电平,因此继电器线圈没电路,继电器不动作,电子锁的控制线保持断开,电子锁锁门。电路图如下:

图3.8 继电器模块电路

6报警电路

报警电路有一个直流蜂鸣器和9012三极管构成,电路图如图所示。图中Alarm为单片机的P2.4脚,当需要蜂鸣器报警时只需要将单片机的P2.4管脚置为高电平,三极管倒通,电流从+5V电源经过蜂鸣器和三极管的CE极流向地,蜂鸣器有电流流过则发声报警。当单片机P2.4管脚为低电平时,三极管截止,没有电流从蜂鸣器流过,蜂鸣器停止发声,因此通过控制单片机P2.4管脚的高电平时间就可以控制缝鸣器的报警时间。

图3.9蜂鸣器模块

7射频卡读卡器块的复位电路

射频卡读卡器块的采用了按键复位电路, 当系统发生故障,可通过按下复位按键,系统将复位,让系统重新初始化运行。

图3.10单片机复位模块

8按键模块

射频卡读卡器在系统初始化后进入工作模式,通过按键来切换各种模式。工作模式按下K1即进入注册模式,再次按下K1进入注册模式,接着按K1循环到工作模式。

图3.11 按键模块

9LED显示模块

图3.12LCD显示模块

射频卡读卡器工作模式下刷卡,当PowerLed为低电平D1亮,则表示刷卡成功此卡为合法卡允许进入。当LED为低电平时D2亮,说明此是所刷的卡编号并未存储在存储器中进入报警状态。

二.射频卡读卡器的软件设计

现在单片机编程使用的语言大多为汇编语言和C语言。运用汇编语言编程的好处是代码生成效率高,程序运行速度快;不足是程序的可读性和可移植性比较差,用汇编语言编写单片机应用系统程序的周期长,调试和排错相当困难。C语言是一种通用的计算机程序设计语言,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序,用它编写的程序,具有较好的可读性和可移植性。所以在本设计中运用C语言进行射频卡读卡器程序设计。

1系统流程及主程序介绍    

系统工作是按固定顺序执行的,主要流程如图

系统工作流程图

2读卡器

读卡器主程序内用要完成系统初始化,读卡器和高频频FM1702模块的中断处理程序,以及与PC机通信中断处理程序等操作.

3读卡过程及程序设计介绍

读卡器软件编程来进行对射频卡的一系列操作,主要有:防冲突程序、卡片的读写程序以及对卡片数据块的操作等。读卡程序的设计思路是在系统初始化后,射频场检测有Mifare1卡进入射频天线的有效范围,读卡程序按顷序启动防冲突程序和认证程序,验证成功后最后操作卡片读写程序。程序流程图见图所示,下面介绍其中的几个主要过程。

3.1寻卡过程

Mifare1卡是一种以被动方式工作的卡,进入射频区的Mifare1卡上电后进入IDLE状态,它通过吸收感应区内的磁场能量进行工作,不会主动发出信号。读卡器必须不间断地向外发出请求信号,符合条件的卡只有在接收到请求信号之后才会进行响。程序中用Mf500ComReq()函数不断向外循环发请求信号,检查感应区是否有符合条件的卡,一旦有符合条件的卡进入并被选中,程序退出循环请求过程,进入防冲突过程。Request std指令分为和Request all两个指令。Request al指令的功能是在天线范围内检查所有符合条件的卡,无论是处于IDLE状态还HALT状态的卡,都会响应。Request std指令只对天线范围内处于IDLE状态的卡有效,对HALT状态的卡无效。考虑到至少有两张卡同时进入感应区的可能,设计中采用Request all指令, Mf500ComReq()函数主要代码及相关注释见附录。

3.2防冲突

所谓防冲突又叫防碰撞、防重叠,就是从多张进入感应区的卡中选出一张来进行操作。如果只有一张进入感应区,并且已经知道了卡的序列号(SN),则可跳过此步,直接进入选卡命令,若不知道卡的序列号,则必须调用防冲突函数mF500CascAnticoll(),以得到感应区内卡的序列号。若同时有多张卡在感应区内,防冲突函数能够选择其中的一张卡并得到其序列号。

防冲突指令只是获得一张Mifare 1卡的序列号,并没有真正选中这张卡。选中卡应由Select(见下一步)指令完成。SN为40位长5个字节,实际有意义的只有前4个字节,最后一个字节是SN的异或校验的校验码,在获得SN之后,一般应在程序中对所接收到的SN进行校验,以确保数据的正确性。mF500CascAnticoll()函数主要代码及相关注释见附录。

3.3选择卡片

选择卡片就是根据已知的序列号读出卡的容量编码(一字节)。只有经过这一步骤后才算真正选中了一张卡,以后的操作都对这张卡进行。选择卡片指令是很重要的,而且必须首先被使用,因为卡片只有先被选中了,然后才能进行读、写等操作。选择卡片过程是通过Mf500CascSelect()函数实现的,其主要程序代码及相关注释见附录。

3.4读取卡片

如果完成了前面几个步骤,说明所选卡是本系统的卡,就可以对Mifare卡正常进行读、写了。读卡函数Mf500Read()从已通过密码验证的扇区中读取一个数据块,共16个字节,其中前面几个字节即为卡号(1个字节表示2位卡号,本系统卡号长度为10,所以需要前面5个字节。)Mf500Read()函数主要代码及相关注释见附录。

3.5 卡挂起

当对卡中的数据处理完后,程序应使卡处于挂起状态,此时即使卡在感应区域,读卡器也不会再对该卡进行任何操作。Mf500Halt()函数用来实现卡挂起功能,其主要代码及相关注释见附录。

附实物图

文档

门禁系统设计

门禁系统设计设计内容:1.门禁系统的硬件设计;2.门禁系统的软件设计。设计目标:1.通过RFID技术,验证射频门禁卡的合法性,控制电子门锁的开启;2.门禁卡信息进行管理。系统功能:1.卡片的使用模式:采用13.56MHz非接触式物联网射频卡;2.刷卡开门:用户进入门禁管制区域时需刷卡,读卡器读取信息后,将信息传输到主机,主机首先判断信息是否合法,如合法则发出开门指令,不合法则发出报警,同时记录用户刷卡事件;3.管理控制;对控制器的记录进行收集管理,可增加、删除、更新用户信息;4.记录存储;系统
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top