项目训练三门禁系统.docx

上传人:小飞机 文档编号:1719951 上传时间:2022-12-16 格式:DOCX 页数:25 大小:136KB
返回 下载 相关 举报
项目训练三门禁系统.docx_第1页
第1页 / 共25页
项目训练三门禁系统.docx_第2页
第2页 / 共25页
项目训练三门禁系统.docx_第3页
第3页 / 共25页
项目训练三门禁系统.docx_第4页
第4页 / 共25页
项目训练三门禁系统.docx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《项目训练三门禁系统.docx》由会员分享,可在线阅读,更多相关《项目训练三门禁系统.docx(25页珍藏版)》请在三一办公上搜索。

1、项目训练三 门禁系统一、目的要求1掌握门禁系统的概念。2掌握非接触式IC卡门禁系统的组成。3通过门禁系统的训练,掌握串行静态显示的方法。4掌握卡号显示方法。5进一步掌握单片机的使用技巧和方法。二、任务目标利用单片机AT89S52构成一非接触式IC卡门禁系统,要求实现如下功能:1程序控制开锁当读卡器检索到合法IC卡时,由CPU提供一个低电平信号,因为,AT89S52单片机复位是高电平有效,并且实际电路必须有看门狗电路,一旦出现故障,也需高电平复位,因此,采用低电平作为控制门的开有效信号。2出门按钮开锁按钮按下,给出一个开关信号,此时门锁同样被打开。3从消防安全考虑,如果发生意外或危险,只要断开电

2、源,门锁同样可以被打开。4读卡显示当读卡器检索到合法射频卡时,七段数码管可以显示出此卡的卡号,以便识别出持卡人身份。5蜂鸣器报警当门锁处于开启状态时,超过延时时间,蜂鸣器发出蜂鸣,以提示用户及时关门。6工作指示灯红色指示灯提示电源正常供电。绿色指示灯提示门锁工作状态,刷卡合法,绿色指示灯亮。三、工具器材直流电源5V/500、门禁系统套件、编程器、PC机等。四、预备知识随着科学的进步、社会的发展,人们对生活质量有了更高的要求,对安全防范有了更多的需求,如何有效地控制人员的出入成了一个新的课题。为此应运而生的门禁控制系统在众多安防产品中脱颖而出。门禁系统顾名思义,就是对出入口通道进行管制的系统,是

3、一种管理人员进出的数字化管理系统。门禁系统由门禁控制器、门禁读卡器、卡片、电控锁以及相应的软件、电源和其他相关门禁设备等组成。目前非接触式IC卡门禁系统应用广泛。本训练项目将以天大银河科技有限公司研制的门禁系统为载体,重点讲解门禁系统的控制核心AT89S52 单片机。(一)非接触式IC卡门禁系统框图 图P3.1 非接触式IC卡门禁系统框图主控MCU单片机芯片(89S52)时钟电路传输模块(MAX232)中央控制电脑数据存储电路24C64EM9931模 块电 锁天线显 示键 盘出门按 钮报警及工作指示指示复位电路非接触式IC卡门禁系统包括读写器、中央控制电脑的软件管理系统、中央控制电脑与读写器之

4、间的数据传输三部分。其中读写器是核心,包括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.

5、3,INT0);显示:2条线(P1.0,P1.4)。表P1.1 门禁系统I/O口资源分配P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0键键显示键申请通讯通讯读卡显示P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0出门按钮蜂鸣器指示灯门态上锁SCLSDA“0”有效“0”响“1”亮“1”上锁24C64其中,存储芯片选用24C64,通信芯片选用75176。P1.2控制通讯芯片75176,“0”:收、“1”:发;P1.3控制通讯申请信号,“0”:申请、“1”:不申请;INT0控制通信的AB线,B2=0时接通、B2=1时断开。单片机口资源的具体分配见表P1.1。初始化装

6、载权限寻 卡加入权限?下一张卡提权执行报警执行开门取时间+卡号+BCC码发送数据写入24C64中数据指针加12纪录数加1发送纪录数清空24C64数据指针=0纪录数=0NNNYYY图P3.2 非接触式IC卡门禁机总体工作流程卡号在数据库?纪录满否?(三)各部分电路原理分析非接触式IC卡门禁机工作过程为当刷卡时,蜂鸣器响一下,如卡权限获得允许,显示模块显示卡号,同时继电器动作将门锁打开,指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭,指示灯熄灭;当按下出门按钮时,继电器动作将门锁打开,指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭,指示灯熄灭。当遇到非法卡时,该系统不显示卡号,门锁不开。原

7、理电路如图P3.2所示。1门控锁电路门控锁电路如图P3.3所示。偏置电阻R3与三级管Q16、Q6构成复合驱动电路以提高驱动能力,控制锁的开与闭。当P2.3为高电平时Q16导通,Q6截止,此时继电器的控制线圈为开路,继电器不动作。门锁接于继电器常闭端,门锁闭合,门处于锁死状态。当P2.3口输出低电平时Q16截止,Q6导通,此时继电器的控制线圈闭合,继电器动作。继电器常闭端断开,门锁打开,门处于打开状态。图P3.3 门控锁电路图P3.4 蜂鸣器电路R26802蜂鸣器电路蜂鸣器电路由蜂鸣器、三极管Q1、Q2及电阻R2组成。电路如图P3.4所示。当P2.6输出高电平时,Q1导通,Q2截止,蜂鸣器回路开

8、路,蜂鸣器不响。当P1.2输出高电平时,Q1截止,Q2导通,蜂鸣器回路闭合,蜂鸣器发出响声。3串行口在门禁系统中的应用门禁系统读卡采用串口中断方式。a) 非接触式射频卡的基本原理每个卡片内都有一个小芯片和感应线圈。价格低廉、国内最普及的EM ID卡,大都为瑞士nEM或台湾GK公司的4100、4102系列IC芯片线圈卡基封装而成。每张卡有且只有一个唯一的、不可更改和复制的ID内码(64位2进制加密的永不重复的卡号),因其安全可靠、价格低廉而大量应用于身份识别、产品防伪等领域。b) 非接触式IC卡系统的构成与特点非接触式IC卡(也称为“应答器”)是射频识别系统的电子数据载体,卡中嵌有耦合元件和微电

9、子芯片。在读写器的响应范围之外,非接触式IC卡处于无源状态。通常,非接触式IC卡没有自己的供电电源(电池),只是在读写器响应范围之内,卡才是有源的,卡所需要的能量以及时钟脉冲、数据,都是通过耦合单元的电磁耦合作用传输给卡的。c) 非接触式IC卡读写器典型的非接触式IC卡读写器(也称为“阅读器”)包含有高频模块(发送器和接收器)、控制单元以及与卡连接的耦合元件。由高频模块和耦合元件发送电磁场,以提供非接触式IC卡所需要的工作能量以及发送数据给卡,同时接收来自卡的数据。d) 常见的卡号输出格式说明ID卡最常见到的五种读卡方式的卡号定义如下(其中H指十六进制Hex,D指十进制Dex):(1)格式11

10、0位十六进制的ASCII字符串,即10位十六进制格式。如:某样卡读出十六进制卡号为“01026f6c3a”。格式(1)是读卡器输出的最基本格式,其它几种格式都是基于这种格式转换而成的。(2)格式2将格式1中的后8位,转换为10位十进制卡号,即8H10D格式,如将“026f6c3a”转换为“0040856634”。(3)格式3将格式1中的后6位,转换为8位十进制卡号,即6H8D格式。如将“6f6c3a”转换为“07302202”。(4)格式4将格式1中的倒数第5、第6位,转换为3位十进制卡号,再将后4位,转换为5位十进制卡号,中间用“,”分开,即“2H4H”格式。如将2H“6f”转换为“111”

11、,4H“6c3a”转为“27706”。最终将2段号连在一起输出为“111,27706”。(5)格式5将格式1中后8位的前4位,转换为5位十进制卡号,再将后4位,转换为5位十进制卡号,中间用“,”分开,即“4H4H”。照此转换结果为:00623,27706本教材中的门禁系统使用的卡格式是格式4。e) RS232卡号输出协议串行输出格式如下:0210ASCII Data CharactersChecksum03(a)9600 bps,N,8,1 即波特率9600bPS;数据位元:8bits;停止位元:1。(b)PIN5:TX非反相输出。(c)PIN6:TX反相输出。(d)卡片号码为62E3086C

12、ED,传送的HEX值如下10ASCII DATA:36H,32H 45H,33H 30H,38H 36H,43H 45H,44H(6 2 H E 3 H 0 8 H 6 C H E D H)CHECKSUM:(62H)XOR(E3H)XOR(08H)XOR(6CH)XOR(EDH)=08HChecksum为二进制格式数据。故MTP-K4射频模块输出的完整的二进制文档如下所示:02 36 32 45 33 30 38 36 43 45 44 08 03f) 串行口程序分析读卡是随机的,不确定的,并且软件开销大,会降低响应速度,因此不能采用查询方式。故门禁系统的读卡采用串口中断方式,随时读卡,随时

13、响应。晶振必须是11.0592MHz。(1)读卡单元图P3.5 读卡单元连接图门禁系统采用EM9913BF ID射频卡读卡器。电路如图P3.5所示。读卡模块将数据按RS232和Wiegand26格式输出。EM9913BF各引脚功能见表P2.2。表P2.2 EM9913BF各引脚功能引脚号引脚名称I/O说 明1DC 5V输入+5V直流输入2ANT输入线圈引脚输入3NC空引脚4GND输入接地5NC空引脚6ENLED输入指示灯控制线,低电平使用7ENBEEP输入蜂鸣器控制线,低电平使用8OK_SD输出Wiegand 26数据输出指示9BZ输出蜂鸣器信号线10D0输出Wiegand 26数据DATA0

14、输出11D1输出Wiegand 26数据DATA1输出12LED输出指示灯信号输出13TXD输出RS232数据输出(2)波特率初值计算晶振为11.0592MHz,串行接口工作于方式1,波特率为9600bs。公式: 代入已知条件,计算出初值为FDH。(3)串口中断初始化程序SIC: ANL TMOD,#0FH ;串口始化子程序 ORL TMOD,#20H MOV TH1,#0FDH MOV TL1, #0FDH SETB TR1 MOV IE,#90H MOV SCON,#50H ;方式1十位异步收发 RET(4)串口中断子程序,该程序中加入不死机程序ZD: PUSH ACC ;中断子程序 PU

15、SH 00H PUSH 02H MOV R0, #30H ;首地址 MOV R2, #0BH; 11个字节的ASCII LL1:ACALL LL2 JB F0, LL3 NOP NOP MOV R0, A INC R0 DJNZ R2, LL1 POP 02H POP 00H POP ACC NOP MOV 0FH, #33H RETI LL2:MOV 04H, #28H LL4:JNB RI, LL6 CLR RI MOV A, SBUF CLR F0 RET LL6:MOV 05H, #0AH LL5:DJNZ R5, LL5 DJNZ R4, LL4 SETB F0 RET LL3:PO

16、P 02H POP 00H POP ACC RETI END4显示电路在门禁系统中,显示串行静态显示方式。采用74LS164作为静态显示器接口,P1.0作为时钟,P1.4作为显示数据输入。如图P3.6所示。图P3.6 门禁系统中的串行显示电路g) 显示程序(1) 直接显示段码程序。将20H27H中的段码从左到右显示出来。ORG 0000H LJMP MAINMAIN:MOV SP, #60H MOV 20H, #06H MOV 21H, #5BH MOV 22H,#4FH MOV 23H,#66H MOV 24H,#6DH MOV 25H,#7DH MOV 26H,#07H MOV 27H,#

17、7FH LCALL ST SJMP $ ST:MOV R0, #20H MOV R2,#08H LP1:MOV R1,#08H MOV A,R0 LP2:RLC A MOV P1.4,C CLR P1.0 SETB P1.0 DJNZ R1,LP2 INC R0 DJNZ R2,LP1 RET END(2)把10H开始代码变成段码放到20H开始的单元中。方法一:ORG 0000H LJMP MAIN ORG 0100H MAIN:MOV SP,#60H MOV 10H, #01H MOV 11H, #02H MOV 12H, #03H MOV 13H, #04H MOV 14H, #05H M

18、OV 15H, #06H MOV 16H, #07H MOV 17H, #08H LCALL XIANSHI LCALL ST SJMP $XIANSHI: MOV R2, #08H MOV R0, #10H MOV R1, #20HLP3: MOV A, R0 ADD A, #06H MOVC A, A+PC MOV R1, A INC R0 INC R1 DJNZ R2, LP3 RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H ST:MOV R0, #20H MOV R2,#08H

19、LP1: MOV R1,#08H MOV A,R0 LP2:RLC A MOV P1.4,C CLR P1.0 SETB P1.0 DJNZ R1,LP2 INC R0 DJNZ R2,LP1 RET END方法二: ORG 0000H LJMP MAINMAIN: MOV SP,#60H PORT EQU 0155H LCALL ST SJMP $XIANSHI: MOV R2, #08H MOV R0, #10H MOV R1, #20H MOV DPTR, #PORTLP3: MOV A, R0 MOVC A, A+DPTR MOV R1, A INC R0 INC R1 DJNZ R2

20、, LP3 RET ST: MOV R0, #20H MOV R2,#08H LP1: MOV R1,#08H MOV A,R0 LP2: RLC A MOV P1.4,C CLR P1.0 SETB P1.0 DJNZ R1,LP2 INC R0 DJNZ R2,LP1 RET PORT 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H END(3)将压缩码变非压缩码显示出来。ORG 0100H MAIN:MOV SP,#60H MOV 10H, #39H MOV 11H, #41H MOV 12H, #4

21、2H MOV 13H, #43H MOV 14H, #44H MOV 15H, #45H MOV 16H, #46H MOV 17H, #38H LCALL ASC LCALL XIANSHI LCALL ST SJMP $ ASC: MOV R2,#08H MOV R0,#10H MOV R1,#20H LP4: MOV A, R0 ANL A, #0FH MOV R1, A INC R1 MOV A, R0 SWAP A ANL A, #0FH MOV R1, A INC R0 INC R1 DJNZ R2, Lp4 RETXIANSHI: MOV R2, #08H MOV R0, #10

22、H MOV R1, #20HLP3: MOV A, R0 ADD A, #06H MOVC A, A+PC MOV R1, A INC R0 INC R1 DJNZ R2, LP3 RET DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H ST:MOV R0, #20H MOV R2,#08H LP1:MOV R1,#08H MOV A,R0 LP2:RLC A MOV P1.4,C CLR P1.0 SETB P1.0 DJNZ R1,LP2 INC R0 DJNZ R2,LP1 RET END

23、h) 卡号显示ID卡读出11个字节的ASCII,要显示卡号,需进行数值转换。(1)ID卡读出的11个字节ASCII码放在以30H开始的单元,先将ASCII码转换成16进制数,因第一个字节是包装头,不参与转换。其程序如下:LE: MOV R0, #30H ; ASC转16进制数子程序 MOV R2, #0AH ;10个字节 LE4: MOV A, R0 ACALL LE1 MOV R0, A INC R0 DJNZ R2, LE4 RET LE1: CJNE A, #40H, L13 SJMP LE3 L13: JC LE2 ADD A, #09H LE2: ANL A, #0FH CLR C

24、RETLE3: SETB C RET(2)把上面转换的10个16进制数,变成5个压缩的16进制数,30H放最高位,34H放最低位。LB: MOV A, 30H ; 装配压缩16进制数子程序 SWAP A ADD A, 31H MOV 30H, A MOV A, 32H SWAP A ADD A, 33H MOV 31H, A NOP NOP MOV A, 34H SWAP A ADD A, 35H MOV 32H, A MOV A, 36H SWAP A ADD A, 37H MOV 33H, A NOP NOP MOV A, 38H SWAP A ADD A, 39H MOV 34H, A

25、RET(3)上面程序中,30H到35H字节是先高后低,而后面调用子程序,需要先低后高,所以,先要把33H单元中的内容送到35H单元中,即把34H,35H里2个压缩的16进制数变成3个字节的压缩的10进制数。LD: MOV 35H, 33H ; 压缩16进制数转非压缩10进制子程序 MOV R0, #34H MOV R7, #02H MOV R1, #28H LCALL LD1 RET LD1: MOV A, R0 MOV R5, A MOV A, R1 MOV R6, A MOV A, R7 INC A MOV R3, A CLR A LD2: MOV R1, A INC R1 DJNZ R3

26、, LD2 MOV A, R7 MOV B, #08H MUL AB MOV R3, A LD3: MOV A, R5 MOV R0, A MOV A, R7 MOV R2, A CLR C LD4: MOV A, R0 RLC A MOV R0, A INC R0 DJNZ R2, LD4 MOV A, R6 MOV R1, A MOV A, R7 MOV R2, A INC R2 LD5: MOV A, R1 ADDC A, R1 DA A MOV R1, A INC R1 DJNZ R2, LD5 DJNZ R3, LD3 RET(4)再把压缩的10进制数变成非压缩的10进制数,即变成代

27、码,为显示卡号做准备L11:MOV R1,#10H MOV R2,#03H MOV R0,#28H L12:MOV A, R0 ANL A, #0FH MOV R1, A INC R1 MOV A, R0 SWAP A ANL A, #0FH MOV R1, A INC R0 INC R1 DJNZ R2, L12 RET(5)把代码变成段码。LF: MOV R2, #08H;代码-段码 MOV R0, #10H MOV R1, #20HLF1: MOV A, R0 ADD A, #06H MOVC A, A+PC MOV R1, A INC R0 INC R1 DJNZ R2, LF1 RE

28、T DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H DB 00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H(6)调显示子程序,采用串显方法,节省资源。XSH: MOV R0, #20H ;显示子程序 MOV R2,#08H LP1: MOV R1,#08H MOV A,R0 LP2: RLC A MOV P1.4,C CLR P1.0 SETB P1.0 DJNZ R1,LP2 INC R0 DJNZ R2,LP1 RET5非接触式IC卡门禁机电路如图P3.

29、7所示。图P3.7 非接触式IC卡门禁机电路原理图(四)非接触式IC卡门禁系统参考程序门禁系统程序主要包括读卡、数制转换、显示、合法卡比较、开锁、中断子程序、延时子程序等模块。1显示子程序模块图P3.8为显示子程序流程图。显示子程序:XSH: MOV R0, #20H MOV R2,#08H LP1: MOV R1,#08H MOV A,R0 LP2: RLC A MOV P1.4, C CLR P1.0 SETB P1.0 DJNZ R1,LP2 INC R0 DJNZ R2,LP1 RET2门禁系统程序图P3.9为门禁系统程序流程图。图P3.8 显示子程序流程图门禁系统程序清单:ORG 0

30、000HLJMP MAINORG 0023HLJMP ZDORG 0300H MAIN: MOV SP, #60HCLR P2.5 ;关指示灯 LCALL BEING ;调显“H”子程序M1: LCALL SIC ;调串口始化子程序L03: MOV A, 0FH ;判卡CJNE A, #33H, L03MOV 0FH, #00HMOV 17H, #10HACALL L04E0 ;ASC转16进制数子程序ACALL L04B0 ;调装配压缩16进制数子程序ACALL L1234 ;调压缩16转非压缩10进制子程序ACALL L11 ;压缩-非压缩ACALL L120F ; 代码-段码子程序ACA

31、LL L1261 ; 调显示子程序图P3.9 门禁系统程序流程图SETB P2.5 开锁子程序CLR P2.3SETB P2.6CLR P2.3MOV R5,#0FFHL8: DJNZ R5, L8LCALL DEL ;延时10SCLR P2.6LCALL DELSETB P2.6SETB P2.3CLR P2.5JNB P1.4, ALLJMP M1 AL: CLR P2.6LCALL DELSETB P2.6RET SIC: ANL TMOD, #0FH ;串口始化子程序ORL TMOD, #20HMOV TH1, #0FDHMOV TL1, #0FDHSETB TR1MOV IE, #9

32、0HMOV SCON, #50HRET ZD: PUSH ACC ;中断子程序PUSH 00HPUSH 02HMOV R0, #30HMOV R2, #0BH LL1: ACALL LL2JB F0, LL3NOPNOPMOV R0, AINC R0DJNZ R2, LL1POP 02HPOP 00HPOP ACCNOPMOV 0FH, #33HRETI LL2: MOV 04H, #28H LL4: JNB RI, LL6CLR RIMOV A, SBUFCLR F0RET LL6: MOV 05H, #0AH LL5: DJNZ R5, LL5DJNZ R4, LL4SETB F0RET

33、LL3: POP 02HPOP 00HPOP ACCRETI L04E0: MOV R0, #30H ; ASC转16进制数子程序MOV R2, #0AH L04E4: MOV A, R0ACALL L04A0MOV R0, AINC R0DJNZ R2, L04E4RET L04A0: CJNE A, #40H, L13SJMP L04AD L13: JC L04A9ADD A, #09H L04A9: ANL A, #0FHCLR CRET LE3: SETB CRET L04B0: MOV A, 30H ; 装配压缩16进制数子程序SWAP AADD A, 31HMOV 30H, AMO

34、V A, 32HSWAP AADD A, 33HMOV 31H, ANOPNOPMOV A, 34HSWAP AADD A, 35HMOV 32H, AMOV A, 36HSWAP AADD A, 37HMOV 33H, ANOPNOPMOV A, 38HSWAP AADD A, 39HMOV 34H, ARET L1234: MOV 35H, 33H ; 压缩16转非压缩10进制子程序MOV R0, #34HMOV R7, #02HMOV R1, #28HLCALL L0D91RET L0D91: MOV A, R0MOV R5, AMOV A, R1MOV R6, AMOV A, R7INC AMOV R3, ACLR A L0D99: MOV R1, AINC R1DJNZ R3, L0D99MOV A, R7MOV B, #08HMUL ABMOV R3, A L0DA3: MOV A, R5MOV R0, AMOV A, R7MOV R2, ACLR C L0DA8: MOV A, R0RLC AMOV R0, AINC R0DJNZ R2, L0DA8

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号