《【最新】门禁控制系统-门禁控制系统设计.pdf》由会员分享,可在线阅读,更多相关《【最新】门禁控制系统-门禁控制系统设计.pdf(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学号03 C 语言程序设计课程设计报告题目:门禁控制系统专业:网络工程(对口)班级:16(3)班姓名:代应豪指导教师:程庆成绩:计算机学院2017 年 5 月 10 日2016-2017学年 第二学期门禁控制系统设计目录第 1 章 门禁系统的概述 3 1.1 门禁系统概念 3 1.2 门禁系统的特点 3 第 2 章门禁系统的设计要求4 2.1 设计要求.4 第 3 章 门禁系统的方案论证.4 3.1 门禁系统的总体方案.4 3.2 门禁系统的各个方案论证5 3.2.1.单片机控制芯片模块.53.2.2.键盘控制块 6 第 4 章 门禁系统的软件部分7结论.10致谢.10 参考文献.1015附录
2、 1:系统程序。.10第 1 章 门禁系统的概述1.1 门禁系统概念出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式。使用者用一张卡可以打开多把门锁,对门锁的开启也可以有一定的时间限制。如果卡丢失了,不必更换门锁,只需将其从控制主机中注销。出入口门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的24小时控制、监视及管理。1.2 门禁系统的特点系统将卡技术、计算机控制技术与电子门锁有机结合,用卡替代钥匙,配合计算机实现智能化门禁控制和管理,有效的解决了传统门锁的使用繁琐和无法信息记录等不足,利用数据控制器采集的数据实现数字化管理
3、可为内部人力资源的有效管理等带来意想不到的效果。电子钥匙:授权后的卡即可当作电子钥匙,将此电子钥匙感应器前一晃,控制器对该卡进行身份验证,验证合法后即控制电子门锁自动打开。开门权限:按门设置:可以根据持卡人身份权限设定有效开门区域(控制器号码)。系统可设有最高权限卡,该卡可以打开系统辖区内所有电子门锁。自动报警:非法使用卡或强行打开门锁等非正常情况下系统会将自动发出报警信号,系统将自动记录非常状况的时间、门号、状态等详细信息,确保门锁安全和事后查证。第 2 章门禁系统的设计要求2.1 设计要求(1)读卡功能(2)添加管理卡功能(3)增加、删除用户卡功能(4)更改管理卡(5)清除所有用户卡(6)
4、键盘控制管理卡操作(7)蜂鸣器实现刷卡、按键提示第 3 章 门禁系统的方案论证3.1 门禁系统的总体方案本系统由 51 系列单片机 89S52、按键、蜂鸣器、T7122读卡等模块构成。实现了存储一张管理卡和多张用户卡的功能;同时管理人员还可以通过按键更改管理卡,增加用户卡,删除用户卡,清空所有用户卡等。因为门禁刷卡控制刷卡距离随着补尝电容的改变而改变(补尝电容大约300),所以最大的刷卡距离约为512;对于非管理卡或用户卡,本门禁控制器不与响应;每个按键控制器都有相应的提示音进行提示操作。正常使用时,用户持卡靠近读卡天线,门禁控制器读入卡号,并与存储在内部的卡号比较,如果有相同的卡号,说明此卡
5、合法,门禁机响一长音,提示成功,如果读卡失败,而不响应。总体系统结构图如图3-1 图 3-1 门禁系统总体结构框图32 门禁系统的各个方案论证321 单片机控制芯片模块方案一:16C84单片机芯片。它是 8 位 微控制器。它有高性能的类似于的指令,共有 35 条单字节的指令,所有的指令除程序分支指令需要两个指令周期外,都只需要一个指令周期。程序指令的宽度为14 位,在芯片内有 1K14 的程序存储器。方案二:89s52 芯片。它是一种低功耗、高性能8 位微控制器,具有 8K 在系统可编程 存储器。易失性存储与工业80C51 产品指令和引脚完全兼容。在单芯片上,拥有灵巧的 8 位 和在系统可编程
6、,使得 89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。基于以上所述,根据系统需要及所学知识我选方案二。读卡模块门禁控制器蜂鸣器接口电路下位机322 键盘控制模块方案一:独立式键盘,如图 3-2。它是利用单片机口读取口的电平高低来判断是否有键按下,这种方式的缺点是占用的口数较多。且对键盘处理的时候涉及到了一个重要的过程,那就是键盘的抖动问题1。图3-2 方案二:基于串并转换电路的键盘形式,如图 3-3。7164 是串并转化芯片,它把(P10)上的串行数据转化为 8 为的并行数据,S12345678 作为键盘扫描线,P11 为键盘数据回送线。键盘扫描时,从 S1S7 一次输出低电
7、平,然后检测 P11(回送线),如果 P11(回送线)为高电平则表示无键闭合,如果P11(回送线)等于 0,将S1S7 上的数据经过简单处理得到对应的键值。5如图3-3 方案三:行列扫描的键盘形式,如图3-4。列线通过电阻接正电源,并将行线所接的单片机口作为输出端,而列线所接的口则作为输入。当按键没有按下时,所有列的输出端都是高电平,代表没有键按下。行线输出时低电平,一旦有键按下时,则输入线就会被拉低,这样通过读入输入线的状态就可以得知是否有键按下了6。图 3-4 基于以上所述,根据系统需要我选方案二。第 4 章 门禁系统的软件部分程序循环中主要工作为判断是否有刷卡,若有刷卡则断判是什么卡,然
8、后进行相应的处理。门禁系统的总流程图4-1:图 4-1 开始定义堆栈区89S52、定时器 0、中断初始化是否有刷卡是否是管理卡蜂鸣器响三声是否有管理卡添加该卡为管理卡,蜂鸣器响两声管理卡功能子程序是否是用户卡蜂鸣器响一声管理卡功能子程序流程图如图4-2 图 4-2 是否有卡刷蜂鸣器响一声,定时器 T0 起动是否有按键蜂鸣器响一声,添加用户卡蜂鸣器响二声,删除用户卡蜂鸣器响三声,删除管理卡蜂 鸣 器 响 四声,清空所有用户卡返回定时 5 秒是否到结论本门禁控制器用于鉴别刷卡人员,管理人员出入。功能可实现存储一张管理卡、多张用户卡。通过按键开关可以进行各种卡管理操作,如更改管理卡、增加单个用户卡、
9、删除单个用户卡、清空所有用户卡等。致谢在这次 C 语言课程设计中,我的老师和同学给了我及大的帮助。特别是我的指导老师程庆老师,还有我的C 语言任课老师代美丽老师。在此,我对他们表示感谢!感谢他们在我面对困难时给了我帮助和支持。也感谢那些给我帮助的所有同学!参考文献1 谭浩强著程序设计(第四版).北京:清华大学出版社,2010.6 2 谭浩强著程序设计(第四版)学习辅导.北京:清华大学出版社,2010.7 附录一:系统程序 10;11;12;37;505;=P26;27;25;105=0;0;a;5=0;1;毫秒延时子程序 2()i;()(0120);蜂鸣器 ()0;5=0;2(250);1;5
10、=1;2(250);(a)判断是不是有键按下 i;(08)()&0 x80)1;0;0;1;()判断是第几键按下 ;0;赋初值为 0 2(250);延时去抖动0;扫描键盘(08)();()是此键按下吗?;是,则保存其键值(i);退出(,1);检测下一键 同步串行口接收一字节 1()i;(9;)=1;(0)等待始终上升沿 ;(1)读数据 ;(1);同步串行口接收 ()i;(1)检测脚是否出现低电平 ;0;屏蔽中断(25;)保证的宽度大于时钟宽度 (0)1;(1)等待时钟线出现低电平 ;01();读第一个字节 11();读第二个字节 21();31();41();51();读第六个字节(0)等待脚
11、恢复高电平 ;1;读卡结束,校验卡号 01234;(5)1;管理卡程序 ()0;(1)();P0=0;(1)判断是否有刷卡 0;(050)判断是否有管理卡 ();();055设计为管理卡 (055)判断是否是管理卡 ();();();2(250);(1)();(1)判断是否有刷卡 ();0;0=1;起动定时器 0 0;(1)(a55)判断是否是用户卡 ();定时器子程序 1()3 0=(65536-50000)/256;0=(65526-50000)%256;();()0:按键 1 ();b55添加用户卡 5=0;1:按键 2 ();();(1)(a55)a5b5删除用户卡 ;2:按键 3 ();();();05=0删除管理卡 ;3:按键 4 ();();();();(1)a5=0;清空所有用户卡 ;(50)定时 5S是否到 0=0;0;主程序 ()0 x01;定时器 0 0=(65536-50000)/256定时器 0 初始华 0=(65526-50000)%256;1;0=1;P0=0;();
限制150内