1、单片机门禁系统设计毕业论文基于单片机的门控系统设计目录摘要IABSTRACTII第1章绪论111本课题的研究背景112本课题的主要研究工作213本课题的研究意义214本设计主要的应用场所2第2章基于单片机的门控系统电路硬件设计321基于单片机门控系统电路主框图和工作基本原理322各分电路设计423本章小结13第3章基于单片机门控系统的软件设计1431软件整体框图1432主程序流程图1533DS1302子程序1634密码输入及其判断子程序1735门号输入及其判断子程序18371602液晶模块显示子程序的设计1938本章小结22第四章PROTUES仿真2341欢迎界面2342密码输入开门功能的仿真
2、2343门号输入及呼叫功能的仿真2444重复上次呼叫功能的仿真2645非正常情况下报警的仿真2646本章小结26第五章设计总结27参考文献29附录130附录253电路设计总原理图53仿真电路元件清单55单片机门禁系统设计毕业论文I基于单片机的门控系统设计摘要在现代楼宇自动化的应用中,门控系统应用得十分广泛,它提高了住宅质量和人们的生活的安全性,本课题主要是设计出一种小型的门控系统,基于51单片机,以键盘密码的输入方式实现对门的出入控制,或者通过键盘输入门号的方式,进行对讲方式住户实现开门。适用于普通楼宇单位的进入控制,可实现对通道进出权限的控制(密码输入进门的控制);对讲系统(可实现门外和住户
3、的对话及开门控制)。在异常情况下(非法侵入、门超时未关)实现报警;本系统的核心器件是单片机,通过对单片机已经写入得程序的实现上述功能。可实现普通机械门锁所不能实现的自动门控系统。关键词51单片机、门控系统、对讲系统、智能楼宇自动化单片机门禁系统设计毕业论文IITHEENTRANCEGUARDSYSTEMBASEDONMCUABSTRACTTHEACCESSCONTROLSYSTEMHAVEBEINGUSINGVERYEXTENSIVE,INTHEMODERNBUILDINGAUTOMATIONAPPLICATIONS,WHATIMPROVETHEQUALITYOFPEOPLELIFEANDTH
4、ERESIDENCEOFSAFETYTHEPRIMARYWRITTENASSIGNMENTFORTHISSUBJECTISDESIGNASMALLSYSTEMSOFACCESSCONTROLITBASEON51MCU,WHICHREALIZINGTHEACCESSCONTROLWITHTHEINPUTPASSWORDORCALLWAYTHISSYSTEMCANBEAPPLIEDINGENERALBUILDINGUNITOFACCESSCONTROLITSFUNCTIONASFOLLOWSTHEPERMISSIONSTOACCESSCONTROL(ENTRANCEWITHTHERIGHTPASS
5、CODE);ACCESSTALKBACKSYSTEMTHEDOORSOPENANDDIALOGUEFUNCTION;ALARMINEXCEPTIONALCIRCUMSTANCESILLEGALINVASION/THEDOORNOTBECLOSEDOVERTIMETHEMCUISTHECOREDEVICEOFTHISSYSTEMTHISSYSTEMRUNSTHROUGHOUTTHECOURSEOFPROGRAMITCANREALIZETHEFUNCTIONTHATCOMMONMECHANICALLOCKCANNOTACHIEVEKEYWORDS51MCUMICROPROGRAMMEDCONTRO
6、LUNIT,ACCESSCONTROLSYSTEM,DIALOGUESYSTEM,INTELLIGENTBUILDINGAUTOMATIONTECHNOLOGY基于单片机的门控系统设计1第1章绪论11本课题的研究背景门控(门禁)系统属于智能建筑楼宇自动化系统(BAS)种的安防系统,是一种新型的现代化安全管理系统,高水平的门控系统集成自动识别技术和现代安全管理措施为一体,能够对各通道口的位置,通行对象及通行时间、方向等进行实时的控制,从而实现对出入口的安全控制。随着自动识别技术的发展,门控(门禁)系统得到了飞跃式的发展,进入了成熟期,但是总体来说门控(门禁)系统大体分为这一下三类密码门禁系统,刷
7、卡门禁系统,生物识别门禁系统。随着电子信息技术的高速发展,门控系统应用的自识别技术更为先进(感应接触技术、生物识别技术等),设计也趋于更合理,控制器与识别仪分体设计,识别仪安装在门外,控制器安装在门内,即只有识别仪对控制器的输入线露在门外,其他所有控制线均在门内,因此在安全性方面有很大的提高,系统的可靠性、管理和使用的方便性等方面也有很大的进步。在与微机的通信方面,从较早的门控系统多为单机控制型到采用RS485通信方式的网络系统,网络型门禁系统开始快速发展。这种类型的门控系统中门控制器与管理中心是通过局域网传递数据的,通信方式采用的是网络常用的TCP/IP协议,技术含量高,管理中心位置可以随时
8、变更,不需重新布线,很容易实现网络控制或异地控制。随着人们对门控系统各方面要求的不断提高,门控系统的发展主要呈现出两种趋势1)门控系统的应用范围越来越广泛门控系统的应用已不局限在单一的出入口控制。它不仅可以应用于智能大厦或智能小区的门禁系统,还可以应用在远程控制、停车场控制、电梯控制、交通管理或与其他系统联动控制等多种控制场合。感应式门控系统和生物辨识门控系统成为门控系统发展的两大热点。感应式门禁系统价格较低,使用简单,维护方便的优点是目前和今后研究使用的一大方向。随着技术的日渐成熟,生物辨识门禁系统成本将逐步降低,实用性不断提高,成为门禁系统发展的另一方向。随着技术的日渐成熟,生物辨识门控系
9、统成本将逐步降低,使用性不断提高,成为门控系统发展的另一方面。2)门控系统的集成应用趋势门控系统可兼容多种读卡技术,同时具备先进的联网功能,通过联网组成智能大基于单片机的门控系统设计2厦,智能小区等大型系统进行统一管理和监控。同时,好的门控系统集成消防系统,还具有消防联动功能。12本课题的主要研究工作121课题内容设计出一种能有密码输入进入、门号呼叫及对讲、异常报警等功能的门控系统,本课题要求完成门控系统的的硬件和软件设计及其软件仿真。122课题要求本课题主要要求完成以下内容(1)硬件设计供电电源电路、备用电源充电电路、门磁、蜂鸣报警电路、电控锁及其驱动电路、门号选择电路、单片机及其外围电路、
10、(键盘电路、1602液晶显示电路、报警电路)对讲门铃电路的等电路;(2)门控系统的软件设计;(3)门控系统的仿真。13本课题的研究意义门控(门禁)系统是在传统的门锁基础上发展而来的,传统的门锁是一种单纯的机械装置,虽然经过不断地改进,安全性有所提高,但是无论如何总能通过某种非正常的手段把它打开,其安全性较差。对于使用者来说,一把锁配一把钥匙,多把就需要多把钥匙,使用起来不方便。在出入较多的通道(办公室,酒店客房等),钥匙的管理也相当麻烦,遇到钥匙丢失或人员更换都要把钥匙一起更换。为了解决这些问题,出现了电子密码锁,这种锁的出现从一定程度上提高了人们对出入口通道的管理效率,使通道管理进入了电子时
11、代。综合市场上的楼宇对讲系统和电子密码锁,我设计出了集合两种功能并且自带防盗报警的多功能门控系统。14本设计主要的应用场所由于此设计综合了基本的门禁系统和楼宇对讲系统的功能,因此其主要的应用场所为小区综合楼,集体居住宿舍,写字楼等的安全程度要求不是很高的场所。基于单片机的门控系统设计3第2章基于单片机的门控系统电路硬件设计门控电路的硬件部分主要由主要供电电源电路、备用电源电路、单片机外围电路、键盘电路、1602液晶显示电路、报警电路、门号选择电路、对讲电路等电路模块组成。分为三块电路设计,一块电路实现电源电路,第二块电路是与单片机直接控制相关的电路,第三块是对讲电路,采用这种设计是根据各个电路
12、模块之间的距离和功能来划分的,说明起来也更加合理。21基于单片机门控系统电路主框图和工作基本原理智能控制器由主要供电电源电路、备用电源充电电路、门磁、蜂鸣报警电路、电控锁及其驱动电路、门号选择电路、单片机及其外围电路、(键盘电路、1608液晶显示电路、报警电路)对讲门铃电路的等电路模块组成。主框图如图21所示。图21基于单片机门控系统电路主框图如上图所表示,电源由主要供电电源电路和备用电源电路组成,主要供电电路是由市电通过变压滤波整流稳压后直接向各部分电路供12V和5V电压。备用电源是蓄电池组,通过稳压电路得到12V和5V电压。备用和主要供电是通过一继电器切换的。51单片机是整个电路的核心部分
13、,其中单片机IO口的输入有4X4矩阵键盘、门磁、DS1302时钟电路等,输出到十六路CD06716模拟开关门选择电路、1602液晶、报警电路及电插锁驱动电路等。其中电控锁和门铃对讲电路要求提供的电压是12V,单片机及其外主要供电电源电路电源切换备用电源电路驱动电路电控锁51单片机报警电路16路门选择电路CD406716路模拟开关键盘电路1602液晶门磁时钟芯片门铃对讲电路12V5V电池12V基于单片机的门控系统设计4围电路用的电源均为5V。将此电路单片机编程后,以上电路的组合可实现对门的密码开启、对应门号的呼叫楼宇对讲、非正常情况报警等功能。22各分电路设计221供电电源变压稳压电路及备用电源
14、充电电路供电电源变压稳压电路主要是为单片机及其周围电路和电磁锁的线圈和对讲电路提供两路稳定的12V和5V电源,为了防止断电出现门不能开启的情况,电路还设计蓄电池断电自动投入装置。电源由220V交流电经过24V的变压器、整流滤波电路和MC78L12CG和MC78L05CG芯片可以产生供单片机电路的5V和电磁锁的12V电源,断电后经自动通过12V蓄电池BT提供。电路框图如图221A,硬件图为221B所示,其中直流继电器用来实现市电供电电源和备用蓄电池电源的断电自动切换当常用电源正常时用常用电源,即断电后则用备用蓄电池电源,D1为市电通电指示灯,D2为工作指示灯。图221A供电电源电路原理框图市电输
15、入220V变压器24V整流滤波电路12V蓄电池充电电路输入电源选择MC7805C稳压MC7812CG稳压12V稳压电源5V稳压电源图221B供电电源电路原理硬件图基于单片机的门控系统设计5充电电路设计如下,本电路使用于给12V的铅酸蓄电池充电,电路如图图211C所示,LM305是一个正输出三端可调集成稳压器,他可以提供12533V、3A的直流输出。当开关S合上时,充电器的输出电压为145V此时充电电流限制在2A,随着电池电压的升高,充电电流逐渐减小,在充电电流减小到15MA时,充电器转换到一个较低的浮动充电电压,以防止过充电。随着向电池的满量充电,充电电流继续减小,而输出电压则从145V降低到
16、125V作用,此时将终止充电,同时晶体管V1导通,驱动发光二极管D10点亮,表示电池已经充足电。图211C12V蓄电池充电电路222门磁、蜂鸣报警电路、电控锁及其驱动电路2221门磁门磁是用来检测门是否关闭的一个小型感应器,在软件实时监控时,可以看到每个门现在的状态是开着的还是关着的。如下示意图为常见的一种暗装式门磁,一般都是不带电线的一端内藏磁铁,带电线的低端内部藏有干簧管等元器件,当磁铁接近时,电线输出闭合信号,当磁铁远离时,两条电线输出开路信号。不带电线的一端装在门的顶部,带电线的一端装在门框上。门关好时,两端正好重叠接近。两条电线输出闭合信号。图222A门磁工作示意图门磁可以实现对门的
17、状态进行监控,可以配合门控系统,实现门被非法闯入,没有进入权或者按按钮的合法操作,而门被强行打开的报警功能。同时可以软件编程实123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE18MAY2010SHEETOFFILEHDIPLOMAPROJECT设计毕业设计DDBDRAWNBY3OUT2IN1LM305R11500R171KR13230R1215R143KR1502D10LEDV112N2905C111UC1201R1615KD111N457C13CAPSWSPST7814326ALM301ADC24V到12V电池12V电池充电电路C14104C1
18、52200UF基于单片机的门控系统设计6DOORQ1ZTX704D8LEDGREENRL1G4W1114P12V接电锁12V电源接电锁现长时间未关闭报警功能。2222电控锁的选择及其驱动电路设计电控锁是门控系统中锁门的执行部件。目前小区楼宇门控对讲系统一般都是配备的电控锁,这种锁用户可以用钥匙自行打开,即使是在忘记密码的情况等特殊情况下也可以用钥匙将门打开。根据门的材料、出门要求等需求选取不同的锁具。主要有以下两种种类型阳极锁阳极锁是断电开门型,符合消防要求。它安装在门框的上部。与电磁锁不同的是阳极锁适用于双向的木门、玻璃门、防火门,而且它本身带有门磁检测器,可随时检测门的安全状态。阴极锁一般
19、的阴极锁为通电开门型。适用单向木门。安装阴极锁一定要配备UPS电源。因为停电时阴锁是锁门的。“阳极锁”的一种停电开门的电锁。切断电源,电锁会自动打开。由于此设计是基于单片机,提供了备用电源,故排除了此种情况,而且电插锁大多都是用于双向开关门的门控系统中,本设计门控系统仅仅是单向开门即可。采用门磁阴极锁的方案,为了符合消防要求,在单片机IO口可设置消防联动接口。在驱动电路中,用单片机三极管控制继电器进行电锁的电源通断,电路原理如图。在正常闭门情况下,控制电路是不对电控锁供电的,单片机P23口发出开门信号时候即当DOOR置低电平时,经单片机控制三极管来驱动电源继电器接通而使得电控锁的电源接通,电磁
20、锁接通指示灯D8亮,实现开门功能。电路基本原理见下图222B。图222B电控锁驱动电路基于单片机的门控系统设计7BEEPQ2ZTX704D1LEDGREENLS1SPEAKER2223报警电路此电路设计相当简单可以实现简单的提示及报警功能,由单片输出一开关信号至三极管,触发三极管以实现此功能。如下图222C所示。图222C报警提示电路223门号选择电路对讲系统是此设计中的一个重要的模块,对讲系统中包含有对应门号选择呼叫的功能,设计方案是利用单片机的高低点位对四位输出信号进行编码,后经过译码可以各个用户进行门号选择,为了实现这一功能,采用了多路选择模拟开关芯片CD4067,如图223A为CD40
21、67的引脚图。CD4067是单16路(单刀16位)模拟开关,各开关由外部输入二进制的地址码A、B、C、D来切换。其中脚10、11、14和13是地址码A、B、C、D的输入端;脚29和1623是开关的输入/输出端(开关位);脚1是开关的输出/输入公共端(开关刀);脚15为控制端片选信号只有当其置低电平时有效(选通),高电平禁止(开关开路)。CD4067的真值表如表223B所示。4位二进制码A、B、C、D共有16种状态,所以可以控制16个开关的通断。从真值表上看出,CD4067的工作方式类似译码电路,可以将16种信号转化为16开关的信号,这种模拟开关具有低的导通电阻和高的断开电阻,被传输的数字信号幅
22、度为3V15V。该图中015是开关的位,X代表开关的公共端刀,它等效一个单刀多位开关。各开关的切换是由BCD码作指令,BCD码的每四位二进制码可对应一个开关的接通,其余开关都断开。各开关都可双向传输信号,即各开关允许从N线到1线的信号传送(输入/输出)或1线到N线的分离(输出/输入),以及允许信号的并/串转换。开关所需的BCD码由51单片机的P30P32脚输入的,片选信号的输入端为15由单片机的P33脚输入。基于单片机的门控系统设计8D0D1D2D3D4D5D6D7PIANXUANDCBADOORRSTSCLKIODOORCONTACTRWRSEP10P11P12P13P14P15P16P17
23、BEEPFIREALARMRSTRSTXTAL218XTAL119ALE30EA31PSEN29RST9P00/AD039P01/AD138P02/AD237P03/AD336P04/AD435P05/AD534P06/AD633P07/AD732P10/T21P11/T2EX2P123P134P145P156P167P178P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P37/RD17P36/WR16P35/T115P27/A1528P20/A821P21/A922P22/A1023P23/A1124P24/A1225P25/A1326P26/A
24、1427U1AT89C52234567891RP1RESPACK8X2CRYSTALC322PC422PC122UR9100R101KD1LEDRED224单片机电路单片机是整个设计的控制器的核心,完成整个控制器的控制功能,包括键盘的输入、液晶屏幕的显示、数据的存储和运算、数字信号的输出等功能。图224单片机管脚及其分配图601503502501403402401303302301203202201103102101PIANXUANADCBX09X18X27X36X45X54X63X72X823X922X1021X1120X1219X1318X1417X1516X1A10B11C14D13EN
25、15U34067图223ACD4067的引脚图图223BCD4067的真值表图224AT89C52管脚图151413121110987654320000011111111000000000001111111111110000000000111111111100000000000100100001000000NONE1INHDCBACHANNEL基于单片机的门控系统设计9本设计采用的单片机是51系列单片机中的AT89C52,它是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内包含8KBYTES的课反复擦鞋的制度程序存储器(PEROM)和256BYTES的随机存取数据存储器(RAM)
26、,期间采用高密度、非易失性存储技术产生,易标准的MCS51指令系统及8952产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,使用与许多较为复杂的控制应用场合。它有32个I/O口线,3个16位定时/计数器,基本上都能够满足本设计的要求。管脚图如下图224所示。单片机的P0、P1、P2、P3均为双向输出口,由于此设计使用的单片机的管脚较多,如上图所示在设计中比较合理的分配了其中P1口为键盘与单片机的通讯接口;P0和P20P22口为单片机与1602液晶显示器D0D7的数据通讯接口,P23是输出至门锁驱动电路的接口,P24P26是与实时时钟芯片DS1302的连接接口,P30到P3
27、3是单片机与CD4067的输出接口,其中P33是向CD4067输出的片选信号,P36是门磁信号的连接接口,P37是输出报警或提示蜂鸣器的信号接口。225单片机外围电路设计22514X4矩阵键盘电路本设计是用AT89S52的并行口P1接44矩阵键盘,如图224A所示,矩阵键盘的每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。对键盘的处理程序功能确定有无键按下,判断哪一个键按下,键的功能是什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键
28、编码而识别按键,通过软件查表,查出该键的功能及其键值。设计中方案中的键值及其功能如图中下标所示,其中键值15为密码输入的功能、键值14为门号输入呼叫的功能键值13为欢迎界面显示,键值12为重复上次的呼叫门号,09为相应数字。基于单片机的门控系统设计10D0D7D1D2D3D4D5D6RSRWED714D613D512D411D310D29D18D07E6RW5RS4VSS1VDD2VEE3LCD1LM016L22521602液晶及其电路本设计中使用的1602液晶模块,如图225B所示,它是一种字符型型液晶是一种用57点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个
29、字、2行20个字等,最常用的为2行16个字,液晶模块内带标准字库,内部的字符发生存储器(CGROM)已经存储了192个57点阵字符,32个510点阵字符。另外还有字符生成RAM(CGRAM)512字节,供用户自定义字符。如表1所示,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等。采用此液晶足以实现对此设计的显示功能。225B1602液晶模块1脚VSS为电源地,接GND。2脚VDD接5V正电源。图225A4X4矩阵键盘接线及其键值示意图P16P15P11P12P13P17P10P140123456789重复上次呼叫欢迎界面门号输入密码输入1011基于单片机的门控系统设计11RS
30、TIOSCLKRST5SCLK7I/O6X12X23VCC18VCC21U2DS1302X132768KHZC222PC122P3脚VL(VEE)为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,使用时可以通过一个10K的电位器调整对比度。4脚RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。5脚RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。6脚E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。714
31、脚D0D7为8位双向数据线。15脚BLA背光电源正极5V输入引脚。16脚BLK背光电源负极,接GND。15、16脚图中未画出,背光灯可以方便夜间的使用。2253实时时钟芯片DS1302DS1302是DALLAS公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路提供秒分时日日期月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线1RES复位,2I/O数据线,3SCLK串行时钟时钟/RAM的读/写数据以
32、一个字节或多达31个字节的字符组方式通信DS1302工作时功耗很低,保持数据和时钟信息时功率小于1MW双电源管脚VCC1和VCC2用于主电源和备份电源供应,VCC1为可编程涓流充电电源。DS1302的引脚图及外围的电路如上图244C所示,X1X2接32768KHZ晶振管脚,复位脚RST,数据输入/输出引脚I/O,串行时钟引脚SCLK,VCC1,VCC2为电源供电管脚。采用3线穿行通信的方式对单片机的时间进行实时传输,RST为通信允许图225CDS1302引脚图基于单片机的门控系统设计12信号,RST1允许通讯,RST0时禁止通信,IO为双向串行数据传送信号,SCLK为串行数据的位同步脉冲信号。
33、51单片机作为主机通过控制RST、SCLK和IO信号实现两芯片建的数据传送。由于此芯片功率仅为1MW用电量很小,VCC1可加备用电源,能在很久的时间段提供精准的时间。因此设计中DS1302是最好选择。226对讲门铃电路的设计对讲电路是此门控系统设计中的重要一个模块,设计的对讲门铃的电路如图,其工作原理如下平时挂机时叉簧开关S55的1、2触点接通,也加到音乐集成块IC1的2脚。如按一下S,则音乐IC的3脚受触发,1脚有音乐信号输出,经Q15放大后推动扬声器发声,同时经R5推动Y2、Y3。摘机后,叉簧开关HS的1、3接点接通,通话电路接通电源,音频放大器IC2(LM386)工作,这时可进行对讲。由
34、图可知标号DOORNUM的是接的是模拟开关CD4067的015号中相应的一引脚,每个引脚接一个用户分机,此设计方案只设计了16户,利用CD4067的片选端,单片机只需多用一支引脚可以实现多16户的用户。COMMON接的是模拟开关的公共端X,由于CD4067的接通内阻很小,因此理论上完全可以实现呼叫的功能。此对讲门铃电路中麦克风MK1、扬声器LS3、扬声器LS1置于相应住户室内,麦克风MK2、扬声器LS3置于门处来访者可以使用到的位置。CESHI按钮为设计的测试按键。123456ABCD654321DCBATITLENUMBERREVISIONSIZEBDATE18MAY2010SHEETOFF
35、ILEHDIPLOMAPROJECT设计毕业设计DDBDRAWNBYR31KR447KR522D6LEDC1100UIC2OPAMPLS1SPEAKERLS2SPEAKER门处LS3SPEAKER室内SCESHIS55SWSPDTMK1室内MK2门处C4100U1234IC1响铃集成块Q15C1740C2222PVCCDOORNUMCOMMON213C5100UCD4067CD4067226对讲门铃电路基于单片机的门控系统设计1323本章小结本章节对门控系统的硬件设计进行了阐述,并对各个分电路进行了详细的设计,设计中采用了51系列单片机中的AT89C52单片机,它功能完善,价格低廉,可靠性高、
36、有良好的通用性。还采用了1602LCD液晶显示模块,可以实现建立了良好的人机交互界面的要求,操作起来将更加方便。此系统还有消防联动接口,可以实现与消防系统联动。设计了实时时钟芯片DS1302,在后边用软件可以实现限时操作功能。设计中采用了16路模拟开关CD4067用于对16个门号进行通断,CD4067自带片选端,只要在单片机多加一个IO口就可以多实现16路门号的住户,可满足住户数量的拓展。在供电充电电路中,可以自动投入备用电源,其中采用了蓄电池防过充电路。可以保护蓄电池,使其寿命更久。基于单片机的门控系统设计14第3章基于单片机门控系统的软件设计门控系统的核心控制器是单片机,应用中采用ATME
37、L公司的AT89C52单片机,采用KEILC编程,软件经过编程后可以基本上完成各个控制的功能,包括键盘扫描、1602LDC显示、密码输入开门、门号呼叫、时间采集及其相应时间内限制开门或限制呼叫、门延时未关或非法入侵报警、密码三次输入错误报警等功能。根据门控系统要实现的功能,所设计的系统软件由1602液晶显示器初始化子程序、各个输出提示及状态1602液晶显示子程序、正否密码对比子程序、门号比较子程序、三次密码错误报警及其显示子程序、键盘扫描子程序、键序判断子程序、CD4067编码子程序、查表子程序、时间判断子程序、主程序组成。主程序将按自上而下顺序无限循环的方式执行,当有按键变化发生时,程序将运
38、行到相应子程序,并通过按下的键值,在内部进行处理运算,并输出相应的显示结果或者并输出相应正确的状态信号,整个软件设计,基本上是围绕按键扫描展开的。经由KEILC编程后,生成的HEX文件在PROTUES下仿真都可以实现相应的功能。31软件整体框图31软件模块结构框图通信DS1302记录实时时间时间判断键盘扫描主程序密码判断键值输入门号判断门号编码门磁扫描报警1602液晶显示基于单片机的门控系统设计1532主程序流程图下图图为主程序流程图,由上图可知程序主要的流程,程序基本上是通过对键值及门磁的状态进行时刻扫描,当发现键值时或者门磁信号变化时,运行相应的子程序。图32主程序流程图开始DS1302时
39、钟芯片报警键盘扫描门磁状态K13且时刻K14且时刻K15且时刻实时时间记录K12且时刻延时门号编码子程序欢迎界面显示子程序门号输入及其判断子程序密码输入及其判断子程序YYYYYNNNNN基于单片机的门控系统设计1633DS1302子程序单片机与DS1302是以串行通信方式进行数据传输的,每次传送时由AT89C52向DS1302写入一个命令字节开始。控制字节如图33A所示。DS1302的一次数据传送是从发送控制字节开始的。控制字节的最高有效位位7必须是逻辑1,如果该位为0,则无法把数据写入到DS1302中位6表示要读写的数据类型,为0表示存取日历时钟数据,为1表示存取RAM数据位5至位1指示要操
40、作单元的地址最低有效位位0表示命令类型,为0表示要进行写操作,为1表示要进行读操作。控制字节总是从最低位开始输出。DS1302的复位特征和时钟控制要求复位RST输入有两种功能首先,用于接通控制逻辑,允许地址/命令序列送入移位寄存器其次,用于终止单字节或多字节数据的传送。当为RST高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在VCC20之前,RST必须保持低电平。另外,当RST为高电平时,SCLK必须为低电平。DS1302的数据输入输出向DS1302写入数据时,数据在控制字节输入后的下
41、一个SCLK周期的上升沿被写入,多余的SCLK将被忽略。数据写入时从低位位0开始同样,从DS1302读取数据时,数据在紧跟控制字节后的下一个SCLK的下降沿读出,读出数据时也是从低位0位到高位7位,只要RST保持高电平,额外的SCLK将导致数据字节的持续读出,这个特性用于实现该芯片的突发读模式。数据读写时序如图33B。突发模式下,可以一次性读出所有日历时钟数据或RAM。图33A控制字节的含义图33BDS1302的读写时序基于单片机的门控系统设计1734密码输入及其判断子程序此子程序段是由主程序连续下来的,由于纸张太小,无在一个主程序流程图中无法将所有子程序流程图设计出来,故在此小节说明。(注在
42、欢迎界面开始)两程序实现了该系统最重要的两个功能,在密码子程序中,以数组查表的方式将输入的密码和初始的密码进行比较,判断对误,并显示。设置的6位密码为在每输入一位密码时,屏幕将显示输入的密码位数,在此流程图中未将这些程序段一一写出,在三次密码输入错误的时候将显示“CODEERRORTHREETIMES”同时输出报警信号。党密码输入正确时,屏幕将显示“CODEISRIGHT,WAIT”输出三声提示声,并且产生电锁接通信号REL0,再延时关断。如下图34为其大致流程图。图34密码输入及其判断子程序流程图显示PLEASEINPUTTHECODE_显示PLEASEWAITWAITPLEASE显示WEL
43、COMECALLORINPUTCODE密码输入按钮密码(6位)从键盘输入初始密码为888888从键盘输入6位密码N显示CODEISRIGHT,WAIT显示SOORYYOUCODEERROR持续2秒电锁通电开门延时4秒显示CODEERRORTHREETIMES3次错误Y基于单片机的门控系统设计1835门号输入及其判断子程序此子程序大致与上子程序相同,只是在算法上,上个程序是将三次输入的数字存储直接存储。此程序是间接的存储起来,然后再经过乘法和加法运算,将所得到的结果储存,然后再进行与已存的门号数组进行比较,判断结果。输出也和上程序不同,此程序是输出到模拟开关CD4067的编码信号。当门号输入正确
44、时,相应的编码将在单片机的P30P33产生。同时,蜂鸣器输出四声提示声。液晶屏幕将显示“RIGHTDOORNUMCONNECTING”如下图35为此子程序的流程图。图35门号输入及其判断子程序流程图门号(16组)键盘输入3位101102103201202203301302303401402403501502503601显示WELCOMECALLORINPUTCODE显示PLEASEINPUTTHEDOORNUMBER_显示YOURDOORNUMBERISRIGHTWAIT在IO口输出相应编码信号将16路模拟开关CD4067接通相应信号(延时4秒)按呼叫键从键盘输入门号09显示PLEASEWAI
45、T显示SORRYNUMERROR基于单片机的门控系统设计19371602液晶模块显示子程序的设计3711602液晶模块控制指令1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平,0为低电平),1602液晶模块内部的控制器共有11条控制指令。如下表371。序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L6置功能00001DLNF7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址
46、001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到(CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容指令1清显示,指令码01H,光标复位到地址00H位置指令2光标复位,光标返回到地址00H指令3光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。指令4显示开关控制。D控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C控制光标的开与关,高电平表示有光标,低电平表示无光标B控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5光标或显示移位S/C高电平时显
47、示移动的文字,低电平时移动光标表3711602的控制指令基于单片机的门控系统设计20指令6功能设置命令DL高电平时为4位总线,低电平时为8位总线N低电平时为单行显示,高电平时为双行显示,F低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。指令7字符发生器RAM地址设置。指令8DDRAM地址设置。指令9读忙信号和光标地址BF忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。372芯片时序基本操作时序表372如下操作时序如图所示读状态输入RSL,R/WH,EH输出D0D7状态字写指令输入RSL,R/WL,D0D7指令码,E高脉冲输出无读数据输入RSH,R/WH,
48、EH输出D0D7数据写数据输入RSH,R/WL,D0D7数据,E高脉冲输出无表372基本操作时序表图372A读操作时序图372A读操作时序基于单片机的门控系统设计213731602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,图373是1602的内部显示地址。图373LCD1602内部显示地址在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。
49、1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。图(下页)为CGROM和CGRAM与字符的关系对照表。图372B写操作时序基于单片机的门控系统设计2238本章小结此章节对此课题的软件设计部分进行了详细的说明。利用程序流程图每个功能基本流程并结合元件内部特殊的指令进行了讲述。基于单片机的门控系统设计23第四章PROTUES仿真软件设计阶段完成后,软件设计要求能够实现密码锁、楼宇对讲、和非正常状态(即当门电锁未开时门磁信号变化)报警功能,在实现其上的功能以后还实现了在特定时间(即在晚上0点5点)不可以实现密码开门及呼叫对讲功能。编好的程序见附录1,此程序是在KEILC51软件下编辑,将生成的HEX文件用PROTUES进行仿真,完全可以实现上述功能。下边分密码输入开门功能,呼叫功能来进行仿真介绍。41欢迎界面欢迎界面为系统开始界面,在密码输入完毕,或者门号输入程序完成后将显示此界面,按键“欢迎界面”亦可以出现此界面42密码输入开门功能的仿真本程序设置的初始六位密码是888888(可以在程序中改变),经键盘输入,在输入正确或错误时,均有相应声音提示和LED指示。1密码输入功能开始界面仿真按键密码输入LCD上显示2密码输入的仿真在键