学号
2016-2017 学年 第二学期
《C 语言程序设计》
课程设计报告
题 目 : 门禁控制系统
专 业 :
班 级 :
姓 名 :
指导教师:
成 绩 :
计算机学院
2017 年 5 月 10 日
1
第 1 章 门禁系统的概述
1.1 门禁系统概念
出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式。使用者用一张卡可以
打开多把门锁 , 对门锁的开启也可以有一定的时间限制。如果卡丢失了,不必更换门锁,
只需将其从控制主机中注销。出入口门禁控制系统是通过对出入口的准入情况进行控
制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的 24
小时控制、监视及管理。
1.2 门禁系统的特点
系统将 ID 卡技术、计算机控制技术与电子门锁有机结合,用 ID 卡替代钥匙,配合
计算机实现智能化门禁控制和管理,有效的解决了传统门锁的使用繁琐和无法信息记录
等不足,利用数据控制器采集的数据实现数字化管理可为内部人力资源的有效管理等带
来意想不到的效果。
电子钥匙:授权后的 ID 卡即可当作电子钥匙,将此电子钥匙感应器前一晃 , 控制
器对该卡进行身份验证,验证合法后即控制电子门锁自动打开。
开门权限:按门设置:可以根据持卡人身份权限设定有效开门区域(控制器号码)。
系统可设有最高权限卡,该卡可以打开系统辖区内所有电子门锁。
自动报警:非法使用卡或强行打开门锁等非正常情况下系统会将自动发出报警信
号,系统将自动记录非常状况的时间、门号、状态等详细信息,确保门锁安全和事后查
证。
2
第 2 章门禁系统的设计要求
2.1 设计要求
( 1)读卡功能
( 2)添加管理卡功能
( 3)增加、删除用户卡功能
( 4)更改管理卡
( 5)清除所有用户卡
( 6)键盘控制管理卡操作
( 7)蜂鸣器实现刷卡、按键提示
第 3 章 门禁系统的方案论证
3.1 门禁系统的总体方案
本系统由 51 系列单片机 AT89S52、按键、蜂鸣器、 T7122M-I 读卡等模块构成。实
现了存储一张管理卡和多张用户卡的功能;同时管理人员还可以通过按键更改管理卡,
增加用户卡,删除用户卡,清空所有用户卡等。因为门禁刷卡控制刷卡距离随着补尝电
容的改变而改变(补尝电容大约 300PF),所以最大的刷卡距离约为 5— 12CM;对于非管
理卡或用户卡,本门禁控制器不与响应;每个按键控制器都有相应的提示音进行提示操
作。正常使用时,用户持卡靠近读卡天线,门禁控制器读入卡号,并与存储在内部的卡
号比较,如果有相同的卡号,说明此卡合法,门禁机响一长音,提示成功,如果读卡失
败,而不响应。总体系统结构图如图 3-1
3
门
禁
控
制
器
读
卡
模
块
蜂鸣器
接
口
电
路
下
位
P
C
机
图 3-1 门禁系统总体结构框图
3. 2 门禁系统的各个方案论证
3. 2. 1 单片机控制芯片模块
方案一:PIC16C84 单片机芯片。它是 8 位 CMOS EEPROM 微控制器。它有高性能的类
似于 RISC 的指令,共有 35 条单字节的指令,所有的指令除程序分支指令需要两个指令
周期外,都只需要一个指令周期。程序指令的宽度为 14 位,在芯片内有 1K× 14 的 EEPROM
程序存储器。
方案二:At89s52 芯片。 它是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在
系统可编程 Flash 存储器。易失性存储与工业 80C51 产品指令和引脚完 全兼容。在单
芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控
制应用系统提 供高灵活、超有效的解决方案。
基于以上所述,根据系统需要及所学知识我选方案二。
4
3. 2. 2 键盘控制模块
方案一:独立式键盘,如图 3-2。它是利用单片机 I/O口读取口的电平高低来判断是
否有键按下,这种方式的缺点是占用的 I/O 口数较多。且对键盘处理的时候涉及到了一
个重要的过程,那就是键盘的抖动问题 [1]。
图 3-2
方案二:基于串并转换电路的键盘形式,如图 3-3。 7SLS164 是串并转化芯片,它
把 SDA(P10)上的串行数据转化为 8 为的并行数据, S1/S2/S3/S4/S5/S6/S7/S8作为键盘
扫描线, P11 为键盘数据回送线。键盘扫描时,从 S1~ S7 一次输出低电平,然后检测
P11(回送线),如果 P11(回送线)为高电平则表示无键闭合,如果 P11(回送线)等
于 0,将 S1~ S7 上的数据经过简单处理得到对应的键值。 [5]
5
3-3
如图
方案三:行列扫描的键盘形式,如图 3-4。列线通过电阻接正电源,并将行线所接
的单片机 I/O 口作为输出端,而列线所接的 I/O 口则作为输入。当按键没有按下时,所
有列的输出端都是高电平,代表没有键按下。行线输出时低电平,一旦有键按下时,则
输入线就会被拉低,这样通过读入输入线的状态就可以得知是否有键按下了 [6]。
基于以上所述,根据系统需要我选方案二。
图 3-4
第 4 章 门禁系统的软件部分
程序循环中主要工作为判断是否有刷卡,若有刷卡则断判是什么卡,然后进行相应
6
的处理。
门禁系统的总流程图 4-1:
开始
定义堆栈区
AT89S52、定时器 0、
中断初始化
是否有刷卡
是否有管理卡
是否是管理卡
添加该卡为管理
卡,蜂鸣器响两
声
蜂鸣器响三声
是否是用户卡
管理卡功能子程序
蜂鸣器响一声
图 4-1
7
管理卡功能子程序流程图如图 4-2
是否有卡刷
蜂鸣器响一声,定
时器 T0 起动
是否有按键
蜂 鸣 器 响
一 声 , 添
加用户卡
蜂 鸣 器响
二 声 ,删
除用户卡
蜂 鸣 器 响
蜂 鸣 器 响 四
三 声 , 删
声,清空所有
除管理卡
用户卡
定时 5 秒是否到
返回
图 4-2
8