智能门禁系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1.题目与主要功能要求及设计思路

2.方案选择、总体方案组成和说明

3.各硬件单元电路的设计、参数分析及原理说明

4.软件流程图及流程说明

5.Protues 仿真

6.总结设计及调试的体会

附录

1.实物图

2.元器件清单列表

3.部分程序源码

1.题目与主要功能要求及设计思路

题目:智能门禁系统

1.课程设计的目的和意义

课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用课程中的理论知识解决实际问题的能力,让我们对电子电路,元器件,印制电路板方面的知识进一步加深,同时在软件编程、排错调试、焊接技术、相关仪器的使用说明技能方面得到全面的发展与提高,为今后独立完成单片机应用系统的开发和设计奠定良好的基础。

2.题目的理解

门禁系统采用89C52单片机作为控制核心,外加键盘输入,LED灯显示开关门,1602液晶屏显示,以及DS1302时钟芯片等来实现密码开锁及自定义开关门等功能。

关键词:52单片机门禁系统液晶显示实时时钟

3.预期功能的实现:

1、密码开锁功能可设置修改密码

2、实现万年历功能

3、自定义开关(23:00 ~6:00 Ps:周六24:00 ~5:00)

4、分别统计出入人数

5、密码实现掉电储存功能

6、具有三次输错闭锁及错键消除功能

4.设计思路

先确定设计目标,进行总体设计思路的设计,

1、硬件设计,确定实现功能,然后确定所需元件,最后布线,画出电路图

2、软件设计确定总体思路然后模块化设计,分别实现密码开关锁和万年历的功能,最后实现自定义开关及其他综合性功能

3、protues仿真根据电路图画出protues图,然后进行仿真模拟,调试软件4焊电路板

7.方案选择、总体方案组成和说明

方案选择

方案一:门禁系统采用89C52单片机作为控制核心,外加键盘输入,LED 灯显示开关门,1602液晶屏显示等,门禁系统主要由CPU,工作指示电路,振荡电路,门控锁电路,时钟电路,键盘输入电路,显示电路等构成。其工作原理为:选择时间显示或进出;当选择时间显示时,显示时间,当选择进出时,提示输入密码,密码输入后按确定键,显示密码密码正确开门或者密码错误不开门,密码正确后选择确定退回输入密码界面,选择设置更改密码,新密码需要输入两遍,按确定提示密码成功返回输入密码界面,或者提示修改密码不成功,返回输入密码界面。当输入密码三次错误时,密码锁关闭。

方案二:门禁系统采用89C52单片机作为控制核心,外加键盘输入,LED 灯显示开关门,1602液晶屏显示蜂鸣器电路,读卡模块等。其工作原理为:当刷卡时,蜂鸣器响,如卡权限获得允许,显示模块显示卡号同时继电器将门锁打开,指示灯点亮,延时一会,继电器再次将门锁关闭,指示灯灭。

因为继电器的熟悉程度不够,对门卡的工作原理也不太清楚,所以最终选择了方案一。

总体方案的组成和说明

方案包括:

1、键盘模块

2、1602显示模块1

3、DS1302时钟控制模块

4、24C02密码储存模块

5、LED显示开关门模块

6、蜂鸣器报警模块

3.各硬件单元电路的设计、参数分析及原理说明

1、门控锁电路

2、蜂鸣器电路

3、时钟电路

4、LED开关门电路

4.软件流程图及流程说明1.总体设计

2.进出程序流程图

3.时间程序结构图

5.Protues 仿真及结果

protues仿真

仿真结果

6.总结设计及调试的体会

在这次的单片机设计中,在我们团队的默契配合,和老师同学的帮助下,顺利的完成了预期目标。在设计工程中,从仿真图的设计,到源程序的书写与修改以及实物图的焊接中,我们都遇到了很多问题,但在我们的共同努力下解决了,并且从中学到了不少知识。我们在设计过程中不断提出自己的疑点以及新的想法,联系实际应用,将课本上的知识运用到了实际中,使我们受益匪浅。

设计需要很大的耐心,尤其是遇到困难的时候,这也是对我们的考验。在设计中,我们遇到问题不是急躁,而是冷静下来思考,耐心寻找解决的办法,与同学讨论,争取找到最优的解决方法。

附录:

1.实物图

2.

2.元器件清单列表

DS1302,LCD1602,16个按键,蜂鸣器,1K欧电位器,电容,LED灯(红绿各两个),3V电池

3.程序源码(程序可以使用但存在问题)

#include

#include"include.h"

sbit dula=P2^6;

sbit wela=P2^7;

uchar i=0,j=0;

uchar chr;

uchar bj,bjc;//报警

uchar t;//中断

uchar k,g; //

uchar jin,chu;//进出标志位

uchar enter=0,out=0;//进出统计

uchar str0[6]={0};

uchar str2[6]={0};

uchar str1[6]={1,2,3,4,5,6}; //初始密码unsigned char TempData1[8];

unsigned char TempData2[8];

unsigned char code dofly_code[]={'0','1','2','3','4','5','6','7','8','9'};//转换成液晶显示的字符

bit ReadTimeFlag;//定义读时间标志

bit SetFlag; //更新时间标志位

unsigned char time_buf2[16];

void Init_Timer0(void);//定时器初始化

相关文档
最新文档