ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:99.50KB ,
资源ID:8702656      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-8702656.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c门禁控制系统-门禁控制系统设计Word格式.doc)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

c门禁控制系统-门禁控制系统设计Word格式.doc

1、1.1 门禁系统概念出入口门禁控制系统采取以感应卡来取代用钥匙开门的方式。使用者用一张卡可以打开多把门锁, 对门锁的开启也可以有一定的时间限制。如果卡丢失了,不必更换门锁,只需将其从控制主机中注销。出入口门禁控制系统是通过对出入口的准入情况进行控制、管理和记录的设备,对何人何时在何地进行详细跟踪,以实现中心对出入口的24小时控制、监视及管理。1.2 门禁系统的特点系统将ID卡技术、计算机控制技术与电子门锁有机结合,用ID卡替代钥匙,配合计算机实现智能化门禁控制和管理,有效的解决了传统门锁的使用繁琐和无法信息记录等不足,利用数据控制器采集的数据实现数字化管理可为内部人力资源的有效管理等带来意想不

2、到的效果。电子钥匙:授权后的ID卡即可当作电子钥匙,将此电子钥匙感应器前一晃, 控制器对该卡进行身份验证,验证合法后即控制电子门锁自动打开。开门权限:按门设置:可以根据持卡人身份权限设定有效开门区域(控制器号码)。系统可设有最高权限卡,该卡可以打开系统辖区内所有电子门锁。自动报警:非法使用卡或强行打开门锁等非正常情况下系统会将自动发出报警信号,系统将自动记录非常状况的时间、门号、状态等详细信息,确保门锁安全和事后查证。第2章门禁系统的设计要求2.1 设计要求(1)读卡功能(2)添加管理卡功能(3)增加、删除用户卡功能(4)更改管理卡(5)清除所有用户卡(6)键盘控制管理卡操作(7)蜂鸣器实现刷

3、卡、按键提示第3章 门禁系统的方案论证3.1门禁系统的总体方案本系统由51系列单片机AT89S52、按键、蜂鸣器、T7122M-I读卡等模块构成。实现了存储一张管理卡和多张用户卡的功能;同时管理人员还可以通过按键更改管理卡,增加用户卡,删除用户卡,清空所有用户卡等。因为门禁刷卡控制刷卡距离随着补尝电容的改变而改变(补尝电容大约300PF),所以最大的刷卡距离约为512CM;对于非管理卡或用户卡,本门禁控制器不与响应;每个按键控制器都有相应的提示音进行提示操作。正常使用时,用户持卡靠近读卡天线,门禁控制器读入卡号,并与存储在内部的卡号比较,如果有相同的卡号,说明此卡合法,门禁机响一长音,提示成功

4、,如果读卡失败,而不响应。总体系统结构图如图3-1蜂鸣器门禁控制器读卡模块下位PC机接口电路 图3-1 门禁系统总体结构框图32门禁系统的各个方案论证321单片机控制芯片模块方案一:PIC16C84单片机芯片。它是8位CMOS EEPROM微控制器。它有高性能的类似于RISC的指令,共有35条单字节的指令,所有的指令除程序分支指令需要两个指令周期外,都只需要一个指令周期。程序指令的宽度为14位,在芯片内有1K14的EEPROM程序存储器。方案二:At89s52芯片。 它是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。易失性存储与工业80C51 产品指令和引

5、脚完 全兼容。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。基于以上所述,根据系统需要及所学知识我选方案二。322键盘控制模块独立式键盘,如图3-2。它是利用单片机I/O口读取口的电平高低来判断是否有键按下,这种方式的缺点是占用的I/O 口数较多。且对键盘处理的时候涉及到了一个重要的过程,那就是键盘的抖动问题1。图3-2基于串并转换电路的键盘形式,如图3-3。7SLS164 是串并转化芯片,它把SDA(P10)上的串行数据转化为8 为的并行数据,S1/S2/S3/S4/S5/S6/S7/S8作为键盘扫描

6、线,P11 为键盘数据回送线。键盘扫描时,从S1S7 一次输出低电平,然后检测P11(回送线),如果P11(回送线)为高电平则表示无键闭合,如果P11(回送线)等于0,将S1S7 上的数据经过简单处理得到对应的键值。5如图3-3方案三:行列扫描的键盘形式,如图3-4。列线通过电阻接正电源,并将行线所接的单片机I/O 口作为输出端,而列线所接的I/O 口则作为输入。当按键没有按下时,所有列的输出端都是高电平,代表没有键按下。行线输出时低电平,一旦有键按下时,则输入线就会被拉低,这样通过读入输入线的状态就可以得知是否有键按下了6。图3-4基于以上所述,根据系统需要我选方案二。第4章 门禁系统的软件

7、部分程序循环中主要工作为判断是否有刷卡,若有刷卡则断判是什么卡,然后进行相应的处理。门禁系统的总流程图4-1:开始定义堆栈区AT89S52、定时器0、中断初始化是否有刷卡是否是管理卡蜂鸣器响三声是否有管理卡添加该卡为管理卡,蜂鸣器响两声管理卡功能子程序是否是用户卡蜂鸣器响一声图4-1管理卡功能子程序流程图如图4-2是否有卡刷蜂鸣器响一声,定时器T0起动是否有按键蜂鸣器响一声,添加用户卡蜂鸣器响二声,删除用户卡蜂鸣器响三声,删除管理卡蜂鸣器响四声,清空所有用户卡返回定时5秒是否到图4-2结 论本门禁控制器用于鉴别刷卡人员,管理人员出入。功能可实现存储一张管理卡、多张用户卡。通过按键开关可以进行各

8、种卡管理操作,如更改管理卡、增加单个用户卡、删除单个用户卡、清空所有用户卡等。致谢在这次C语言课程设计中,我的老师和同学给了我及大的帮助。特别是我的指导老师程庆老师,还有我的C语言任课老师代美丽老师。在此,我对他们表示感谢!感谢他们在我面对困难时给了我帮助和支持。也感谢那些给我帮助的所有同学!参考文献1谭浩强著.C程序设计(第四版).北京:清华大学出版社,2010.62谭浩强著.C程序设计(第四版)学习辅导.北京:清华大学出版社,2010.7附录一:系统程序#includeintrins.hsbit cp=P10;sbit sck=P11;sbit so=P12;sbit beep=P37;s

9、bit led5=P05;sbit KD_KEY = P26;sbit KEY_SDA=P27;sbit KEY_CLK=P25;unsigned char chcardno105=0;unsigned char cardok;unsigned char j=0;unsigned char count;unsigned char a;unsigned char cardno5=0;unsigned char key_value;unsigned char b=1;/-毫秒延时子程序-void delay2(unsigned char ms)unsigned char i; while(ms-)

10、 for(i=0;i120;i+); /-蜂鸣器-unsigned char feib(void)beep=0;led5=0;delay2(250);beep=1;led5=1;void send(unsigned char a) /判断是不是有键按下unsigned char i;for(i=0;8;i+) if(_crol_(a,i)&0x80) KEY_SDA=1; else KEY_SDA=0; KEY_CLK=0; KEY_CLK=1; unsigned char key(void)/判断是第几键按下unsigned char buffer,display_bit,i;buffer=

11、0xff; /赋初值为0xff /延时去抖动display_bit=0xfe; /扫描键盘send(display_bit);if(!KD_KEY) /是此键按下吗? buffer=display_bit; /是,则保存其键值return(i);break; /退出display_bit=_crol_(display_bit,1);/检测下一键/-同步串行口接收一字节-unsigned char rx1byte() char i; char rxdata; for(i=9;-i;) rxdata=1; while(sck=0) /等待始终上升沿 continue; if(so=1) /读数据

12、+rxdata; while(sck=1) return rxdata;/-同步串行口接收-unsigned char rx(void) char i; if(cp=1) /检测CP脚是否出现低电平 return; EA=0; /屏蔽中断 for(i=25;) /保证CP的宽度大于时钟宽度 if(sck=0) EA=1; return; while(sck=1) /等待时钟线出现低电平 continue; cardno0=rx1byte(); /读第一个字节 cardno1=rx1byte(); /读第二个字节 cardno2=rx1byte(); cardno3=rx1byte(); car

13、dno4=rx1byte(); cardno5=rx1byte(); /读第六个字节 while(cp=0) /等待CP脚恢复高电平 EA=1;/读卡结束,校验卡号 i=cardno0+cardno1+cardno2+cardno3+cardno4; if(i=cardno5) cardok=1; /-管理卡程序-unsigned char zjz (void) char i=0; while(1) rx(); P0=0XFF; if(cardok=1)/判断是否有刷卡 cardok=0; if(chcardno05=0)/判断是否有管理卡 feib();feib(); chcardno05=

14、cardno5;/设计为管理卡 else if(chcardno05=cardno5)/判断是否是管理卡 feib(); feib(); delay2(250); while(1) rx(); if(cardok=1)/判断是否有刷卡 feib(); cardok=0; TR0=1; /起动定时器0 count=0; break; else for(a=1;a=b;a+) if(chcardnoa5=cardno5)/判断是否是用户卡 feib(); break; /-定时器子程序-void timer1(void) interrupt 3 TH0=(65536-50000)/256; TL0

15、=(65526-50000)%256; count+; key_value=key(); switch(key_value) case 0: /按键1 feib(); chcardnob5=cardno5;/添加用户卡 cardno5=0; b+; break; case 1: /按键2 feib(); feib(); for(a=1; if(chcardnoa5=cardno5) chcardnoa5=chcardnob5;/删除用户卡 case 2: /按键3 feib(); chcardno05=0;/删除管理卡case 3: /按键4 chcardnoa5=0; /清空所有用户卡 if(count=50)/定时5S是否到 TR0=0; EA=0; /-主程序-void main(void) TMOD=0x01; /定时器0/定时器0初始华 ET0=1; P0=0XFF; zjz();22

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2