




免费预览已结束,剩余42页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
三亚学院毕业论文(设计)基于单片机及射频识别技术的门禁系统设计技术的门禁系统设计术的论文(设计)题目: 学 院: 理工学院 专 业(方 向): 通信工程 年 级、班 级: 学 生 学 号: 学 生 姓 名: 指 导 老 师: 年 月 日基于单片机及射频识别技术的门禁系统设计摘要 以STC12C5A60S2单片机最小系统作为主控平台,加上由功率放大电路、检波电路、滤波放大电路组成的低频读卡单元构成回路,实现在125kHz频段下对EM4100型射频卡进行识别,并将其利用到门禁控制中,对其功能进行深入设计,在系统中增加了语音播报模块、DS1302时钟模块、LCD12864液晶显示模块。经实验结果表明:系统可以读取125kHz射频卡中的信息,进行曼彻斯特解码获得该卡的卡号,并在LCD12864液晶屏上显示出对应的卡号以及系统设置的卡号对应使用人的身份信息。另外,系统还实现了语音播报卡号、多模式门客访问功能以及万年历显示。采用分立元件构成的系统,无需读卡基站芯片,电路结构更加简单,可以让系统更加稳定且成本极低;在C环境下进行程序编写,利用曼彻斯特解码方法构成的软件系统不但移植性强和系统升级简单,而且读卡稳定、成功率高。【关键词】门禁,射频识别,单片机,射频卡 Entrance guard system design based on MCU and RFIDAbstractWith STC12C5A60S2 MCU smallest system being the main control platform, and combined with the low frequency circuit card reading unit constitution consisting of the power amplification circuit, detection circuit, filter amplifier circuit, the system implement the identify of EM4100 type radio frequency card under the 125 KHZ frequency, which be used to the entrance guard control and whose function can be designed deep. The system increased the speech module , DS1302 clock module, LCD12864 liquid crystal display module. The experiment results showed that the system can read the information in the 125 KHZ radio frequency card, do Manchester decoding to gain the card number, and display the corresponding card number and the card number of system Setting corresponding to the identity information of the user in LCD12864 liquid crystal display screen.In addition, the system also implements that the speech broadcasts card number, and multiple-mode public access functions and calendar display. without base station chip card reader, the system consisted with discrete element makes the circuit structure simpler and makes the system more stable and low cost.Under the environment of C programming, the software system is not only strong portability and simple system upgrades, but also can read the card with high successful rate stably.【Key Words】Entrance guard ,RFID, MCU,Radio frequency card目 录1 绪论11.1 研究背景及意义11.2 国内外研究发展状况11.3 本文的主要设计内容22 RFID技术理论基础及开发工具简介32.1 RFID技术概述32.2 非接触式EM4100型ID卡简介42.3 STC12C5A60S2单片机简介52.4 开发环境62.4.1 Altium Designer 10 简介62.4.2 集成开发环境Keil Vision4简介73 系统的硬件设计83.1 系统整体硬件电路设计83.2 各个模块电路设计103.2.1 STC12C5A60S2最小系统电路设计103.2.2 125KHZ载波产生电路设计113.2.3 阅读器硬件电路设计113.2.4 DS1302时钟电路设计123.2.5 语音播报电路设计133.2.6 LCD12864液晶显示及按键控制电路设计133.2.7 系统电源电路设计134 系统的软件设计154.1 系统软件工作流程图154.2 软件详细设计154.2.1 曼彻斯特码解码子程序154.2.2 用户信息储存子程序184.2.3 卡号核对及报警子程序194.2.4 用户界面设计子程序194.2.5 按键服务子程序215 系统整体测试235.1 电路焊接及调试235.2 系统各路信号测试235.2.1 125KHZ载波信号产生电路测试235.2.2 谐振信号测试245.2.3 曼彻斯特编码信号测试245.3 系统运行测试256 结论27参考文献28致谢29附录30 1 绪论1.1 研究背景及意义 随着我国经济以及社会科学技术的蓬勃发展,人们的生活水平也有了很大的提升。因此在我们学习、生活乃至工作中高科技产品所处可见,给人们的生活带来了很多的益处。另一方面,伴随着城市人口的迅速增加,我国的住宅发展进入到一个新的时期,由原来只是简单的追求生存空间变成了现在的追求住宅质量、功能、服务等,所以将现代科技融入到住宅建设中,让其转变为智能建筑是未来的必然趋势。现代科技会给人们带来很多的益处,但同时也会带来不少的麻烦,一些不法分子会利用高科技进行盗窃,抢劫等犯罪行为。要怎么样才能让人们在享受现代科技带来的益处的同时又能避免这些麻烦,阻止这些犯罪行为的发生,保护好我们的财产及人生安全呢?就像是在门禁安防系统中,以前人们用的一把普通的锁组成的门禁,而这种锁又需要对应一把钥匙,多个门锁就要多把钥匙,钥匙多了不便于携带,容易丢失和被盗,并且钥匙是可以被复制的,因此安全性没有保障。为了从根本上改变这种局面,便产生了依赖于射频识别技术(Radio Frequency Identification, RFID)1 的智能门禁系统,它是在电子、机械、计算机和通信等技术的基础上开发出来的。基于RFID技术的门禁系统将“射频卡”与“机械锁”有机结合,让“射频卡”替代传统的“钥匙”,配合单片机进行信息化、智能化管理,让用户再也不需要携带钥匙,进而避免了钥匙的丢失或被复制带来的财产的损失。而这种高科技技术,在很多经济发达的国家已经广泛应用于科研、工业、酒店、银行、监狱等,正是因为门禁技术应用的多样性,功能的完善和广泛的适应性,已成为当今社会安防技术重点研究和开发的方向2 3。1.2 国内外研究发展状况射频识别技术作为快速、实时、准确的采集信息和处理信息的高新技术,被世界列为21世纪十大重要技术之一,在生产、安防、销售和物流等领域有着广阔的应用前景4。智能门禁控制系统将自动识别技术结合后,发展之迅速,拥有很大的市场,现在国内外已经有很多的公司都是从事智能门禁系统控制的研发和生产的。在国外的门禁系统主要品牌有德国的博世BOSCH、美国的HID Global、以色列的DDS等,国内门禁系统的品牌主要有西门子、科松COSON、捷顺JSST等,其中有很多产品都是基于射频识别技术的智能门禁控制系统。如今智能门禁系统已经是发达地区一些重要场合乃至日常生活中重要的安防系统之一,与原始的门禁系统不一样,它从被动的身份转变到主动监控和自动报警控制,发挥了更好的安全防范作用,让其在安防控制设备领域中大显风采。根据聪慧安防网讯2012-2016年门禁系统项目商业计划书的数据显示:2011年,国内门禁一卡通市场及相关配套产业链规模猛增达到了160亿元左右,门禁产品销售在各行各业的发展也出现大幅增长。在2012年国内门禁系统产品销售市场规模趋势预测达到了58亿元,年增长约为35%,国内的智能门禁行业从刚发展到现在基本普及的十数年里,在理性化发展道路上,门禁企业着重行业解决方案的研发,不断的发展、创新,市场需求不断上升。1.3 本文的主要设计内容本设计主要分为两个部分:硬件系统和软件系统。硬件系统包括单片机最小系统电路的设计、射频读卡器电路的设计和其他外围硬件设备电路的设计;软件系统包括单片机控制系统程序的设计、非接触式ID卡的曼彻斯特码解码程序的设计和用户信息数据建立的程序设计,以及门禁系统人机界面的设计等。整个系统是基于STC12C5A60S2单片机最小系统建立的管理终端,采用了一种不可写入,含固定编号的EM4100型射频ID卡建立用户信息系统,形成了一种集自动化识别、智能化管理、自动化报警的智能门禁控制系统。其中为了更好的研究读卡器的原理采用分立元件设计了功率放大电路、检波电路、滤波放大电路构成RFID读卡器提取出非接触式ID卡的信息,通过单片机对其译码并核对是否是合法的卡号,采用实时语音播报卡号,如果是非法卡号则通过声光报警电路发出报警信息。另外,本系统使用LCD12864作为显示界面,并加上DS1302时钟电路,可在液晶上实时显示出时间、操作指示以及系统当前状态,构成了很好的人机交互界面。该系统读卡准确,快速,性能安全可靠、操作简单、实用性强。2 RFID技术理论基础及开发工具简介2.1 RFID技术概述RFID源于上世纪40年代的雷达技术,在90年代开始广泛的使用,射频识别技术是利用电磁感应、无线电波或者微波进行非接触双向通信,通过空间耦合实现非接触信息传递并且通过传递的信息达到识别目的和交换数据的技术5。RFID的主要核心部件是读写器和电子标签。电子标签是带有个人身份信息的,电子标签在靠近读写器附近时,读写器利用自身发射的无线电波来将电子标签中的信息提取出来,达到识别的效果。读写器是用来读取电子标签的信息和对电子标签执行写操作的设备,典型的读写器包括射频模块、控制模块、接口模块及读写器的天线5。读写器在接收到ID卡的信息后,通过一定的方式解码信息,并对数据进行校验后判断接收到的数据是否正确,如果是正确的就告知发射器停止发送信息,反之就告知发射器重新发送信息。电子标签又叫应答器,也就是射频卡,它由耦合元件和射频标签专用芯片组成,其中芯片模块由存储器、存取控制和射频控制接口三个部分组成6。每个标签都具有唯一的识别码。当读写器查询时,电子标签把存储的信息发射出去。电子标签可以存储相应人员的一些数据信息,并且根据需要可以分别进行管理,还可以根据需要的不同制作新的标签,电子标签中的内容在被改写的同时,也可以永久锁死保护起来。现在常用的标签一般是由带内存的集成电路组成的,它实际是一个有内存的微处理器,电子标签的基本任务就是读内存、写内存,或者用其他的方式处理内存中的数据7。根据不用的方式,可以对其进行分类,根据电子标签内存属性可分为3种,只读、写一次读多次和可读写多次。根据供电方式的不同,还可以将电子标签分为有源、无源和半无源的。有源电子标签其内部有电池,这个内部电池将提供自身工作能量以及电子标签与读写器通信所需要的能量。无源电子标签没有内装电池,只能从读写器产生的电磁场中通过耦合的方式获得电能。一般用整流的方式将射频能量转换成直流电源并且存储在标签的电容中,无源电子标签具有体积小、重量轻和价格低的优点,但是其工作距离和通信速率都不及有源电子标签。半无源电子标签介于二者之间,部分依靠工作能量由电池来提供。射频卡的识别是按照一定的工作流程来的,首先读写器通过发射天线向电子标签发送一定频率的射频信号,此时进入发射天线的工作范围的电子标签会产生一定的感应电流,电子标签通过耦合的方式获取能量,然后把存储在芯片内的编码信息发送出去,或者电子标签主动向读写器发送一定频率的信号,把电子标签的射频编码信息发送出去;天线在收到电子标签发送过来的载波信号后传给读写器,读写器对收到的信号解调和解码8。2.2 非接触式EM4100型ID卡简介ID卡全称为身份识别卡(Identification Card),是一种不可写入的感应卡,在生产时其内部就有固定的编号,现在市场上主要用的是美国HIDMOTOROLA、台湾SYRIS的EM格式的ID卡,载波频率分为125KHZ(THRC12)或13.56MHZ(THRC13);ID卡向读卡器传送数据的调制方式为加载调幅;数据存储采用EEPROM,数据保存时间超过10年;数据存储容量共64位,包括制造商、发行商和用户代码;卡号在封卡前写入后不可再更改,绝对确保卡号的唯一性和安全性。本系统使用的是EM格式,载波为125KHZ的EM4100型ID卡,EM4100有64位数据信息,它由5个区组成:9个引导位、10个行偶校验位“POP9”、4个列偶校验位“PC0PC3”、40个数据位“D00D93”和1个停止位S0。9个引导位是出厂时就已掩膜在芯片内的,其值为“111111111”,当它输出数据时,首先输出9个引导位,然后是10组由4个数据位和1个行偶校验位组成的数据串,其次是4个列偶校验位,最后是停止位“0”。“D00D13”是一个8位的晶体版本号或ID识别码。“D20D93”是8组32 位的芯片信息,即卡号。存储格式如图2.1所示。9图2.1 EM4100数据存储格式2.3 STC12C5A60S2单片机简介STC12C5A60S2是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,而且速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换,强干扰场合。引脚结构如图2.2所示。主要特点如下:图2.2 STC12C5A60S2引脚图1、增强型8051CPU,单时钟/机器周期(1T);2、工作电压 5.5-3.5V;3、通用I/O口,复位后为:准双向口/弱上拉;可设置成四种模式:准双向口/弱上拉,强推挽/强上拉,仅为输入/高阻,开漏。每个I/O口驱动能力均可达到20mA,但整个芯片最大不超过120mA;4、外部掉电检测电路;5、时钟源:外部高精度晶体/时钟,内部R/C振荡器常温下内部R/C振荡器频率为:5.0V单片机为:1117MHz, 3.3V 单片机为:812MHz;6、4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1;7、3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟;8、外部中断I/O口7路,传统的下降沿中断或电平触发中断,并新增支持上升沿中断的PCA模块,Power Down模式可由外部中断唤醒,INT0/P3.2,INT1/P3.3,T0/P3.4,T1/P3.5,RxD/P3.0,CCP0/P1.3,CCP0/P1.3;9、A/D转换,10位精度ADC,共8路,转换速度可达250K/S。2.4 开发环境硬件开发环境:Altium Designer 10,如图2.3; 图2.3 Altium Designer 10软件开发环境:Win7、Keil Vision4,如图2.4。图2.4 Keil Vision42.4.1 Altium Designer 10 简介Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,使电路设计的质量和效率大大提高。Altium Designer 不但有Protel 99SE、Protel DXP在内的之前版本的功能和优点外,还增加了许多改进和很多高端功能。该平台拓宽了板级设计的传统界面,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程设计人员能将系统设计中的FPGA与PCB设计及嵌入式设计集成在一起10。而且Altium Designer 10 提供了一个强大的高集成度的板级设计发布过程,只需要一键操作,它就可以验证并将用户的设计和制造数据进行打包,这样避免了人为交互中可能出现的错误。更重要的是,该系统可以被直接链接到用户的后台版本控制系统。新增加的预发布验证手段的组合可以用以确保所有包含在发布中的设计文件都是当前的,与存储在用户的版本控制系统中的相应的文件“主人”保持同步的文件,并且通过了所有特定的规则检查(ERC,DRC,等等) 从而可以在更高层面上控制发布管理,并可保证相当高的发布质量。2.4.2 集成开发环境Keil Vision4简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、WIN2000、WINXP等操作系统。本系统开发使用的是在2009年2月发布的Keil Vision4,相对比之前的Keil版本,它引入了灵活的窗口管理系统,让开发人员可以使用多台监视器。最新的用户界面可以很好的利用屏幕空间、更有效的组织多个窗口,为开发人员提供一个较为整洁、高效的开发环境。 3 系统的硬件设计3.1 系统整体硬件电路设计硬件设计结构框图如图3.1所示功率放大模块检波模块功率放大及滤波模块125KHZ载波产生模块STC12C5A60S2最小系统电源模块载波解码时钟模块语音模块声光报警模块按键控制模块LCD12864显示模块卡信息天线图3.1系统整体硬件框图本系统是以单片机STC12C5A60S2为最小控制系统,利用芯片CD4060产生稳定的125KHZ的方波经过用三极管功率放大后作为天线的载波,当有ID卡在天线的接收范围内时,此时将把接收回来的信号经过检波电路后发给由LM358芯片搭建的滤波及放大电路;最后再将得到带有ID卡信息的采用曼彻斯特编码的信号传给单片机STC12C5A60S2进行解码,读出ID卡的卡号,单片机利用所提取出来的卡号判断卡号是否是合法,并根据判断结果采取相应的措施。同时系统实时读取DS1302中的时间信息,在LCD12864上显示出来,还可以通过按键控制进行当前系统的模式设置,以及语音播报时间信息。首先利用Altium Designer 10设计出原理图(门禁系统原理图见附录1),再进行PCB设计,因为门禁控制系统的工作环境一般比较恶劣,受到的噪声干扰比较严重,所以要求系统要在能适应噪声干扰的环境下工作,另外门禁控制器与ID卡之间采用的是射频通信,因此其中就涉及到了高频电路的设计,其受环境噪声的干扰也比较严重,而且高频信号对周围的电路也会产生干扰,为了使系统在噪声干扰比较严重的环境使电路能够正常工作,因此就要在制作系统PCB时考虑到电路的抗干扰能力,对电路进行抗干扰设计。该系统在设计时采用了以下的方式来达到抗干扰的目的:(1)接地在设计射频电路的PCB时,电源线和地线的布线合理化就能够很好的的克服掉电路间的电磁干扰的问题,很多干扰源都是通过PCB上的电源线和地线产生的,而且地线设计比电源的设计更加重要,不合理的地线设计很容易产生很大的噪声干扰。主要是因为当地线上有电流流过时就会产生电压,在地线上形成了环路电流,从而产生地线的噪声干扰。因此在PCB覆铜时将整个板子的设置为GND,而且在设计双层板时,将Top Layer与Bottom Layer直接的地多打过孔,让顶层与底层直接的GND充分连接。高频信号在线路传输时容易产生互感,为了防止互感带来的信号干扰在设计PCB时尽量缩短信号线长度,且在可能产生互感的两线路中间放置一个地线,用来隔离两线路间的互感。在各个模块电路之间也要用地线来进行隔离,防止模块间的干扰。(2)去耦在电路的各个关键部位配置合适的去耦电容。在集成电路的电源与地之间并接去耦电容,一方面可以为集成电路蓄能,另一方面可以过滤高频噪声。在设计去耦电容时,引线不能设计太长,特别是在设计高频旁路电容时,通常高频旁路电容不设置引线。(3)元件的布局与走线射频电路效果的好坏不仅与电路的性能指标有关,还有很大的一部分取决于器件与线路板间的影响,因此在设计PCB时,各元件之间的布局也是相当重要的。PCB板上的布局不是简单的将各电子元件在电路板上进行拼凑,在对PCB进行布局时主要考虑的是如何选择合理的布局能减少各模块电路之间的相互干扰,提高电路本身的抗干扰能。因此在设计电路板时最好选择使用两层电路板,对电路进行布线时要避免线路拐直角,在需要拐角的地方应以135度角为宜,以提高电路的抗干扰能力,抑制高频噪声干扰。同时对于射频电路,信号线的布局、走线的宽度和线间距的设计也要合理设计,这样能够避免信号传输线之间的交叉干扰。而且电路板的整体大小要适中,过大的电路板会使印刷线路过长,增加电路的阻抗,从而减弱了系统的抗噪声能力,电路板过小会导致元器件的布局过于集中,各个元器件和线路之间会产生相互的电磁干扰,且不利于元器件的散热。图3.2为系统整体PCB图。图3.2 系统整体PCB图3.2 各个模块电路设计3.2.1 STC12C5A60S2最小系统电路设计因为本系统要实时对传来的信号进行解码,然后和自身存储的信息进行对比,且还要实时控制各个外设模块,如果用STC89C51单片机处理起来会比较慢,因此选用STC12C5A60S2作为本系统的处理器。此款单片机是STC生产的单时钟/机器周期(1T)的单片机,是高速、低功耗、超强抗干扰的新一代8051单片机,指令代码不但完全兼容传统的8051,而且速度还是8051的8-12倍,所以其运算处理速度相当快,对于本系统来其处理速度完全符合要求。如图3.3最小系统电路图所示,STC12C5A60S2最小系统主要包括单片机、12MHZ晶振模块、复位模块组成。图3.3 最小系统电路图3.2.2 125KHZ载波产生电路设计本系统的阅读器部分需要一个125KHZ的载波信号,为了使单片机更有效的处理其他计算,这个信号没有使用单片机产生PWM方波信号,而是采用的芯片CD4060。CD4060是由一振荡器和14级二进制串行计数器位集成,振荡器的结构可以是RC或者晶振电路。CD4060在数字集成电路中可实现的分频次数最高,本系统为该电路的振荡器提供了4MHZ晶振,经过CD4060的32分频得到稳定的125KHZ的方波,为阅读器提供稳定的载波信号。图3.4为CD4060的125KHZ载波产生电路图。图3.4 125KHZ载波产生电路图3.2.3 阅读器硬件电路设计阅读器的硬件电路如图3.5所示,主要包括功率放大电路、检波电路、滤波电路。在图3.6中将产生的125KHZ载波信号经过限流电阻R1后送入推挽式连接的三级管功率放大电路,放大后的载波信号通过天线发射出去。天线P1与电容C1构成串联谐振电路,谐振频率为125KHZ,谐振电路的作用是使天线获得最大的电流,从而产生最大的磁通量,获得更大的读卡距离。将带有ID卡的相关信息的信号经过检波电路除去125KHZ的载波信号,还原出有用数据信号。R2、D1、R3、C2、C3构成基本包络检波电路,C4为耦合电容,R4和C5为低通滤波电路,输出接到滤波放大电路。滤波放大电路采用集成运放LM358对检波后的信号进行滤波整形放大,放大后的信号送入单片机进行解码,从而得到ID卡的卡号11。图3.5 阅读器电路图3.2.4 DS1302时钟电路设计DS1302是由美国DALLAS公司推出的一款高性能、低功耗的实时时钟芯片,其附加有31字节静态RAM,采用的是SPI三线接口与CPU进行同步通信,并且可用突发方式一次性传送多个字节的时钟信号和RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,一个月30天与31天时可以自动调整,且具有闰年补偿功能。图3.6为DS1302工作电路图,为整个门禁系统提供稳定的实时时钟,并且具有掉电保护功能,当系统断电有备用电池为芯片供电,使其时间始终正确。图3.6 DS1302时钟电路图3.2.5 语音播报电路设计图3.7为语音播报电路,主要由语音芯片和扬声器组成。此语音芯片内部分地址储存了相应的语音信号,可采用模拟串行的控制方式,如需要播放第几个地址的内容就发送几个脉冲。此语音芯片可为本门禁系统提供语音播报ID卡号、当前时间及日期信息。图3.7语音播报电路3.2.6 LCD12864液晶显示及按键控制电路设计一般液晶有带字库和不带字库的,该系统使用的是一款带字库的128X64液晶,它具有4位/8位并行、2线或3线串行多种的接口方式,其内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,显示分辨率为12864,内置8192个16*16点汉字和128个16*8点ASCII字符集。利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面,可以显示84行1616点阵的汉字,也可完成图形显示,同时还具有低电压低功耗的特点。本门禁系统的LCD12864电路采用的8位并行接口方式,配合按键的使用,通过单片机设计人机交互界面。其电路图如图3.8所示。图3.8液晶显示及独立按键电路3.2.7 系统电源电路设计78L05是一种固定电压(5V)三端集成稳压器,其适用于很多应用场合,像牵涉到单点稳压场合需要限制噪声和解决分布问题。同时还可以和其它功率转移器件一起构成比较大电流的稳压电源,可以驱动输出电流高达100毫安的稳压器。本门禁系统的所有电路都使用5V电源供电,所以采用78L05稳压芯片设计稳压电路,提供稳定的5V电源。电路图如图3.9所示。图3.9系统电源模块电路图4 系统的软件设计按键输入访客门铃键当前模式响门铃不响门铃液晶界面相关显示设置模式键有人模式休息模式无人模式万年历键进入万年历界面界语音报日期语音报时键语音报时开始系统初始化卡信号有无解码,取得卡号卡号对比打开门,显示卡号,语音报卡号报警,显示卡号,语音报卡号合法非法4.1 系统软件工作流程图图4.1 系统软件工作流程图4.2 软件详细设计 4.2.1 曼彻斯特码解码子程序曼彻斯特编码特点是每位数据都由半个周期的高电平和半个周期的低电平组成,因此将一个位数据拆分为两位,位数据“1”可视为“10”,位数据“0”可视为“01”,所以64位数据就可视为由128位组成。为了获得完整且连续存放的64位ID信息,在此接收两轮完整的64位数据,也就是接收256位,则上一轮接收到的停止位后就要紧跟着本轮接收到的起始位,通过这样才能准确找出起始同步头。再根据曼码特点获得ID卡的有效数据(“10”解码为“1”;“01”解码为“0”)并进行LCR校验,如果校验无误程序则返回“1”,并且将ID卡号储存在数组codebuff中,并准备下一次的解码;否则,直接准备下一次解码。部分解码代码如下:/* 曼码解码开始*/uchar detect_bit() /检测位数据uint timeout=LTIME;TH0=TL0=0; TR0=1;while(timeout-)if(dat_old!=dat_in) break; /有跳变跳出 TR0=0; /关闭定时器,读取脉冲宽度if(timeout=0) return 0; /超时退出dat_old=dat_in; /保存当前状态timeout=(TH0*256+TL0)*13; /计算脉冲宽if(timeout=STIME)&(timeoutMTIME)&(timeout=LTIME)return 2;/跳变为一个脉冲单位return 0; /其他值为错误脉冲,退出uchar read_rfiddat()/读取数据位switch (detect_bit() case 1:if(detect_bit()!=1) return 2;/半个周期,为空跳,再次检测半个周期 return !dat_old; case 2: return !dat_old; default:return 2; /出错返回2bit read_rfid() /读取全部数据信息uchar i,j;dat_old=dat_in;/保存数据位状态for(i=0;i9;i+)if(read_rfiddat()!=1)return 0;/数据头不为9个“1”,返回错误(0)/以下开始读取卡信息for(i=0;i11;i+) codebuffi=0x00;for(j=0;j5;j+)codebuffi=1;switch (read_rfiddat() case 0: break; case 1: codebuffi|=0x08;break;/这样数据在高五位 case 2: return 0; /返回错误(0) if(codebuff10&0x08)!=0)return 0;/判断结束位,返回错误(0)/以下进行CRC校验for(i=0;i4)(codebuffi3)(codebuffi2) (codebuffi1)codebuffi ) & 0x08)!=0) return 0; j=0;/列偶校验for(i=0;i11;i+)j=j(codebuffi&0x80);if(j!=0)return 0;for(i=0;i11;i+)j=j(codebuffi&0x40);if(j!=0)return 0;for(i=0;i11;i+)j=j(codebuffi&0x20);if(j!=0)return 0;for(i=0;i11;i+)j=j(codebuffi&0x10);if(j!=0)return 0;return 1;/校验完成,返回成功(1)4.2.2 用户信息储存子程序该系统会将合法的射频卡的ID号预先储存起来,且每个合法的ID号都对应着一个用户,所有用户的信息都被储存在单片机中。当系统检测到有卡接触时,会通过其解码出的卡号在液晶屏上显示用户相关的信息。这样每次需要增加或减少系统中的用户时只需要更新预存的ID号及用户信息即可,既安全又方便。代码如下:/预定义合法的卡号uchar card1=08735534,card2=11909509,card3=07259431;/用户信息void UID() WriteLCD_command(0x01); if(check(card1) /合法卡号1对应的用户信息 WriteLCD_xy_Str(0,0, 用户信息 );WriteLCD_xy_Str(1,0,姓名: ); WriteLCD_xy_Str(2,0,ID号: ); WriteLCD_xy_Str(2,3,codebuff); WriteLCD_xy_Str(3,0,学号:); 4.2.3 卡号核对及报警子程序 系统在识别到有射频卡接触时,首先通过解码程序将检测到的卡号储存在codebuff中,然后在通过调用check()函数对卡号进行核对。如果核对的卡号是合法的就将门打开,否则就将开启报警模式,提醒用户有非法卡号尝试进入。如下所示:/用户鉴别函数uchar check(uchar *card) uchar i; for(i=0;i8;i+) if(codebuffi!=cardi) /判断卡号是否相同 /非法卡号 JD_SW=1; /不打开门 red=0; /红灯警告 FM=0; /打开报警模式 boardID(buff); /语音播报卡号 Delay_s(2); red=1; FM=1; return 0; JD_SW=0; /打开门green=0; /表示打开了门boardID(buff);/语音播报卡号Delay_s(2);/延时一段时间后将门关闭JD_SW=1; green=1; return 1;4.2.4 用户界面设计子程序本系统使用LCD12864液晶显示屏作为显示界面,通过程序设计了不用的用户界面。分别有待机主界面、访客模式界面、系统设置界面,其中系统设置界面中又可设置其三种访客模式,分别为休息模式、有人模式、无人模式。当在休息及无人模式下有访客按门铃,此时的门铃不会响,并且系统会给出相应提示;当在有人模式时,此时的门铃才会响,所以使得该系统具有友好的人机交互界面,使其更进一步人性化,智能化。部分代码如下12:/待机主界面void Show() WriteLCD_command(0x01); WriteLCD_xy_Str(0,0,Sanya University); WriteLCD_xy_Str(2,0,RFID智能门禁系统); WriteLCD_xy_Str(3,0, 请刷卡 ); /访客模式界面void visitor(uchar num) if(num=1) /休息模式 WriteLCD_command(0x01); WriteLCD_xy_Str(0,0,RFID智能门禁系统); WriteLCD_xy_Str(1,0, 主人在休息! ); WriteLCD_xy_Str(2,0,有急事请打电话!); WriteLCD_xy_Str(3,0,Tel); if(num=2) /有人模式 WriteLCD_command(0x01); WriteLCD_xy_Str(0,0,RFID智能门禁系统); WriteLCD_xy_Str(1,0, 主人在家! ); WriteLCD_xy_Str(2,0,请稍等,通报一声); WriteLCD_xy_Str(3,0, 马上给您开门!); doorbell(); if(num=3) /无人模式 /工作模式设置界面void Mode_set() WriteLCD_command(0x01); WriteLCD_xy_Str(0,0, 模式设置菜单 ); WriteLCD_xy_Str(1,0,1.休息模式,按1 ); WriteLCD_xy_Str(2,0,2.有人模式,按2 ); WriteLCD_xy_Str(3,0,3.无人模式,按3 ); /设置成功提醒界面void Set_OK(uchar num) WriteLCD_command(0x01); WriteLCD_xy_Str(0,0,RFID智能门禁系统); WriteLCD_xy_Str(1,0, 模式设置成功 ); WriteLCD_xy_Str(2,0,当前模式: ); switch (num ) case 1: WriteLCD_xy_Str(3,0, 休息模式! ); break;case 2:WriteLCD_xy_Str(3,0, 有人模式! ); break; case 3:WriteLCD_xy_Str(3,0, 无人模式! ); break; 4.2.5 按键服务子程序本系统的按键主要分为系统模式设置按键、访客门铃按键、查看万年历按键,这些都将配合液晶显示屏使用,且有的按键有复用功能,在不同的程序中功能不一样。在主函数中系统是通过查询的方式检测是否有按键按下,然后在做出响应。代码如下12:/查询按键设置的模式void mode_key() MODE=0; if(key4=0) MODE=1; /休息模式 if(key3=0) MODE=2; /有人模式 if(key2=0) MODE=3; /无人模式void Key()if(key1=0) /系统模式设置按键 Mode_set(); /模式设置显示界面Delay_s(3);while(MODE=0) /等待设置模式mode_key(); MODE1=MODE; /储存标志,后面调用 MODE=0; /清除标志,下次设置 Set_OK(MODE1); /设置成功提示界面Delay_s(3); Show(); /刷新到待机界面 if(key2=0) /访客门铃按键 visitor(MODE1); /判断当前的模式,并根据不同模式设置门铃是否响 Delay_s(3); Show(); /刷新到待机界面 if(key3=0) /查看万年历 Show_Day(); /显示及语音播报日期 5 系统整体测试5.1 电路焊接及调试通过使用Altium Designer画好PCB后发往工厂进行印制,未焊接板子如下图5.1所以。板子制作回来通过电烙铁将元器件焊接上去,在焊接的过程中要边焊接边测试,避
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年科四考试试题题库及答案
- 慢性粒细胞白血病课件
- 心理演讲素材考试题及答案
- 钦州历史中考试卷及答案
- 管理运营岗位考试题及答案
- 情感障碍护理课件
- 中专外科护理考试题及答案
- 恐龙的时间课件
- 考幼师证考试试题及答案
- 治疗师操作考试题及答案
- 《室内空间设计》第三章课件
- 沥青及沥青混合料试验作业指导书
- 学习《北方民族大学学生违纪处分规定(修订)》课件
- 装配式建筑设计专篇(word6)
- Matlab-Simulink模型检查验证与测试
- 单位减少存档人员表
- 潮流玩具行业研究报告
- 高一新生入学家长会课件(PPT 23页)
- 导尿管球囊扩张术在吞咽障碍治疗中应用
- 四川省初中毕业生登记表
- (精心整理)学而思小学语文课程体系介绍
评论
0/150
提交评论