单片机门禁系统分析设计Word文件下载.docx
- 文档编号:22024558
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:36
- 大小:984.05KB
单片机门禁系统分析设计Word文件下载.docx
《单片机门禁系统分析设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机门禁系统分析设计Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。
密码更改功能:
将输入的值作为新的密码;
开锁功能:
当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。
本文设计的密码锁以单片机AT89C51为核心,从单片机最小系统设计、键盘设计、显示电路、开锁电路及报警电路等等几个方面出发,详细研究和设计了密码锁的各个部分内容,设计了单片机及其外围电路、完成了系统的软件编程
关键词:
4矩阵键盘;
AT89C51;
密码锁;
密码二次确认
第1章绪论
门禁系统顾名思义就是对出入口通道进行管制的系统,它是在传统的门锁基础上发展而来的。
传统的机械门锁仅仅是单纯的机械装置,无论结构设计多么合理,材料多么坚固,人们总能用通过各种手段把它打开。
在出入人很多的通道(象办公室,酒店客房)钥匙的管理很麻烦,钥匙丢失或人员更换都要把锁和钥匙一起更换。
为了解决这些问题,就出现了电子磁卡锁,电子密码锁,这两种锁的出现从一定程度上提高了人们对出入口通道的管理程度,使通道管理进入了电子时代,但随着这两种电子锁的不断应用,它们本身的缺陷就逐渐暴露,磁卡锁的问题是信息容易复制,卡片与读卡机具之间磨损大,故障率高,安全系数低。
密码锁的问题是密码容易泄露,又无从查起,安全系数很低。
同时这个时期的产品由于大多采用读卡部分(密码输入)与控制部分合在一起安装在门外,很容易被人在室外打开锁。
这个时期的门禁系统还停留在早期不成熟阶段,因此当时的门禁系统通常被人称为电子锁,应用也不广泛。
最近几年随着感应卡技术,生物识别技术的发展,门禁系统得到了飞跃式的发展,进入了成熟期,出现了感应卡式门禁系统,指纹门禁系统,虹膜门禁系统,面部识别门禁系统,乱序键盘门禁系统等各种技术的系统,它们在安全性,方便性,易管理性等方面都各有特长,门禁系统的应用领域也越来越广。
1.1电子锁的特点
电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、精度都有很大提高。
电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广泛的用途乃是用在古代墓道的地下机关。
电子工业的诞生,使得以微小电量驱动机械成为可能,于是有了电子锁一日千里的跃进。
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁,主要特点如下:
1)保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2)密码可变。
用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。
3)误码输入保护。
当输入密码多次错误时,报警系统自动启动,防止试探密码。
1.2电子密码锁的发展趋势
从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。
键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。
但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性不足。
当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。
因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;
而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;
独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;
“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,则保密性还可提高。
在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确,即“封锁”键盘,不再接受输入操作。
总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。
第2章系统的总体设计
系统的总体设计框图如图2-1所示
图2-1系统总体设计框图
基于单片机的密码锁设计主要包括单片机及其外围电路构成的最小系统,数码管显示电路,蜂鸣器报警电路、LED指示,开锁、上锁控制电路以及键盘电路等几个部分组成。
整个系统以单片机AT89C51为控制核心,密码锁通过间键盘和显示电路等完成与人的信息交换,通过开锁、上锁控制电路完成对锁的打开和关闭的控制。
蜂鸣器报警电路和LED指示电路提到提示和报警的作用,扩展系统的功能,使操作更加方便。
键盘电路设计0—9、开锁、上锁、修改密码等按键。
通过键盘电路输入密码锁的密码,系统将判断输入的密码是否正确,若正确系统将通过开锁控制电路执行开锁动作。
若不正确,系统将提示重新输入密码,若三次输入密码错误,系统将同通过数码管显示错误信息,并发出声光报警,并锁定键盘输入。
此时,系统只有通过硬件复位或者重新上电,才能重新开始工作。
当系统正确输入密码开锁后,可以通过上锁键使系统重新上锁,回到等待密码输入开锁的状态,也可以通过密码修改键执行修改密码的操作,修改密码需要再次输入就密码,并连续两次输入的新密码输入一致,才能修改密码成功,否则,系统将自动回到初始状态,等待密码输入开锁。
第3章单片机介绍
3.1单片机概述
单片微机(Single-ChipMicrocomputer)简称单片机,通常统称微控制器(Micro-Controller简写μC)或微型处理部件(MicroControllerUnit简写MCU)。
一般的说,单片机就是在一块硅片上集成CPU、RAM、ROM、定时器/计数器、和多种I/O的完整的数字处理系统。
二十世纪,微电子、IC集成电路行业发展迅速,其中单片机行业的发展最引人注目。
单片机功能强、价格便宜、使用灵活,在计算机应用领域中发挥着极其重要的作用。
从INTEL公司于1971年生产第一颗单片机Intel-4004开始,开创了电子应用的“智能化”新时代。
单片机以其高性价比和灵活性,牢固树立了其在嵌入式微控制系统中的“霸主”地位,在PC机以286、386、Pentium、PⅢ高速更新换代的同时,单片机却“始终如一”保持旺盛的生命力。
例如,MCS-51系列单片机已有十多年的生命期,如今仍保持着上升的态势就充分证明了这一点。
1.单片机的结构与组成
目前,单片机的系统结构有两种类型:
一种是将程序和数据存储器分开使用,即哈佛(Harvard)结构,当前的单片机大都是这种结构。
另一种是采用和PC机的冯.诺依曼(VonNeumann)类似的原理,对程序和数据存储器不作逻辑上的区分,用来存放用户程序,可分为EPROM、OTP、ROM和FLASH等类。
EPROM型内存编程后其内容可用紫外线擦除,用户可反复使用,故特别适用于开发过程,但EPROM型单片机价格很高。
具有ROM型(掩膜型)内存的单片机价格最低,它适用于大批量生产。
由于ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户要更改程序代码就十分不便,在产品未成熟时选用ROM型单片机风险较高。
OTP型(一次可编程)单片机介于EPROM和ROM型单片机之间,它允许用户自己对其编程,但只能写入一次。
OTP型单片机生产多少完全可由用户自己掌握,不存在ROM型有最小起订量和掩膜费问题,另外,该类单片机价格已同掩膜型十分接近,故特别受中小批量客户的欢迎。
Flash型(闪速型)单片机允许用户使用编程工具或在线快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。
Flash型单片机,即可用于开发过程,也可用于批量生产,随着制造工艺的改进,Flash型单片机价格不断下降,使用越来越普遍,它已是现代单片机的发展趋势。
随机内存(RAM):
用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百个字节。
RAM的内容是易失性(也有的称易挥发性)的,掉电后会丢失。
最近出现了EEPROM或FLASH型的数据存储器,方便用户存放不经常改变的数据及其它重要信息。
单片机通常还有特殊寄存器和通用寄存器,它们是单片机中存取速度最快的内存,但通常存储空间很小。
2.中央处理器(CPU)
是单片机的核心单元,通常由算术逻辑运算部件ALU和控制部件构成。
CPU就象人的大脑一样,决定了单片机的运算能力和处理速度。
并行输入/输出(I/O)口:
通常为独立的双向口,任何口既可以用作输入方式,又可以作输出方式,通过软件编程来设定。
现代的单片机的I/O口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。
I/O是单片机的重要资源,也是衡量单片机功能的重要指针之一。
串口输入/输出口:
用于单片机和串行设备或其它单片机的通信。
串行通信有同步和异步之分,这可以用硬件或通用串行收发器件来实现。
不同的单片机可能提供不同标准的串行通信接口,如UART、SPI、
、MicroWire等。
3.定时器/计数器(T/C)
单片机内部用于精确定时或对外部事件(输入信号如脉冲)进行计数,有的单片机内部有多个定时/计数器。
4.系统时钟
通常需要外接石英晶体或其它振荡源来提供时钟信号输入,也有的使用内部RC振荡器。
以上是单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等等。
3.2单片机编程语言介绍
对于51系列单片机,现有四种语言支持,即汇编、PL/M,C和BASIC。
BASIC通常附在PC机上,是初学编程的第一种语言。
一个新变量名定义之后可在程序中作变量使用,非常易学,根据解释的行可以找到错误而不是当程序执行完才能显现出来。
BASIC由于逐行解释自然很慢,每一行必须在执行时转换成机器代码,需要花费许多时间不能做到实时性。
BASIC为简化使用变量,所有变量都用浮点值。
BASIC是用于要求编程简单而对编程效率和运行速度要求不高的场合。
PL/M是Intel从8080微处理器开始为其系列产品开发的编程语言。
它很像PASCAL,是一种结构化语言,但它使用关键词去定义结构。
PL/M编译器好像汇编器一样可产生紧凑代码。
PL/M总的来说是“高级汇编语言”,可详细控制着代码的生成。
但对51系列,PL/M不支持复杂的算术运算、浮点变量而无丰富的库函数支持。
学习PL/M无异于学习一种新语言。
C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。
C语言结构是以括号{}而不是子和特殊符号的语言。
C可以进行许多机器级函数控制而不用汇编语言。
与汇编相比,有如下优点:
对单片机的指令系统不要求了解,仅要求对51的内存结构有初步了解寄存器分配、不同内存的寻址及数据类型等细节可由编译器管理程序有规范的结构,可分为不同的函数。
这种方式可使程序结构化将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性编程及程序调试时间显著缩短,从而提高效率提供的库包含许多标准子程序,具有较强的数据处理能将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机不同较快地移植过来。
51的汇编语言非常像其它汇编语言。
指令系统比第一代微处理器要强一些。
51的不同存储区域使得其复杂一些。
尽管懂得汇编语言不是你的目的,看懂一些可帮助你了解影响任何语言效率的51特殊规定。
例如,懂得汇编语言指令就可以使用在片内RAM作变量的优势,因为片外变量需要几条指令才能设置累加器和数据指针进行存取。
要求使用浮点和启用函数时只有具备汇编编程经验才能
避免生成庞大的、效率低的程序,这需要考虑简单的算术运算或先算好的查表法。
最好的单片机编程者应是由汇编转用C而不是原来用过标准C语言的人。
本设计采用C51编程。
由此来看,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。
3.3系统的选型
本系统以MCS-51单片机成员中的AT89C51为控制核心。
AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序内存,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序内存既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89C51单片机可为您提供许多高性价比的应用场合,它灵活应用于各种控制领域。
主要性能参数:
(1)与MCS-51产品指令系统完全兼容
(2)4K字节在系统编程(ISP)Flash闪速内存
(3)1000次擦写周期
(4)4.0-5.5V的工作电压范围
(5)全静态工作模式:
0Hz—33MHz
(6)三级程序加密锁
(7)256
8字体内部RAM
(8)32个可编程I/O口线
(9)3个16位定时/计数器
(10)5个中断源
(11)全双工串行UART通道
(12)低功耗空闲和掉电模式
(13)中断可从空闲模唤醒系统
(14)看门狗(WDT)及双数据指针
(15)掉电标识和快速编程特性
(16)灵活的在系统编程(ISP—字节或页写模式)
其内部结构结构如图3-1所示:
3.4AT89C51引脚功能介绍
1.电源引脚Vcc和GND
Vcc:
电源电压,GND(10脚):
接地端。
2.时钟电路引脚XTALl和XTAL2
XTAL2(18脚):
接外部晶体和微调电容的一端。
在内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。
要检查单片机的振荡电路是否正确工作,可用示波器查看XTAL2端是否有脉冲信号输出。
XTAL1(19脚):
接外部晶体的微调电容的另一端。
在片内它是振荡电路反相放大器的输入端。
若需采用外部时钟电路时,该引脚输入外部时钟脉冲如图3-2,3-3所示。
图3-2AT89S51单片机晶振接法图3-3外部时钟电路
3.控制信号引脚RST
RES(8脚)“RST是复位信号输入端,高电平有效。
当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,可以完成复位操作。
4.I/O(输入/输出)P0、P1、P2和P3
标准51单片机,如8051、8031、AT89C51、AT89S51、P89C51等有4个I/O(输入/输出)口,分别为:
P0口(39—32脚):
P0口是一个漏极开路的8位双向埠。
作为漏极八路的输出端口,每次能驱动8个Ls型TTL负载。
当P0口作为输入口使用时,其先向锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,叫作为高阻抗输入。
P1口(1—8脚):
P1口是一个带上拉电阻的8位准双向I/O端口每一位能驱动(吸收成输出电流)4个LS型TTL负载。
在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,上拉电阻接成高电平。
P2口(21—28脚):
P2口是一个带内部上接电阻的8位准双向埠。
P2口的每一位能驱动4个LS型TTL负载。
P3口(21—28脚):
P3口是一个带内部上接电阻的8位准双向埠。
P3口的每一位能驱动(吸收或输出电流)4个LS型TTL负载。
P3口与其它的I/O埠有很大区别,它除作为—般准双向I/O口外,每个引脚还具有专门的功能,见表3-1。
表3.1端口引脚功能
3.5定时器的使用
定时和计数功能由特殊功能寄存器TMOD的控制位C/T进行选择。
这两个定时/计数器有4种操作模式,通过TMOD的M1和M0选择两个定时/计数器的模式。
1)模式0
图3-3所示为模式0工作方式。
此模式下定时器寄存器配置为13位寄存器,当计数从全为1翻转为全为0时定时器中断标志位TFn置位。
当TRn=1同时GATE=0或INTn=1时定时器计数置位GATE时允许由外部输入。
INTn控制定时器,这样可实现脉宽测量,TRn为TCON寄存器内的控制位。
模式0的操作对于定时器0及定时器1都是相同的两个不同的GATE位,TMOD.7和TMOD.3分别分配给定时器0及定时器1。
图3-4定时器/计数器/0/1的模式0:
13定时器/计数器
2)模式1
模式1除了使用了THn及TLn全部16位元外其它与模式0相同。
3)模式2
此模式下定时器寄存器作为可自动重装的8位计数器TLn。
如图3-5所示,TLn的溢出不仅置位TFn,而且将THn内容重新装入TLnTHn。
内容由软件预置重装时,THn内容不变。
模式2的操作对于定时器0及定时器1是相同的。
图3-5定时器寄存器
4)模式3
此模式下定时器0的TL0及TH0作为两个独立的8位计数器,图3-6为模式3时的定时器0逻辑图。
TL0占用定时器0的控制位C/T、GATE、TR0、INT0及TF0。
TH0限定为定时器功能计数器周期占用定时器1的TR1及TF1。
此时TH0控制定时器1中断。
模式3可用于需要一个额外的8位定时器的场合。
当定时器0工作于模式3时,定时器1可通过开关进入/退出模式3,它仍可用作串行端口的波特率发生器或者应用于任何不要求中断的场合。
图3-6定时器/计数器/0/1的模式3:
双8位计数器
第4章
系统的硬件设计
4.1单片最小系统设计
单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。
对51系列单片机来说,最小系统包括:
单片机、晶振电路、复位电路。
前面已经提到单片机选用AT89C51。
单片机及外围电路如图4-1所示。
图4-1单片机最小系统设计
1.时钟电路
AAT89C5内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
内部方式的时钟电路如图4-2(a)所示,在XTAL1和XTAL2引脚上外接定时元件,内部振荡器就产生自激振荡。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
外部方式的时钟电路如图4-2(b)所示,XTAL1接地,XTAL2接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
2.复位及复位电路
(1)复位操作
复位是单片机的初始化操作。
其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
除PC之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表3-1所示。
表4-1一些寄存器的复位状态
(2)复位信号及其产生
RST引脚是复位信号的输入端。
复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。
若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。
产生复位信号的电路逻辑如图4-3所示。
整个复位电路包括芯片内、外两部分。
外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。
复位操作有上电自动复位相按键手动复位两种方式。
上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图4-4(a)所示。
这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。
按键手动复位有电平方式和脉冲方式两种。
其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图4-4(b)所示;
而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图4-4(c)所示。
上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。
本系统的复位电路采用图4-4(b)上电复位方式。
密码三次输入错误后,系统将停止运行,键盘将被锁定,此时,通过复位按键可以实现对系统的复位。
使程序继续运行。
4.2数码管显示电路的设计
数码管显示也称为LED显示,是一种主动发光的信息显示方式,它的每一个字段由一个发光的二极管组成,其外形和引脚如下图所示:
图4-5数码管外形和引脚图
LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳机极数码管;
相反的,就叫共阴的(如下图所示)那么应用时这个脚就分别的接VCC和GND。
再把多个这样的8字装在一起就成了多位的数码管了。
图4-6共阴极和共阳极数码管内部电路
密码锁采用7段LED数码管显示,这里采用8位共阴极数码管采用扫描形式工作,其8个数据为接在单片机的P1口,AT89C51单片机的P1口的每一个I/O都能能吸收8个TTL逻辑器件的输入漏电流,算下来能驱动约10mA。
能驱动数码管的8个数据阴极。
8位共阳极数码的8个阴极采用8个NPN三极管驱动。
用单片机P3口控制。
LED数码管显示电路如图4-7所示。
图4-7数码管显示电路
4.3键盘电路的设计
键盘是标准的输入设备,实现键盘有两种方案:
一是采用现有的一些芯片实现键盘扫描,如8279,CH451,LMC9768等,还有就是用软件实现键盘扫描。
使用现成的芯片可以节省CPU的开销,但增加了成本,而用软件实现具有较强的灵活性,也只需要很少的CPU开销,可以节省开发成本。
本文便使用软件实现键盘的扫描。
常见的键盘可分为独立按键式键盘和行列扫描式键盘。
由于密码锁所涉及的按键较多,本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 门禁 系统分析 设计