项目训练三门禁系统方案Word文档下载推荐.docx
《项目训练三门禁系统方案Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《项目训练三门禁系统方案Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。
复位电路
非接触式IC卡门禁系统包括读写器、中央控制电脑的软件管理系统、中央控制电脑与读写器之间的数据传输三部分。
其中读写器是核心,包括MCU、复位电路、时钟电路、报警及工作指示电路、显示电路、键盘、数据存储等主控模块及非接触式IC卡读写模块和电锁驱动部分。
非接触式IC卡门禁系统框图如图P3.1所示。
门禁系统采用AT89S52单片机作为控制核心,采用射频卡完成刷卡进门,按钮出门功能。
其工作流程见图P3.2所示。
(二)门禁系统中单片机口的资源分配
为实现门禁系统的功能,需读卡:
2条线(P1.1,INT1);
键盘:
3条线(P1.5,P1.6,P1.7);
门控:
6条线(上锁,门态,出门开关,音量,灯);
存储:
3条线(P2.0,P2.1,P2.2);
通讯:
5条线(RXD,TXD,P1.2,P1.3,INT0);
显示:
2条线(P1.0,P1.4)。
表P1.1门禁系统I/O口资源分配
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
键
显示键
申请
通讯
读卡
显示
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
出门按钮
蜂鸣器
指示灯
门态
上锁
SCL
SDA
“0”有效
“0”响
“1”亮
“1”上锁
其中,存储芯片选用24C64,通信芯片选用75176。
P1.2控制通讯芯片75176,“0”:
收、“1”:
发;
P1.3控制通讯申请信号,“0”:
申请、“1”:
不申请;
INT0控制通信的AB线,B2=0时接通、B2=1时断开。
单片机口资源的具体分配见表P1.1。
初始化
装载权限
寻卡
加入权限?
下一张卡提权
执行报警
执行开门
取时间+卡号+BCC码
发送数据
写入24C64中数据指针加12纪录数加1
发送纪录数
清空24C64数据指针=0纪录数=0
N
Y
图P3.2非接触式IC卡门禁机总体工作流程
卡号在数据库?
纪录满否?
(三)各部分电路原理分析
非接触式IC卡门禁机工作过程为当刷卡时,蜂鸣器响一下,如卡权限获得允许,显示模块显示卡号,同时继电器动作将门锁打开,指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭,指示灯熄灭;
当按下出门按钮时,继电器动作将门锁打开,指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭,指示灯熄灭。
当遇到非法卡时,该系统不显示卡号,门锁不开。
原理电路如图P3.2所示。
1.门控锁电路
门控锁电路如图P3.3所示。
偏置电阻R3与三级管Q16、Q6构成复合驱动电路以提高驱动能力,控制锁的开与闭。
当P2.3为高电平时Q16导通,Q6截止,此时继电器的控制线圈为开路,继电器不动作。
门锁接于继电器常闭端,门锁闭合,门处于锁死状态。
当P2.3口输出低电平时Q16截止,Q6导通,此时继电器的控制线圈闭合,继电器动作。
继电器常闭端断开,门锁打开,门处于打开状态。
图P3.4蜂鸣器电路
R2
680
图P3.3门控锁电路
2.蜂鸣器电路
蜂鸣器电路由蜂鸣器、三极管Q1、Q2及电阻R2组成。
电路如图P3.4所示。
当P2.6输出高电平时,Q1导通,Q2截止,蜂鸣器回路开路,蜂鸣器不响。
当P1.2输出高电平时,Q1截止,Q2导通,蜂鸣器回路闭合,蜂鸣器发出响声。
3.串行口在门禁系统中的应用
门禁系统读卡采用串口中断方式。
a)非接触式射频卡的基本原理
每个卡片都有一个小芯片和感应线圈。
价格低廉、国最普及的EMID卡,大都为瑞士nEM或GK公司的4100、4102系列IC芯片+线圈+卡基封装而成。
每卡有且只有一个唯一的、不可更改和复制的ID码(64位2进制加密的永不重复的卡号),因其安全可靠、价格低廉而大量应用于身份识别、产品防伪等领域。
b)非接触式IC卡系统的构成与特点
非接触式IC卡(也称为“应答器”)是射频识别系统的电子数据载体,卡中嵌有耦合元件和微电子芯片。
在读写器的响应围之外,非接触式IC卡处于无源状态。
通常,非接触式IC卡没有自己的供电电源(电池),只是在读写器响应围之,卡才是有源的,卡所需要的能量以及时钟脉冲、数据,都是通过耦合单元的电磁耦合作用传输给卡的。
c)非接触式IC卡读写器
典型的非接触式IC卡读写器(也称为“阅读器”)包含有高频模块(发送器和接收器)、控制单元以及与卡连接的耦合元件。
由高频模块和耦合元件发送电磁场,以提供非接触式IC卡所需要的工作能量以及发送数据给卡,同时接收来自卡的数据。
d)常见的卡号输出格式说明
ID卡最常见到的五种读卡方式的卡号定义如下(其中H指十六进制Hex,D指十进制Dex):
(1)格式1
10位十六进制的ASCII字符串,即10位十六进制格式。
如:
某样卡读出十六进制卡号为“01026f6c3a”。
格式
(1)是读卡器输出的最基本格式,其它几种格式都是基于这种格式转换而成的。
(2)格式2
将格式1中的后8位,转换为10位十进制卡号,即8H—10D格式,如将“026f6c3a”转换为“0040856634”。
(3)格式3
将格式1中的后6位,转换为8位十进制卡号,即6H—8D格式。
如将“6f6c3a”转换为“07302202”。
(4)格式4
将格式1中的倒数第5、第6位,转换为3位十进制卡号,再将后4位,转换为5位十进制卡号,中间用“,”分开,即“2H+4H”格式。
如将2H—“6f”转换为“111”,4H—“6c3a”转为“27706”。
最终将2段号连在一起输出为“111,27706”。
(5)格式5
将格式1中后8位的前4位,转换为5位十进制卡号,再将后4位,转换为5位十进制卡号,中间用“,”分开,即“4H+4H”。
照此转换结果为:
00623,27706
本教材中的门禁系统使用的卡格式是格式4。
e)RS232卡号输出协议
串行输出格式如下:
02
10ASCIIDataCharacters
Checksum
03
(a)9600bps,N,8,1
即波特率9600bPS;
数据位元:
8bits;
停止位元:
1。
(b)PIN5:
TX非反相输出。
(c)PIN6:
TX反相输出。
(d)卡片为62E3086CED,传送的HEX值如下
10ASCIIDATA:
36H,32H45H,33H30H,38H36H,43H45H,44H
(62HE3H08H6CHEDH)
CHECKSUM:
(62H)XOR(E3H)XOR(08H)XOR(6CH)XOR(EDH)=08H
Checksum为二进制格式数据。
故MTP-K4射频模块输出的完整的二进制文档如下所示:
02363245333038364345440803
f)串行口程序分析
读卡是随机的,不确定的,并且软件开销大,会降低响应速度,因此不能采用查询方式。
故门禁系统的读卡采用串口中断方式,随时读卡,随时响应。
晶振必须是11.0592MHz。
(1)读卡单元
图P3.5读卡单元连接图
门禁系统采用EM9913BFID射频卡读卡器。
电路如图P3.5所示。
读卡模块将数据按RS232和Wiegand26格式输出。
EM9913BF各引脚功能见表P2.2。
表P2.2EM9913BF各引脚功能
引脚号
引脚名称
I/O
说明
1
DC5V
输入
+5V直流输入
2
ANT
线圈引脚输入
3
NC
空引脚
4
GND
接地
5
6
ENLED
指示灯控制线,低电平使用
7
ENBEEP
蜂鸣器控制线,低电平使用
8
OK_SD
输出
Wiegand26数据输出指示
9
BZ
蜂鸣器信号线
10
D0
Wiegand26数据DATA0输出
11
D1
Wiegand26数据DATA1输出
12
LED
指示灯信号输出
13
TXD
RS232数据输出
(2)波特率初值计算
晶振为11.0592MHz,串行接口工作于方式1,波特率为9600b/s。
公式:
代入已知条件,计算出初值为FDH。
(3)串口中断初始化程序
SIC:
ANLTMOD,#0FH;
串口始化子程序
ORLTMOD,#20H
MOVTH1,#0FDH
MOVTL1,#0FDH
SETBTR1
MOVIE,#90H
MOVSCON,#50H;
方式1十位异步收发
RET
(4)串口中断子程序,该程序中加入不死机程序
ZD:
PUSHACC;
中断子程序
PUSH00H
PUSH02H
MOVR0,#30H;
首地址
MOVR2,#0BH;
11个字节的ASCII
LL1:
ACALLLL2
JBF0,LL3
NOP
MOVR0,A
INCR0
DJNZR2,LL1
POP02H
POP00H
POPACC
MOV0FH,#33H
RETI
LL2:
MOV04H,#28H
LL4:
JNBRI,LL6
CLRRI
MOVA,SBUF
CLRF0
LL6:
MOV05H,#0AH
LL5:
DJNZR5,LL5
DJNZR4,LL4
SETBF0
LL3:
POP02H
END
4.显示电路
在门禁系统中,显示串行静态显示方式。
采用74LS164作为静态显示器接口,P1.0作为时钟,P1.4作为显示数据输入。
如图P3.6所示。
图P3.6门禁系统中的串行显示电路
g)显示程序
(1)直接显示段码程序。
将20H—27H中的段码从左到右显示出来。
ORG0000H
LJMPMAIN
MAIN:
MOVSP,#60H
MOV20H,#06H
MOV21H,#5BH
MOV22H,#4FH
MOV23H,#66H
MOV24H,#6DH
MOV25H,#7DH
MOV26H,#07H
MOV27H,#7FH
LCALLST
SJMP$
ST:
MOVR0,#20H
MOVR2,#08H
LP1:
MOVR1,#08H
MOVA,R0
LP2:
RLCA
MOVP1.4,C
CLRP1.0
SETBP1.0
DJNZR1,LP2
DJNZR2,LP1
(2)把10H开始代码变成段码放到20H开始的单元中。
方法一:
ORG0100H
MAIN:
MOVSP,#60H
MOV10H,#01H
MOV11H,#02H
MOV12H,#03H
MOV13H,#04H
MOV14H,#05H
MOV15H,#06H
MOV16H,#07H
MOV17H,#08H
LCALLXIANSHI
XIANSHI:
MOVR2,#08H
MOVR0,#10H
MOVR1,#20H
LP3:
MOVA,R0
ADDA,#06H
MOVCA,A+PC
MOVR1,A
INCR1
DJNZR2,LP3
DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H00H
MOVR1,#08H
RET
方法二:
ORG0000H
MAIN:
MOVSP,#60H
PORTEQU0155H
XIANSHI:
MOVDPTR,#PORT
LP3:
MOVCA,A+DPTR
ST:
MOVR0,#20H
MOVR2,#08H
LP1:
MOVR1,#08H
LP2:
RLCA
PORT3FH,06H,5BH,4FH,66H,6DH,7DH,07H
7FH,6FH,77H,7CH,39H,5EH,79H,71H00H
(3)将压缩码变非压缩码显示出来。
ORG0100H
MOV10H,#39H
MOV11H,#41H
MOV12H,#42H
MOV13H,#43H
MOV14H,#44H
MOV15H,#45H
MOV16H,#46H
MOV17H,#38H
LCALLASC
ASC:
MOVR0,#10H
MOVR1,#20H
LP4:
ANLA,#0FH
SWAPA
DJNZR2,Lp4
h)卡号显示
ID卡读出11个字节的ASCII,要显示卡号,需进行数值转换。
(1)ID卡读出的11个字节ASCII码放在以30H开始的单元,先将ASCII码转换成16进制数,因第一个字节是包装头,不参与转换。
其程序如下:
LE:
ASCⅡ转16进制数子程序
MOVR2,#0AH;
10个字节
LE4:
ACALLLE1
DJNZR2,LE4
LE1:
CJNEA,#40H,L13
SJMPLE3
L13:
JCLE2
ADDA,#09H
LE2:
CLRC
LE3:
SETBC
(2)把上面转换的10个16进制数,变成5个压缩的16进制数,30H放最高位,34H放最低位。
LB:
MOVA,30H;
装配压缩16进制数子程序
ADDA,31H
MOV30H,A
MOVA,32H
ADDA,33H
MOV31H,A
MOVA,34H
ADDA,35H
MOV32H,A
MOVA,36H
ADDA,37H
MOV33H,A
MOVA,38H
ADDA,39H
MOV34H,A
(3)上面程序中,30H到35H字节是先高后低,而后面调用子程序,需要先低后高,所以,先要把33H单元中的容送到35H单元中,即把34H,35H里2个压缩的16进制数变成3个字节的压缩的10进制数。
LD:
MOV35H,33H;
压缩16进制数转非压缩10进制子程序
MOVR0,#34H
MOVR7,#02H
MOVR1,#28H
LCALLLD1
LD1:
MOVR5,A
MOVA,R1
MOVR6,A
MOVA,R7
INCA
MOVR3,A
CLRA
LD2:
DJNZR3,LD2
MOVB,#08H
MULAB
LD3:
MOVA,R5
MOVR2,A
LD4:
DJNZR2,LD4
MOVA,R6
INCR2
LD5:
ADDCA,R1
DAA
DJNZR2,LD5
DJNZR3,LD3
(4)再把压缩的10进制数变成非压缩的10进制数,即变成代码,为显示卡号做准备
L11:
MOVR1,#10H
MOVR2,#03H
MOVR0,#28H
L12:
MOVA,R0
DJNZR2,L12
(5)把代码变成段码。
LF:
MOVR2,#08H;
代码--段码
LF1:
DJNZR2,LF1
DB7FH,6FH,77H,7CH,39H,5EH,79H,71H
DB00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H
(6)调显示子程序,采用串显方法,节省资源。
XSH:
MOVR0,#20H;
显示子程序
5.非接触式IC卡门禁机电路
如图P3.7所示。
(四)非接触式IC卡门禁系统参考程序
门禁系统程序主要包括读卡、数制转换、显示、合法卡比较、开锁、中断子程序、延时子程序等模块。
1.显示子程序模块
图P3.8为显示子程序流程图。
显示子程序:
MOVR0,#20H
MOVP1.4,C
2.门禁系统程序
图P3.9为门禁系统程序流程图。
图P3.8显示子程序流程图
门禁系统程序清单:
LJMPMAIN
ORG0023H
LJMPZD