您的当前位置:首页《基于单片机的智能门禁系统的设计》

《基于单片机的智能门禁系统的设计》

2022-02-01 来源:爱问旅游网
基于单片机的智能 门禁系统的设计

2020年4月19日

tji例uf龙专7t

学生姓名 盛伟斌 学号 学

院 物理与电子电气工程学院

专 业 __________________ 电子信息工程 ______________ 题

基于单片机的门禁系统的设计

指导教师 葛恒清 副教授/硕士

摘要:智能门禁系统是一种现代化的控制人员的出入以及控制人员在楼内 及敏感区域的行为并准确记录和统计管理数据的数字化出入控制系统。它 集微机白动识别技术和现代安全管理措施为一体,它涉及电子,机械,光 学,计算机技术,通讯技术,生物技术等诸多新技术。它是解决重要部门 出入口实现安全防范管理的有效措施。本文完整的描述了以

AT89C52为核

心的单片机控制方案来实现智能门禁系统的设计与实现,经过软件与硬件 的结合,使智能门禁系统完成开锁、修改密码、报警等等一系列的功能。

关键词:智能门禁、AT89C52

Abstract: 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 microcomputer 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 management 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 unlock, change passwords, and so on a series of alarm function.

Key words: Intelligence、AT89C52

目录

第一章绪论 ..................................................... 4

1.1课题背景 ................................................ 4 1.2最新发展 ................................................ 4

1.3国内外的研究现状 ........................................ 5

第二章系统总体设计和主要芯片介绍 .............................. 5

2.1系统总体设计 ............................................ 2.2主要芯片介绍 ........................................... 6

第三章系统硬件电路构成 ....................................... 7

3.1最小系统设计 .............................. 7............ 3.2各单元电路原理 ......................... .....:..M…

第四章 软件的设计与实现 ......................... .•.•.・12•…

5 4.1软件设计思路 ............................. ::-12…… 4.2射频模块软件体系结构 ....................... :/ 12 •• 4.3 子程序分析 ............................. ..-13 .......

第五章 结束语 .............................. ........ .•.•.•••. 17

致谢 .................................................... 18

1绪论

门禁系统是时代快速发展的产物,是信息领域中的新兴产业。最早 的传统门

锁只是简单的机械原理的运用,是纯粹的机械装置。虽然在数代 人的努力下不断的改良,其安全性不断提高,但还是能够经过暴力等非正 常手段拆除,安全性较低。随着时代的进步,人们对安全性的要求不度提 高,简单的机械锁已经满足不了人们的需求,门禁系统便应运而生。 智能门禁系统如今被广泛的应用,每一个人的生活都或多或少离不开它。 作为一个新型智能的安全控制系统,它融合了机械电子、计算机软件编 程、无线通信技术等诸多技术,已经能很好地解决重要区域出入口通道在 安全上的问题。智能门禁系统被应用在各种对安全要求较高的区域,如酒 店房间、公司数据库中心机房、各大银行、国家军火库、数据库中心、居 民小区、工厂等等。在科技与网络快速发展的今天,新型智能门禁技术也 应运而生,得到了人们的青睐。现在,门禁系统的概念也发生了变化,早 已不是简单的门锁和钥匙,在人们不断地补充和完善下,它已经逐渐发展 成熟,成为一套稳定性和安全性较高的控制管理系统。如今只要在对

工作 生活的环境安全有要求和公司需要人事考勤管理等这些地方,智能门禁系 统就发挥着不容忽视的作用。

智能门禁系统应用比较广泛,只要在此基础上添加一些相应的其它设 备,就能够达到对电梯出入控制、停车场车辆进出控制、图书馆书籍借阅 管理等,真正的实现便捷的智能管理。

门禁系统又称出入管理控制系统

(ACCESS CONTROL SYSTE晚是用来管

理重要出入口通道人员出入控制的系统。也就是说:我们能够控制人员什 么时候允许进出那些门或者场所,同时如果需要,也能够提供进出的查询 记录等等。当前市面上常见的门禁系统有很多:非接触感应卡式系统,指 纹识别系统,虹膜扫描系统,面部识别系统,语音识别系统等各种技术的 系统。它们有各白的特长,门禁系统的应用领域也越来越广。感应卡式门

禁系统使用场合比较多,可是安全性相对其它门禁系统要低很多。

小区智能门禁系统是用来管理住宅小区出入通道保证居民正常生活的系 统。如今的开发商为了更好的吸引买房者,也越来越重视小区的管理,为 了防止不是小区的人员闯入,保证小区居民生命财产安全,于是在小区的

入口就会设置一个门禁系统,要想进入小区就必须刷卡。而在这之前我们 大多都是使用一般传统的门锁,也就是一把钥匙一把锁,然而传统的门锁 结构相对比较简单,无论门锁结构多么复杂,使用的材料多么坚固,一些 人总能经过各种方法把它打开。而且在一些出入口人员流量比较大的通道 如小区门口、酒店客房。如果使用传统的门锁,应用起来会特别麻烦。俗 话说一把钥匙开一把锁,一旦钥匙丢失,为了保证安全,原来的锁和钥匙 就就需要更换,而且传统的门锁在安全系数上比较低。随着人们对安全需 求方面越来越关心,为了解决这些问题、开发市场,于是各种磁卡锁、密 码锁等

电子锁就应运而生。也正是由于这些电子锁的出现,在那些重要出 入口通道上的管理上人们又有了进一步的提高和加强,因此也使智能门禁 控制管理进入了新的时代。可是凡事有好的一面也有它不好的一面,随着 这两种电子锁的在各个领域应用的越来越多,它的问题也逐渐显现出来, 这种电子磁卡锁的信息不是很安全,容易被其它人复制,同时随着使用的 时间的不断增长,这必将导致卡片与读卡器具之间磨损也会随着逐渐变 大,仪器的故障率也会增高。而电子密码锁同样存在信息泄露上的问题, 一旦密码泄露,那么追查起来不容易,也没那么安全。尽管有很多缺点, 可是我们相信在不远的将来,在人类的努力和拼搏下,门禁系统将会越来 越智能化,以前的种种缺点将会被解决,取而代之是更便捷、更安全、更 人性化的特点,因此我们的生活环境也将变得更加的安全。让我们期待美 好的明天。

1.1课题背景

社会的发展,生产力的提高,使人们有了富余的资产。为了防止钱财 被她人盗窃,为了维护白己的安全,人们开始用锁来保护白身的生命与财 产。而随着科技的日益进步,城市面貌出现的巨大的改变,各种高科技犯 罪也随之出现,仅靠传统的门锁已无法满足人们的需求了,智能门禁系统 便在这种情况下诞生。

从古至今,人们都养成使用简单的门锁来防止她们的财产被盗,同时 也是防止一些人员在不被允许的情况下进出房间等私密场所,这种简单的 方法一直延续了上千年。然而普通的门锁却始终离不开钥匙,一把钥匙开 一把锁的定理持续了很久,可是现如今人们生活中需要加锁的地方变得越 来越多,使用传统的门锁就会导致白己需要随身携带很多把钥匙,可是钥 匙一旦多了就会带来很多不便。如果我们每天都需要携带很多钥匙,就会 很容易弄混、丢失或者被盗,因

此安全性和便捷性很差。如今,伴随着科 技高速发展,传统的门锁早已经不能满足现在人们对生命财产安全方面的 需求,为了从根本上改变这种局面,于是智能门禁系统就孕育,它集成了 机械、电子、光学、生物识别技术、计算机技术和通信技术等多种新技 术,它也是新时代很优秀的产物。

1.2最新发展

近年来,随着智能卡、生物识别、无线门禁等技术的发展,门禁系统 发展迅猛,进入了成熟期,手机一卡通、指纹门禁、人脸门禁、无线门禁 等产品开始走进大众,它们在安全性、便捷性等方面都各有特长,门禁系 统的应用领域也越来越广,技术发展也越来越全面。

无线门禁产品从诞生到现在,经过技术的不断演化已经出现了经过

FSK GPRS蓝牙等方式传输的产品。而随着物联网技术的兴起,物联网 门禁产品受

到了安防行业内的普遍关注,无线物联网门禁系统能够直接替 换现有的有线联网或非联网门禁系统。对于办公楼宇系统,应用无线物联 网门禁能明显降低施工工作量,降低使用成本;对于宾馆系统,无线物联 网门禁能提升门禁的智能化水平。

随着生物识别产品的不断问世,其在门禁系统的应用也必将会越来越 多,生物识别产品的高安全性和非易失等特性正在被越来越多的用户所认 同。在不久的将来,生物识别产品必将会成为门禁系统前端识别设备的强 大力量,在安防领域也必将会发挥越来越大的作用。

1.3国内外的研究现状

现如今科技飞速发展进步,智能门禁系统已进化为一套较为安全、功 能性完善的控制管理系统。它对通道和出入口的管理已经不是以前简单的 钥匙和锁的管理,它能够对内部进行有效的智能化管理。它不但能够时时 刻刻记录人员的进出时间与进出情况,限制人员的出入范围,而且也能够 很好的拒绝非法人物进入。同时,它也能够有效的保护人们的生命财产不 受到她人的侵犯。门禁管理系统在安全防范系统中扮演着很重要的角色, 在当今社会下,门禁系统发展的很迅速,已经被广泛的应用在了办公室, 智能大厦,宾馆,智能小区等各种大门、房间、通道的管理。如今社会, 房地产发展如日中天,小区门禁系统也随之成为小区住宅楼不可缺少的安 全配套设施,它很好的保护住户的人身和财产安全。当前,现在对智能门 禁系统的研究从开始的认知教育和试用阶段,进入到了研发阶段。但依然 在智能门禁系统的设计和研发上发现一些问题,比如说:对国外已有的门 禁系统进行仿造;普遍采用国外现有的集成模块,如门禁控制器,识别和 读卡模块等;产品的形式较为单一,而且消耗了大量的资金。

在技术层面,当前中国有很多企业模仿国外的门禁系统,当前的做法 主要有两种,一种是采购国外厂家生产的系统零部件,比如读写器、门控

器等,然后对这些芯片进行二次软硬件的设计。这种系列的系统性能相对 较好,满足那种对安全要求较高的场所也是完全能够应付的,因此这种系 统价格也相对比较昂贵。另外一种是只是购买国外的核心芯片,对国外一 些其它优良部件进行研究和仿制。这种方法依据不同情况,能够作非原则 性的变动,能够随时满足人们对门禁系统上的一些合理性要求,而且费用 比较少。从门禁系统的内部结构出发就容易看出,国内大多数的系统是以 控制器为核心研制的,而门控器部分则是由国外厂家进行开发。当前国内 先进的智能门禁系

统的研发正处于滞后状态,不过我们相信在未来,中国 科技人才一定能够研发出完全属于我们白己的智能门禁系统

.。

2系统总体设计和主要芯片介绍 2.1系统总体设计

本课题设计采用 AT89C51微控制器作为系统的核心,在外围增加按键 电路、蜂鸣器电路、开锁指示灯电路、电机驱动电路以及

1602LCD显示电

路等。门禁系统主要由 CPLK电源指示、开锁指示电路、振荡电路、蜂鸣 器电路、设置按键电路、电机驱动模块、

24C02存储模块、RC522读卡模

块、LCD显示模块等组成。此智能门禁系统能实现当射频卡刷卡时,显示 模块显示卡号信息,如此卡为合法卡,指示灯点亮,蜂鸣器响起,同时驱 动电路将电机转动表示门锁打开。程序中还增加了射频卡权限的赋予,遇 到合法卡时,电机转动,门锁打开,如果想收回权限,只要在刷卡的时候 按下取消按钮,那么这张卡就变成非法卡,无法打开驱动电机转动将门锁 打开。而当非法卡刷卡时,显示卡号但电机不转动门锁不打开,如果赋予

这张卡权限,只要在刷卡的时候,按下存储按钮,这张卡就会变成合法 卡,就能是电机转动,打开门锁。

2.2主要芯片介绍

RFID (射频识别)技术:是一种无线通信技术,能够经过无线电讯号 识别特定

目标并读写相关数据,而无需识别系统与特定目标之间建立机械 或者光学接触。无线电的信号是经过调成无线电频率的电磁场,把数据从 附着在物品上的标签上传送出去,以白动辨识与追踪该物品。某些标签在 识别时从识别器发出的电磁场中就能够得到能量,并不需要电池;也有标 签本身拥有电源,并能够主动发出无线电波(调成无线电频率的电磁 场)。标签包含了电子存储的信息,数米之内都能够识别。与条形码不同 的是,射频标签不需要处在识别器视线之内,也能够嵌入被追踪物体之 内。

CPU的选择:在这个课题的设计上,选择了 51单片机系统,因为单 片机发展

成熟且完善,此次设计功能上不是特别复杂,也没有复杂的运 算,只有几个外接电路,况且单片机的成本较低,而且功能也完全能够满 足此次课题设计。虽然 DSP和ARM系统在功能和拓展上都比 51单片机系 统要高,可是它们价格都相对昂贵,而且对于本次课题设计而言,性能也 有过剩。因此,结合白己所学的知识和性价比,经过比较最终选择了技术 成熟、价格便宜、设计简单、使用方便的单片机平台。

射频卡的选择:非接触式

IC卡又称射频卡,由IC芯片、感应天线组

成,封装在一个标准的 PVC卡片内,芯片及天线无任何外露部分。是世界 上最近几年发展起来的一项新技术,它成功的将射频识别技术和

2020年4月19日

IC卡技术

10

结合起来,结束了无源(卡中无电源)和免接触这一难题,是电子器件领域的一 大突破.卡片在一定距离范围(一般为 5— 10mm)靠近读写器表面,经过 无线电波的传递来完成数据的读写操作。条码和磁卡,我们见的比较多,

现如今超市和银行使用的都是这种卡,个人的银行卡都是磁卡。接触式 卡,大家过去见的比较多,就是要用公共电话拨电话时使用的卡片(然而 随着手机的普及,公共电话也早已退出人们的视野),但接触式 芯片外露易坏、易折。而非接触式 片和线圈都设计在卡片内,和接触式

IC

IC卡,

IC卡也就是无线射频卡,由于它的芯 IC卡相比,前者比较牢固不易被损

坏、能适应恶劣的环境,可靠性很高,因此市面上普遍使用这种卡。根据 上面的分析,最终选择当前被广泛应用的,而且成本不高可靠性好的 卡,也就是市面上较多的 MIFARE S50#。

IC

3系统硬件电路构成 3.1最小系统设计

智能门禁系统采用的是 STC89C52微控制器作为控制核心,这款单片 机是由

STC公司研发的,是一种低功耗、高性能 CMOS8位微控制器。内

部含有8K字节的Flash, 512字节的RAM, 32位的I/O 口线,看门狗定时 器,4KB

EEPROMffi MAX810复位电路,3个16位定时器/计数器,4个外 部中断,一个7向

量4级中断结构(兼容传统 51的5向量2级中断结 构),全双工串行口。能够看出

89C52单片机功能还是很强大的,完成此 次课题设计也是措措有余。根据这款单片机

的特点,然后结合本次课题设 计的要求,控制核心需要实现下面的几个功能:

(1) (2) (3) (4)

接收读卡模块发送过来的数据,并进行处理。 控制电机转动和蜂鸣器。 控制1602LC D输出显示。 处理键盘反馈的数据。

T2/P1-0 T2EX Pl. 1 PL 2 PL 3 P1. 4 | PI. 5 P1.6 PL 7 1 — ■ I?no/P3. 2 1 :RST RXD P3. 0 1 TXD P3. 1 INT1/P3. 3 ; TO/P3, 4 T1/P3, 5 W P3* 6 RD P3. 7 1 XTAL i vss XTAL2 — 3 4 5 6 7 8 9 10 1 1 12 13 11 15 16 17 IS 19 20 40 S9 38 37 36 35 33 32 31 30 29 28 VCC n. O/ADO FO. 1/AD1 PO. 2/AD2 PO. 3/AD3 P0. 4/AD4 PO. 5/AD5 F0+ 6. AD6 PO. 7/AD7

EA _____

ALE. PROG FSEX

P27 A 1 o P2. 6/AM F2* 5/A13 P2.4 A12 P2. 3/ A I 1

f 27 26 25 24 T2/P1.0 1 T2EX/P1.1 2

P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8 RST 9

RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5

10 11 12 13 14 15

40 VCC

39 P0.1/AD0 38 P0.2/AD1 37 P0.3/AD2 36 P0.4/AD3 35 P0.5/AD4 34 P0.6/AD5 33 P0.7/AD6 32 P0.8/AD7 31 EA

DIP-40 30 ALE/PROG

29

PSEN

28 P2.7/A15 27 P2.6/A14 26 P2.5/A13 25 P2.4/A12 24 P2.3/A11 23 P2.2/A10 22 P2.1/A9 21 P2.0/A8

23 ” 1 21 P2. 2/A10 P2, 1/A9 P2.0 AS

89C52单片机引脚,如图 3-1:

在89C52单片机的基础 上,STC89C52微控制器作为系统 的核心,在外围增加按键电路、 蜂鸣器电路、开锁指示灯电路、 电机驱动电路以及 1602LCD显示 电路等。构成了智能门禁系统的控制电路

WR/P3.6 16 RD/P3.7 17 XTAL2 XTAL1

18 19

VSS 20

如图3-2, P0.0到P0.7连接

上拉排阻,同时接 1602数据总线,1脚接VCC,加上拉电阻增加电流。9

管脚接复位电路;X

1和X2接晶振电路。P22管脚接蜂鸣器电路;与 P31和P32连接的

分别为取消和存储按钮; P13、14、15、16连接RC522读卡模组;P23管 脚接电机驱动模组

3.2各单元电路原理 3.2.1蜂鸣器电路

蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛 应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电 话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和 电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“ 用 “ FM”、“ ZZG'、“ LB”、“ JD'等)表示。

单片机经过P2.2来控制蜂鸣器的工作与关闭,经过三极管放大电流使

H”或“ HA” (旧标准

蜂鸣器发出响声。 当P2.2=1时,PNP三极管关闭,蜂鸣器停止工作。 当

从而单片机只需要 P2.2

P2.2=0时,PNP三级管导通,蜂鸣器开始工作。

输出0或者1开关控制蜂鸣器即可。

功能说明:

(1) 刷卡时,蜂鸣器响起,二极管被点亮说明此卡为有效卡。

(2) 刷卡时,蜂鸣器没有响应,二极管也没反应,说明此卡为无效卡。 (3)

没有卡时,蜂鸣器没有响应,二极管也不会点亮。

3.2.2显示模块

课题的显示部分选择采用

1602LCD液晶显示,该方案具有低压、功

耗低,平板型结构、所能显示的信息比较多、没有电磁辐射、而且使用寿 命长等优点。

1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数

字、符号等的点阵型液晶模块。它由若干个

5X7或者5X11等点阵字符位

组成,每个点阵字符位都能够显示一个字符,每位之间有一个点距的间

隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此因 此它不能很好地显示图形。

1602LCD是指显示的内容为 16X2,即能够显示

两行,每行16个字符液晶模块(显示字符和数字)。这些字符包括常见 的阿拉伯数字、英文字母的大小写、常见的符号等,每一个字符对都应着 一个唯一的编号,也就是一个特定的代码。

3.2.3读卡模块

此次课题设计上采用了市面上比较普遍的

RC522读卡模组。RC522感

应式读卡器主要是非接触式晶片的读卡模组,市面上使用的 125KHz非接

触式RFID晶片或者与其它规格较为类似的产品,它都能够进行信息的读 取与数据的判断,开发者能够一次性开发感应式读卡以及相关应用系统, RC522模块主要应用有:公交一卡通、智能门禁管理系统、人员签到管 理、动物或物品辨识及产品管理。

此读卡模组主要具有如下优点:

(1) (2)

系统有较高的独立性,二次开发比较容易,安装较为简单 对卡片的信息读取稳定性好

(3) 系统有较高的安全性,RFID信息不重复,而且难以被复制 (4)

可白主选择数据输出格式

缺点:主机必须24小时开机,否则数据传送会中断。

使用RC522读卡模块,在5-7cm距离内读取时间不超过 70ms。非接 触式读卡系统电源为

5V,系统中最重要的部分是感应线圈,它既能够与

系统分开,也能够囊括在系统中,注意要将金属板放在线圈前面,这是为 了防止电磁场造成干扰。

3.2.4电机驱动模块

工作原理:本次智能门禁系统设计用电机转动来模拟开门效果,当卡 片靠近读卡模块时,若识别为有效卡,那么指示灯将会亮起,蜂鸣器发出 声音,电机转动。如果此时按下取消按钮,那么这张卡下次刷卡时,系统 不做反应,也就是不打开门锁。若为无效卡时系统不做反应,此时按下存 储按钮,待这张卡下次刷卡时,系统将会判定为有效卡,指示灯亮起,蜂 鸣器发出声音,电机转动。 了让电机能正常运行,而且系统有两个

5V

电源,其中一个为电机驱动模块供电。驱动电路主要采用市场上普遍被应 用的驱动芯片 L9110H,有它来驱动电机转动模拟开锁效果,

块集成电路、高电流、高电压、四通道驱动,它的额定工作电流为 最大可达1.5A,因此采用单独电源供电,

L9110H为一

1A,

VSS电压最小4.5V,最大可达

L9110H从主控单片机

36V,可直接的对电机进行控制,无需隔离电路。

STC89C52那里接受指令直接控制电机的工作状态。能够对电机进行正反 转,停止

的操作,非常方便。

L9910有8个管脚,2和3号管脚同时接

VCG 5和8号管脚同时接 GND。1号、6号管脚分别为 A路输出管脚和 A 路输入

管脚,4号、7号管脚分别为B路输出管脚和B路输入管脚。 达到效果,本次课题设计使用

为了

L9110驱动模块来驱动电机转动。

3.2.6存储模块

为了实现对卡片权限的设置,就需要用一个芯片存储卡片的信息,在 本次设计中使用 24C02存储芯片,AT24C02是2K位CMOS E2PROM串行电 可擦除只读存储器,内部组织为

256个字节,每个字节 8位。该器件经过

IIC总线接口进行操作,有一个专门的写保护功能。

管脚配置:24C02与单片机的接口非常简单,如图 3-10:

图3-10 24C02管脚图 管脚描述:

SCL管脚:实现串行时钟的功能,它是一个输入管脚,与单片机的

P21号管脚相连。SCL串行时钟输入管脚实现发送和接收器件产生的数据 的时钟的功能。

SDA串行数据/地址:AT24C02双向串行数据/地址管脚用于器件所有 数据的发

送或接收,SDA是一个开漏输出管脚,可与其它开漏输出或集电 极开路输出进行线或(wire-OR)。

A0、A1、A2器件地址输入端:这些输入脚用于多个器件级联时设置 器件地

址,当这些脚悬空时默认值为 个器件。如果只有一个

0。当使用AT24C02时最大可级联8

A0、

AT24C02被总线寻址,这三个地址输入脚(

A1、A2 )可悬空或连接到 Vs&如果只有一个 AT24C01被总线寻址这三个 地址输

入脚(A0、A1、A2)必须连接到 Vss

如图3-11为存储模块原理图:

4软件的设计与实现 4.1软件设计思路

软件设计上,根据功能分了几个模块编程,包括主程序模块、读卡模 块、显示模块,存储模块、延时子程序模块和中断子程序模块等。系统工 作时当卡片靠近读卡模块时指示灯亮起,屏幕显示卡片信息,然后程序判 断权限,若合法,开锁模块程序点亮指示灯,蜂鸣器发出警报,电机转动

模拟门锁打开。若非合法卡,是否赋予权限,如果赋予权限电机转动,指 示灯亮起,蜂鸣器发出警报,如果不赋予则返回。

4.2射频模块软件体系结构

#define RF_LPCTL #define RF_SS #define RF_SCLK #define RF_DATA_OUT #define RF_DATA_IN BIT1

BIT3 P2.3射频卡休眠控制---RST

BIT7 p2.7射频卡从机选择(SS)---SDA BIT6 p2.6射频卡数据时钟输出(SCLK)

BIT5 p2.5射频卡数据输出(MOSI) p2.射频模块输入(MISO)

/写卡,就能完

需要完成4个步骤:寻卡7防冲撞处理7选卡7读卡 成对模块内部的数据块进行读写。

第一步:寻卡

寻卡 参数Temp为返回的卡类型

status2=PcdRequest(0x52,Temp); if(status2== MI_OK) {

tochar(Temp[0]); tochar(Temp[1]); }

输出卡类型

比如,当 Temp[0]=04, Temp[1]=00 时,卡

类型为S50。

第二步:防冲撞处理

status2= PcdAnticoll(UID);

字节

防冲撞处理,输出卡片序列号, 4

if(status2==MI_OK) (

PutString0(\"Card Id is:\"); tochar(UID[0]); tochar(UID[1]); tochar(UID[2]); tochar(UID[3]); }

第三步:选卡。

输出卡片序列号

status2= PcdSelect(UID); 选择卡片,输入卡片序列号, 4字节

第四步:在读写卡之前需要先进行认证。

status2= PcdAuthState(PICC_AUTHENT1A, 1, Password_Buffer, UID);

其中四个参数分别代表:验证 址+扇区密码+卡序号。

然后进行写操作:

A密钥+块地

status2=PcdWrite(1,writeData);

写数据,将数组 writeData中的数写入到卡 中,其中第一个参数 1代表写入的地址为块

1,或者进行读卡操作:

status2 = PcdRead(1, str);

读卡 其中第一个参数1代表读的地址为块

1,读卡后得到的数据存放于数组 str中。

4.3子程序分析

4.3.1 RC522读卡程序

定义端口 :

sbit MF522_RST = P1A7; sbit MF522_SO = P1A6; sbit MF522_SI = P1A5; sbit MF522_SCK = P\"4;

sbit MF522_NSS = P1A3;

参数说明:req_code[IN]: 寻卡方式

复位信号

SPI接口主入从出 SPI接口主出从入

时钟接口

应该是SDA接口寻卡函数

0x52 =寻感应区内所有符合 0x26 =寻未进入休眠状态的卡 pTagType[OUT]:卡片类型代码

0x4400 = Mifare_UltraLight 0x0400 = Mifare_One(S50) 0x0200 = Mifare_One(S70) 0x0800 = Mifare_Pro(X) 0x4403 = Mifare_DESFire

返回:成功返回MI_OK 防冲撞函数:

14443A标准的卡

参数说明:pSnr[OUT]:卡片序列号, 返回:成功返回

4字节

char PcdAnticoll(unsigned char *pSnr) (

char status;

unsigned char i,snr_check=0; unsigned int unLen;

unsigned char ucComMF522Buf[MAXRLEN]; ClearBitMask(Status2Reg,0x08); WriteRawRC(BitFramingReg,0x00); ClearBitMask(CollReg,0x80);

ucComMF522Buf[0] = PICC_ANTICOLL1; ucComMF522Buf[1] = 0x20; status = MI_OK }

4.3.2 24C02存储程序

bit Write_more_byte(uchar add,uchar number,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;number>0;number--)

{ IIc_write_byte(*p++); 写存储的数据 } IIc_stop();

写 器写存储的

之前主器件发送超过

P+1个字节,地址计数

器将白动翻转,先前

如果在发送停止信号写入的数据被覆盖

return(1); }

void read_more_byte(uchar add,uchar number,uchar *p)//number 表 示 要读取

{

bit val=0; IIc_init(); IIc_start();

val = IIc_write_byte(Address_24C02);

件地址

while(val==0)

delay(1); IIc_start();

val=IIc_write_byte(Address_24C02); IIc_write_byte(add); IIc_start();

IIc_write_byte(Address_24C02+1);

写器件地址(读)

的字节个数, 读取的数据保存在*p 中。

写器

器件没有应答 可能是内部编程/擦除周 期

等待一会 重新发送

写器件地

写存储的地址

for(;number>1;number--) {

*p++=IIc_read_byte(1); }

*p = IIc_read_byte(0); IIc_stop();

}

4.3.3显示程序

定义端口 :

sbit RW = P1A1;

sbit RS = P1A0;

sbit EN = P1A2;

读最后一个数据主机不应答

R/W 为读写信号线,与 P1.1端口连

接,高电平(1)时进行读操作,低电平

(0)时进行写操作,

RS为寄存器选择,与 P1.0端口连接,

高电平(1)时选择数据寄存器、低电平

(0)时选择指令寄存器。

EN为使能端,与 P1.2连接,写操作

时,下降沿使能。读操作时, E高电平有效。

初始化函数:

void LCD_Init(void) (

LCD_Write_Com(0x38); DelayMs(5);

LCD_Write_Com(0x38); DelayMs(5);

LCD_Write_Com(0x38); DelayMs(5);

LCD_Write_Com(0x38); LCD_Write_Com(0x08); LCD_Write_Com(0x01); LCD_Write_Com(0x06); DelayMs(5);

LCD_Write_Com(0x0C); }

显示开及光标设置 不检测忙信号 延时5毫秒 显示模式设置 显示关闭 显示清屏

显示光标移动设置 不检测忙信号

延时5毫秒 不检测忙信号

延时5毫秒

5结束语

经过这段时期系统的开发,我对基于单片机

AT89C52的开发研究有

了更深的了解和认识,掌握了单片机使用的一些技巧和引脚的使用方法。 本次毕业设计给了我一个独立思考和解决问题的机会,在系统的电路设 计、功能模块和各方面的设计开发中,都需要进行细致全面的思考,从中 让我学会了以前不曾接触过的知识,而且学会了怎样将书本知识转化到实

际应用开发工作中去。毕业设计能够很好地提高我们的综合能力。除了学 习到了相关的技术之外,还培养了白学、独立的解决问题的能力。

致谢

在此论文撰写过程中我遇到了很多的困难和障碍,都在同学和老师的 帮助下一一解决了,我要感谢我的论文指导老师一一葛恒清。在整个论文 写作过程中,她对我进行了耐心的指导和帮助,提出严格要求,引导我不 断开阔思路,为我答疑解惑,鼓励我大胆创新,这使我在大学最后生活的 时光中,既增长了知识、开阔了视野、锻炼了心态,又培养了良好的钻研 精神。她那严谨的治学作风,一丝不苟的工作态度将会指导我以后的工作 学习,在此,我向俞阿龙教授表示最诚挚的谢意!

同时还要感谢我的同学和朋友,她们在我论文的写作过程中提出了很 多有用的意见与建议,还在论文排版过程中提供热情的帮助。

最后还要感谢这篇论文引用所有文献的学者们,如果没有各位学者的 研究成果的帮助和启发,我将很难完成本篇论文的写作。

因篇幅问题不能全部显示,请点此查看更多更全内容