门禁系统设计与原理_第1页
门禁系统设计与原理_第2页
门禁系统设计与原理_第3页
门禁系统设计与原理_第4页
门禁系统设计与原理_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

智能卡门禁系统设计11设计要求智能卡的应用并不是简单的读写卡操作,而是一个综合性的工程项目。它不仅包括卡和读写模块的选择,还涉及到读写模块的控制、数据的传输、数据的处理和存储;既需要有硬件应用的知识、也还必须具有软件方面的能力。下面我们以一个完整的应用系统为例,详细地描述了各组成部分的设计要求、完成的功能及具体的实现方法。智能卡门禁系统设计任务:智能卡门禁系统一一门禁机模块的设计(1) 非接触式IC卡读写头部分主要内容:读头部分采用非接触智能卡读写模块,由读卡器读入数据并加以保存,智能卡按常规要具有加密和数据分区存储功能,读写头的读写距离在5-10厘米左右,必须具有掉电保护、精确时间记时和显示,3K—5K的临时数据存储。(2) 门禁机主控模块主要内容:智能门禁机主控模块是智能门禁机系统的核心部分,主要包括MCU、键盘、显示、电子时钟、外部数据存储器及掉电保护和看门狗电路,有精确时间记时和显示。智能卡门禁系统一一系统管理模块的设计(1) 系统管理主控模块设计主要内容:设计门禁上层软件的主控模块,其主要实现的功能是最高权限卡对管理员和一般用户发卡,管理员对一般用户发卡。能对丢失的卡进行挂失,对找回的卡进行解挂,同时还要具备查找功能。(2) 系统管理的数据库管理软件设计主要内容:运用高级语言编程,制作数据库管理软件。采集下位机的数据并保存,然后管理采集到的数据,具有采集、数据更新、查询统计和报表的打印功能智能卡门禁系统一一数据传输模块的设计主要内容:完成中央控制电脑与门禁读写器之间的数据传输协议的设计,能实现主、从机的双向数据传输及一对一、一对多的数据传输。2总体方案根据设计要求,整个智能卡门禁系统分为三大部分:其一是读写器部分,包括MCU.复位电路、时钟电路、显示电路、键盘、数据存储等主控模块及非接触IC卡读写模块和电锁驱动部分;其二是中央控制电脑的软件管理系统模块;其三是中央控制电脑与读写器之间的数据传输模块。其总体方案见图5.1。

中虫技由I电16中虫技由I电16图1非接触式IC卡门禁系统框图3非接触式IC卡门禁机的设计系统米用Philips公司的非接触智能IC卡Mifare1卡,以M1卡作为用户卡,以用户卡的序列号SN(全球唯一)为依据控制门的开启。因为它是一个高频卡(工作频率为13.5MHZ),有较强的抗干扰能力、读写距离远(5MM—10MM)。首先,在发卡系统(中央控制PC机)里把用户的卡号及个人信息输入系统数据库,并将该卡号作为合法卡号下载给所有门禁机。当有一张M1卡在门禁机的有效工作范围内时,系统会自动向卡发出命令,卡接收到命令后向门禁机反馈其SN,门禁机判断收到的卡号是否合法,合法则驱动电磁门锁开门,并实时上传其开门记录;如果是非法卡(未经授权或已挂失的卡)则拒绝开门并上传报警信息。只有最高授权者(掌握授权密码)才可以发管理员卡,管理员必须用管理员卡方可登录发卡系统进行发卡/下传合法卡号、挂失、解挂、下传黑名单等操作。附录二门禁机硬件原理图由于采用了Philips公司的非接触式Mifare1卡,所以卡的读写模块也采用了以Philips公司最新推出的Mifare读写芯片MFRC500为核心开发的ZLG500A读写模块。门禁机模块的硬件原理图见附录二。通过AT89C52对ZLG500A的控制达到对卡的读写。系统结构简单,成本较低且具有信息量大和安全保密性好等特点。外围配有RS232转RS485接口能与PC机互连成网络,可以完成读卡、显示卡号和出入时间、身份识别、开锁以及保存和上传出入记录、下载黑名单、设置开门权限等功能。门禁机模块的主控软件主要完成门禁机模块的初始化、卡的识别、开启门锁及保存有关数据和数据的传输等五大功能。其总体工作流程如图5.2所示:图3非接触式IC卡门禁机总体工作流程在完成整个门禁机模块的设计和制作前, 首先必须明确非接触式IC卡读写模块的功能特性、接口规范和控制方式。本系统选用MIFARE1卡作为门禁钥匙,相应地,选用广州周立功公司的ZLG500A读写模块作为卡与门禁机交换数据的接口模块。1.ZLG500A读写模块特性1)功能特性图5.3为ZLG500A非接触式IC卡读写模块,该模块采用最新PHILIPS高集成ISO14443

读卡芯片一MFRC500,能读写RC500内EEPROM,提供三线SPI接口,并具有控制线输出口,能与任何MCU接口。此外,该模块四层电路板设计,双面表贴,EMC性能优良;并自带无源蜂鸣器信号输出,能用软件控制输出频率及持续时间。J1J2J1J2图4ZLG500A模块实物图如图5.3所示J1为与天线的接口J2为与MCU的接口,J1、J2的管脚排列和功能说明见表5.1:表5.1ZLG500A非接触式IC卡读写模块管脚说明(一)管脚符号描述J1-1GND地J1-2TX1天线发送1J1-3GND地J1-4TX2天线发送2J1-5GND地J1-6RX天线接收表5.1ZLG500A非接触式IC卡读写模块管脚说明(二)管脚符号类型描述J2-1SCLK输入三线SPI接口时钟线总是由外部MCU产生J2-2SDATA双向数据线可双向传输J2-3SS双向传输启动线接MCU外部中断J2-4VCCPWR电源正端J2-5RST复位内部MCU复位瑞高电平有效J2-6GNDPWR电源负端J2-7CTRL输出控制线输出J2-8BZ输出蜂鸣器信号输出ZLG500模块可方便地与任何MCU进行接口,如图5.4所示为ZLG500与MCS-51单片机图5.4ZLG500与MCS-51单片机接口图的典型接口。SCLK、SDATA、SS为ZLG500A与MCU相联接的控制线,分别为片选SS、时钟线SCLK和数据线SDATA。主控制器的MCU和读卡模块内的MCU通过此三线相连,三根线上的实际电平是双方口线状态逻辑线与的结果。2)ZLG500三线串行读卡模块接口规范(1) 接口原理接口空闲时主机SS=1SCLK=0SDATA=0从机SS=1SCLK=1SDATA=0。其中SS和DATA是双向的而时钟线SCLK是单向的,即时钟只能由主控制器产生,该信号必须严格遵守时序规范,否则将出现通信错误读卡模块必须释放该线。SS为数据发送使能,若一方有数据要发送给另一方,则该方控制SS线为低并在发送结束后将该线置高,接收数据方不得控制该线,双方必须遵守通信协议不得同时控制该线。SDATA为数据线,由数据发送端控制数据,接收端必须释放该线。该线在一次传输开始时还同时作为数据接收端的响应信号。(2) 时序图如图5.5所示,无论数据传输的方向如何,SPI线上信号的波形总是如下;Startfromsender StopfromsenderSS一 —图5ZLG500时序图由图中可以看出,在SS为低的情况时,时钟和数据线上的信号才有效。且在SCLK为低时SDATA变化,在SCLK为高时SDATA应保持稳定。以上传输中从数据发送器请求开始至数据接收器响应的时间是不确定的,取决接收器内的MCU是否忙,有必要设置一个看门狗定时器对数据接收器的响应进行监视,一旦接收器响应,则MCU必须根据数据传输的方向,严格控制以下几个时间,以确保数据传输无误。t1—数据接收器响应至MCU产生第一个SCLK上升沿的时间。t2一两个字节传输之间SCLK低电平的持续时间。t3—传输最后一个字节的最后一位的SCLK信号的上升沿至SS上升沿的时间。tH—SCLK信号的高电平持续时间。tL—SCLK信号的低电平持续时间。在数据传输的方向不同时,对时间t1—t3tH和tL都有各自不同的要求。(3)通信协议MCU与ZLG500的通信必须先由MCU发送命令和数据给ZLG500,ZLG500执行命令完毕后,将命令执行的状态和响应数据发回MCU0开始通信前,收发双方必须处于空闲状态。首先由MCU发出SS下降沿信号,然后等待ZLG500载SDATA线上的响应,若在50ms内为检测到此信号,则退出本次传输。若正确响应,则MCU可将命令和数据发送出去。然后MCU等待ZLG500发回的状态和响应数据。也即等待^、线上的下降沿信号,若在50ms内为检测到此信号,则退出本次传输,若正确检测到$$信号,则可以接收状态和数据。ZLG500初始化的子程序如下:SCLK BITP1.0

SDATABIT P1.1SSBIT P1.2RSTBITP3.3Zlg500:SETBRST;ZLG500内部复位LCALLDELAY_50MSCLRRSTLCALLDELAY_50MSSETBSS;处于空闲状态CLRSDATACLRSCLKMOV 58H,#11HMOV59H,#11HMOV5AH,#11HMOV5BH,#11HLCALLCONFIG;配置LCALLREQUEST;发送请求LCALLANTICOLL;防碰撞""""""""""";*个*个*******IFHAVECARD"""""""""""*个*个*******MOV A,52HCJNEA,#04H,SA123;A=04ISNOCARDLJMPSA234SA123:RETSA234:LCALLREAD_BLOCK;从存储器中读取数据LCALLDELAY_100MSMOVR2,#20MOVR0,#58HMOVR1,#80HLCALLCOMPARE;进行卡号的比较和验证REL13:SETBFLAGLCALLREL123JBFLAG,REL13RET上述程序中CONFIG子程序为RC500的复位和配置子程序,是由MCU向ZLG500发出的不带数据的命令程序;REQUEST子程序是MCU向ZLG500发出的带一个字节数据的命令程序,主要是检查在有效范围内是否有卡存在;ANTICOLL子程序是防冲突操作,必须在执行了REQUEST命令后立即执行。MCU与ZLG500之间的通信一般遵循如下的数据格式MCU向ZLG500发出的命令模式的格式如下:SeqNrCommandLenData[0„N]BCCINFO[0] INFO[n]

SeqNrStatusLenSeqNrStatusLenData[0„N]BCC其中:SeqNr: 1Byte 是数据交换包的序号Command: 1Byte 是命令字符Len: 1Byte 是数据的长度Data[…] LenByte是数据字节BCC: 1Byte 是一个字节的BCC效验INFO[0] INFO[n]其中:SeqNr:1Byte 是数据交换包的序号status:Len:Data[…一BCC1Byte是状态字符1Byte是数据的长度LenByte是数据字节1Byte 是一个字节的BCC效验按照上述数据格式传输编制U的CONFIG、REQUEST和A1N1ICOLL子程序清单如下:个个个个个个个个个个个个个个 lunfivt 个个个个个个个个个个个个个个个个个个个个个个个CONFIG:MOVMOV"""""""""""""""***************REQUEST:MOV 60H,#00H ; 数据交换包的序号MOV 61H,#52H ;配置命令字符代码MOV 62H,#00H ;数据的长度为0LCALL BCC_SUM0 ; BCC效验子程序MOV 63H,A ; BCC_SUMA,#00HR2,#04HMOVR0,#60H ;发送首地址LCALLSPI_SENDMOVR0,#30H ;接收起始地址LCALL_SPI_RCVRETREQUEST***********************MOVMOV 60H,#00H61H,#41HMOV 62H,#01HMOV 63H,#01HLCALL BCC_SUMMOV 64H,AMOV A,#00HMOV R2,#05HMOV R0,#60HLCALL SPI_SEND;数据交换包的序号;请求命令字符代码;数据的长度为1;请求模式的数据mode=01H;发送5个字节数;60H_64H的数据发送MOV""""""""""""""*个*个**********;R0,#40H ;接收起始地址LCALLSPI_RCVRETANTICOLL***********************

ANTICOLL:MOV60H,#00;数据交换包的序号MOV61H,#42H;防碰撞命令字符代码MOV62H,#01;数据的长度为1MOV63H,#00H;数据值为0LCALLBCC_SUMMOV64H,AMOVA,#00HMOVR2,#05H;发送5个字节数MOVR0,#60H;60H_64H的数据发送LCALLSPI_SENDMOVR0,#50H;存放数据LCALLSPI_RCVMOVA,52HCJNEA,#04H,L0MOV58H,53HMOV59H,54HMOV5AH,55HMOV5BH,56HMOVA,58HXRLA,59HXRLA,5AHXRLA,5BHMOV5CH,AMOVA,#00HCLRP3.4LCALLDELAY_50MSLCALLDELAY_50MSLCALLDELAY_50MSLCALLDELAY_50MSSETBP3.4L0: RET3)写数据MCU——ZLG500除响应信号外,三根线上的信号全由MCU产生。MCU在SS线上产生一个下降沿,发出请求数据传输的信号,等待ZLG500响应后本次数据传输开始,ZLG500将在SCLK为高时读取SDATA线上的数据,传输完毕后MCU应在SS线上产生一个上升沿结束本次传输。写数据的具体步骤可见表5.2。表5.2ZLG500A读写模块写数据步骤序号动作发出者动作动作接收者动作说明1MCUSDATA=1SCLK=0SS=T降沿ZLG500本次数据传输开始请求2ZLG500SDATA=上升沿MCU本次数据传输响应3MCUSDATA-串行数据ZLG500数据传输4MCUSCLK=上升沿、延时、下降沿ZLG500产生时钟ZLG500读

数据5MCU重复动作3、4传送N8位ZLG500数据传输N字节6MCUSS=上升沿SDATA=0SCLK=0ZLG500本次数据传输结束传输过程中必须严格遵守以下时间要求:t1>7s,t2>14s,tH>7s,tL>9s,t3=任意下面是MCU向ZLG500写入数据的子程序,为满足上述时间要求,可通过加入空操作来实现。SPISEND:ANLP3,#0F7H;恢复SS的输出功能,传输开始请求DECR0;发送数据的首地址SETBSDATACLRSCLKJBSDATA,$;SADATA仍为高则等待CLRSSMOVR5,#100DL33:MOVR6,#7DHDL44:JBSDATA,ASDF;MCU等待SDATAD的上升沿DJNZR6,DL44DJNZR5,DL33AJMPSPI_SENDASDF:ANLP1,#0FDH;STADA恢复输出SENDBYTE:NOPINCR0NOPNOPMOVA,@R0MOVR3,#8 ;设置一个字节的位数NOPNOPSENDBIT:NOPRLCAMOVSDATA,C ;发送数据位NOPNOPSETBSCLK:NOPNOPCLRSCLKDJNZR3,SENDBITDJNZ R2,SENDBYTESETBSS;本次数据传输结束CLRSDATANOPJBSS,$RET4)读数据ZLG500——MCU响应信号SCLK信号由MCU产生,SS信号和SDATA信号由ZLG500产生。ZLG500会在SS线上产生一个下降沿发出请求数据传输的信号,等待MCU响应后本次数据传输开始,MCU将在SCLK为高时读取SDATA线上的数据,传输完毕后ZLG500将会在SS线上产生一个上升沿结束本次传输。读数据的具体步骤可见表5.3表5.3ZLG500A读写模块读数据步骤动作序号动作发出者动作动作接收者动作说明1ZLG500SDATA=1SS=下降沿MCU本次数据传输开始请求2MCUSDATA=上升沿ZLG500本次数据传输响应3ZLG500SDATA-串行数据MCU数据传输4MCUSCLK=上升沿、延时、下降沿ZLG500MCU产生时钟,且读取数据5双方重复动作3、4传送N8位双方数据传输N字节6ZLG500SS=上升沿,SDATA=0MCU本次数据传输结束传输过程中必须严格遵守以下时间要求t1>14s,t2>16s,tH>6s,tL>6s,t3>9s下面是MCU从ZLG500读取数据的子程序,同理,为满足上述时间要求,可通过加入空操作来实现。SPI_RCV:ORLP3,#08H;SS设置为输入ANLP1,#0FDH;SDATA设置为输出DECR0CLRSCLKSETBSDATANOPORLP1,#02;SDATA设置为输入NOPNOPRCVBYTE:MOVR3,#8INCR0RCVBIT:NOPNOPSETBSCLKNOPNOPMOV C,SDATA ;读取一位RLC ANOPNOPCLRSCLKNOPNOPDJNZR3,RCVBITMOV@R0,A ;读取的一个字节存入指定地址NOPNOPJNB SS,RCVBYTEANLP1,#0FDH;SDATA设置为输出CLR SDATARET2.门禁机主控模块上面我们对ZLG500A读写模块的功能特性、接口规范和控制方式作了比较详细地讲解,在此基础上,可以进一步完成MCU对ZLG500A的读写和控制,如果附加上周边的辅助功能和驱动控制,就可以形成一个完整的智能卡读写器。首先,我们看一下MCU部分的设计和控制的实现。图5.6是MCU控制框图,从图中可以看出MCU除了完成对ZLG500A读写模块的控制外,还要承担其它功能的控制,主要包括四大部图6门禁机控制框图分:键盘和显示部分、实时时钟和掉电保护部分、数据存储和数据传输部分、驱动控制部分。1)键盘和显示部分键盘和显示是一般智能化仪器仪表均须具有的功能,是人机交互最主要的方式。不同的智能仪器,随着其功能、MCU资源的占用、使用环境等各种条件的不同,可采用多种键盘和显示方案。本应用系统中,由于外围部件较多,MCU资源占用较大,为了尽可能的减少MCU输入输出I/O的占用,键盘的设计采用串入并出的方式,利用一片74LS164,占用MCU的四根I/O口,就可以实现16个键的全部功能。具体电路见图5.7:

P2.6P2.7RxDP2.6P2.7RxDMCUTkDJ1KK2串行口I们扩展的行列式键盘图7串行口扩展的行列式键盘从系统监控软件的角度来看,仅仅完成键盘扫描,读取当前时刻的键盘状态是不够的,还有不少问题需要解决,否则,在操作键盘时就容易引起误操作、失控等现象。首先是去抖动处理。按键的触点在闭合和断开时均会产生抖动,这时触点的逻辑电平是不稳定的,如不妥善处理,将会引起按键命令的错误执行或重复执行。最常用的一种方法是软件延时的方法来避开抖动阶段,延时过程一般取10ms~50ms。其次是连击的处理。当按下某个键时,键盘处理程序便查找相应的功能号,并转到相应的功能模块程序去执行,如果这时操作者还没有释放按键,MCU就会反复执行该按键对应的功能,好像操作者在连续操作该键一样。本系统中需要按键去改变系统的实时日历,如果出现连击现象,操作者就很难设定时间。要解决连击的问题最关键是一次按键只让它响应一次,该键不释放就不执行第二次。为此要分别检测到按键按下的时刻和释放的时刻。有两种程序结构都可以解决连击的问题,一是按下键盘就执行,执行完成后等待操作者释放按键,在末放前不再执行指定的功能,从而避免了一次按键重复执行的现象。二是在按键释放后再执行指定的功能,同时可以避免连击,但与前一种相比,给人一种反应迟钝的感觉。具体采用哪种结构,可根据实际情况而定。关于键盘控制的具体编程,可参考有关的书籍和应用说明,在此就不再说明。显示是人与计算机系统打交道所必不可少的部分,本系统要求门禁在不打卡时具备显示当前时间,打卡时显示该卡卡号及打卡时间。为此,选用了具有有良好的显示界面的图形点阵液晶显示器。图形点阵液晶显示器分辨率较高,显示出的结果非常细腻,且能够显示各种复杂图形,为以后的扩展留下了余地。本系统所选择的是JG19264A图形点阵液晶,图5.8为JG19264A的结构框图,引脚说明见表5.4。图8JG19264A图形点阵液晶结构框图图8JG19264A图形点阵液晶结构框图表4JG19264A图形点阵液晶引脚说明引脚符号电平说明1DB7H/L数据位72DB6H/L数据位63DB5H/L数据位54DB4H/L数据位45DB3H/L数据位36DB2H/L数据位27DB1H/L数据位18DB0H/L数据位09EH,HfL片使能信号10R/WH/LH:读;L:写11RSH/LH:数据;L:指令12V0可调LCD驱动电压,对比度调节13VDD5.0V电源电压14VSS0V接地(GND)15CSBH/L片选信号,00,01,10分别对应一片IC16CSAH/L的SEG,11三片均不选中17VEE-10.0VLCD驱动负电源18RSTL复位信号,低有效19LED+背光正极20LED-背光负极JG19264A液晶的分辨率为192X64,该液晶的显示内核是HD61202U与HD61203U,其中一片HD61203作为64路行驱动器,三片HD61203U组成196点列的列驱动器组。所以内置HD61202U图形液晶显示模块的电路特性实际上是HD61203U和HD61202U组合的电路特性。HD61203U是带有振荡器和显示时序发生器的行驱动器。它具有64路行驱动输出,但它的特点在于它本身带有振荡器和时序发生器,通过外接振荡电阻电容使其上电后就以其设定的占空比系数1/N值开始行扫描工作;它可以自行完成行、列驱动时序的生成及分配,自动进行行驱动的工作;同时向列驱动器输出同步信号及显示数据驱动所需的脉冲时序,控制列驱动器HD61202U的工作,所以我们只用控制HD61202U就可以操作整个液晶模块。HD61202U是带显示存储器的图形液晶显示列驱动控制器。它的特点是内置64X64位的显示存储器,显示屏上各像素点的显示状态与显示存储器的各位数据一一对应,显示存储器的数据直接作为图形显示驱动信号。显示数据为“1”,相应的像素点显示;显示数据为“0”相应的像素点就不显示。同时HD61202U配备了一套显示存储器的管理电路和与计算机的连接口电路。HD61202U一共可以有七条指令,从作用上可分为两类。第一条和第二条指令为显示状态设置类;其余指令为数据读/写操作指令,见表5.5表5HD61202U的指令一览表。指令名称控制信号控制代码D/IR/WD7D6D5D4D3D2D1D0显示开关设置000011 111D显示起始行设置0011L5L4L3L2L1L0页面地址设置001011 1P2P1P0

列地址设置000 1C5C4C3C2C1C0读取状态字01BUSY0on/offreset0 0 0 0写显示数据10数据读显示数据11数据下面是各个指令的功能:(1)读状态字(StatusRead)BUSY0ON/OFFRESET0000状态字是计算机了解HD61202U当前状态,或是HD61202U向计算机提供其内部状态的唯一信息渠道。状态字为一个字节,其中仅有3位有效位,它们是:BUSY:表示当前HD61202U接口控制电路运行状态。BUSY=1表示HD61202U正在处理计算机发来的指令或数据。此时接口电路被封锁,不能接受除读状态字外的任何操作。BUSY=0表示HD61202U接口控制电路已处于”准备好”状态,等待计算机的访问。ON/OFF:表示当前HD61202U的工作状态,即反映RST端的电平状态。当RST为低电平状态时,HD61202U处于复位工作状态,REST=1。当RST为高电平状态时,HD61202U为正常工作状态,RESET=0。在指令设置和数据读写时要注意状态字中的BUSY标志。只有在BUSY=0时,计算机对HD61202U的操作才能有效。因此计算机在每次对HD61202U操作之前,都要读出状态字判断BUSY是否为”0”。若不为”0”,则计算机需要等待,直至BUSY=0为止。计算机对HD61202U操作的流程如图5.9。图9HD61202U操作的流程(2)显示开设置(Displayon/off)0000000D该指令设置显示开/关触发器的状态,由此控制显示数据锁存的工作方式,从而控制显示位为开/关的控制位。当D=1为显示设置,显示数据锁存器正常工作,显示屏上呈现所需的显示效果。此时在状态字中ON/OFF=1。当D=0为关显示设置,显示数据锁存器被置零,显示存储器并没有被破坏,在状态字中ON/OFF=0。显示起始行设置(DisplayStartLine)11L5L4L3L2L1L0该指令设置了显示起始行寄存器的内容。HD61202U有64行显示的管理能力,该指令中L5〜L0显示起始行的地址,取值在0~3FH(1~64行)范围内,它规定了显示屏上最顶一行所对应的显示存储器的内容,则显示屏将呈现显示内容向上或向下平滑滚动的显示效果。页面地址设置(SetPage(Xaddress))1__0__1 __1 __1 P2P1P0该指令设置了页面地址:X地址寄存器的内容。HD61202U将显示存储分成8页,指令代码中P2~P0就是要确定当前所要选择的页面地址,取值范围为00~07H,代表显示第1~8页。该指令规定了以后的读/写操作将在哪一个页面上进行。列地址设置(SetYaddress)0__1 C5C4C3C2C1C0该指令设置了Y地址计数器的内容,C5〜C0=0〜3FH(1〜64)代表某一页面上的某一单元地址,随后的一次读或写数据将在这个单元上进行。Y地址计数器具有自动加1功能经,在每一次读/写数据后它将自动加1,所以在连续进行读/写数据时,Y地址计数器不必每一次都设置一次。页面地址的设置和列地址的设置将显示存储单元唯一确定下来,为后来的显示数据的读/写作了地址选通。写显示的数据(WriteDisplayData)1 0 数 据该操作将8位数据写入先前已确定的显示存储器的单元内。操作完成后列地址计数器自动加一。读显示的数据(ReadDisplayData)1 1 数 据该操作是将HD61202U接口部分的输出到寄存器内容读出,然后列地址自动加一。本系统采用直接访问式的接口方式,就是将液晶显示模块的接口作为存储器或I/O设备直接挂在计算机总线上,计算机以访问存储器或I/O设备的方式操作液晶显示模块的工作。其具体的原理图如图5.10所示:MCU接口电路在图中,MCU通过P2.6控制CSA,P2.7控制CSB,以选通液晶显示屏上各区的控制器HD61202U,

其关系如表5.6所示:表5.6液晶显示屏控制关系CSACSBJG1926400左区01中区10右区11末选另外,MCU的P2.1接液晶显示模块的R/W,用来控制数据总线的数据流向;用P2.0接液晶显示模块的RS,用来区分是数据还是指令;用P2.4接液晶显示模块的E,控制模块的使能;P0口直接与液晶显示模块的双向数据/地址端相连。为了加强P0口的驱动能力和减少外界的干扰,该口全部外接了上拉电阻。JG19264A的读写时序图如图5.12所示,按照此时序编程,MCU即可对液晶实现正常的控制。图11JG19264A读时序图图12JG19264A写时序图2)实时时钟和掉电保护部分在门禁系统中,需要实时记录出入数据(开门的卡号及其出现的时间)。若采用单片机

软件计时,一方面需要占用硬件计数器资源,另一方面需要设置中断、查询等,耗费单片机的CPU资源。而在系统中采用实时时钟芯片则能很好地解决这个问题。实时时钟采用了美国DALLAS公司推出的一种高性能、低功耗、带RAM的DS1302芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压2.5〜5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个31X8的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。下图为DS1302的管脚及内部结构图:腿Vcc,CND图】展腿Vcc,CND图】展I3M管脚图及内部结构图图13DS1302的管脚及内部结构图DS1302共有12个寄存器,其中有7个寄存器与日历、时钟相关,存放的数据位为BCD码形式。此外,DS1302还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。DS1302与RAM相关的寄存器分为两类,一类是单个RAM单元,共31个,每个单元组态为一个8位的字节,其命令控制字为COH~FDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的RAM寄存器,此方式下可一次性读写所有的RAM的31个字节,命令控制字为FEH(写)、FFH(读)。具体的参数见表5.6。表5.6DS1302寄存器参数表寄存器名命令字取值范围各位内容写操作读操作765432 1 0秒寄存器80H81H00~59CH10SECSEC分钟寄存器82H83H00~59010MINMIN小时寄存器84H85H01~12或00~2312/2401HRHR日期寄存器86H87H01~282930310010DATADATA月份寄存器88H89H01~120000MONTH周日寄存器8AH8BH01~0700000DAY年份寄存器8CH8DH00~9910YEARYEARDS1302的控制字和数据读写时序见图5.14:7 6 5 4 3 2 1 0图3控制字节的含义RSTI/ODATALORSTI/ODATALOBYTEIIDATAlOBYTfo图3数据读写时序图14DS1302的控制字和数据读写时序控制字节的最高有效(位7)必须是逻辑1,如果它为0,则不能把数据写入到DS1302中,位6如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;位5至位1指示操作单元的地址;最低有效位(位0)如为0表示要进行写操作,为1表示进行读操作,控制字节总是从最低位开始输出。DS1302的数据的写入是在控制指令字输入后的下一个SCLK时钟的上升沿,数据输入从低位即位0开始。同样,在紧跟8位的控制指令字后的下一个SCLK脉冲的下降沿读出DS1302的数据,读出数据时从低位0位至高位7,DS1302是通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供了终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中置RST为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc32.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。本系统实时时钟模块电路原理图如图5.15所示,MCU的P1.2、P1.3分别与DS1302的SCLK、I/O相连,VCC2接主电源,VCC1接后备电源,出现掉电时自动转入后备电源供电以防时钟出现停止情况。X1、X2接外部晶振。图5.15实时时钟模块电路原理图MCU对DS1302的读写控制主要包括DS1302的初始化和读取DS1302的时间和日期,初始化过程就是给DS1302赋予初始的时间和日期,详见子程序SET1302,当实时时钟芯片被启动后,在没有接受到新的初始化指令情况下,起内部的时钟将一直不停的运行,从而保证时间的实时性和准确性;MCU在任何时候都可以通过读取DS1302内部时间和日期寄存器中的值而获得准确的时间和日期,GET1302为时间和日期的读取子程序。"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""";个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个;模块名称:DS1302.asm;功能:实时时钟模块 时钟芯片型号:DS1302;T_CLKBit P1.2 ;实时时钟时钟线引脚T_IOBit P1.3 ;实时时钟数据线引脚T_RSTBit P3.6 ;实时时钟复位线引脚"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";个*********************************************************;子程序名:Set1302;功 能:设置DS1302初始时间,并启动计时。;说 明:;调 用:RTInputByte;入口参数:初始时间在:Second,Minute,Hour,Day,Month,Week.YearL(地址连续);返回值:无;影响资源:ABR0R1R4R7"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";个*********************************************************Set1302:CLRT_RSTCLRT_CLKSETBT_RSTMOVB,#8EH;控制寄存器LCALLRTInputByteMOVB,#00H;写操作前WP=0LCALLRTInputByteSETBT_CLKCLRT_RSTMOVR0,#SecondMOVR7,#7;秒分时日月星期年MOVR1,#80H;秒写地址Set13021:CLRT_RSTCLRT_CLKSETBT_RSTMOVB,R1;写秒分时日月星期年地址LCALLRTInputByteMOVA,@R0;写秒数据MOVB,ALCALLRTInputByteINCR0CLRT_CLKSETBT_RSTMOV B,#8EH ;控制寄存器LCALLRTInputByteMOV B,#80H ;控制,WP=1,写保护LCALLRTInputByteSETBT_CLKCLRT_RSTRET"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个;子程序名:Get1302;功 能:从DS1302读时间;说 明:;调 用:RTInputByte,RTOutputByte;入口参数:时间保存在:Second,Minute,Hour,Day,Month,Week.YearL;返回值:无;影响资源:ABR0R1R4R7"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个Get1302:MOV R0,#Second;MOV R7,#7MOV R1,#81H ;秒地址Get13021:CLR T_RSTCLR T_CLKSETB T_RSTINC R0CLR T_RSTDJNZ R7,Get13021RETRTInputByte:MOVR4,#8Inbit1:MOVA,BRRCAMOVB,AMOVT_IO,CSETBT_CLKCLRT_CLKDJNZR4,Inbit1RET"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";个*********************************************************;读1302一字节(内部子程序)"""""""""""""""""""""""""""""""""""""""""""""""""""""""""";个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个RTOutputByte:MOVR4,#8Outbitl:MOVC,T_IORRCASETBT_CLKCLRT_CLKDJNZR4,Outbit1RET3)门禁记录存储与传输各门禁点的出入记录可采用实时上传或定时采集的方式从门禁机传输给中央数据库,前者对系统网络速度要求较高,当网络堵塞时有丢失数据的可能。本系统采用了出入记录暂时存储在门禁机中,每隔一段时间(例如每周一次)上传给中央数据库的方式,为此要求门禁机具备一定容量的存储器,用于暂存门禁数据以及由中央数据库下载的授权卡号。门禁机存储器的容量取决于一个门禁记录的长度、系统的卡容量以及定时上传周期内最大的刷卡次数等,通常应留有一定的余量以免由于超出存储容量而丢失数据。本系统采用了AT24C256作为门禁机的存储器,其存储容量达64K字节,划分成两个区,一个区用来存储所读取的记录,另一个区用来存储上位机下载的授权卡号。门禁机存储器模块的电路原理图如图5.16所示。AT24C256是ATMEL公司具有LC总线结构,可电擦写与编程的只读存储芯片(EEPROM),MCU对AT24C256的读写必须遵循LC总线传输的时序要求,MCU向AT24C256写入和读出数据的时序和格式要求与AT24C01基本一致,在此不再赘述。对于一个单一的读写器来讲,自身的数据存储是有限的,读写器外带的数据存储器主要作为数据的临时存储,对于大量的、需要长期保存的数据,一般是通过有线或无线、甚至网络系统传输到主控计算机中进行保存。+5V图16门禁机存储器模块电路原理图门禁系统原理来源:/作者:2007-2-1918:59:33点击:次【摘要】国内安防领域主流供应商,考勤系统,门禁系统,一卡通系统等.最佳的解决方案和贴心的服务!为办公室综合安全解决方案提供更高的安全保护门禁系统是最近几年才在国内广泛应用的又一高科技安全设施之一,现已成为现代建筑的智能化标志之一。在越来越注重商业情报和安全的今天,对进出一些重要机关、科研实验室、档案馆、以及关系到国计民生的公用事业单位的控制中心、民航机场等场所的工作人员,给予进出授权控制。经济的增长有时引发犯罪的发生,对安全感的追求导致现代化楼宇对保安系统的要求也越来越高。楼宇保安系统不仅包括闭路电视及防盗报警,此外还包括一些门锁、防盗门、防盗网及保安人员等,以满足不了人们日益增加的安全要求。保安管理功能,可以设置使用人的权限和进出时间,可以将使用人的姓名、年龄、职务、相片等多达18种内容的数据输入电脑中,便于查询统计及验证身份;考勤功能,可以根据实际情况将人员编组分类,针对各种节假日,工作日进行考勤记录;巡更功能,可以记录保安员巡更的路线,时间以及巡更点发生的事件如房门损坏,电梯故障等;多种门禁方式组合,可以设置门锁为只进不出,长开,定时开关等多种功能及各种组合;应急及统计功能,本系统可以在电脑上显示出指定持卡人所处的物理位置,便于及时联系。发生火警等紧急情况时,防火门会自动打开,便于逃生,出入口也可以自动打开;当发生非法进出时,会自动报警;本系统还可以根据客户的需要,打印出各种统计报表。门禁系统属公共安全管理系统范畴。在建筑物内的主要管理区、出入口、电梯厅、主要设备控制中心机房、贵重物品的库房等重要部位的通道口,安装门磁开关、电控锁或读卡机等控制装置,由中心控制室监控,系统采用计算机多重任务的处理,能够对各通道口的位置、通行对象及通行时间等实时进行控制或设定程序控制,适应一些银行、金融贸易楼和综合办公楼的公共安全管理。门禁系统作用在于管理人群进出管制区域,限制未授权人仕进出特定区域,并使已授权者在进出上更简捷。系统可用感应卡、指纹、密码等,作为授权识别,通过控制机编程,记录进出人仕时间日期,并可配合警报及闭路电视系统以达致最佳管理。适用于各类型办公室、计算机室、数据库、停车场及仓库等。出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式。使用者用一张卡可以打开多把门锁,对门锁的开启也可以有一定的时间限制。如果卡丢失了,不必更换门锁,只需将其从控制主机中注销。出入口门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的24小时控制、*作、监视及管理。每一个出入口设置一个读卡器,所读取的门禁卡参数经由控制器判断分析:准入则电锁打开,人员可自行通过。禁入则电锁不动作而且立即报警并作出相应的记录;用户可以选择各种类型的读卡器:磁卡读卡器、韦根式读卡器、感应式读卡器、免持式读卡器、遥距式红外线读卡器,也可选用数字密码键盘开锁;管理软件不仅可以对不同出入口读卡器的开启时间、准入时间进行编程,还可以对每一张门禁卡允许进入的区域、时间进行限制防止人员“误入歧途”,并可随时查询出入情况;可根据用户的具体要求定做考勤软件,统计加班时间、迟到时间、次数,并计算当月应得工资、应扣工资及实得工资等;对于单位领导等特别人员,可以有特殊的权限设定,从而达到对每个出入口和每个出入人员的单独编程、统一管理;对于整个系统的每个动作,如哪扇门开启,时间多长,是谁在开门等情况,管理中心全部记录在案。一旦有事故发生,这些记录将成为有力和无法更改的证据。系统具有防返传功能:防止有人进入某区域后,将卡回传给区域外企图用同一张卡进入的另一人员;具有人员追踪功能:在外门未关闭之前,无法打开内门;若发生强行破门、恶意破坏读卡器或键盘、无效卡或错误密码企图开门等不正常事件,管理中心立即获知并提醒值班警卫。系统同时启动现场探照灯、录像机等相关设备。感应卡特点因为感应卡的上市,使用者再也不需要携带钥匙,更免除了钥匙被复制的烦恼,再也不必耽心财物可能蒙受损失。感应式讯号发送器的封装形式有许多种,包括卡片式、钥匙圈式、笔心式、玻璃管式、麦克笔等等,体积有大小差别,而体积的大小往往与感应距离成正比,一般来说,使用人员于门禁及停车场管制时,为了方便携带,通常做成卡片式,故俗称感应卡。动作原理:感应卡(PromixityCard)一般以接触卡称之,磁卡在使用时要有「刷卡」的动作以达到管制目的。通常一张感应卡中有IC芯片、感应线圈及电容原件。感应卡为发射应答端,而感应式卡片阅读机为接收端,类似发电机,持续发送频率。当卡片靠近卡片阅读机发射频率的范围内时,卡片内的线圈会接受此频率并产生能量,此能量储存在电容器内,当能量到达激磁的状态时,会将卡片中IC芯片上所烧录的密码发送给卡片阅读机卡片阅读机辨识过后,便可开门,坊间各厂牌的卡片阅读机所发射出的频率不同,故卡片不会有互通并可使用状况发生。设置门禁管理系统主要目的是保证上述区域及区域内设备安全,便于人员的合理流动,对进入这些重要区域的人员实行各种方式的进出许可权管理,以便限制人员随意进出。当员工要进入被管制的区域时,必须先在门旁的读卡器中刷卡,门才能被打开。每道门边的读卡器均通过现场控制介面单元和系统集中控制器受到监控终端的控制。每一张卡根据系统设置,只能在规定时间内打开规定范围的门。同时防止外来人员随便闯入,如有人强行破门或下班没有关门,门禁装置将发出报警信号,监控终端上马上显示报警的门号。门禁系统设计之目的是为实现人员出入权限控制及出入信息记录。门禁系统原理1、 对需控制的出入口,安装受电锁装置和感应器(如:电子密码键盘、读卡器、指纹阅读器等)控制的电控门;2、 授权人员持有

温馨提示

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

评论

0/150

提交评论