找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 18684|回复: 1
打印 上一主题 下一主题
收起左侧

基于MFRC522 RFID技术的单片机智能门禁系统设计论文

[复制链接]
跳转到指定楼层
楼主
基于RFID技术的智能门禁系统设计(控制部分)
摘 要
随着社会经济和科技的飞速发展,射频识别技术越来越广泛的应用于各种行业,如:商流、物流、信息和资金等方的重要单元越来越得到重视。
门禁安全管理系统是新型现代化安全管理系统,它集自动识别技术和现代安全管理措施为一体你在哪里的  dsfdf体某些部位(如眼睛、指纹)的识别来确认来人是否经过授权。这种门禁系统相对射频识别的系统安全系数有很大提高,但其成本较高,在日常生活中还未广泛应用。
文章从门禁技术面,并以前所未有的速度迅猛发展,引起了许多国家的重视。特别是身份识别和安防等行业。门禁系统作为智能建筑的发展出发,首先介绍了射频识别技术的概念、分类及工作原理,然后介绍了本次使用的射频芯片MFRC522。本RFID系统设计可分为硬件部分和软件部分。硬件部分以MFRC522射频识别模块为核心,结合主控模块STC89C52设计系统的外围硬件电路,实现对射频卡的控制与MCU之间的互通。软件部分采用C语言进行系统的下位机程序的开发,完成与IC卡之间的通信,实现数据交换功能.

目 录


摘要
Abstract              II
第1章 绪论              1
1.1 课题研究的背景及意义              1
1.2 课题研究现状              1
1.2.1国内研究现状              1
1.2.2国外研究现状              2
1.3 门禁系统发展趋势              3
1.4 课题设计任务              3
1.5 论文结构              3
第2章 基于RFID技术的门禁系统理论基础              4
2.1射频识别技术概述              4
2.1.1射频识别技术              4
2.1.2射频识别技术的分类              4
2.1.3射频识别技术的典型结构              5
2.1.4射频识别技术的工作原理              5
2.2非接触式读卡芯片MFRC522              6
2.2.1 MFRC522概述              6
2.2.2 MFRC522特性              6
2.2.3 MFRC522管脚排列              7
2.3本章小结              7
第3章 门禁系统硬件设计
3.1 STC89C52主控模块
3.1.1 STC89C52简介
3.1.2 STC89C52主要特性
3.1.3 STC89C52管脚说明              10
3.3.4 STC89C52最小系统接口电路              11
3.2 LCD12864液晶显示模块              11
3.2.1 LCD12864简介              11
3.2.2 LCD12864分类              11
3.2.3 12864管脚说明              12
3.2.4 LCD12864基本特性              12
3.2.5 12864与89C52接口              13
3.3 按键              13
3.4 本章小结              14
第4章 门禁系统软件设计              15
4.1 Keil C51开发系统              15
4.2 LCD显示程序设计              16
4.2.1 LCD初始化              16
4.2.2 LCD显示              17
4.3 按键程序设计              22
4.3.1 密码验证              22
4.3.2 密码修改              24
4.4 本章小结              27
结论              28
谢辞              29
参考文献              30


第1章 绪论
1.1 课题研究的背景及意义
门禁系统,又称出人口控制系统。在何时允许某些人进出,拒绝某些人进出,什么情况下要发出警报,记录人员出入情况,是门禁系统最基本的功能。门禁系统的发展是随着人类社会的发展一起进步的。从原始社会开始,随着剩余价值的产生,人们有了自己的财产,有的人觊觎他人的财产而进行盗抢等犯罪行为,直接危害了人们的财产乃至生命安全。为了保护自己的财产不受他人的侵犯,人们用木棒或铁链将门锁起。门禁也就随之产生了。随着社会的发展和人们安全意识的提高,产生了铁锁和暗锁等门锁设备[1]。
随着社会经济的发展,城市面貌发生了巨大的变化,高楼大厦越来越多,安全隐患也越来越多,出现了更多的高科技的犯罪,直接威胁到每个人的人身财产安全。仅仅靠传统的门锁和防盗门是远远不够的。“智能门禁系统”应运而生。
智能门禁系统是对楼房中的重要通道进行管理。在门口、电梯、等人员来往频繁或重要的地方安装控制装置,例如:读卡器、键盘等,人员要想进入,必须有卡且输入密码正确,才能通过,大大增强了安全性。而传统的机械门锁仅仅是单纯的机械装置,无论结构设计多么合理,材料多么坚固,人们总能通过各种手段把它打开。在小区等人流量大的地方由人来充当保安控制和监控人员流动更是实际意义不大。智能化门禁管理方便了内部管理,而且比传统的门禁系统的安全性更高。
基于RFID技术的门禁系统作为智能门禁系统中的“骨干”,已经成为一项先进的高科技技术防范和管理手段,在一些经济发达的国家已经广泛应用于科研、工业、博物馆、酒店、商场、医疗监护、银行、监狱等,已成为安防技术重点研究和开发的方向。

1.2 课题研究现状
1.2.1 国内研究现状
1994年RFID技术进入中国,引发了中国RFID技术的应用革命。在国内,其应用领域越来越广,涉及到交通、商场、银行、物流等各多个领域。智能门禁就是其中一个重要的组成部分。
国内从事门禁系统有门吉利、捷顺、北京青云等公司。在技术方面,中国目前也有很多厂家,仿制国外优秀的门禁系统,但生产IC卡和读卡器的关键技术则被欧美国家和部分亚洲国家所垄断,并且真正形成大批量生产的厂家还只有美国;德国、英国次之。虽然虽然国内已经实行“金卡工程”,并着力于发展非接触式IC卡的技术,但是基于射频识别的智能门禁系统的使用在国内还处于发展状态,因此对射频识别技术在门禁系统方面应用的理论及实际可行及实用性进行研究是重中之重 [2]。
2005年的门禁行业是在整个安防行业集成化、网络化、数字化的推动下不断完善的一年。随着中国房地产业的发展、智能建筑的推广和智能小区安全防范工作的加强,门禁应用领域的进一步拓展,2006年的门禁行业是高速发展的一年。双总线的通讯模式、指纹等生物识别设备的集成管理及DVR系统的集成成为2006年门禁系统发展的亮点。另外,作为蓬勃发展的生物识别技术,随着其辨别的辨别速度和辨别的准确度的提高,以及人们对这类产品的进一步了解,若价格因素能保持了人们可以接受的范围内,那这技术的应用前景将会是非常广阔的。

1.2.2 国外研究现状
欧美门禁系统市场的发展已经日趋成熟,产业分工细化,并且在国际市场上占有较大的份额。国外门禁系统的知识品牌有美国的休斯(HID)、西屋(WSE)、洛泰克(NTK),以色列的DDS、英国的集宝等品牌。当今世界上非接触式IC卡主流产品是PhiliPs公司的Miafer技术,己经被制定为国际标准150/IEC14443TypeA标准。欧洲一些IC卡及读卡器制造商大都以Mifare技术为标准发展自己的IC卡事业。
随着其产业化的形成,各大公司由于其财力的雄厚、技术的先进、市场的导向以及专业知识产权,市场逐渐被垄断,大公司越做越大,中小公司被淘汰或兼并。从目前全球门禁系统的前端输入设备的水平及发展方向来看,虽然磁卡和接触式IC卡在门禁系统的应用中还有一部分市场,但从发展趋势上看,除宾馆锁外,磁卡和接触式IC卡己在逐步地退出门禁系统市场。
ATMEL公司生产的Temic非接触式IC卡是一种ID(身份)识别卡片,信息容量为264位EEPROM,采用125KHz工作频率,是一种低频无源卡,操作距离5-10cm。相应的读写基站芯片为U2270B,此芯片在身份识别、考勤控制等方面得到了应用。瑞士EM公司的H40OI非接触IC卡,信息容量为64位EEPROM,采用125KHz工作频率,也是低频无源卡。美国TI公司的ID卡是一种低频只读卡,内部有8字节(64位)ID号码,己应用在门禁考勤系统中。
Philips公司的Mifare IC卡系列产品有三大类:Mifare Standard,Mifare light,Mifare PLUS(第一代)和MifarePRO(第二代)。最近又推出一种新型Mifare卡,即Mifare ultralight非接触式IC卡,有512字节EEpROM,专用于车票系统,此卡最大的特点是交易时间只有31.4ms,比其它Mifare卡要短得多[3]。

1.3 门禁系统发展趋势
随着现代科学技术的发展,传统的门禁被逐渐取代并向智能化发展。基于RFID的智能门禁系统绝对是未来的主流,已占据目前约9成的市场。生物识别虽然安全性上也许更高些,但其价格的高昂阻碍了它走入人们的日常生活。在非接触式IC卡门禁系统销售额中,卡片和读卡器占了3成以上,飞利浦的Mifare卡是目前中国市场上最主要产品[4]。RFID技术以其更快的响应速度和更高的频率成为目前的潮流。未来国内门禁系统发展方向为基于大容量IC卡、基于开放式通道、基于消费系统、基于传统门禁系统、基于LAN/WAN网络管理,真正实现的一卡通系统。虽然这样,但不少厂家认为,一味地追求新技术和一卡通的理念实现,并不能给实际应用带来成功,反而会造成资金的浪费,造成整个系统的不稳定。所以,目前中国市场上一卡通标准还不是很规范,所以需要大家一起来制定标准,推动行业的发展[5]。

1.4 课题设计任务
智能门禁系统设计主要分为两个部分:外围硬件系统和软件系统。硬件系统包括射频系统外围电路的设计;软件系统包括非接触式IC卡读写程序、LCD显示程序、密码验证及重置程序的设计编写。此门禁系统基于RFID射频识别技术,可实现IC卡识别,并可完成显示IC卡卡号、进行密码验证、重置密码的功能。

1.5 论文结构
第1章:简要概述了课题研究现状、课题研究的相关内容和论文主要结构。
第2章:介绍基于RFID技术的门禁系统理论基础。
第3章:基于RFID技术的门禁系统硬件设计,主要介绍单片机STC89C52及LCD12864模块及其接口电路。
第4章:基于RFID技术的门禁系统软件设计。

第2章 基于RFID技术的门禁系统理论基础
2.1 射频识别技术概述

2.1.1
射频识别技术
射频识别(Radio Frequency Identification,RFID)技术是从八十年代逐渐走向成熟
的一种自动识别技术,它是一项利用射频信号通过空间耦合(交变磁场或电磁场)实现无接触信息传递并通过所传递的信息达到识别目的的技术。射频识别是无线电识别的简称,它源于无线电通信技术,综合了现代计算机智能控制、智能识别等高新技术,顺应了电子商务、交通运输、物流管理的发展需要。是当前最受人们关注的技术之一。射频识别技术具有非接触、自动完成识别过程、不易损坏、可识别高速运动物体、数据存储量大等优点,极大地加速了有关信息的收集和处理,在近年来获得了极为迅速的发展[6]。
2.1.2 射频识别技术的分类
RFID系统的分类方法主要有以下几种:
根据系统采用的频率不同可分成低频系统和高频系统。低频系统的工作频率一般小于30MHz,典型的工作频率有:125KHz、13.56MHz等,其基本特点是成本较低、电子标签内存储的数据量较少、感应范围较小(无源情况,与读卡器距离约为10cm时才可感应)、电子标签外形多样(卡状、环状、笔状),不适合高速运动的物体等。高频系统的工作频率一般大于400MHz,典型的工作频段有:915MHz、5800MHz等,其基本特点是电子标签及阅读器成本较高、标签内保存的数据量较大、感应距离较远(可达几米至十几米)、外形一般为卡状、适应物体高速运动性能好等[7]。
按射频卡有无电池可分为无源系统和有源系统。有源系统中电子标签内装有电池,一般具有较远的阅读距离,使用寿命取决于电池容量。无源系统中电子标签内无电池,一般识别距离短,但与有源系统相比,对工作环境要求不高并且寿命较长。
根据工作方式的不同还可分为主动式和被动式。主动式系统主要用于有障碍物的应用中,距离更远(可达30米); 被动式系统主要在门禁或交通应用中。
根据射频卡读写方式的不同可分成可读写(RW)卡、一次写入多次读出(WORM)卡和只读(RO)卡。RW卡成本较WORM卡和RO卡相比要高,而且写入数据所花费的时间要远大于读取数据所花费的时间。用户可以一次性将信息写入WORM卡,写入后数据不能改变。RO卡存有一个唯一的号码。只可读取,不能修改,虽然安全性较高,但用途有限。

2.1.3 射频识别系统的典型结构
图2-1 RFID系统典型结构图

典型RFID系统(如图2-1所示)由应答器(Tag)、读写器(Read and Write Device)以及计算机系统等组成。读写器由无线收发模块、天线、控制模块及接口电路等组成。应答器也称电子标签,它具有可存储读写信息及对信息进行加密的能力,是射频识别系统主要的核心。在阅读器的感应范围之外,电子标签无源无法工作,只有在阅读器感应范围之内,电子标签才是有源的。应答器工作所需的能量,是通过读写器的耦合单元传输给应答器的。应答器如果是无源系统,即应答器内不含电池,则应答器工作的能量是由读写器发出的射频脉冲提供[8]。应答器如果是有源系统,即应答器内含有电池,则应答器工作能量和工作寿命有电池决定。

2.1.4 射频识别系统的工作原理
实用RFID系统为无源系统,即射频卡能量由读写器发出的射频脉冲信号提供。无源系统的通信优劣取决于读写器发出的脉冲信号能否被射频卡完整接受。当射频卡进入读卡器接受范围后,如果接收到读卡器发出的射频信号,就能凭借产生的感应电流所获得的能量发送出存储在卡片中的信息,通过读卡器的处理,将信息送至信息管理系统进行有关数据处理[9]。
2.2 非接触式读卡芯片MFRC522
2.2.1 MFRC522概述
MFRC522是应用于13.56MHz 非接触式通信中高集成度读写卡系列芯片中的一员,是NXP公司推出的一款非接触式读写卡芯片。MFRC522利用了先进的调制和解调的技术,完全集成了在13.56MHz下所有类型的通信协议,支持多种工作在13.56MHz下的射频卡读写操作 [10]。其内部发送器部分可驱动读写器天线与射频卡和应答机的通信,无需其它的电路。
2.2.2 MFRC522特性
1)高集成度的调制解调电路
2)支持 ISO/IEC 14443 TypeA 和MIFARE®通信协议
3)支持多种工作频率为13.56M的射频卡的信息读写
4)支持在线SPI编程
5)双向数据传输速率高达424kbit/s
6)64字节的发送和接收缓冲区
7)灵活的中断模式
8)可编程定时器
9)内部振荡器,晶振频率为 27.12MHz
10)采用相互独立的多组电源供电,提高工作的稳定性及安全性
11)采用硬件掉电、软件掉电和发送器掉电3种节电模式[11]

2.2.3 MFRC522管脚排列
MFRC522管脚如图2-2所示:



图2-2 MFRC522引脚图

2.3 本章小结
本章对基于RFID技术的门禁系统的理论基础进行简单的介绍,重点讲述了RFID技术概念和原理,并介绍了射频芯片MFRC522。

第3章 门禁系统硬件设计
本电路是由STC89C52 单片机为控制核心,射频卡信息由MFRC522模块读出,通过MCU在LCD12864上显示,通过按键完成密码验证和修改密码的功能。整个门禁系统框图如图3-1所示。


                            图3-1 门禁系统框图                           

3.1 STC89C52主控模块3.1.1 STC89C52简介
STC89C52是宏晶科技发行的一款兼容标准MCS-51指令系统,工业80C51产品指令和引脚完全兼容的51单片机。传统的8051系列单片机只有128-256个字节RAM可使用,对于工程量较大的程序设计时往往会不够用。而STC89C52RC系列单片机扩展了256个字节RAM,拓展的容量,在应用中渐渐取代传统单片机被广泛应用。STC89C52还拥有8K字节在线可编程的Flash存储器、支持在线SPI编程、32个双向数据I/O口线、两个16位定时器/计数器和全双工UART串行通道[12]。

3.1.2 STC89C52主要特性
1)与MCS-51 兼容
2)寿命:1000次擦/写
3)据保留时间:10年
4)全静态工作:0Hz-24Hz
5)512M内部RAM
6)32双向数据I/O线
7)两个16位定时器/计数器
8)5个中断源
9)可编程串行通道
10)芯片内自带振荡器和时钟电路[13]

3.1.3 STC89C52管脚说明

图3-2 STC89C52管脚图
VCC:电源电压。
GND:接地。
P0口:P0口为一个8位双向I/O口,内部不提供上拉电阻。连接电路时需外接上拉电阻。P0口缓冲器能接受输出8TTL门电流。当P0口的管脚第一次写入“1”时,被定义为高阻输入。P0能够作为外部程序数据存储器,暂时存储外部输入数据而不需反复输入。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。由于内部上拉的缘故,P1口管脚写入“1”后,其管脚电平被上拉电阻拉高,此时管脚用作输入。P1口被上拉电阻下拉为低电平时,此时管脚作为将输出电流端口用。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收输出4个TTL门电流。由于内部上拉的缘故,当P2口被写“1”时,其管脚电平被上拉电阻拉高,且作为输入。P2口被上拉电阻下拉为低电平时,此时管脚作为将输出电流端口用。在FLASH编程和

校验时,P2口用来接收高八位地址和控制信号。
P3口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,P3口缓冲器可接收输出4个TTL门电流。对P3口管脚写入“1”时,其管脚电平被上拉电阻拉高,此时可以作为输入口使用。P3口也作为STC89C52的第二功能使用[14]。具体功能如表3-1所示:
表3-1 P3口功能表
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
INT0(外部中断0)
P3.3
INT1(外部中断1)
P3.4
T0(记时器0)
P3.5
T1(记时器1)
P3.6
WR(外部数据存储器写选通)
P3.7
RD(外部数据存储器读选通)

RST:复位输入,高电平有效。当需对器件进行复位时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG: ALE是地址锁存允许信号端,低电平有效。在FLASH编程期间,此引脚用于输入编程脉冲。PORG为编程脉冲的输入端。当ALE/PROG接上低电平的时候,单片机对外部存储器进行数据读取时,用来锁住地址线的低位地址。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,在此期间数据输入都存入外部程序存储器,不管内部程序存储器是否有空间存储数据。
XTAL1:反向振荡放大器的输入及外部时钟工作电路的输入。
XTAL2:反向振荡放大器的输出及外部时钟工作电路的输出。


3.1.4 STC89C52最小系统接口电路
单片机最小系统接口电路如图3-3所示:

图3-3 最小系统接口图
3.2 LCD12864液晶显示模块
图3-3 最小系统接口图
3.2.1 LCD12864简介
带中文字库的12864是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有简体中文字库的图形液晶显示模块,内部含8192个汉字,其显示分辨率为128×64 [15]。利用该模块灵活的接口方式,通过简单的代码编写,可在界面上显示汉字和图形。而且由于其工作电压和功率较同类型显示图形汉字的点阵模块低,且硬件电路和程序都简单的多,因此LCD12864与同类型点阵相比,有更广阔的市场。

3.2.2 LCD12864分类
128×64点阵液晶显示屏有三种控制器,分别是KS0107(KS0108)、T6963C和ST7920。三种控制器主要区别是:KS0107(KS0108)不带任何字库、T6963C带ASCII码,使用前两种LCD若要显示汉字,则需要通过字模软件,将汉字取模后进行编译才可显示,而ST7920自带国标二级字库(8千多个汉字),可自动显示汉字。以此,在需要显示字的情况下,使用ST7920控制器的12864更受欢迎。


3.2.3 12864管脚说明
表3-2 12864管脚功能(见附件)

LCD连接电路中,两侧1、2和20、19脚分别接地和+5V。V0为LCD驱动电压输入端,与一个三端滑动变阻器相连,这样通过调整V0端输入电压,可实现对LCD液晶屏对比度的调整,它决定了LCD能否正常显示数据及显示的效果[16]
3.2.4 LCD12864基本特性
(1)显示分辨率:128×64点
(2)内置128个16×8点阵字符
(3)内部含有繁体、简体中文字库,包括含8192个汉字
(4)低电源电压(VDD:+3.0-+5.5V)
(5)2MHZ时钟频率
(6)显示方式:STN、正显、半透
(7)工作温度: 0℃-+55℃ ,存储温度: -20℃- +60℃
(8)通讯方式:串行、并行
(9)内置转换电路,无需转换电压或外加负压 [17]

3.2.5 12864与89C52接口

3.3 按键本系统使用三个按键顺序控制而非4*4键盘实现密码输入验证及修改功能。三个按键分别接89C52的P3.5、P3.6、P3.7口,通过软件程序,实现一个按键实现+1,多次按压则多次+1;一个按键实现-1,多次按压则多次-1;另一按键作为功能键,实现数位变动及确定功能。
3.4 本章小结
本章对系统的外围电路进行了分析。图3-5为完整的电路图:

图3-5 总体设计图

第4章 门禁系统软件设计4.1 Keil C51开发系统
Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。Keil C51软件以其丰富的库函数、强大的开发功能和超高的代码生成率成为单片机C51开发所用到的主要调试工具 [18]。
C51有6种编译时间库,支持绝大部分ANSIC-C函数,它们适用于不同的应用存储模式。6种库文件如表4-1所示:
表4-1 C51六种库文件
库文件
说明
C51S.LIB
小模式,无浮点计算
C51L.LIB
大模式,无浮点计算
C51C.LIB
紧凑模式,无浮点计算
C51FPS.LIB
小模式,有浮点计算
C51FPL.LIB
大模式,有浮点计算
C51FPC.LIB
紧凑模式,有浮点计算

Keil C51程序编译界面:
  

图4-1 Keil编译界面
4.2 LCD显示程序设计
这里采用8位并行接口方式对12864进行操作,D0-D7与单片机P0.0-P0.7对接,由89C52的P0端口作为数据的输入端口。对RS、PSB等控制引脚进行定义:
sbit RS = P1^0;
sbit WRD = P1^1;
sbit E= P1^2;
sbit PSB = P1^3;
sbit RES = P1^4;
4.2.1 LCD初始化
图4-2 LCD初始化流程图


void initinal(void)         
{
LCDdelay(40);          //大于40MS的延时程序
PSB=1;                 //设置为8BIT并口工作模式
LCDdelay(1);           //延时
RES=0;                 //复位
LCDdelay(100);          //大于100uS的延时程序
TransferData(0x30,0);  //Function Set
LCDdelay(100);         //大于100uS的延时程序
TransferData(0x10,0);  //Cursor Display Control光标设置
LCDdelay(100);         //大于100uS的延时程序
TransferData(0x0C,0);  //Display Control,D=1,显示开
LCDdelay(100);         //大于100uS的延时程序
TransferData(0x01,0);  //Display Clear
LCDdelay(100);         //大于100uS的延时程序
}

4.2.2 LCD显示
1)BF的判断
bit isbusy(void) // 判断是否忙?busy=1,表示忙;busy=0,表示不忙;
{bit busy;
RS=0;RW=1;EP=1;delay 1ms(4);
Busy=(P1&0x80);EP=0;
Return(busy);
}
本程序作用是用来判断LCD当前状态,BF状态字决定了LCD模块的工作状态,当处于忙状态时,此时模块不接受外部指令和数据,BF=0时,模块为准备状态,可对外部指令和数据进行处理。因此,对LCD进行操作之前,要对其工作状态进行判断。
2)写指令和数据
void writedata(unsighed char dat)      //写数据模式
{while(isbusy()==1);             //判断BF是否忙
RS=1;RW=0;EP=0;delay 1ms(2);P1=dat;
delay1 ms(5);EP=1;delay 1ms(5);EP=0;
}

void writecode(unsigned char dat)     //写指令模式
{while(isbusy()==1);            //判断BF是否忙
RS=0;RW=0;EP=0;delay 1ms(2);P1=dat;
Delay 1ms(5);EP=1;delay 1ms(5);EP=0;
}
在写数据和指令之前,先对LCD状态进行判断。当BF=0,即LCD非忙时,即可进行写入指令和数据的操作。写入指令还是数据由RS,RW,EP三个引脚来确定。当三个引脚分别为1,0,0时,为写入数据模式;三个引脚为0,0,0时,为写入指令模式。
3)显示


void lcd_mesg(uchar code *adder1)
{
uchar i;
TransferData(0x80,0);  //Set Graphic Display RAM Address
LCDdelay(100);
for(i=0;i<32;i++)
{
TransferData(*adder1,1);
adder1++;
}
TransferData(0x90,0);  //Set Graphic Display RAM Address
LCDdelay(100);
for(i=32;i<64;i++)
{
TransferData(*adder1,1);
adder1++;
}
}
//*******显示上半屏内容设置
fo

图4-4 系统初始界面
5)刷卡界面显示
while(K1==1&&K2==1&&K3==1)  //按任意键进入

图4-5 刷卡界面
4.3按键程序设计4.3.1 密码验证


char code Menu_2[]={
"欢迎您使用本系统"                                          //0x80ok
"    密码正确    "                                          //0x90ok
"  是否修改密码? "                                          //0x88ok
"  YES     NO    "                                          //0x98ok
};

//密码输入完毕

if(Mode==5)

{

Mode=1;

OK_temp=0;

S=SSSS_MM[0]*1000+SSSS_MM[1]*100+SSSS_MM[2]*10+SSSS_MM[3];}

//认证成功

if(S==money)

{

lcd_init_T();

Delay_ms(250);

lcd_mesg(Menu_2);      //显示菜单2

}

图4-7 密码验证显示图

4.3.2 密码修改


图4-8 密码修改流程图

//按下++

if(K1==0)

{

write_data('0'+SSSS_MM[0]);

write_data('0'+SSSS_MM[1]);

write_data('0'+SSSS_MM[2]);

write_data('0'+SSSS_MM[3]);

lcd_pos(3,2+Mode);

}

K1键实现相加功能,连续按下实现0-9之间切换。

//按下--

if(K2==0)

write_data('0'+SSSS_MM[0]);

write_data('0'+SSSS_MM[1]);

write_data('0'+SSSS_MM[2]);

write_data('0'+SSSS_MM[3]);

lcd_pos(3,2+Mode);

}

K2键实现相减功能,连续按下实现9-0之间切换。

//按下功能键

if(K3==0)

{

Delay_ms(20);

while(K3==0)

Mode++;

lcd_pos(3,2+Mode);

}

K3为功能键,前三次按下功能键实现移位功能,光标分别切换至1、2、3、4位。第四次按下实现确定功能,即输入完毕后将数据输入MCU并进行处理。

uchar code Menu_3[]={

"  请输入新密码  "                                          //0x80ok

"卡号:           "                                          //0x88ok

"================"                                          //0x90ok

"密码:           "                                          //0x98ok

initinal();                                               //调用LCD字库初始化程序

Delay_ms(10);

lcd_init_T();            

Delay_ms(10);

lcd_mesg(Menu_3);      //显示菜单3

修改密码界面如图4-9所示:



图4-9 输入新密码界面

图4-9 修改密码界面

4.4本章小结
本章介绍了系统软件部分的设计。画出各模块的框图,可使整个设计流程一目了然,比如要实现什么功能,在哪块还有问题需要解决和改进。软件编写时,记的加上注释,这在以后检查时很有帮助。

结论
经过三个多月的努力,终于如期完成了毕业设计这艰巨的任务。在整个设计过程中,出现过很多的难题,但都在老师和同学的帮助下顺利解决了。本系统基本达到了预期的要求,可以实现以下功能:
(1)IC卡进行读取
(2)将卡号信息显示在LCD上
(3)通过按键可输入密码
(4)进行密码验证
(5)修改密码
虽然本次设计的门禁系统基本完成了设计时预想的功能,但由于学识及设计能力有限,还有许多功能有待开发,具体可改进的设计如下:
(1)可将按键输入该为4*4键盘输入:可以增加功能,如退铬、清除;单个键实现单个功能,不必一键多用。如功能键实现切换、确定。
(2)界面修改:增加刷卡、输入密码成功后欢迎界面。
(3)增加时钟:记录刷卡时间。
(4)上位机通讯:将刷卡信息通过串口传给上位机,对刷卡人员、时间等信息进行处理,存入数据库,以此来实现对刷卡门禁系统的管理。

谢辞
经过三个多月的努力,终于完成了这次的毕业设计作品,由于经验的缺乏,此次设计中难免有许多考虑不周全的地方,如果没有导师的督促指导,以及同学们的帮助,想要完成这个设计的难度是极大的。
在这里首先要感谢我的指导老师XXX老师。从课题确定开始,查阅资料,设计草案的确定和修改,中期检查,后期详细设计,甚至最后论文编写和完成校稿,整个过程中都给予了我悉心的指导。在此,特别向XXX老师表示由衷的感谢和诚挚的敬意。
其次要感谢和我一起作毕业设计的XXX同学,在课题研究过程中,我们一起讨论、研究专业理论问题;在设计中勤奋工作,克服了许多困难来完成此次毕业设计。如果没有他的努力工作,此次设计的完成将变得非常困难。
最后还要感谢大学四年来所有的老师,为我们打下扎实的专业知识的基础,让我们在遇到那些专业问题是不至于不知所措。同时还要感谢所有的同学们,正是有了你们的陪伴,大学四年才会过的如此精彩;正是有了你们的鼓励,才不至于在遇到挫折时一蹶不振;正是有了你们的帮助,此次毕业设计才会顺利完成。


全部资料51hei下载地址(源码+电路图等全套资料):
http://www.51hei.com/bbs/dpj-115348-1.html


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏6 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:69476 发表于 2018-7-23 20:55 | 只看该作者
学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表