《基于单片机的智能门禁系统的设计(共21页).doc》由会员分享,可在线阅读,更多相关《基于单片机的智能门禁系统的设计(共21页).doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上毕 业 论 文学生姓名盛伟斌学 号学院 物理与电子电气工程学院专 业电子信息工程题 目基于单片机的门禁系统的设计指导教师 葛恒清 副教授/硕士2012年5月摘要: 智能门禁系统是一种现代化的控制人员的出入以及控制人员在楼内及敏感区域的行为并准确记录和统计管理数据的数字化出入控制系统。它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,光学,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门出入口实现安全防范管理的有效措施。本文完整的描述了以AT89C52为核心的单片机控制方案来实现智能门禁系统的设计与实现,通过软件与硬件的结合,使智能门禁系统完成
2、开锁、修改密码、报警等等一系列的功能。关键词:智能门禁、AT89C52Abstract: Intelligent entrance guard system is a kind of modern control access and control personnel and the behavior of the sensitive area inside the building management and accurate records and statistics of the digital access control system. It combines the micr
3、ocomputer automatic identification technology and modern safety management measures, it involves the electronic, mechanical, optical, computer technology, communication technology, biotechnology, and many other new technologies. It is solve important gateway to realize the effective safety managemen
4、t measures. In this paper, a complete description of the AT89C52 as the core of single chip computer control scheme to realize the intelligent entrance guard system design and implementation, through the combination of software and hardware, the intelligent entrance guard system to complete the unlo
5、ck, change passwords, and so on a series of alarm function.Key words: Intelligence、AT89C52目录第一章 绪论. 41.1 课题背景. 41.2 最新发展. 41.3 国内外的研究现状. 5第二章 系统总体设计和主要芯片介绍. 52.1 系统总体设计. 52.2 主要芯片介绍. 6第三章 系统硬件电路构成 . 73.1 最小系统设计 73.2 各单元电路原理 . 8第四章 软件的设计与实现 . 124.1 软件设计思路 . 124.2 射频模块软件体系结构 . 124.3 子程序分析 . 13第五章 结束语
6、. 17致谢 . 181绪论 门禁系统是时代快速发展的产物,是信息领域中的新兴产业。最早的传统门锁只是简单的机械原理的运用,是纯粹的机械装置。虽然在数代人的努力下不断的改良,其安全性不断提高,但还是可以通过暴力等非正常手段拆除,安全性较低。随着时代的进步,人们对安全性的要求不度提高,简单的机械锁已经满足不了人们的需求,门禁系统便应运而生。智能门禁系统如今被广泛的应用,每一个人的生活都或多或少离不开它。作为一个新型智能的安全控制系统,它融合了机械电子、计算机软件编程、无线通信技术等诸多技术,已经能很好地解决重要区域出入口通道在安全上的问题。智能门禁系统被应用在各种对安全要求较高的区域,如酒店房间
7、、公司数据库中心机房、各大银行、国家军火库、数据库中心、居民小区、工厂等等。在科技与网络快速发展的今天,新型智能门禁技术也应运而生,得到了人们的青睐。现在,门禁系统的概念也发生了变化,早已不是简单的门锁和钥匙,在人们不断地补充和完善下,它已经逐渐发展成熟,成为一套稳定性和安全性较高的控制管理系统。如今只要在对工作生活的环境安全有要求和公司需要人事考勤管理等这些地方,智能门禁系统就发挥着不容忽视的作用。智能门禁系统应用比较广泛,只要在此基础上添加一些相应的其他设备,就可以达到对电梯出入控制、停车场车辆进出控制、图书馆书籍借阅管理等,真正的实现便捷的智能管理。门禁系统又称出入管理控制系统(ACCE
8、SSCONTROLSYSTEM),它是用来管理重要出入口通道人员出入控制的系统。也就是说:我们可以控制人员什么时候允许进出那些门或者场所,同时如果需要,也可以提供进出的查询记录等等。目前市面上常见的门禁系统有很多:非接触感应卡式系统,指纹识别系统,虹膜扫描系统,面部识别系统,语音识别系统等各种技术的系统。它们有各自的特长,门禁系统的应用领域也越来越广。感应卡式门禁系统使用场合比较多,但是安全性相对其他门禁系统要低很多。小区智能门禁系统是用来管理住宅小区出入通道保证居民正常生活的系统。如今的开发商为了更好的吸引买房者,也越来越重视小区的管理,为了防止不是小区的人员闯入,保证小区居民生命财产安全,
9、于是在小区的入口就会设置一个门禁系统,要想进入小区就必须刷卡。而在这之前我们大多都是使用一般传统的门锁,也就是一把钥匙一把锁,然而传统的门锁结构相对比较简单,无论门锁结构多么复杂,使用的材料多么坚固,一些人总能通过各种方法把它打开。而且在一些出入口人员流量比较大的通道如小区门口、酒店客房。如果使用传统的门锁,应用起来会特别麻烦。俗话说一把钥匙开一把锁,一旦钥匙丢失,为了保证安全,原来的锁和钥匙就就需要更换,并且传统的门锁在安全系数上比较低。随着人们对安全需求方面越来越关心,为了解决这些问题、开发市场,于是各种磁卡锁、密码锁等电子锁就应运而生。也正是由于这些电子锁的出现,在那些重要出入口通道上的
10、管理上人们又有了进一步的提高和加强,因此也使智能门禁控制管理进入了新的时代。但是凡事有好的一面也有它不好的一面,随着这两种电子锁的在各个领域应用的越来越多,它的问题也逐渐显现出来,这种电子磁卡锁的信息不是很安全,容易被其他人复制,同时随着使用的时间的不断增长,这必将导致卡片与读卡器具之间磨损也会随着逐渐变大,仪器的故障率也会增高。而电子密码锁同样存在信息泄露上的问题,一旦密码泄露,那么追查起来不容易,也没那么安全。尽管有很多缺点,但是我们相信在不远的将来,在人类的努力和拼搏下,门禁系统将会越来越智能化,以前的种种缺点将会被解决,取而代之是更便捷、更安全、更人性化的特点,因此我们的生活环境也将变
11、得更加的安全。让我们期待美好的明天。1.1课题背景社会的发展,生产力的提高,使人们有了富余的资产。为了防止钱财被他人盗窃,为了维护自己的安全,人们开始用锁来保护自身的生命与财产。而随着科技的日益进步,城市面貌出现的巨大的改变,各种高科技犯罪也随之出现,仅靠传统的门锁已无法满足人们的需求了,智能门禁系统便在这种情况下诞生。从古至今,人们都养成使用简单的门锁来防止他们的财产被盗,同时也是防止一些人员在不被允许的情况下进出房间等私密场所,这种简单的方法一直延续了上千年。然而普通的门锁却始终离不开钥匙,一把钥匙开一把锁的定理持续了很久,但是现如今人们生活中需要加锁的地方变得越来越多,使用传统的门锁就会
12、导致自己需要随身携带很多把钥匙,但是钥匙一旦多了就会带来很多不便。如果我们每天都需要携带很多钥匙,就会很容易弄混、丢失或者被盗,所以安全性和便捷性很差。如今,伴随着科技高速发展,传统的门锁早已经不能满足现在人们对生命财产安全方面的需求,为了从根本上改变这种局面,于是智能门禁系统就孕育,它集成了机械、电子、光学、生物识别技术、计算机技术和通信技术等多种新技术,它也是新时代很优秀的产物。 1.2最新发展近年来,随着智能卡、生物识别、无线门禁等技术的发展,门禁系统发展迅猛,进入了成熟期,手机一卡通、指纹门禁、人脸门禁、无线门禁等产品开始走进大众,它们在安全性、便捷性等方面都各有特长,门禁系统的应用领
13、域也越来越广,技术发展也越来越全面。无线门禁产品从诞生到现在,经过技术的不断演化已经出现了通过FSK、GPRS、蓝牙等方式传输的产品。而随着物联网技术的兴起,物联网门禁产品受到了安防行业内的普遍关注,无线物联网门禁系统可以直接替换现有的有线联网或非联网门禁系统。对于办公楼宇系统,应用无线物联网门禁能明显降低施工工作量,降低使用成本;对于宾馆系统,无线物联网门禁能提升门禁的智能化水平。随着生物识别产品的不断问世,其在门禁系统的应用也必将会越来越多,生物识别产品的高安全性和非易失等特性正在被越来越多的用户所认同。在不久的将来,生物识别产品必将会成为门禁系统前端识别设备的强大力量,在安防领域也必将会
14、发挥越来越大的作用。1.3国内外的研究现状现如今科技飞速发展进步,智能门禁系统已进化为一套较为安全、功能性完善的控制管理系统。它对通道和出入口的管理已经不是以前简单的钥匙和锁的管理,它能够对内部进行有效的智能化管理。它不仅能够时时刻刻记录人员的进出时间与进出情况,限制人员的出入范围,而且也可以很好的拒绝非法人物进入。同时,它也能够有效的保护人们的生命财产不受到他人的侵犯。门禁管理系统在安全防范系统中扮演着很重要的角色,在当今社会下,门禁系统发展的很迅速,已经被广泛的应用在了办公室,智能大厦,宾馆,智能小区等各种大门、房间、通道的管理。如今社会,房地产发展如日中天,小区门禁系统也随之成为小区住宅
15、楼不可缺少的安全配套设施,它很好的保护住户的人身和财产安全。目前,现在对智能门禁系统的研究从开始的认知教育和试用阶段,进入到了研发阶段。但仍然在智能门禁系统的设计和研发上发现一些问题,比如说:对国外已有的门禁系统进行仿造;普遍采用国外现有的集成模块,如门禁控制器,识别和读卡模块等;产品的形式较为单一,而且消耗了大量的资金。 在技术层面,当前中国有很多企业模仿国外的门禁系统,目前的做法主要有两种,一种是采购国外厂家生产的系统零部件,比如读写器、门控器等,然后对这些芯片进行二次软硬件的设计。这种系列的系统性能相对较好,满足那种对安全要求较高的场所也是完全可以应付的,因此这种系统价格也相对比较昂贵。
16、另外一种是只是购买国外的核心芯片,对国外一些其它优良部件进行研究和仿制。这种方法依据不同情况,可以作非原则性的变动,能够随时满足人们对门禁系统上的一些合理性要求,并且费用比较少。从门禁系统的内部结构出发就容易看出,国内大多数的系统是以控制器为核心研制的,而门控器部分则是由国外厂家进行开发。目前国内先进的智能门禁系统的研发正处于滞后状态,不过我们相信在未来,我国科技人才一定能够研发出完全属于我们自己的智能门禁系统.。2 系统总体设计和主要芯片介绍2.1 系统总体设计本课题设计采用AT89C51微控制器作为系统的核心,在外围增加按键电路、蜂鸣器电路、开锁指示灯电路、电机驱动电路以及1602LCD显
17、示电路等。门禁系统主要由CPU、电源指示、开锁指示电路、振荡电路、蜂鸣器电路、设置按键电路、电机驱动模块、24C02存储模块、RC522读卡模块、LCD显示模块等组成。此智能门禁系统能实现当射频卡刷卡时,显示模块显示卡号信息,如此卡为合法卡,指示灯点亮,蜂鸣器响起,同时驱动电路将电机转动表示门锁打开。程序中还增加了射频卡权限的赋予,遇到合法卡时,电机转动,门锁打开,如果想收回权限,只要在刷卡的时候按下取消按钮,那么这张卡就变成非法卡,无法打开驱动电机转动将门锁打开。而当非法卡刷卡时,显示卡号但电机不转动门锁不打开,如果赋予这张卡权限,只要在刷卡的时候,按下存储按钮,这张卡就会变成合法卡,就能是
18、电机转动,打开门锁。2.2 主要芯片介绍RFID(射频识别)技术:是一种无线通信技术,可以通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或者光学接触。无线电的信号是通过调成无线电频率的电磁场,把数据从附着在物品上的标签上传送出去,以自动辨识与追踪该物品。某些标签在识别时从识别器发出的电磁场中就可以得到能量,并不需要电池;也有标签本身拥有电源,并可以主动发出无线电波(调成无线电频率的电磁场)。标签包含了电子存储的信息,数米之内都可以识别。与条形码不同的是,射频标签不需要处在识别器视线之内,也可以嵌入被追踪物体之内。CPU的选择:在这个课题的设计上,选择了51单片机
19、系统,因为单片机发展成熟且完善,此次设计功能上不是特别复杂,也没有复杂的运算,只有几个外接电路,况且单片机的成本较低,而且功能也完全可以满足此次课题设计。虽然DSP和ARM系统在功能和拓展上都比51单片机系统要高,但是它们价格都相对昂贵,而且对于本次课题设计而言,性能也有过剩。因此,结合自己所学的知识和性价比,经过比较最终选择了技术成熟、价格便宜、设计简单、使用方便的单片机平台。射频卡的选择:非接触式IC卡又称射频卡,由IC芯片、感应天线组成,封装在一个标准的PVC卡片内,芯片及天线无任何外露部分。是世界上最近几年发展起来的一项新技术,它成功的将射频识别技术和IC卡技术结合起来,结束了无源(卡
20、中无电源)和免接触这一难题,是电子器件领域的一大突破.卡片在一定距离范围(通常为510mm)靠近读写器表面,通过无线电波的传递来完成数据的读写操作。条码和磁卡,我们见的比较多,现如今超市和银行使用的都是这种卡,个人的银行卡都是磁卡。接触式IC卡,大家过去见的比较多,就是要用公共电话拨电话时使用的卡片(然而随着手机的普及,公共电话也早已退出人们的视野),但接触式IC卡,芯片外露易坏、易折。而非接触式IC卡也就是无线射频卡,由于它的芯片和线圈都设计在卡片内,和接触式IC卡相比,前者比较牢固不易被损坏、能适应恶劣的环境,可靠性很高,所以市面上普遍使用这种卡。根据上面的分析,最终选择目前被广泛应用的,
21、而且成本不高可靠性好的IC卡,也就是市面上较多的MIFARE S50卡。3 系统硬件电路构成3.1 最小系统设计智能门禁系统采用的是STC89C52 微控制器作为控制核心,这款单片机是由STC公司研发的,是一种低功耗、高性能CMOS8位微控制器。内部含有8K字节的Flash,512字节的RAM, 32 位的I/O口线,看门狗定时器,4KB EEPROM和MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。可以看出89C52单片机功能还是很强大的,完成此次课题设计也是措措有余。根据这款单片机的特点,然后结合本次
22、课题设计的要求,控制核心需要实现下面的几个功能:(1) 接收读卡模块发送过来的数据,并进行处理。(2) 控制电机转动和蜂鸣器。(3) 控制1602LCD输出显示。(4) 处理键盘反馈的数据。T2/P1.01DIP-4040VCCT2EX/P1.1239P0.1/AD0P1.2338P0.2/AD1P1.3437P0.3/AD2P1.4536P0.4/AD3P1.5635P0.5/AD4P1.6734P0.6/AD5P1.7833P0.7/AD6RST932P0.8/AD7RXD/P3.01031EATXD/P3.11130ALE/PROGINT0/P3.21229PSENINT1/P3.313
23、28P2.7/A15T0/P3.41427P2.6/A14T1/P3.51526P2.5/A13WR/P3.61625P2.4/A12RD/P3.71724P2.3/A11XTAL21823P2.2/A10XTAL11922P2.1/A9VSS2021P2.0/A889C52 单片机引脚,如图3-1:在89C52单片机的基础上,STC89C52微控制器作为系统的核心,在外围增加按键电路、蜂鸣器电路、开锁指示灯电路、电机驱动电路以及1602LCD显示电路等。构成了智能门禁系统的控制电路。 如图3-2,P0.0到P0.7连接上拉排阻,同时接1602数据总线,1脚接VCC,加上拉电阻增加电流。9管脚
24、接复位电路;X1和X2接晶振电路。P22管脚接蜂鸣器电路;与P31和P32连接的分别为取消和存储按钮;P13、14、15、16连接RC522读卡模组;P23管脚接电机驱动模组。3.2 各单元电路原理3.2.1 蜂鸣器电路蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“ZZG”、“LB”、“JD”等)表示。单片机通过P2.2来控制蜂鸣器的工作与关闭,通过三极管放大电流使蜂鸣器发出响
25、声。 当P2.2=1时,PNP三极管关闭,蜂鸣器停止工作。 当P2.2=0时,PNP三级管导通,蜂鸣器开始工作。 从而单片机只需要P2.2输出0或者1开关控制蜂鸣器即可。 功能说明: (1) 刷卡时,蜂鸣器响起,二极管被点亮说明此卡为有效卡。 (2) 刷卡时,蜂鸣器没有响应,二极管也没反应,说明此卡为无效卡。 (3) 没有卡时,蜂鸣器没有响应,二极管也不会点亮。3.2.2 显示模块课题的显示部分选择采用1602LCD液晶显示,该方案具有低压、功耗低,平板型结构、所能显示的信息比较多、没有电磁辐射、而且使用寿命长等优点。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的
26、型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。这些字符包括常见的阿拉伯数字、英文字母的大小写、常用的符号等,每一个字符对都应着一个唯一的编号,也就是一个特定的代码。3.2.3 读卡模块此次课题设计上采用了市面上比较普遍的RC522读卡模组。RC522感应式读卡器主要是非接触式晶片的读卡模组,市面上使用的125KHz非接触式RFID晶片或者与其它
27、规格较为类似的产品,它都可以进行信息的读取与数据的判断,开发者可以一次性开发感应式读卡以及相关应用系统,RC522模块主要应用有:公交一卡通、智能门禁管理系统、人员签到管理、动物或物品辨识及产品管理。 此读卡模组主要具有如下优点: (1) 系统有较高的独立性,二次开发比较容易,安装较为简单 (2) 对卡片的信息读取稳定性好 (3) 系统有较高的安全性,RFID信息不重复,而且难以被复制 (4) 可自主选择数据输出格式 缺点: 主机必须24小时开机,否则数据传送会中断。使用RC522读卡模块,在5-7cm距离内读取时间不超过70ms。非接触式读卡系统电源为5V,系统中最重要的部分是感应线圈,它既
28、可以与系统分开,也可以囊括在系统中,注意要将金属板放在线圈前面,这是为了防止电磁场造成干扰。3.2.4 电机驱动模块工作原理:本次智能门禁系统设计用电机转动来模拟开门效果,当卡片靠近读卡模块时,若识别为有效卡,那么指示灯将会亮起,蜂鸣器发出声音,电机转动。如果此时按下取消按钮,那么这张卡下次刷卡时,系统不做反应,也就是不打开门锁。若为无效卡时系统不做反应,此时按下存储按钮,待这张卡下次刷卡时,系统将会判定为有效卡,指示灯亮起,蜂鸣器发出声音,电机转动。 为了让电机能正常运行,并且系统有两个5V电源,其中一个为电机驱动模块供电。驱动电路主要采用市场上普遍被应用的驱动芯片L9110H,有它来驱动电
29、机转动模拟开锁效果,L9110H为一块集成电路、高电流、高电压、四通道驱动,它的额定工作电流为1A,最大可达1.5A,所以采用单独电源供电,VSS电压最小4.5V,最大可达36V,可直接的对电机进行控制,无需隔离电路。L9110H从主控单片机STC89C52那里接受指令直接控制电机的工作状态。可以对电机进行正反转,停止的操作,非常方便。L9910有8个管脚,2和3号管脚同时接VCC,5和8号管脚同时接GND。1号、6号管脚分别为A路输出管脚和A路输入管脚,4号、7号管脚分别为B路输出管脚和B路输入管脚。 为了达到效果,本次课题设计使用L9110驱动模块来驱动电机转动。3.2.6 存储模块为了实
30、现对卡片权限的设置,就需要用一个芯片存储卡片的信息,在本次设计中使用24C02存储芯片,AT24C02是2K位CMOS E2PROM串行电可擦除只读存储器,内部组织为256个字节,每个字节8位。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。管脚配置:24C02与单片机的接口非常简单,如图3-10:图3-10 24C02管脚图管脚描述:SCL 管脚:实现串行时钟的功能,它是一个输入管脚,与单片机的P21号管脚相连。SCL串行时钟输入管脚实现发送和接收器件产生的数据的时钟的功能。SDA 串行数据/地址:AT24C02 双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏
31、输出管脚,可与其它开漏输出或集电极开路输出进行线或(wire-OR)。A0、A1、A2 器件地址输入端:这些输入脚用于多个器件级联时设置器件地址,当这些脚悬空时默认值为0。当使用AT24C02 时最大可级联8个器件。如果只有一个AT24C02被总线寻址,这三个地址输入脚(A0、A1、A2 )可悬空或连接到Vss,如果只有一个AT24C01被总线寻址这三个地址输入脚(A0、A1、A2 )必须连接到Vss。 如图3-11 为存储模块原理图:4 软件的设计与实现4.1 软件设计思路软件设计上,根据功能分了几个模块编程,包括主程序模块、读卡模块、显示模块,存储模块、延时子程序模块和中断子程序模块等。系
32、统工作时当卡片靠近读卡模块时指示灯亮起,屏幕显示卡片信息,然后程序判断权限,若合法,开锁模块程序点亮指示灯,蜂鸣器发出警报,电机转动模拟门锁打开。若非合法卡,是否赋予权限,如果赋予权限电机转动,指示灯亮起,蜂鸣器发出警报,如果不赋予则返回。4.2 射频模块软件体系结构#define RF_LPCTL BIT3 P2.3 射频卡休眠控制-RST #define RF_SS BIT7 p2.7 射频卡从机选择(SS)-SDA#define RF_SCLK BIT6 p2.6 射频卡数据时钟输出(SCLK) #define RF_DATA_OUT BIT5 p2.5 射频卡数据输出(MOSI) #d
33、efine RF_DATA_IN BIT1 p2.1 射频模块输入(MISO) 需要完成4个步骤:寻卡防冲撞处理选卡读卡/写卡,就能完成对模块内部的数据块进行读写。 第一步:寻卡 status2=PcdRequest(0x52,Temp);寻卡 参数Temp为返回的卡类型 if(status2= MI_OK) tochar(Temp0); tochar(Temp1);输出卡类型 比如,当Temp0=04,Temp1=00时,卡类型为S50。 第二步:防冲撞处理 status2= PcdAnticoll(UID); 防冲撞处理,输出卡片序列号,4字节 if(status2=MI_OK) PutS
34、tring0(Card Id is:); tochar(UID0); tochar(UID1); tochar(UID2);tochar(UID3); 输出卡片序列号 第三步:选卡。status2= PcdSelect(UID); 选择卡片,输入卡片序列号,4字节 第四步:在读写卡之前需要先进行认证。status2= PcdAuthState(PICC_AUTHENT1A, 1, Password_Buffer, UID); 其中四个参数分别代表:验证A密钥+块地址扇区密码卡序号。然后进行写操作:status2=PcdWrite(1,writeData);写数据,将数组writeData中的数
35、写入到卡 中,其中第一个参数1代表写入的地址为块1,或者进行读卡操作: status2 = PcdRead(1, str);读卡 其中第一个参数1代表读的地址为块1,读卡后得到的数据存放于数组str中。4.3 子程序分析4.3.1 RC522读卡程序定义端口: sbit MF522_RST = P17; 复位信号 sbit MF522_SO = P16;SPI 接口主入从出 sbit MF522_SI = P15;SPI 接口主出从入 sbit MF522_SCK = P14; 时钟接口 sbit MF522_NSS = P13; 应该是SDA接口 寻卡函数: 参数说明: req_codeIN
36、:寻卡方式 0x52 = 寻感应区内所有符合14443A标准的卡 0x26 = 寻未进入休眠状态的卡 pTagTypeOUT:卡片类型代码 0x4400 = Mifare_UltraLight 0x0400 = Mifare_One(S50) 0x0200 = Mifare_One(S70) 0x0800 = Mifare_Pro(X) 0x4403 = Mifare_DESFire 返 回: 成功返回MI_OK 防冲撞函数: 参数说明: pSnrOUT:卡片序列号,4字节 返 回: 成功返回 char PcdAnticoll(unsigned char *pSnr) char status;
37、 unsigned char i,snr_check=0; unsigned int unLen; unsigned char ucComMF522BufMAXRLEN; ClearBitMask(Status2Reg,0x08); WriteRawRC(BitFramingReg,0x00); ClearBitMask(CollReg,0x80); ucComMF522Buf0 = PICC_ANTICOLL1; ucComMF522Buf1 = 0x20; status = MI_OK 4.3.2 24C02存储程序bit Write_more_byte(uchar add,uchar n
38、umber,uchar *p)number表示要写入字节的个数. bit val; uchar i=0; IIc_init(); IIc_start(); val = IIc_write_byte(Address_24C02); 写器件地址 while(val=0) if(i+=10) 等待超时(10ms) return(0); delay(1); 等待一会 IIc_start(); 重新发送 val = IIc_write_byte(Address_24C02);写器件地址 IIc_write_byte(add); 写存储的地址 for(i=0;number0;number-) IIc_wr
39、ite_byte(*p+); 写存储的数据 IIc_stop(); 如果在发送停止信号之前主器件发送超过P+1个字节,地址计数器将自动翻转,先前写入的数据被覆盖. return(1); void read_more_byte(uchar add,uchar number,uchar *p)/number表示要读取的字节个数,读取的数据保存在*p中。 bit val=0; IIc_init(); IIc_start(); val = IIc_write_byte(Address_24C02); 写器件地址while(val=0) 器件没有应答 可能是内部编程/擦除周期 delay(1); 等待一
40、会 IIc_start(); 重新发送 val=IIc_write_byte(Address_24C02);写器件地址 IIc_write_byte(add); 写存储的地址 IIc_start(); IIc_write_byte(Address_24C02+1); 写器件地址(读) for(;number1;number-) *p+=IIc_read_byte(1); *p = IIc_read_byte(0); 读最后一个数据主机不应答 IIc_stop();4.3.3 显示程序定义端口:sbit RW = P11; R/W为读写信号线,与P1.1端口连接,高电平(1)时进行读操作,低电平
41、(0)时进行写操作,sbit RS = P10; RS为寄存器选择,与P1.0端口连接,高电平(1)时选择数据寄存器、低电平(0)时选择指令寄存器。sbit EN = P12; EN为使能端,与P1.2连接,写操作时,下降沿使能。读操作时,E高电平有效。初始化函数:void LCD_Init(void) LCD_Write_Com(0x38); 不检测忙信号 DelayMs(5);延时5毫秒LCD_Write_Com(0x38);不检测忙信号DelayMs(5); 延时5毫秒 LCD_Write_Com(0x38); 不检测忙信号 DelayMs(5); 延时5毫秒 LCD_Write_Com(0x38); 显示模式设置 LCD_Write_Com(0x08); 显示关闭 LCD_Write_Com(0x01); 显示清屏LCD_Write_Com(0x06); 显示光标移动设置DelayMs(5);LCD_Write_Com(0x0C); 显示开及光标设置5 结束语经过这段时期系统的开发,我对基于单片机AT89C52的开发研究