基于单片机的门控系统的毕业设计.doc

上传人:可****阿 文档编号:42280314 上传时间:2022-09-15 格式:DOC 页数:53 大小:1.06MB
返回 下载 相关 举报
基于单片机的门控系统的毕业设计.doc_第1页
第1页 / 共53页
基于单片机的门控系统的毕业设计.doc_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《基于单片机的门控系统的毕业设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的门控系统的毕业设计.doc(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、 基于单片机的门控系统的毕业设计目录摘要IAbstractII第1章绪论11.1本课题的研究背景11.2 本课题的主要研究工作21.3本课题的研究意义21.4 本设计主要的应用场所2第2章基于单片机的门控系统电路硬件设计32.1 基于单片机门控系统电路主框图和工作基本原理32.2 各分电路设计42.3 本章小结13第3章基于单片机门控系统的软件设计143.1 软件整体框图143.2 主程序流程图153.3 DS1302子程序163.4密码输入与其判断子程序173.5门号输入与其判断子程序183.7 1602液晶模块显示子程序的设计193.8本章小结22第四章protues仿真234.1欢迎界面

2、234.2密码输入开门功能的仿真234.3门号输入与呼叫功能的仿真244.4重复上次呼叫功能的仿真264.5非正常情况下报警的仿真264.6本章小结26第五章设计总结27参考文献29附录130附录254电路设计总原理图54仿真电路元件清单55产品设计蓝图5648 / 53 基于单片机的门控系统的设计摘要:在现代楼宇自动化的应用中,门控系统应用得十分广泛,它提高了住宅质量和人们的生活的安全性,本课题主要是设计出一种小型的门控系统,基于51单片机,以键盘密码的输入方式实现对门的出入控制,或者通过键盘输入门号的方式,进行对讲方式住户实现开门。适用于普通楼宇单位的进入控制,可实现:对通道进出权限的控制

3、(密码输入进门的控制);对讲系统(可实现门外和住户的对话与开门控制)。在异常情况下(非法侵入、门超时未关)实现报警;本系统的核心器件是单片机,通过对单片机已经写入得程序的实现上述功能。可实现普通机械门锁所不能实现的自动门控系统。关键词:51单片机、门控系统、对讲系统、智能楼宇自动化The Entrance Guard System Based on MCUAbstract:The Access control system have being using very extensive,in the modern buildingautomation applications,what imp

4、rovethe quality of people lifeand theresidence of safety. The primary written assignment for this subject is design a Small systems of Access control it base on 51-MCU,which realizing the access control with the input password or call way.This system can be applied ingeneral building unit of access

5、control.Its function as follows:The permissions to access control(entrance with the right pass code);Access talkback system(the doors open and Dialogue function);Alarm In exceptional circumstances (Illegal invasion/thedoor not be closed overtime).The MCU is the core device of this system. This syste

6、m runsthroughout the course of program. It can realize the function that common mechanical lock cannot achieve. Keywords: 51-MCU(Micro programmed Control Unit),Access Control System,Dialogue System,Intelligent Building Automation Technology. 第1章 绪 论1.1本课题的研究背景门控(门禁)系统属于智能建筑楼宇自动化系统(BAS)种的安防系统,是一种新型的现

7、代化安全管理系统,高水平的门控系统集成自动识别技术和现代安全管理措施为一体,能够对各通道口的位置,通行对象与通行时间、方向等进行实时的控制,从而实现对出入口的安全控制。随着自动识别技术的发展,门控(门禁)系统得到了飞跃式的发展,进入了成熟期,但是总体来说门控(门禁)系统大体分为这一下三类:密码门禁系统 , 刷卡门禁系统 ,生物识别门禁系统。随着电子信息技术的高速发展,门控系统应用的自识别技术更为先进(感应接触技术、生物识别技术等),设计也趋于更合理,控制器与识别仪分体设计,识别仪安装在门外,控制器安装在门,即只有识别仪对控制器的输入线露在门外,其他所有控制线均在门,因此在安全性方面有很大的提高

8、,系统的可靠性、管理和使用的方便性等方面也有很大的进步。 在与微机的通信方面,从较早的门控系统多为单机控制型到采用RS485通信方式的网络系统,网络型门禁系统开始快速发展。这种类型的门控系统中门控制器与管理中心是通过局域网传递数据的,通信方式采用的是网络常用的TCP/IP协议,技术含量高,管理中心位置可以随时变更,不需重新布线,很容易实现网络 控制或异地控制。随着人们对门控系统各方面要求的不断提高,门控系统的发展主要呈现出两种趋势:1)门控系统的应用围越来越广泛 门控系统的应用已不局限在单一的出入口控制。它不仅可以应用于智能大厦或智能小区的门禁系统,还可以应用在远程控制、停车场控制、电梯控制、

9、交通管理或与其他系统联动控制等多种控制场合。感应式门控系统和生物辨识门控系统成为门控系统发展的两大热点。感应式门禁系统价格较低,使用简单,维护方便的优点是目前和今后研究使用的一大方向。随着技术的日渐成熟,生物辨识门禁系统成本将逐步降低,实用性不断提高,成为门禁系统发展的另一方向。随着技术的日渐成熟,生物辨识门控系统成本将逐步降低,使用性不断提高,成为门控系统发展的另一方面。 2)门控系统的集成应用趋势 门控系统可兼容多种读卡技术,同时具备先进的联网功能,通过联网组成智能大厦,智能小区等大型系统进行统一管理和监控。同时,好的门控系统集成消防系统,还具有消防联动功能。1.2 本课题的主要研究工作1

10、.2.1课题容设计出一种能有密码输入进入、门号呼叫与对讲、异常报警等功能的门控系统,本课题要求完成门控系统的的硬件和软件设计与其软件仿真。1.2.2课题要求本课题主要要求完成以下容:(1)硬件设计:供电电源电路、备用电源充电电路、门磁、蜂鸣报警电路、电控锁与其驱动电路、门号选择电路、单片机与其外围电路、(键盘电路、1602液晶显示电路、报警电路)对讲门铃电路的等电路;(2)门控系统的软件设计;(3)门控系统的仿真。1.3本课题的研究意义门控(门禁)系统是在传统的门锁基础上发展而来的,传统的门锁是一种单纯的机械装置,虽然经过不断地改进,安全性有所提高,但是无论如何总能通过某种非正常的手段把它打开

11、,其安全性较差。对于使用者来说,一把锁配一把钥匙,多把就需要多把钥匙,使用起来不方便。在出入较多的通道(办公室,酒店客房等),钥匙的管理也相当麻烦,遇到钥匙丢失或人员更换都要把钥匙一起更换。 为了解决这些问题,出现了电子密码锁,这种锁的出现从一定程度上提高了人们对出入口通道的管理效率,使通道管理进入了电子时代。综合市场上的楼宇对讲系统和电子密码锁,我设计出了集合两种功能并且自带防盗报警的多功能门控系统。1.4 本设计主要的应用场所由于此设计综合了基本的门禁系统和楼宇对讲系统的功能,因此其主要的应用场所为小区综合楼,集体居住宿舍,写字楼等的安全程度要求不是很高的场所。 基于单片机的门控系统电路硬

12、件设计门控电路的硬件部分主要由主要供电电源电路、备用电源电路、单片机外围电路、键盘电路、1602液晶显示电路、报警电路、门号选择电路、对讲电路等电路模块组成。分为三块电路设计,一块电路实现电源电路,第二块电路是与单片机直接控制相关的电路,第三块是对讲电路,采用这种设计是根据各个电路模块之间的距离和功能来划分的,说明起来也更加合理。2.1 基于单片机门控系统电路主框图和工作基本原理智能控制器由主要供电电源电路、备用电源充电电路、门磁、蜂鸣报警电路、电控锁与其驱动电路、门号选择电路、单片机与其外围电路、(键盘电路、1608液晶显示电路、报警电路)对讲门铃电路的等电路模块组成。主框图如图2.1 所示

13、。主要供电电源电路电源切换备用电源电路驱动电路电控锁51单片机报警电路16路门选择电路CD406716路模拟开关键盘电路1602液晶门 磁时钟芯片门铃对讲电路12V5V电池12V市电输入220v变压器24v整流滤波电路12v蓄电池充电电路输入电源选择MC7805C稳压MC7812CG稳压12V稳压电源5V稳压电源图2.2.1b供电电源电路原理硬件图图2.2.2b 电控锁驱动电路图2.2.3a CD4067的引脚图图2.2.3b CD4067的真值表图2.2.4 AT89C52管脚图图2.2.5a 4x4矩阵键盘接线与其键值示意图图2.2.5c DS1302引脚图3.1 软件模块结构框图通信DS

14、1302记录实时时间时间判断键盘扫描主程序密码判断键值输入门号判断门号编码门磁扫描报警1602液晶显示开始DS1302时钟芯片报警键盘扫描门磁状态K=13且时刻K=14且时刻k=15且时刻实时时间记录K=12且时刻延时门号编码子程序欢迎界面显示子程序门号输入与其判断子程序密码输入与其判断子程序YYYYYNNNNN图3.3b DS1302 的读写时序图3.3a 控制字节的含义显示PLEASE INPUT THE CODE:_显示PLEASE WAIT.WAIT PLEASE!显示WELCOME! CALL OR INPUT CODE?密码输入按钮密码(6位):(从键盘输入)初始密码为:88888

15、8从键盘输入6位密码N显示CODE IS RIGHT,WAIT.显示 SOORY YOU CODE ERROR. 持续2秒电锁通电开门(延时4秒)显示CODE ERROR THREE TIMES!.3次错误Y显示WELCOME! CALL OR INPUT CODE?按呼叫键门号(16组):(键盘输入)3位 101 102103 201 202203 301 302303 401 402403 501 502 503 601显示PLEASE INPUT THE DOOR NUMBER:_从键盘输入门号09显示SORRY !NUM ERROR.显示PLEASE WAIT.显示YOUR DOOR

16、NUMBER IS RIGHT! WAIT.在IO口输出相应编码信号将16路模拟开关CD4067接通相应信号(延时4秒)表3.7.1 1602的控制指令表3.7.2:基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无操作时序如下图图3.7.2a 读操作时序图3.7.2a 读操作时序图3.7.2b 写操作时序.3 1602LCD的RAM地址映射与标准字库表液晶显示模块是一个慢显示器件,所以在

17、执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,图3.7.3是1602的部显示地址。第四章protues仿真4.1欢迎界面输入开门功能的仿真1.2.密码输入正确显示界面6位密码输入完成后显示界面密码正确 门锁信号输出将门锁打开密码输入错误显示界面密码三次错误后报警灯与报警器指示密码输入三次错误后LCD显示仿真2.门号正确显示屏输出显示门号输入完成后显示将101门号门号输入时,接通指示灯亮。门号输入错误显示界面声光报警报警状态模拟的门磁报警灯与报警器指示第五章 设计总结参考文献1王汝淋.智能门禁控制系统,

18、电子工业.2004.92 振文. 建筑弱电电工技术. 国防工业2009.1.3 龙. 居住小区智能化系统与技术.,2002.104 盛啸涛等. 楼宇自动化. 电子科技大学,2004.2.5 吕景泉. 楼宇智能化技术. 中国机械工业教育协会组编2002,4.6 康华光.电子技术基础(模拟部分).华中科技大学电子技术组2005.77 阎石.数字电子技术基础.清华大学电子学教研组.1997.28 王迎旭.单片机原理与应用.机械工业2004.79 强华等.基于单片机控制的楼宇对讲系统.电气应用.2006.410宋晓燕.智能住宅小区保安监控系统概述.自动化技术与应用,2001.111王兰君等.电工实用电

19、子线路与电气线路360例.科技,2005.612周晓光等.射频识别(RFID)技术原理与应用实例.人民邮电,2006.1213徐爱钧、彭秀华.Keil Cx51 V7.0单片机高级语言编程与uVion2应用实践.电子工业,2004.614Olivier Nicole. Access control system. Internet data,Feb.200815Wang Junbo. The Design of RF Card Entrance Management System Based on AT89C2051.East China Institute of Technology,200

20、5.1附录1C语言程序代码(部分字体为白色,需下载后改写颜色方能看见)/*基于单片机的门控系统*/*目标器件:AT89S52*/*晶振:11.0592MHZ*/*编译环境:Keil 7.50A2.0-rs 2.1-rw 2.2-e数据-P0口 键盘- P1口 */*包含头文件*/#include #include #include #include /函数声明 void lcd_init();void lcd_pos(unsigned char pos);void lcd_wdat(unsigned char dat);void Password_importation(void);/*ds1

21、302时钟芯片 端口定义*/sbit rst=P24;sbit sclk=P25;sbit io=P26;sbit rs= P20;sbit rw = P21;sbit ep = P22;sbit REL=P23; /输出信号,为0是开门sbit beep=P37;/报警0为报警sbit doorcontact=P36;/门磁#define uchar unsigned char#define uint unsigned int/*显示数据表*/unsigned char code dis1 = WELCOME!INPUT;unsigned char code dis2 = CODE OR C

22、ALL?;unsigned char code dis3 = PLEASE ;unsigned char code dis4 = INPUT CODE:; unsigned char code dis5 = THE NUM/CODE:; unsigned char code dis6 = _; unsigned char code dis7 = THE NUM/CODE1 :; unsigned char code dis8 = * ; unsigned char code dis9 = THE NUM/CODE2 :; unsigned char code dis10 = * ; unsig

23、ned char code dis11 = THE NUM/CODE3 :; unsigned char code dis12 = * ; unsigned char code dis13 = THE CODE4:; unsigned char code dis14 = * ; unsigned char code dis15 = THE CODE5:; unsigned char code dis16 = * ; unsigned char code dis17 = THE CODE6:; unsigned char code dis18 = *;unsigned char code dis

24、50 = PLEASE WAIT! ;unsigned char code dis51 = WAIT PLEASE !;unsigned char code dis52 = SORRY! ;unsigned char code dis53 = NUM/CODE ERROR!;unsigned char code dis54 = RIGHT CODE;unsigned char code dis55 = U ARE WELCOME !;unsigned char code dis56 = CODE ERROR;unsigned char code dis57 = THREETIMES!;unsi

25、gned char code dis60= PLEASE INPUT;unsigned char code dis61= THE DOORNUM;unsigned char code dis62= RIGHT DOORNUM;unsigned char code dis63= CONNECTING.;unsigned char tab_time;unsigned char tab_1302;unsigned char tab_ymdw;intturedoornum16=101,102,103,201,202,203,301,302,303,401,402,403,501,502,503,601

26、;unsigned char numface=0;unsigned char numface1=0;unsigned char numface2=0;unsigned char numface3=0;unsigned char code turepassword6 =8,8,8,8,8,8;/原始密码uchar doornumkey_data=0;unsigned char key_data=0; unsigned char password=0,0,0,0,0,0; unsigned char doornum=0,0,0;unsigned char errortimes=0;uchar Nu

27、mber=0;int num;unsigned int time;uchar tab_13027; /初始化时时间日期设置 /- 向DS1302写一字节 (上升沿有效) -/- 数据输入从低位到高位 -void writeds_byte(uchar dat) uchar i,dat_w;dat_w=dat; /数据送给变量dat_wfor(i=0;i1; /右移一位 sclk=0; /先拉低时钟信号 sclk=1; /拉高时钟信号 sclk=0; /写一字节完毕,拉低时钟信号/- 从DS1302读一字节 (下降沿有效) -/- 读出数据时从低位0位到高位7 -uchar readds_byte

28、()uchar i,k; k=0;for(i=0;i1; if(io) k=k|0x80; sclk=1; /先拉低时钟信号 sclk=0;sclk=0;return (k);/- 指定地址写一数据 -void writeds_add(uchar add,uchar dat) /dat为十进制数rst=0;sclk=0;rst=1; /拉高RSTwriteds_byte(add); / 写地址writeds_byte(dat/104)|(dat%10); / DS1302中的时间数据是BCD码形式sclk=0;rst=0;/- 指定地址读出一数据 -uchar readds_add(uchar

29、 add)uchar temp,dat1,dat2;rst=0;sclk=0;rst=1;writeds_byte(add);temp=readds_byte(); /读取的数据为16进制sclk=0; /读取完毕,拉低SCLKrst=0; /拉低SCLKdat1=temp/16; /16进制转成BCDdat2=temp%16;temp=dat1*10+dat2; /转换成10进制数字return (temp); /- DS1302初始化 -/- 设置初始时间 -void ds1302_init()uchar i,add;add=0x80;writeds_add(0x8e,0x00); /允许

30、写入for(i=0;i7;i+) writeds_add(add,tab_1302i); add+=2; writeds_add(0x90,0xa6); /写充电控制寄存器.writeds_add(0x8e,0x80); /禁止写入/- 获取DS1302时间 -/- 在主函数中调用 -void ds1302()uchar i,add=0x81;writeds_add(0x8e,0x00); /允许向DS1302写入数据for(i=0;i0;a-) for(b=248;b0;b-); void delay1ms(int z) /延时为1ms 当 delay(1000)为1000为一秒 int x

31、,y;for(x=z;x0;x-)for(y=110;y0;y-);/*函数功能:1602的LCD延时子程序*/void delay(unsigned char ms)unsigned char i;while(ms-)for(i = 0; i 250; i+) _nop_();_nop_();_nop_();_nop_(); /*函数功能:测试LCD忙碌状态*/bit lcd_bz()bit result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();result = (bit)(P0 & 0x80);ep = 0;return result;/*函数功能:写指令

32、数据到LCD子程序*/void lcd_wcmd(unsigned char cmd)while(lcd_bz();/判断LCD是否忙碌rs = 0;rw = 0;ep = 0;P0 = cmd;_nop_();ep = 1;_nop_();_nop_();ep = 0;/*函数功能:设定显示位置子程序*/void lcd_pos(unsigned char pos)lcd_wcmd(pos | 0x80);/*函数功能:写入显示数据到LCD子程序*/void lcd_wdat(unsigned char dat)while(lcd_bz();/判断LCD是否忙碌rs = 1;rw = 0;e

33、p = 0;P0 = dat;_nop_();_nop_();ep = 1;_nop_();_nop_();ep = 0;/*函数功能:LCD初始化子程序*/void lcd_init()lcd_wcmd(0x38);delay(1);lcd_wcmd(0x0c);delay(1);lcd_wcmd(0x06);delay(1);lcd_wcmd(0x01);delay(1);/*欢迎界面*/void welcome(void)示位置i = 0;while(dis2i != 0)lcd_wdat(dis2i);/ 显示字符i+;while(P1!=0x0f);/*函 数 名:上次开门时间显示*

34、/void checkdisplay(void)/上次的开门时间 unsigned char i;lcd_init();/ 初始化LCDdelay(10);lcd_pos(0x01);/设置显示位置i = 0;while(tab_ymdwi!= 0)lcd_wdat(tab_ymdwi);/显示字符i+;lcd_pos(0x42);/ 设置显示位置i = 0;while(tab_timei!= 0)lcd_wdat(tab_timei);/ 显示字符i+; delay1ms(10); /延时为1ms 当 delay(1000)为1000为一秒 延时2秒/* 函 数 名:void error3times(); 功 能:密码输入三次错误*/void error3times(void) unsigned char i;lcd_init();/ 初始化LCDdelay(10);lcd_pos(0x01);/设置显示位置i = 0;while(dis56

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁