《项目训练三》ppt课件_第1页
《项目训练三》ppt课件_第2页
《项目训练三》ppt课件_第3页
《项目训练三》ppt课件_第4页
《项目训练三》ppt课件_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、项目训练三项目训练三门禁系统门禁系统一、目的要求一、目的要求1 1掌握门禁系统的概念。掌握门禁系统的概念。2 2掌握非接触式掌握非接触式ICIC卡门禁系统的组成。卡门禁系统的组成。3 3通过门禁系统的训练,掌握串行静态显示通过门禁系统的训练,掌握串行静态显示的方法。的方法。4 4掌握卡号显示方法。掌握卡号显示方法。5 5进一步掌握单片机的使用技巧和方法。进一步掌握单片机的使用技巧和方法。 二、任务目标二、任务目标 利用单片机利用单片机AT89S52AT89S52构成一非接构成一非接触式触式ICIC卡门禁系统,要求实现功能如下卡门禁系统,要求实现功能如下1 1程序控制开锁程序控制开锁 当读卡器检

2、索到合法当读卡器检索到合法ICIC卡时,由卡时,由CPUCPU提供一个低电平信号,因为,提供一个低电平信号,因为,89S5289S52单片机复位是高电平有效,并且单片机复位是高电平有效,并且实际电路必须有看门狗电路,一旦出现实际电路必须有看门狗电路,一旦出现故障,也需高电平复位,因此,采用低故障,也需高电平复位,因此,采用低电平作为控制门的开有效信号。电平作为控制门的开有效信号。2 2出门按钮开锁出门按钮开锁 按钮按下,给出一个开关信号,此按钮按下,给出一个开关信号,此时门锁同样被打开。时门锁同样被打开。3 3从消防安全考虑,如果发生意外从消防安全考虑,如果发生意外或危险,只要断开电源,门锁同

3、样或危险,只要断开电源,门锁同样可以被打开。可以被打开。4 4读卡显示读卡显示 当读卡器检索到合法射频卡时,当读卡器检索到合法射频卡时,七段数码管可以显示出此卡的卡号,七段数码管可以显示出此卡的卡号,以便识别出持卡人身份。以便识别出持卡人身份。5 5蜂鸣器报警蜂鸣器报警 当门锁处于开启状态时,超过延时时间,当门锁处于开启状态时,超过延时时间,蜂鸣器发出蜂鸣,以提示用户及时关门。蜂鸣器发出蜂鸣,以提示用户及时关门。6 6工作指示灯工作指示灯 n红色指示灯提示电源正常供电。红色指示灯提示电源正常供电。n绿色指示灯提示门锁工作状态,刷卡合法,绿色指示灯提示门锁工作状态,刷卡合法,绿色指示灯亮。绿色指

4、示灯亮。四、预备知识四、预备知识n门禁系统定义门禁系统定义 门禁系统就是对出入口通道进行管制的系统,是一种门禁系统就是对出入口通道进行管制的系统,是一种管理人员进出的数字化管理系统。管理人员进出的数字化管理系统。 它是在传统的门锁基础上发展而来的。它是在传统的门锁基础上发展而来的。n门禁系统的组成门禁系统的组成 门禁控制器门禁控制器 门禁读卡器门禁读卡器 卡片卡片 电控锁及相应软件电控锁及相应软件 电源和其他相关门禁设备电源和其他相关门禁设备 (一)非接触式(一)非接触式ICIC卡门禁系统框图卡门禁系统框图 非接触式非接触式ICIC卡门禁系统包括卡门禁系统包括读写读写器、中央控制电脑的软件管理

5、系统、中器、中央控制电脑的软件管理系统、中央控制电脑与读写器之间的数据传输央控制电脑与读写器之间的数据传输三三部分。其中读写器是核心,包括部分。其中读写器是核心,包括MCUMCU、复位电路、时钟电路、报警及工作指示复位电路、时钟电路、报警及工作指示电路、显示电路、键盘、数据存储等主电路、显示电路、键盘、数据存储等主控模块及非接触式控模块及非接触式ICIC卡读写模块和电卡读写模块和电锁驱动部分。锁驱动部分。非接触式非接触式ICIC卡门禁系统框图卡门禁系统框图主控主控MCUMCU单片机芯片单片机芯片(89S5289S52)时钟电路时钟电路传输模块传输模块(MAX232MAX232)中央中央控制控制

6、电脑电脑数据存储电路数据存储电路24C6424C64EM9931 EM9931 模模 块块电电 锁锁天天线线 显显 示示 键键 盘盘出出 门门按按 钮钮报警及报警及工作指示工作指示复位电路复位电路 非接触式非接触式IC卡门禁机总体工作流程卡门禁机总体工作流程初始化初始化装载权限装载权限寻寻 卡卡加入权限?加入权限?下一张卡提权下一张卡提权执行报警执行报警 执行开门执行开门取时间取时间+卡号卡号+BCC码码发送数据发送数据写入写入24C64中数中数据指针加据指针加12纪录纪录数加数加1发送纪录数发送纪录数清空清空24C64数数据指针据指针=0纪纪录数录数=0NNNYYY卡号在数据库?卡号在数据库

7、?纪录满否?纪录满否?WRP1.7P1.7P1.6P1.6P1.5P1.5P1.4P1.4P1.3P1.3P1.2P1.2P1.1P1.1P1.0P1.0键键键键显示键显示键显示显示通讯通讯 通讯通讯 读卡读卡 显示显示P2.7P2.7 P2.6P2.6P2.5P2.5P2.4P2.4P2.3P2.3 P2.2P2.2 P2.1P2.1 P2.0P2.0出门出门按钮按钮蜂鸣蜂鸣器器指示灯指示灯门态门态上锁上锁SCLSCLSDASDA24C6424C64(二)门禁系统中单片机口的资源分配(二)门禁系统中单片机口的资源分配(三)各部分电路原理分析(三)各部分电路原理分析 非接触式非接触式ICIC卡

8、门禁机工作过程为当刷卡卡门禁机工作过程为当刷卡时,蜂鸣器响一下,如卡权限获得允许,显时,蜂鸣器响一下,如卡权限获得允许,显示模块显示卡号,同时继电器动作将门锁打示模块显示卡号,同时继电器动作将门锁打开,指示灯点亮,延时一段时间后继电器再开,指示灯点亮,延时一段时间后继电器再次动作将门锁锁闭,指示灯熄灭;当按下出次动作将门锁锁闭,指示灯熄灭;当按下出门按钮时,继电器动作将门锁打开,指示灯门按钮时,继电器动作将门锁打开,指示灯点亮,延时一段时间后继电器再次动作将门点亮,延时一段时间后继电器再次动作将门锁锁闭,指示灯熄灭。当遇到非法卡时,该锁锁闭,指示灯熄灭。当遇到非法卡时,该系统不显示卡号,门锁不

9、开。系统不显示卡号,门锁不开。1门控锁电路门控锁电路 门控锁电路如图门控锁电路如图P3.3所示。所示。 偏置电阻偏置电阻R3与三级管与三级管Q16、Q6构成复合驱构成复合驱动电路以提高驱动能力,控制锁的开与闭。动电路以提高驱动能力,控制锁的开与闭。 当当P2.3为高电平时为高电平时Q16导通,导通,Q6截止,此截止,此时继电器的控制线圈为开路,继电器不动作。时继电器的控制线圈为开路,继电器不动作。 门锁接于继电器常闭端,门锁闭合,门处门锁接于继电器常闭端,门锁闭合,门处于锁死状态。于锁死状态。 当当P2.3口输出低电平时口输出低电平时Q16截止,截止,Q6导通,导通,此时继电器的控制线圈闭合,

10、继电器动作。继此时继电器的控制线圈闭合,继电器动作。继电器常闭端断开,门锁打开,门处于打开状态。电器常闭端断开,门锁打开,门处于打开状态。 2 2蜂鸣器电路蜂鸣器电路 蜂鸣器电路由蜂鸣器、三极管蜂鸣器电路由蜂鸣器、三极管Q1、Q2及及电阻电阻R2组成。电路如图组成。电路如图P3.4所示。当所示。当 P2.6输出输出高电平时,高电平时,Q1导通,导通,Q2截止,蜂鸣器回路开路,截止,蜂鸣器回路开路,蜂鸣器不响。蜂鸣器不响。 当当 P1.2输出高电平时,输出高电平时,Q1截止,截止,Q2导通,导通,蜂鸣器回路闭合,蜂鸣器发出响声。蜂鸣器回路闭合,蜂鸣器发出响声。 CPU、显示电路、键盘、数据存储等

11、主控、显示电路、键盘、数据存储等主控模块及非接触式模块及非接触式IC卡读写模块将在后面章节中卡读写模块将在后面章节中介绍。介绍。图图P3.3 门控锁电路门控锁电路图图P3.4 蜂鸣器电路蜂鸣器电路R26803. 3. 串行口在门禁系统中的应用串行口在门禁系统中的应用门禁系统读卡采用串口中断方式。门禁系统读卡采用串口中断方式。n 非接触式射频卡的基本原理非接触式射频卡的基本原理 每个卡片内都有一个小芯片和感应线圈。每张每个卡片内都有一个小芯片和感应线圈。每张卡有且只有一个唯一的、不可更改和复制的卡有且只有一个唯一的、不可更改和复制的IDID内码。内码。n 非接触式非接触式ICIC卡系统的构成与特

12、点卡系统的构成与特点 非接触式非接触式ICIC卡卡( (也称为也称为“应答器应答器”) )是射频识别是射频识别系统的电子数据载体,卡中嵌有耦合元件和微电子系统的电子数据载体,卡中嵌有耦合元件和微电子芯片。通常,非接触式芯片。通常,非接触式ICIC卡没有自己的供电电源卡没有自己的供电电源( (电池电池) ),只是在读写器响应范围之内,卡才是有源,只是在读写器响应范围之内,卡才是有源的,卡所需要的能量以及时钟脉冲、数据,都是通的,卡所需要的能量以及时钟脉冲、数据,都是通过耦合单元的电磁耦合作用传输给卡的。过耦合单元的电磁耦合作用传输给卡的。n 非接触式非接触式ICIC卡读写器卡读写器 典型的非接触

13、式典型的非接触式ICIC卡读写器卡读写器( (也称为也称为“阅读阅读器器”) )包含有高频模块包含有高频模块( (发送器和接收器发送器和接收器) )、控制单元、控制单元以及与卡连接的耦合元件。以及与卡连接的耦合元件。n 常见的卡号输出格式说明常见的卡号输出格式说明 IDID卡最常见到的五种读卡方式的卡号定义如下:卡最常见到的五种读卡方式的卡号定义如下:(1 1)格式)格式1 1 10 10位十六进制的位十六进制的ASCIIASCII字符串,即字符串,即1010位十六进位十六进制格式。制格式。如:某样卡读出十六进制卡号为如:某样卡读出十六进制卡号为“01026f6c3a”01026f6c3a”。

14、(2 2)格式)格式2 2 将格式将格式1 1中的后中的后8 8位,转换为位,转换为1010位十进制卡号,位十进制卡号,即即8H10D8H10D格式,如将格式,如将“026f6c3a”026f6c3a”转换为转换为“0040856634”0040856634”。(3 3)格式)格式3 3 将格式将格式1 1中的后中的后6 6位,转换为位,转换为8 8位十进制卡号,位十进制卡号,即即6H8D6H8D格式。如将格式。如将“6f6c3a”6f6c3a”转换为转换为“07302202”07302202”。(4 4)格式)格式4 4将格式将格式1 1中的倒数第中的倒数第5 5、第、第6 6位,转换为位,

15、转换为3 3位十进制位十进制卡号,再将后卡号,再将后4 4位,转换为位,转换为5 5位十进制卡号,中间用位十进制卡号,中间用“,”分开,即分开,即“2H2H4H”4H”格式。如将格式。如将2H“6f”2H“6f”转换为转换为“111”111”,4H“6c3a”4H“6c3a”转为转为“27706”27706”。最终将最终将2 2段号连在一起输出为段号连在一起输出为“111,27706”111,27706”。 (5 5)格式)格式5 5 将格式将格式1 1中后中后8 8位的前位的前4 4位,转换为位,转换为5 5位十进制卡号,再位十进制卡号,再将后将后4 4位,转换为位,转换为5 5位十进制卡号

16、,中间用位十进制卡号,中间用“,”分开,即分开,即“4H4H4H”4H”。照此转换结果为:。照此转换结果为:00623,2770600623,27706 本教材中的门禁系统使用的卡格式是本教材中的门禁系统使用的卡格式是格式格式4 4。n RS232RS232卡号输出协议卡号输出协议串行输出格式如下:串行输出格式如下: 0210ASCII Data CharactersChecksum03卡片号码为卡片号码为62E3086CED62E3086CED,传送的,传送的HEXHEX值如下值如下10ASCII DATA10ASCII DATA:36H,32H 45H,33H 30H,38H 36H,43

17、H 45H,44H36H,32H 45H,33H 30H,38H 36H,43H 45H,44H(6 2 H E 3 H 0 8 H 6 C H E D H6 2 H E 3 H 0 8 H 6 C H E D H)CHECKSUMCHECKSUM:(62H62H)XORXOR(E3HE3H)XORXOR(08H08H)XORXOR(6CH6CH)XORXOR(EDHEDH)=08H=08H Checksum Checksum为二进制格式数据。为二进制格式数据。故故MTP-K4MTP-K4射频模块输出的完整的二进制文档如下所示:射频模块输出的完整的二进制文档如下所示: 02 36 32 45

18、33 30 38 36 43 45 44 08 03 02 36 32 45 33 30 38 36 43 45 44 08 03 n 串行口程序分析串行口程序分析 门禁系统的读卡采用串口中断方式,随时读卡,随门禁系统的读卡采用串口中断方式,随时读卡,随时响应。晶振必须是时响应。晶振必须是11.0592MHz11.0592MHz。(1 1)读卡单元)读卡单元 门禁系统采用门禁系统采用EM9913BF IDEM9913BF ID射频卡读卡器。射频卡读卡器。 读卡模块将数据按读卡模块将数据按RS232RS232和和Wiegand26Wiegand26格式输格式输出。出。 读卡单元连接图读卡单元连接

19、图(2 2)波特率初值计算)波特率初值计算 晶振为晶振为11.0592MHz11.0592MHz,串行接口工作于,串行接口工作于方式方式1 1,波特率为,波特率为9600b9600bs s。公式:公式:(1)256384OSCbaudSMODXff代入已知条件,计算出初值为代入已知条件,计算出初值为FDHFDH。(3 3)串口中断初始化程序)串口中断初始化程序SIC: ANL TMOD,#0FH SIC: ANL TMOD,#0FH ;串口始化子程序;串口始化子程序 ORL TMOD,#20HORL TMOD,#20H MOV TH1,#0FDH MOV TH1,#0FDH MOV TL1,

20、#0FDH MOV TL1, #0FDH SETB TR1 SETB TR1 MOV IE,#90H MOV IE,#90H MOV SCON,#50H MOV SCON,#50H ;方式方式1 1十位异步收发十位异步收发 RETRET(4 4)串口中断子程序,该程序中加入不死机程序)串口中断子程序,该程序中加入不死机程序ZD: PUSH ACC ;中断子程序 PUSH 00H PUSH 02H MOV R0, #30H ;首地址 MOV R2, #0BH ; 11个字节的ASCIILL1: ACALL LL2 JB F0, LL3 NOP NOP MOV R0, A INC R0 DJNZ

21、R2, LL1 DJNZ R2, LL1 POP 02H POP 02H POP 00H POP 00H POP ACC POP ACC NOP NOP MOV 0FH, #33H MOV 0FH, #33H RETI RETILL2: MOV 04H, #28HLL2: MOV 04H, #28HLL4: JNB RI, LL6LL4: JNB RI, LL6 CLR RI CLR RI MOV A, SBUF MOV A, SBUF CLR F0 CLR F0 RET RET LL6: MOV 05H, #0AHLL6: MOV 05H, #0AHLL5: DJNZ R5, LL5LL5:

22、 DJNZ R5, LL5 DJNZ R4, LL4 DJNZ R4, LL4 SETB F0 SETB F0 RET RETLL3: POP 02HLL3: POP 02H POP 00H POP 00H POP ACC POP ACC RETI RETI END ENDn 显示电路显示电路n 在门禁系统中,显示为串行静态显示方式。在门禁系统中,显示为串行静态显示方式。采用采用74LS16474LS164作为静态显示器接口,作为静态显示器接口,P1.0P1.0作为作为时钟,时钟,P1.4P1.4作为显示数据输入。作为显示数据输入。 显示程序显示程序(1 1)直接显示段码程序。将)直接显示段码

23、程序。将20H27H20H27H中的中的段码从左到右显示出来。段码从左到右显示出来。 ORG 0000HORG 0000H LJMP MAIN LJMP MAIN MAIN MAIN:MOV SP, #60HMOV SP, #60H MOV 20H, #06H MOV 20H, #06H MOV 21H, #5BH MOV 21H, #5BH MOV 22H,#4FH MOV 22H,#4FH MOV 23H,#66H MOV 23H,#66H MOV 24H,#6DH MOV 24H,#6DH MOV 25H,#7DH MOV 25H,#7DH MOV 26H,#07H MOV 26H,#0

24、7H MOV 27H,#7FH MOV 27H,#7FH LCALL ST LCALL ST SJMP $ SJMP $STST: MOV R0, #20HMOV R0, #20H MOV R2,#08H MOV R2,#08HLP1LP1:MOV R1,#08HMOV R1,#08H MOV A,R0 MOV A,R0LP2LP2:RLC ARLC A MOV P1.4,C MOV P1.4,CCLR P1.0CLR P1.0SETB P1.0SETB P1.0DJNZ R1,LP2DJNZ R1,LP2INC R0INC R0DJNZ R2,LP1DJNZ R2,LP1RETRETENDE

25、ND(2 2)把)把10H10H开始代码变成段码放到开始代码变成段码放到20H20H开始开始的单元中。的单元中。方法一:方法一: ORG 0000HORG 0000H LJMP MAIN LJMP MAIN ORG 0100H ORG 0100H MAIN MAIN:MOV SP,#60HMOV SP,#60H MOV 10H, #01H MOV 10H, #01H MOV 11H, #02H MOV 11H, #02H MOV 12H, #03H MOV 12H, #03H MOV 13H, #04H MOV 13H, #04H MOV 14H, #05H MOV 14H, #05H MOV

26、 15H, #06H MOV 15H, #06H MOV 16H, #07H MOV 16H, #07H MOV 17H, #08H MOV 17H, #08H LCALL XIANSHI LCALL XIANSHI LCALL ST LCALL ST SJMP $ SJMP $XIANSHIXIANSHI: MOV R2, #08HMOV R2, #08H MOV R0, #10H MOV R0, #10H MOV R1, #20HMOV R1, #20H LP3LP3: MOV A, R0MOV A, R0 ADD A, #06H ADD A, #06H MOVC A, A+PC MOVC

27、 A, A+PC MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LP3 DJNZ R2, LP3 RET RETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H ST ST: MOV R0, #20HMOV R0, #20H MOV R2,#08H MOV R2,#08H LP1 LP1:

28、MOV R1,#08HMOV R1,#08H MOV A,R0 MOV A,R0 LP2 LP2: RLC ARLC A MOV P1.4,C MOV P1.4,C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET END END方法二:方法二: ORG 0000HORG 0000H LJMP MAIN LJMP MAINMAIN: MOV SP,#60HMAIN: MOV SP,#60H PORT EQU 0155H PORT

29、EQU 0155H LCALL ST LCALL ST SJMP $ SJMP $XIANSHIXIANSHI:MOV R2, #08HMOV R2, #08H MOV R0, #10H MOV R0, #10H MOV R1, #20H MOV R1, #20H MOV DPTR, #PORT MOV DPTR, #PORT LP3: MOV A, R0LP3: MOV A, R0 MOVC A, A+DPTR MOVC A, A+DPTR MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LP3 DJNZ R2, LP3 RE

30、T RET ST: MOV R0, #20H ST: MOV R0, #20H MOV R2,#08H MOV R2,#08H LP1: MOV R1,#08H LP1: MOV R1,#08H MOV A,R0 MOV A,R0 LP2: RLC A LP2: RLC A MOV P1.4,C MOV P1.4,C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET PORT 3FH,06H,5BH,4FH,66H,6DH,7DH

31、,07H PORT 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00H END END(3 3)将压缩码变非压缩码显示出来)将压缩码变非压缩码显示出来 ORG 0100HORG 0100H MAIN MAIN:MOV SP,#60HMOV SP,#60H MOV 10H, #39H MOV 10H, #39H MOV 11H, #41H MOV 11H, #41H MOV 12H, #42H MOV 12H, #42H MOV 13H, #

32、43H MOV 13H, #43H MOV 14H, #44H MOV 14H, #44H MOV 15H, #45H MOV 15H, #45H MOV 16H, #46H MOV 16H, #46H MOV 17H, #38H MOV 17H, #38H LCALL ASC LCALL ASC LCALL XIANSHI LCALL XIANSHI LCALL ST LCALL ST SJMP $ SJMP $ ASC ASC: MOV R2,#08HMOV R2,#08H MOV R0,#10H MOV R0,#10H MOV R1,#20H MOV R1,#20H LP4 LP4: M

33、OV A, R0MOV A, R0 ANL A, #0FH ANL A, #0FH MOV R1, A MOV R1, A INC R1 INC R1 MOV A, R0 MOV A, R0 SWAP A SWAP A ANL A, #0FH ANL A, #0FH MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LP4 DJNZ R2, LP4 RET RETXIANSHI: MOV R2, #08HXIANSHI: MOV R2, #08H MOV R0, #10H MOV R0, #10H MOV R1, #20H MOV

34、 R1, #20H LP3 LP3: MOV A, R0MOV A, R0 ADD A, #06H ADD A, #06H MOVC A, A+PC MOVC A, A+PC MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LP3 DJNZ R2, LP3 RET RETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71H 00HDB 7FH,6FH,77H,7CH,39H,5E

35、H,79H,71H 00H ST ST: MOV R0, #20HMOV R0, #20H MOV R2,#08H MOV R2,#08HLP1LP1:MOV R1,#08HMOV R1,#08H MOV A,R0 MOV A,R0LP2LP2: RLC ARLC A MOV P1.4,C MOV P1.4,C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET END END n 卡号显示卡号显示 IDID卡读出卡读出1111个字

36、节的个字节的ASCIIASCII,要显示卡号,需,要显示卡号,需进行数值转换。进行数值转换。(1 1)IDID卡读出的卡读出的1111个字节个字节ASCIIASCII码放在以码放在以30H30H开始开始的单元,先将的单元,先将ASCIIASCII码转换成码转换成1616进制数,因第一个进制数,因第一个字节是包装头,不参与转换。字节是包装头,不参与转换。 LE: MOV R0, #30H LE: MOV R0, #30H ; ASCASC转转1616进进 制数子程序制数子程序 MOV R2, #0AH MOV R2, #0AH ;1010个字节个字节LE4: MOV A, R0LE4: MOV

37、A, R0 ACALL LE1 ACALL LE1 MOV R0, A MOV R0, A INC R0 INC R0 DJNZ R2, LE4 DJNZ R2, LE4 RET RETLE1: CJNE A, #40H, L13LE1: CJNE A, #40H, L13 SJMP LE3 SJMP LE3L13: JC LE2L13: JC LE2 ADD A, #09H ADD A, #09HLE2: ANL A, #0FHLE2: ANL A, #0FH CLR C CLR C RET RETLE3: SETB CLE3: SETB C RET RET (2 2)把上面转换的)把上面转

38、换的1010个个1616进制数,变成进制数,变成5 5个压缩的个压缩的1616进制数,进制数,30H30H放最高位,放最高位,34H34H放最低位。放最低位。LB: MOV A, 30H ; LB: MOV A, 30H ; 装配压缩装配压缩1616进制数子程序进制数子程序 SWAP ASWAP A ADD A, 31H ADD A, 31H MOV 30H, A MOV 30H, A MOV A, 32H MOV A, 32H SWAP A SWAP A ADD A, 33H ADD A, 33H MOV 31H, A MOV 31H, A NOP NOP NOP NOPNOPNOPNOPN

39、OPMOV A, 38HMOV A, 38HSWAP ASWAP AADD A, 39HADD A, 39HMOV 34H, AMOV 34H, ARETRET MOV A, 34H MOV A, 34H SWAP A SWAP A ADD A, 35H ADD A, 35H MOV 32H, A MOV 32H, A MOV A, 36H MOV A, 36H SWAP A SWAP A ADD A, 37H ADD A, 37H MOV 33H, A MOV 33H, A(3 3)上面程序中,)上面程序中,30H30H到到35H35H字节是先高后低,而字节是先高后低,而后面调用子程序,需要

40、先低后高,所以,先要把后面调用子程序,需要先低后高,所以,先要把33H33H单元中的内容送到单元中的内容送到35H35H单元中,即把单元中,即把34H,35H34H,35H里里2 2个压缩的个压缩的1616进制数变成进制数变成3 3个字节的压缩的个字节的压缩的1010进制数。进制数。LD: MOV 35H, 33H ; LD: MOV 35H, 33H ; 压缩压缩1616进制数转非压缩进制数转非压缩 1010进制子程序进制子程序 MOV R0, #34HMOV R0, #34H MOV R7, #02H MOV R7, #02H MOV R1, #28H MOV R1, #28H LCALL

41、 LD1 LCALL LD1 RET RET LD1: MOV A, R0 MOV R5, A MOV A, R1 MOV R6, A MOV A, R7 INC A MOV R3, A CLR ALD2: MOV R1, A INC R1 DJNZ R3, 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 MOV R0, A INC R0 INC R0 DJNZ R2, DJNZ R2, LD4

42、LD4 MOV A, R6 MOV A, R6 MOV R1, A MOV R1, A MOV A, R7 MOV A, R7 MOV R2, A MOV R2, A INC R2 INC R2LD5: MOV A, R1LD5: MOV A, R1 ADDC A, R1 ADDC A, R1 DA A DA A MOV R1, AMOV R1, A INC R1 INC R1 DJNZ R2, LD5 DJNZ R2, LD5 DJNZ R3, LD3 DJNZ R3, LD3 RET RET(4 4)再把压缩的)再把压缩的1010进制数变成非压缩的进制数变成非压缩的1010进制数,进制数,

43、即变成代码,为显示卡号做准备即变成代码,为显示卡号做准备 L11:MOV R1,#10H MOV R2,#03H MOV R0,#28HL12: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 5)把代码变成段码)把代码变成段码 LF: MOV R2, #08H LF: MOV R2, #08H;代码;代码- -段码段码 MOV R0, #10HMOV R0, #10H MOV R1, #20H MOV R1, #20H L

44、F1: MOV A, R0 LF1: MOV A, R0 ADD A, #06H ADD A, #06H MOVC A, A+PC MOVC A, A+PC MOV R1, A MOV R1, A INC R0 INC R0 INC R1 INC R1 DJNZ R2, LF1 DJNZ R2, LF1 RET RETDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 3FH,06H,5BH,4FH,66H,6DH,7DH,07HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDB 7FH,6FH,77H,7CH,39H,5EH,79H,71HDB D

45、B 00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H00H,40H,73H,03H,18H,23H,1CH,3DH,76H,0FH,1EH,38H (6 6)调显示子程序,采用串显方法,节省资源)调显示子程序,采用串显方法,节省资源XSH: MOV R0, #20H XSH: MOV R0, #20H ;显示子程序;显示子程序 MOV R2,#08HMOV R2,#08HLP1: MOV R1,#08HLP1: MOV R1,#08H MOV A,R0 MOV A,R0LP2: RLC ALP2: RLC A MOV P1.4,C MOV P1.4

46、,C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET(四)非接触式(四)非接触式ICIC卡门禁系统参考程序卡门禁系统参考程序 门禁系统程序主要包括读卡、数制门禁系统程序主要包括读卡、数制转换、显示、合法卡比较、开锁、中断转换、显示、合法卡比较、开锁、中断子程序、延时子程序等模块。子程序、延时子程序等模块。1. 显示子程序模块显示子程序模块显示子程序:显示子程序:XSH: MOV R0, #20HXSH: MOV R0, #20H

47、 MOV R2,#08H MOV R2,#08HLP1: MOV R1,#08HLP1: MOV R1,#08H MOV A,R0 MOV A,R0LP2: RLC ALP2: RLC A MOV P1.4, C MOV P1.4, C CLR P1.0 CLR P1.0 SETB P1.0 SETB P1.0 DJNZ R1,LP2 DJNZ R1,LP2 INC R0 INC R0 DJNZ R2,LP1 DJNZ R2,LP1 RET RET2. 2. 门禁系统程序门禁系统程序门禁系统程序清单:门禁系统程序清单: ORG 0000H ORG 0000H LJMP MAIN LJMP MA

48、IN ORG 0023H ORG 0023H LJMP ZD LJMP ZD ORG 0300H ORG 0300HMAIN: MOV SP, #60HMAIN: MOV SP, #60H CLR P2.5 CLR P2.5 ;关指示灯;关指示灯 M1: LCALL BEING ;M1: LCALL BEING ;调显调显“H”H”子程序子程序 LCALL SIC LCALL SIC ;调串口始化子程序;调串口始化子程序DUKA: MOV A, 0FH DUKA: MOV A, 0FH ;判卡;判卡 CJNE A, #33H, L003 CJNE A, #33H, L003 SJMP L03

49、SJMP L03L003: JNB P2.7, OPLOCK ;L003: JNB P2.7, OPLOCK ;出门开关是否按下出门开关是否按下 SJMP DUKASJMP DUKA L03: MOV 0FH, #00H L03: MOV 0FH, #00H MOV 17H, #10H MOV 17H, #10H ACALL LE ACALL LE ;ASCASC转转1616进制数子程序进制数子程序 ACALL LB ACALL LB ;调装配压缩调装配压缩1616进制数子程序进制数子程序 ACALL LD ACALL LD ;调压缩调压缩1616转非压缩转非压缩1010进制子程序进制子程序

50、ACALL L11 ACALL L11 ;压缩压缩- -非压缩非压缩 ACALL BJ ACALL BJ ;调比较子程序调比较子程序 JNC KS1 JNC KS1 ;合法转合法转KS1KS1 SJMP DUKA SJMP DUKAKS1: ACALL LF ; KS1: ACALL LF ; 代码代码- -段码子程序段码子程序 ACALL XSH ; ACALL XSH ; 调显示子程序调显示子程序 ACALL OPLOCK ;ACALL OPLOCK ;开锁开锁 SJMP DUKASJMP DUKA BJ: MOV A, 32H BJ: MOV A, 32H ;判卡合法否子程序判卡合法否子

51、程序 CJNE A, #2DH, NEQCJNE A, #2DH, NEQ MOV A, 33H MOV A, 33H CJNE A, #0DBH, NEQ CJNE A, #0DBH, NEQ MOV A, 34H MOV A, 34H CJNE A, 12H, LB1 CJNE A, 12H, LB1 AJMP KS AJMP KS LB1: CJNE A, #13H, NEQ LB1: CJNE A, #13H, NEQ KS: CLR C KS: CLR C RET RET NEQ: SETB CNEQ: SETB C RET RET OPLOCK: SETB P2.5 OPLOCK:

52、 SETB P2.5 ;开锁子程序开锁子程序 CLR P2.6CLR P2.6 LCALL DEL ; LCALL DEL ;延时延时10S10S SETB P2.6 SETB P2.6 CLR P2.3 CLR P2.3 MOV R5,#0AH MOV R5,#0AH L8: LCALL DEL L8: LCALL DEL DJNZ R5, L8 DJNZ R5, L8 SETB P2.3 SETB P2.3 CLR P2.5 CLR P2.5 JNB P2.4, AL JNB P2.4, AL LJMP M1 LJMP M1AL: CLR P2.6AL: CLR P2.6 LCALL DE

53、L LCALL DEL SETB P2.6 SETB P2.6 RET RET SIC: ANL TMOD, #0FH SIC: ANL TMOD, #0FH;串口始化子程序串口始化子程序 ORL TMOD, #20HORL TMOD, #20H MOV TH1, #0FDH MOV TH1, #0FDH MOV TL1, #0FDH MOV TL1, #0FDH SETB TR1 SETB TR1 MOV IE, #90H MOV IE, #90H MOV SCON, #50H MOV SCON, #50H RET RET ZD: PUSH ACC ZD: PUSH ACC ;中断子程序中断

54、子程序 PUSH 00HPUSH 00H PUSH 02H PUSH 02H MOV R0, #30H MOV R0, #30H MOV R2, #0BH MOV R2, #0BHLL1: ACALL LL2LL1: ACALL LL2 JB F0, LL3 JB F0, LL3 NOP NOP NOP NOP MOV R0, A MOV R0, A INC R0 INC R0 DJNZ R2, LL1 DJNZ R2, LL1 POP 02H POP 02H POP 00H POP 00H POP ACC POP ACC NOP NOP MOV 0FH, #33H MOV 0FH, #33H

55、 RETI RETI LL2: MOV 04H, #28H LL2: MOV 04H, #28H LL4: JNB RI, LL6 LL4: JNB RI, LL6 CLR RI CLR RI MOV A, SBUF MOV A, SBUF CLR F0 CLR F0 RET RET LL6: MOV 05H, #0AH LL6: MOV 05H, #0AH LL5: DJNZ R5, LL5 LL5: DJNZ R5, LL5 DJNZ R4, LL4 DJNZ R4, LL4 SETB F0 SETB F0 RET RET LL3: POP 02H LL3: POP 02H POP 00H

56、 POP 00H POP ACC POP ACC RETI RETI LE: MOV R0, #30H LE: MOV R0, #30H ; ASCASC转转1616 进制数子程序进制数子程序 MOV R2, #0AHMOV R2, #0AH LE4: MOV A, R0 LE4: MOV A, R0 ACALL LE1 ACALL LE1 MOV R0, A MOV R0, A INC R0 INC R0 DJNZ R2, LE4 DJNZ R2, LE4 RET RET LE1: CJNE A, #40H, L13 LE1: CJNE A, #40H, L13 SJMP LE3 SJMP

57、LE3 L13: JC LE2 L13: JC LE2 ADD A, #09H ADD A, #09H LE2: ANL A, #0FH LE2: ANL A, #0FH CLR C CLR C RET RET LE3: SETB C LE3: SETB C RET RET LB: MOV A, 30H ; LB: MOV A, 30H ; 装配压缩装配压缩1616进制数子程序进制数子程序 SWAP ASWAP A ADD A, 31H ADD A, 31H MOV 30H, A MOV 30H, A MOV A, 32H MOV A, 32H SWAP A SWAP A ADD A, 33H

58、 ADD A, 33H MOV 31H, A MOV 31H, A NOP NOP NOP NOP MOV A, 34H MOV A, 34H SWAP A SWAP A ADD A, 35H ADD A, 35HMOV 32H, AMOV 32H, AMOV A, 36HMOV A, 36HSWAP ASWAP AADD A, 37HADD A, 37HMOV 33H, AMOV 33H, ANOPNOPNOPNOPMOV A, 38HMOV A, 38HSWAP ASWAP AADD A, 39HADD A, 39HMOV 34H, AMOV 34H, ARETRETLD: MOV 35H

59、, 33H ; LD: MOV 35H, 33H ; 压缩压缩1616转非压缩转非压缩1010进制子程序进制子程序 MOV R0, #34HMOV R0, #34H MOV R7, #02H MOV R7, #02H MOV R1, #28H MOV R1, #28H LCALL LD1 LCALL LD1 RET RETLD1: MOV A, R0LD1: MOV A, R0 MOV R5, A MOV R5, A MOV A, R1 MOV A, R1 MOV R6, A MOV R6, A MOV A, R7 MOV A, R7 INC A INC A MOV R3, A MOV R3,

60、 A CLR A CLR A LD2: MOV R1, ALD2: MOV R1, A INC R1 INC R1 DJNZ R3, LD2 DJNZ R3, LD2 MOV A, R7 MOV A, R7 MOV B, #08H MOV B, #08H MUL AB MUL AB MOV R3, A MOV R3, A LD3: MOV A, R5 LD3: MOV A, R5 MOV R0, A MOV R0, A MOV A, R7 MOV A, R7 MOV R2, A MOV R2, A CLR C CLR CLD4: MOV A, R0LD4: MOV A, R0RLC ARLC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论