基于单片机IC卡门禁系统的设计与实现

更新时间:2024-05-09 16:30:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

XXX届本科生毕业设计

题 目: 基于单片机IC卡门禁系统的设计与实现

院(系): 机械与电子信息工程学院 专业年级: XXXX级电信专升本 姓 名: XXXX 学 号: XXXXXXXXX 指导教师: XXXXX 教授

XXXX年 03月20日

Title: microcontroller-based temperature control system

fountains

Department: College of the system of energy saving and safety Major: Electronic and Information Engineering Author: Chen cheng Student ID: 2013080102 Instructor: Tang Yonggang Professor

March 20th,2015

摘要

随着科学技术的进步,IC卡门禁系统在日常生活中的应用越来越普及。比如公司、写字楼出入口门禁制系统采取以感应卡来取代用钥匙开门的方式。使用者用一张卡可以打开多把门锁, 对门锁的开启也可以有一定的时间限制。如果卡丢失了,不必更换门锁,只需将其从控制主机中注销。出入口门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的24小时控制、监视及管理等。

本系统以89C51系列单片机STC89C52为控制核心,利用非接触式高频Mifare IC卡模块读取用户手中的IC卡信息,识别成功后与系统存储的IC卡库数据进行比对校验,如果IC卡数据库中有IC卡则证明IC卡合法,单片机通过控制继电器控制电子锁门禁开启和关闭。同时系统采用4X4矩阵键盘作为输入,LCD1602液晶作为人机交互显示,让系统具备更大的实用价值。

关键词:STC89C52;4X4键盘;IC卡;LCD1602;Mifare

Abstract

With the progress of science and technology, access control systems used in daily life is more and more popular. The gate entrance control system to replace open a door with a key way to induction card. A user with a card can open the lock on the door lock, the opening can also have a certain time limit. If the card is lost, do not have to change the locks, the cancellation of its control from the host. The gate entrance control system through control, equipment management and records of the admittance of entrance to whom, when and where to detailed tracking, to achieve the center on the entrance 24 hours control, monitoring and management.

This system uses 89C51 Series MCU STC89C52 as the control core, the use of contactless IC card information of high frequency Mifare IC card module to read the user's hands, ratio of IC are checking data recognition after successful and storage system, if there is evidence that the IC card IC card IC card database legal, chip by controlling the relay control electronic lock opening and closing. At the same time the system uses the 4X4 matrix keyboard as input, LCD1602 liquid crystal display as human-computer interaction, can complete the IC card information through the keyboard to add, delete and other tasks, to make the system more practical value.

Key words: STC89C52;4X4 keybord;IC card;LCD1602;Mifare

目 录

1 系统总体方案设计 ................................................................................................. 1 1.1 系统设计原理 ................................................................................................. 1 1.2 硬件方案的选择 ............................................................................................. 1 1.2.1 主控制芯片的选择 ................................................................................. 1 1.2.2 显示模块的选择 ..................................................................................... 2 1.2.3 电源电路的比较与选择 ......................................................................... 2 1.2.4 键盘输入电路的选泽 ............................................................................. 3 1.2.5 电子锁门禁驱动电路的选择 ................................................................. 3 1.2.6 数据存储芯片的选泽 ............................................................................. 4 2 系统的硬件设计 ..................................................................................................... 5 2.1 单片机最小系统设计 ..................................................................................... 5 2.1.1 STC89C52单片机介绍 .......................................................................... 5 2.2 IC卡原理及驱动电路设计 ............................................................................ 7

2.2.1 Mifare射频卡技术参数 ......................................................................... 7 2.2.2 IC卡内部结构介绍 ................................................................................ 7 2.2.3 IC卡读写过程 ........................................................................................ 9 2.2.4 单片机与IC卡读卡模块接口电路设计 ............................................. 10 2.3 键盘电路设计 ............................................................................................... 10 2.3.1 键盘识别原理 ....................................................................................... 10 2.3.2 键盘电路及键盘按键定义 ................................................................... 11 2.4 电子锁门禁继电器驱动电路设计 ............................................................... 11 2.4.1 继电器介绍 ........................................................................................... 11 2.4.2 继电器驱动电路设计 ........................................................................... 12 2.5 LCD1602液晶显示电路设计 ...................................................................... 12 2.5.1 LCD1602液晶介绍 .............................................................................. 12 2.5.2 单片机与LCD1602液晶接口介绍 ..................................................... 12 3 系统的软件设计 ................................................................................................... 14 3.1 系统总程序设计 ........................................................................................... 14

3.2 IC卡读写子程序设计 .................................................................................. 14 3.3 键盘扫描程序的设计 ................................................................................... 15 3.4 LCD1602液晶显示子程序 .......................................................................... 17 3.5 电子锁门禁开关子程序设计 ....................................................................... 18 3.6 报警子程序设计 ........................................................................................... 18 4 系统的焊接与调试 ............................................................................................... 19 4.1 系统硬件焊接与调试 ................................................................................... 19 4.2 系统软件调试 ............................................................................................... 19 结语 ............................................................................................................................. 21 参考文献 ..................................................................................................................... 22 附录一 电路图 ........................................................................................................... 23 附录二、程序源代码 ................................................................................................. 24

1 系统总体方案设计

1.1 系统设计原理

本系统是基于STC89C52单片机设计的IC卡门禁系统。系统由两个部分构成:硬件电路部分和软件部分。硬件部分主要是电路板的设计与制作,软件部分主要是各个模块的驱动及总程序调试与实现。

硬件电路主要由:51单片机最小系统、射频IC卡模块、LCD1602液晶显示模块、报警提示模块、4X4键盘模块、电子锁继电器模块、电源模块等构成。设计硬件电路结构如下图所示。

电源模块 IC卡读卡模块 单片机 STC89C52 LCD1602液晶显示模块 蜂鸣器/LED报警提示模块 4X4键盘模块 电子锁门禁继电器驱动模块 时钟电路 图1.1 系统总体框图

1.2 硬件方案的选择

1.2.1 主控制芯片的选择

方案一:采用ARM9微处理器作为控制器。

ARM9引系列处理器是英国ARM公司设计的主流嵌入式处理器 ARM9内核是0.9MIPS/MHz的三级流水线和冯·诺伊曼结构; ARM9内核是5级流水线,提供1.1MIPS/MHz的哈佛结构。 ARM7没有MMU,ARM720T是MMU的 ,ARM9主要包括ARM9TDMI和ARM9E-S等系列ARM9是有MMU的,ARM940T只有Memory protection unit.不是一个完整的MMU。ARM7是典型的微处理器,体积小、处理能力强、功耗低,但价格昂贵,会照成产品成本增加。

1

方案二:采用STC89C52单片机作为为控制

STC89C52单片机是对目前所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flash技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前很多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是52系列的单片机一般不具备自编程能力。51成本低廉,使用方便,适合与本系统的温度检测与控制。

综上分析,我们采用了第二个方案,即采用STC89C52单片机作为主控制芯片。 1.2.2 显示模块的选择 方案一:采用数码管显示。

数码管显示具有亮度高、显示简单简洁、成本低廉,可靠性高、响应速度快等有点。但如果采用想要显示要想让能见度较远并且醒目的同时又要显示汉字、图片等丰富的信息,则需要的液晶屏就要足够大成本也就很高。电路复杂需器件也高。

方案二:采用LCD1602液晶显示.

LCD128X64 是一种具有4 位/8 位并行、2 线或3 线串行多种接口方式,内部含有国标一级、二级简体 中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192 个16*16 点汉字,和128 个16*8 点ASCII 字符 集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。

LCD1602液晶器件与数码管显示模块相比,在硬件电路结构或显示程序都要简洁得多,且该器件的价格始终,批量价格更低。而且显示平稳、省电、美观,更容易实现题目要求,对后续的功能兼容性高。软件操作简单,可操作性强。 综上分析,我们采用了第二个方案。 1.2.3 电源电路的比较与选择 方案一:采用USB供电

电脑的电源是通过电脑适配器将220V AC 转换成了12V DC直流,电脑USB接口可以提供稳定的5V直流电压。完全能够满足5V单片机系统的供电需要,并且

2

电源稳定、即插即用,功耗低使用非常方便。

方案二:自制直流稳压电源模块。将插线板电源经过变压、整流、滤波、稳压后输出。为系统提供稳定可靠的电源。自制电源会增加硬件成本,同时高压转抵押也带来不稳定等因素,因此不采用此方法。

由于USB供电具有即插即用的特点,方便实用,因此我们选择第一个方案。 1.2.4 键盘输入电路的选泽 方案一:采用独立按键电路输入

独立按键结构简单使用它方便,只需要单片机IO口和地跨接即可,当按下按键时候单片机IO口电压被拉低,单片机就可以检测到此电压的变化,一次来判断是否有按键按下。但缺点是占用较多的IO口资源。本系统需要按键数目较多,因此此方法不可行。

方案二:采用4*4矩阵键盘模块。

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是不合理的。 综上,本系统设计的门禁系统,需要输入密码至少需要0-9 确认、退出等功能按键,因此举证键盘是最好的选择,故选择方案2。 1.2.5 电子锁门禁驱动电路的选择

方案一:采用S8550三极管、继电器驱动。

S8550是一种常用的普通三极管。 它是一种低电压,大电流,小信号的PNP型硅三极管。三极管驱动具有电路结构简单,成本低廉等特点。

继电器是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。

本系统采用S8850三极管增大驱动电流以驱动继电器开关,进而来控制电子锁

3

部件。

方案二:采用L298N驱动芯片。

L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。LN298内部继承大功率H桥路。具有稳定性高、使用简单,驱动力大等特点。 光耦合器亦称光电隔离器或光电耦合器,简称光耦。它是以光为媒介来传输电信号的器件,通常把发光器(红外线发光二极管LED)与受光器(光敏半导体管)封装在同一管壳内。当输入端加电信号时发光器发出光线,受光器接受光线之后就产生光电流,从输出端流出,从而实现了“电—光—电”转换

由于L298N芯片器件成本较高,会大大加大开发成本,同时光耦元件适用于高速低电压的开关场合,因此本方案不可取。 综上分析,我们采用了第二个方案。 1.2.6 数据存储芯片的选泽

方案一:采用单片机自带的EEPROM存储数据。

STC89C52单片机片内自带了2K的EEPROM闪存。改闪存可以反复擦除和读写很多次,使用起来方便快捷、而且不增加成本。 方案二:采用AT24C02存储芯片。

AT24C02是TI公司退出的典型的基于IIC总线协议的DIP8封装的偏外存储芯片。其内部是一个2K位串行CMOS E2PROM, 内部含有256个8位字节。AT24C02支持I2C,总线数据传送协议I2C,总线协议规定任何将数据传送到总线的器件作为发送器。任何从总线接收数据的器件为接收器。数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。通过器件地址输入端A0、A1和A2可以实现将最多8个AT24C02器件连接到总线上。但此芯片价格昂贵,需要增加外部电路和硬件成本,因此不可取。

综上分析,我们采用了第一个方案。

4

2 系统的硬件设计

整个系统硬件电路由:单片机最小系统、4X4键盘模块、LCD1602液晶显示模块、IC卡读卡模块、电子锁门禁继电器驱动模块、数据存储模块等组成。系统硬件电路设计如下:

2.1 单片机最小系统设计

2.1.1 STC89C52单片机介绍

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 2.1.2 52最小系统电路设计

52单片机最小系统一般有:52单片机、电源模块、复位电路、时钟电路构成。 (1)复位电路设计

单片机的复位分为上电自动复位和按钮手动复位两种。

上电复位电路:由22uf电解电容和10K电阻构成。原理是上电瞬间,电容充电电流最大,电容相当于短路,RST端为高电平,自动复位;电容两端的电压达到电源电压时,电容充电电流为零,电容相当于开路,RST端为低电平,程序正常运行。

按键手动复位电路:电路由按键、10K电阻、1K电阻、22uf构成。原理是首先经过上电复位,当按下按键时,RST直接与VCC相连,为高电平形成复位,同时电解电容被短路放电;按键松开时,VCC对电容充电,充电电流在电阻上,RST

5

依然为高电平,仍然是复位,充电完成后,电容相当于开路,RST为低电平,正常工作。

这里我们采用按键复位来实现,电路图如下。

图2.1 复位电路

(2)时钟电路设计

时钟电路用于产生单片机所需要的时钟信号,单片机在时钟信号的控制下各部件之间同步协调工作。根据产生的方式不同,分为内部和外部两种时钟电路。 在51芯片内部有一个用于构成振荡器的高增益反相放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器,在引脚XTAL1和XTAL2上输出3V左右的正弦波,这就是单片机的振荡电路,如图3.5所示。

图2.2 系统时钟电路

6

通常,电容C1和C2取30pf左右,主要作用是帮助振荡器起振,晶体的振荡频率范围是1.2~12MHz。晶体振荡频率高,则系统的时钟频率也高,单片机运行速度也就快。在通常应用情况下,STC89C52使用振荡频率为6MHz或12MHz。在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲。这是,外部的脉冲信号时经过XTAL2引脚注入,其连接如图3.5所示,由于XTAL2端逻辑电平不是TTL的,故需要外接一个上拉电阻,外接信号应为时钟频率低于12MHz的方波信号。

2.2 IC卡原理及驱动电路设计

2.2.1 Mifare射频卡技术参数

(1)容量为8K位(bits)=1K字节(bytes)EEPROM

(2)分为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位 (3)每个扇区有独立的一组密码及访问控制 (4)每张卡有唯一序列号,为32位 (5)具有防冲突机制,支持多卡操作

(6)无电源,自带天线,内含加密控制逻辑和通讯逻辑电路 (7)数据保存期为10年,可改写10万次,读无限次 (8)工作温度:-20℃~50℃(湿度为90%) (9)工作频率:13.56MHZ (10)通信速率:106 KBPS

(11)读写距离:10 cm以内(与读写器有关) 2.2.2 IC卡内部结构介绍

M1卡分为16个扇区,每个扇区由4块(块0、块1、块2、块3)组成,(我们也将16个扇区的64个块按绝对地址编号为0~63,存贮结构如下图所示:

7

密码A 存取控制 密码B 密码A 存取控制 密码B ∶ ∶ ∶ 0 扇区15 1 2 3 数据块 数据块 数据块

60 61 62 63

数据块 数据块 数据块 控制块 数据块 数据块 数据块 控制块

0 1 2 3 4 5 6 7

块0 扇区0 块1 块2 块3 扇区1 块0 块1 块2 块3

密码A 存取控制 密码B 控制块

图2.3 IC卡存储结构图

(2)第0扇区的块0(即绝对地址0块),它用于存放厂商代码,已经固化,不可更改。

(3)每个扇区的块0、块1、块2为数据块,可用于存贮数据。

数据块可作两种应用:

用作一般的数据保存,可以进行读、写操作。

用作数据值,可以进行初始化值、加值、减值、读值操作。

(4)每个扇区的块3为控制块,包括了密码A、存取控制、密码B。具体结构如下:

A0 A1 A2 A3 A4 A5 FF 07 80 69 B0 B1 B2 B3 B4 B5 密码A(6字节) 存取控制(4字节) 密码B(6字节)

(5)每个扇区的密码和存取控制都是独立的,可以根据实际需要设定各自的密码及存取控制。存取控制为4个字节,共32位,扇区中的每个块(包括数据块和控制块)的存取条件是由密码和存取控制共同决定的,在存取控制中每个块都有相应的三个控制位,定义如下:

8

块0: C10 C20 C30 块1: C11 C21 C31 块2: C12 C22 C32 块3: C13 C23 C33

三个控制位以正和反两种形式存在于存取控制字节中,决定了该块的访问权限(如 进行减值操作必须验证KEY A,进行加值操作必须验证KEY B,等等)。三个控制位在存取控制字节中的位置,以块0为例:

对块0的控制:

bit 7 6 5 4 3 2 1 0 字节6 字节7 字节8 字节9

存取控制(4字节,其中字节9为备用字节)结构如下所示:

bit 7 6 5 4 3 2 1 0 字节6 字节7 字节8 字节9

C23_b C13 C22_b C21_b C20_b C13_b C33_b C12_b C32_b C11_b C31_b C10_b C30_b C20_b C10_b C30_b C10 C30 C20 C12 C32 C11 C31 C10 C30 C33 C23 C22 C21 C20

2.2.3 IC卡读写过程

非接触式IC卡的读写过程:通常由非接触式IC卡与读写器之间通过无线电波来完成读写操作。非接触型IC卡本身是无源体, 当读写器对卡进行读写操作时, 读写器发出的信号由两部分叠加组成:一部分是电源信号,该信号由卡接收后, 与其本身的L/C产生谐振, 产生一个瞬间能量来供给芯片工作。另一部分则是结合数据信号,指挥芯片完成数据、修改、存储等, 并返回给读写器。由非接触式IC卡所形成的读写系统, 无论是硬件结构, 还是操作过程都得到了很大的简化,同时借助于先进的管理软件,可脱机的操作方式, 都使数据读写过程更为简单。

9

本文来源:https://www.bwwdw.com/article/908g.html

Top