《基于单片机的门控系统设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的门控系统设计毕业论文.docx(60页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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基于单片机的门控系统设计摘要:在现代楼宇自动化的应用中,门控系统应用得十分广泛,它提高了住宅质量和人们的生活的安全性,本课题主要是设计出一种小型的门控系统,基于51单片机,以键盘密码的输入方式实现对门的出入控制,或者通过键盘输入门号的方式,进行对讲方式住户实现开门。适用于普通楼宇单位的进入控制,可实现:对通道进出权限的控制(密码输入进门的控制);对讲系
3、统(可实现门外和住户的对话及开门控制)。在异常情况下(非法侵入、门超时未关)实现报警;本系统的核心器件是单片机,通过对单片机已经写入得程序的实现上述功能。可实现普通机械门锁所不能实现的自动门控系统。关键词: 51单片机、门控系统、对讲系统、智能楼宇自动化The Entrance Guard System Based on MCUAbstract: The Access control system have being using very extensive,in the modern building automation applications, what improve the qu
4、ality of people life and the residence 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 in general building unit of access contr
5、ol. 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/ the door not be closed overtime).The MCU is the core device of this system. This system
6、runs throughout 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.56基于单片机的门控系统设计第1章 绪 论1.1本课题的研究背景门控(门禁)系统属于智能建筑楼宇自动化系统(BAS)种的
7、安防系统,是一种新型的现代化安全管理系统,高水平的门控系统集成自动识别技术和现代安全管理措施为一体,能够对各通道口的位置,通行对象及通行时间、方向等进行实时的控制,从而实现对出入口的安全控制。随着自动识别技术的发展,门控(门禁)系统得到了飞跃式的发展,进入了成熟期,但是总体来说门控(门禁)系统大体分为这一下三类:密码门禁系统 , 刷卡门禁系统 ,生物识别门禁系统。随着电子信息技术的高速发展,门控系统应用的自识别技术更为先进(感应接触技术、生物识别技术等),设计也趋于更合理,控制器与识别仪分体设计,识别仪安装在门外,控制器安装在门内,即只有识别仪对控制器的输入线露在门外,其他所有控制线均在门内,
8、因此在安全性方面有很大的提高,系统的可靠性、管理和使用的方便性等方面也有很大的进步。 在与微机的通信方面,从较早的门控系统多为单机控制型到采用RS485通信方式的网络系统,网络型门禁系统开始快速发展。这种类型的门控系统中门控制器与管理中心是通过局域网传递数据的,通信方式采用的是网络常用的TCP/IP协议,技术含量高,管理中心位置可以随时变更,不需重新布线,很容易实现网络 控制或异地控制。随着人们对门控系统各方面要求的不断提高,门控系统的发展主要呈现出两种趋势:1)门控系统的应用范围越来越广泛 门控系统的应用已不局限在单一的出入口控制。它不仅可以应用于智能大厦或智能小区的门禁系统,还可以应用在远
9、程控制、停车场控制、电梯控制、交通管理或与其他系统联动控制等多种控制场合。感应式门控系统和生物辨识门控系统成为门控系统发展的两大热点。感应式门禁系统价格较低,使用简单,维护方便的优点是目前和今后研究使用的一大方向。随着技术的日渐成熟,生物辨识门禁系统成本将逐步降低,实用性不断提高,成为门禁系统发展的另一方向。随着技术的日渐成熟,生物辨识门控系统成本将逐步降低,使用性不断提高,成为门控系统发展的另一方面。 2)门控系统的集成应用趋势 门控系统可兼容多种读卡技术,同时具备先进的联网功能,通过联网组成智能大厦,智能小区等大型系统进行统一管理和监控。同时,好的门控系统集成消防系统,还具有消防联动功能。
10、1.2 本课题的主要研究工作1.2.1 课题内容设计出一种能有密码输入进入、门号呼叫及对讲、异常报警等功能的门控系统,本课题要求完成门控系统的的硬件和软件设计及其软件仿真。1.2.2 课题要求本课题主要要求完成以下内容:(1)硬件设计:供电电源电路、备用电源充电电路、门磁、蜂鸣报警电路、电控锁及其驱动电路、门号选择电路、单片机及其外围电路、(键盘电路、1602液晶显示电路、报警电路)对讲门铃电路的等电路;(2)门控系统的软件设计;(3)门控系统的仿真。1.3本课题的研究意义门控(门禁)系统是在传统的门锁基础上发展而来的,传统的门锁是一种单纯的机械装置,虽然经过不断地改进,安全性有所提高,但是无
11、论如何总能通过某种非正常的手段把它打开,其安全性较差。对于使用者来说,一把锁配一把钥匙,多把就需要多把钥匙,使用起来不方便。在出入较多的通道(办公室,酒店客房等),钥匙的管理也相当麻烦,遇到钥匙丢失或人员更换都要把钥匙一起更换。 为了解决这些问题,出现了电子密码锁,这种锁的出现从一定程度上提高了人们对出入口通道的管理效率,使通道管理进入了电子时代。综合市场上的楼宇对讲系统和电子密码锁,我设计出了集合两种功能并且自带防盗报警的多功能门控系统。1.4 本设计主要的应用场所由于此设计综合了基本的门禁系统和楼宇对讲系统的功能,因此其主要的应用场所为小区综合楼,集体居住宿舍,写字楼等的安全程度要求不是很
12、高的场所。第2章 基于单片机的门控系统电路硬件设计门控电路的硬件部分主要由主要供电电源电路、备用电源电路、单片机外围电路、键盘电路、1602液晶显示电路、报警电路、门号选择电路、对讲电路等电路模块组成。分为三块电路设计,一块电路实现电源电路,第二块电路是与单片机直接控制相关的电路,第三块是对讲电路,采用这种设计是根据各个电路模块之间的距离和功能来划分的,说明起来也更加合理。2.1 基于单片机门控系统电路主框图和工作基本原理智能控制器由主要供电电源电路、备用电源充电电路、门磁、蜂鸣报警电路、电控锁及其驱动电路、门号选择电路、单片机及其外围电路、(键盘电路、1608液晶显示电路、报警电路)对讲门铃
13、电路的等电路模块组成。主框图如图2.1 所示。主要供电电源电路电源切换备用电源电路驱动电路电控锁51单片机报警电路16路门选择电路CD406716路模拟开关键盘电路1602液晶门 磁时钟芯片门铃对讲电路12V5V电池12V图2.1 基于单片机门控系统电路主框图如上图所表示,电源由主要供电电源电路和备用电源电路组成,主要供电电路是由市电通过变压滤波整流稳压后直接向各部分电路供12V和5V电压。备用电源是蓄电池组,通过稳压电路得到12V和5V电压。备用和主要供电是通过一继电器切换的。51单片机是整个电路的核心部分,其中单片机IO口的输入有 4x4矩阵键盘、门磁、DS1302时钟电路等,输出到十六路
14、CD06716模拟开关门选择电路、1602液晶、报警电路及电插锁驱动电路等。其中电控锁和门铃对讲电路要求提供的电压是12V,单片机及其外围电路用的电源均为5V。将此电路单片机编程后,以上电路的组合可实现对门的密码开启、对应门号的呼叫楼宇对讲、非正常情况报警等功能。2.2 各分电路设计 2.2.1 供电电源变压稳压电路及备用电源充电电路供电电源变压稳压电路主要是为单片机及其周围电路和电磁锁的线圈和对讲电路提供两路稳定的+12V 和+5V 电源,为了防止断电出现门不能开启的情况,电路还设计蓄电池断电自动投入装置。电源由 220V 交流电经过24V的变压器、整流滤波电路和 MC78L12CG 和MC
15、78L05CG芯片可以产生供单片机电路的+5V和电磁锁的+12V 电源,断电后经自动通过12V蓄电池BT提供。电路框图如图2.2.1a,硬件图为2.2.1b所示,其中直流继电器用来实现市电供电电源和备用蓄电池电源的断电自动切换当常用电源正常时用常用电源,即断电后则用备用蓄电池电源,D1为市电通电指示灯,D2为工作指示灯。市电输入220v变压器24v整流滤波电路12v蓄电池充电电路输入电源选择MC7805C稳压MC7812CG稳压12V稳压电源5V稳压电源图2.2.1a供电电源电路原理框图图2.2.1b供电电源电路原理硬件图充电电路设计如下,本电路使用于给12V的铅酸蓄电池充电,电路如图图2.1
16、.1c所示,LM305是一个正输出三端可调集成稳压器,他可以提供1.2533V、3A的直流输出。当开关s合上时,充电器的输出电压为14.5V此时充电电流限制 在2A,随着电池电压的升高,充电电流逐渐减小,在充电电流减小到15mA时,充电器转换到一个较低的浮动充电电压,以防止过充电。随着向电池的满量充电,充电电流继续减小,而输出电压则从14.5V降低到12.5V作用,此时将终止充电,同时晶体管V1导通,驱动发光二极管D10点亮,表示电池已经充足电。图2.1.1c 12v蓄电池充电电路2.2.2 门磁、蜂鸣报警电路、电控锁及其驱动电路2.2.2.1门磁门磁是用来检测门是否关闭的一个小型感应器,在软
17、件实时监控时,可以看到每个门现在的状态是开着的还是关着的。如下示意图为常见的一种暗装式门磁,一般都是不带电线的一端内藏磁铁,带电线的低端内部藏有干簧管等元器件,当磁铁接近时,电线输出闭合信号,当磁铁远离时,两条电线输出开路信号。不带电线的一端装在门的顶部,带电线的一端装在门框上。门关好时,两端正好重叠接近。两条电线输出闭合信号。图2.2.2a 门磁工作示意图门磁可以实现对门的状态进行监控,可以配合门控系统,实现门被非法闯入,没有进入权或者按按钮的合法操作,而门被强行打开的报警功能。同时可以软件编程实现长时间未关闭报警功能。2.2.2.2电控锁的选择及其驱动电路设计 电控锁是门控系统中锁门的执行
18、部件。目前小区楼宇门控对讲系统一般都是配备的电控锁,这种锁用户可以用钥匙自行打开,即使是在忘记密码的情况等特殊情况下也可以用钥匙将门打开。根据门的材料、出门要求等需求选取不同的锁具。主要有以下两种种类型: 阳极锁:阳极锁是断电开门型,符合消防要求。它安装在门 框的上部。与电磁锁不同的是阳极锁适用于双向的木门、玻璃门、防火门,而且它本身 带有门磁检测器,可随时检测门的安全状态。 阴极锁:一般的阴极锁为通电开门型。适用单向木门。安装阴极锁一定要配备UPS电源。因为停电时阴锁是锁门的。 “阳极锁”的一种停电开门的电锁。切断电源,电锁会自动打开。由于此设计是基于单片机,提供了备用电源,故排除了此种情况
19、,而且电插锁大多都是用于双向开关门的门控系统中,本设计门控系统仅仅是单向开门即可。采用门磁+阴极锁的方案,为了符合消防要求,在单片机IO口可设置消防联动接口。 在驱动电路中,用单片机三极管控制继电器进行电锁的电源通断,电路原理如图。在正常闭门情况下,控制电路是不对电控锁供电的,单片机P2.3口发出开门信号时候即当DOOR置低电平时,经单片机控制三极管来驱动电源继电器接通而使得电控锁的电源接通,电磁锁接通指示灯D8亮,实现开门功能。电路基本原理见下图2.2.2b 。 图2.2.2b 电控锁驱动电路 2.2.2.3报警电路此电路设计相当简单可以实现简单的提示及报警功能,由单片输出一开关信号至三极管
20、,触发三极管以实现此功能。如下图2.2.2c所示。图2.2.2c 报警提示电路2.2.3门号选择电路对讲系统是此设计中的一个重要的模块,对讲系统中包含有对应门号选择呼叫的功能,设计方案是利用单片机的高低点位对四位输出信号进行编码,后经过译码可以各个用户进行门号选择,为了实现这一功能,采用了多路选择模拟开关芯片CD4067,如图2.2.3a为CD4067的引脚图。CD4067是单16路(单刀16位)模拟开关,各开关由外部输入二进制的地址码A、B、C、D来切换。其中脚10、11、14和13是地址码A、B、C、D的输入端;脚29和1623是开关的输入/输出端(开关位);脚1是开关的输出/输入公共端(
21、开关刀);脚15为控制端片选信号只有当其置低电平时有效(选通),高电平禁止(开关开路)。CD4067的真值表如表2.2.3b所示。4位二进制码A、B、C、D共有16种状态,所以可以控制16个开关的通断。从真值表上看出,CD4067的工作方式类似译码电路,可以将16种信号转化为16开关的信号,这种模拟开关具有低的导通电阻和高的断开电阻,被传输的数字信号幅度为3V15V。该图中015是开关的位,X代表开关的公共端刀,它等效一个单刀多位开关。各开关的切换是由BCD码作指令,BCD码的每四位二进制码可对应一个开关的接通,其余开关都断开。各开关都可双向传输信号,即各开关允许从n线到1线的信号传送(输入/
22、输出)或1线到n线的分离(输出/输入),以及允许信号的并/串转换。开关所需的BCD码由51单片机的P3.0P3.2脚输入的,片选信号的输入端为15由单片机的P3.3脚输入。 图2.2.3a CD4067的引脚图图2.2.3b CD4067的真值表2.2.4 单片机电路单片机是整个设计的控制器的核心,完成整个控制器的控制功能,包括键盘的输入、液晶屏幕的显示、数据的存储和运算、数字信号的输出等功能。图2.2.4 AT89C52管脚图图2.2.4 单片机管脚及其分配图本设计采用的单片机是51系列单片机中的AT89C52,它是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内包含8Kbyt
23、es的课反复擦鞋的制度程序存储器(PEROM) 和256bytes的随机存取数据存储器(RAM),期间采用高密度、非易失性存储技术产生,易标准的MCS-51指令系统及8952产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,使用与许多较为复杂的控制应用场合。它有32个I/O口线,3个16位定时/计数器,基本上都能够满足本设计的要求。管脚图如下图2.2.4所示。单片机的P0、P1、P2、P3均为双向输出口,由于此设计使用的单片机的管脚较多,如上图所示在设计中比较合理的分配了:其中P1口为键盘与单片机的通讯接口;P0 和P2.0P2.2口为单片机与1602液晶显示器D0D7的数
24、据通讯接口,P2.3是输出至门锁驱动电路的接口,P2.4P2.6是与实时时钟芯片DS1302的连接接口,P3.0到P3.3是单片机与CD4067的输出接口,其中P3.3是向CD4067输出的片选信号,P3.6是门磁信号的连接接口,P3.7是输出报警或提示蜂鸣器的信号接口。2.2.5单片机外围电路设计2.2.5.1 4x4矩阵键盘电路本设计是用AT89S52的并行口P1接44矩阵键盘,如图2.2.4a所示,矩阵键盘的每个按键有它的行值和列值 ,行值和列值的组合就是识别这个按键的编码。矩阵的行线和列线分别通过两并行接口和CPU通信。对键盘的处理程序功能:确定有无键按下,判断哪一个键按下,键的功能是
25、什么;还要消除按键在闭合或断开时的抖动。两个并行口中,一个输出扫描码,使按键逐行动态接地,另一个并行口输入按键状态,由行扫描值和回馈信号共同形成键编码而识别按键,通过软件查表,查出该键的功能及其键值。设计中方案中的键值及其功能如图中下标所示,其中键值15为密码输入的功能、键值14为门号输入呼叫的功能键值13为欢迎界面显示,键值12为重复上次的呼叫门号,0-9为相应数字。图2.2.5a 4x4矩阵键盘接线及其键值示意图2.2.5.2 1602液晶及其电路本设计中使用的1602液晶模块,如图2.2.5b所示,它是一种字符型型液晶是一种用57点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行
26、16个字、2行16个字、2行20个字等,最常用的为2行16个字,液晶模块内带标准字库,内部的字符发生存储器(CGROM)已经存储了192个57点阵字符,32个510点阵字符。另外还有字符生成RAM(CGRAM)512字节,供用户自定义字符。如表1所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等。采用此液晶足以实现对此设计的显示功能。2.2.5b 1602液晶模块1脚:VSS为电源地,接GND。2脚:VDD接5V正电源。3脚:VL(VEE)为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,使用时可以通过一个10K的电位器调整对比度。4脚:RS为寄存器选
27、择,高电平时选择数据寄存器、低电平时选择指令寄存器。5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。714脚:D0D7为8位双向数据线。15脚:BLA背光电源正极(+5V)输入引脚。16脚:BLK背光电源负极,接GND。15、16脚图中未画出,背光灯可以方便夜间的使用。2.2.5.3实时时钟芯片DS1302DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时
28、时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式.DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1 RES 复位,2 I/O 数据线,3 SCLK串行时钟.时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信.DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW.双电源管脚VCC1和VCC2用于主电源和备份电源供应,VCC1为可编程涓流充电电源。图2.2.5c DS130
29、2引脚图DS1302的引脚图及外围的电路如上图2.4.4c所示,X1 X2 接32.768KHz 晶振管脚,复位脚RST,数据输入/输出引脚I/O ,串行时钟引脚SCLK,VCC1,VCC2 为电源供电管脚。采用3线穿行通信的方式对单片机的时间进行实时传输,RST为通信允许信号,RST=1允许通讯,RST=0时禁止通信,IO为双向串行数据传送信号,SCLK为串行数据的位同步脉冲信号。51单片机作为主机通过控制RST、SCLK和IO信号实现两芯片建的数据传送。由于此芯片功率仅为1mW用电量很小, VCC1可加备用电源,能在很久的时间段提供精准的时间。因此设计中DS1302是最好选择。2.2.6对
30、讲门铃电路的设计对讲电路是此门控系统设计中的重要一个模块,设计的对讲门铃的电路如图,其工作原理如下:平时挂机时叉簧开关S55的1、2触点接通,也加到音乐集成块IC1的2脚。如按一下S,则音乐IC的3脚受触发,1脚有音乐信号输出,经Q15放大后推动扬声器发声,同时经R5推动Y2、Y3。摘机后,叉簧开关HS的1、3接点接通,通话电路接通电源,音频放大器IC2(LM386)工作,这时可进行对讲。由图可知标号DOORNUM的是接的是模拟开关CD4067的015号中相应的一引脚,每个引脚接一个用户分机,此设计方案只设计了16户,利用CD4067的片选端,单片机只需多用一支引脚可以实现多16户的用户。CO
31、MMON接的是模拟开关的公共端X ,由于CD4067的接通内阻很小,因此理论上完全可以实现呼叫的功能。此对讲门铃电路中麦克风MK1、扬声器LS3、扬声器LS1置于相应住户室内,麦克风MK2、扬声器LS3置于门处来访者可以使用到的位置。CESHI按钮为设计的测试按键。2.2.6对讲门铃电路2.3 本章小结本章节对门控系统的硬件设计进行了阐述,并对各个分电路进行了详细的设计,设计中采用了51系列单片机中的AT89C52单片机,它功能完善,价格低廉,可靠性高、有良好的通用性。还采用了1602LCD液晶显示模块,可以实现建立了良好的人机交互界面的要求,操作起来将更加方便。此系统还有消防联动接口,可以实
32、现与消防系统联动。设计了实时时钟芯片DS1302,在后边用软件可以实现限时操作功能。设计中采用了16路模拟开关CD4067用于对16个门号进行通断,CD4067自带片选端,只要在单片机多加一个IO口就可以多实现16路门号的住户,可满足住户数量的拓展。在供电充电电路中,可以自动投入备用电源,其中采用了蓄电池防过充电路。可以保护蓄电池,使其寿命更久。第3章 基于单片机门控系统的软件设计门控系统的核心控制器是单片机,应用中采用Atmel公司的AT89C52单片机,采用KeilC编程,软件经过编程后可以基本上完成各个控制的功能,包括键盘扫描、1602LDC显示、密码输入开门、门号呼叫、时间采集及其相应
33、时间内限制开门或限制呼叫、门延时未关或非法入侵报警、密码三次输入错误报警等功能。根据门控系统要实现的功能,所设计的系统软件由1602液晶显示器初始化子程序、各个输出提示及状态1602液晶显示子程序、正否密码对比子程序、门号比较子程序、三次密码错误报警及其显示子程序、键盘扫描子程序、键序判断子程序、CD4067编码子程序、查表子程序、时间判断子程序、主程序组成。主程序将按自上而下顺序无限循环的方式执行,当有按键变化发生时,程序将运行到相应子程序,并通过按下的键值,在内部进行处理运算,并输出相应的显示结果或者并输出相应正确的状态信号,整个软件设计,基本上是围绕按键扫描展开的。经由KeilC编程后,
34、生成的hex文件在protues下仿真都可以实现相应的功能。3.1 软件模块结构框图通信DS1302记录实时时间时间判断键盘扫描主程序密码判断键值输入门号判断门号编码门磁扫描报警1602液晶显示3.1 软件整体框图3.2 主程序流程图下图图为主程序流程图,由上图可知程序主要的流程,程序基本上是通过对键值及门磁的状态进行时刻扫描,当发现键值时或者门磁信号变化时,运行相应的子程序。开始DS1302时钟芯片报警键盘扫描门磁状态K=13且时刻K=14且时刻k=15且时刻实时时间记录K=12且时刻延时门号编码子程序欢迎界面显示子程序门号输入及其判断子程序密码输入及其判断子程序YYYYYNNNNN图3.2
35、主程序流程图3.3 DS1302子程序单片机与DS1302是以串行通信方式进行数据传输的,每次传送时由AT89C52向DS1302写入一个命令字节开始。控制字节如图3.3a 所示。DS1302 的一次数据传送是从发送控制字节开始的。控制字节的最高有效位(位7) 必须是逻辑1 ,如果该位为0 ,则无法把数据写入到DS1302 中;位6 表示要读写的数据类型,为0 表示存取日历时钟数据,为1 表示存取RAM 数据;位5至位1 指示要操作单元的地址;最低有效位(位0) 表示命令类型,为0 表示要进行写操作,为1 表示要进行读操作。控制字节总是从最低位开始输出。DS1302 的复位特征和时钟控制要求复
36、位(RST) 输入有两种功能:首先,用于接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,用于终止单字节或多字节数据的传送。当为RST 高电平时,所有的数据传送被初始化,允许对DS1302 进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,并且I/O引脚变为高阻态。上电运行时,在Vcc 2. 0 之前, RST必须保持低电平。另外,当RST为高电平时,SCLK必须为低电平。DS1302 的数据输入输出向DS1302 写入数据时,数据在控制字节输入后的下一个SCLK周期的上升沿被写入,多余的SCLK将被忽略。数据写入时从低位(位0) 开始;同样,从DS1302 读取数据时,数
37、据在紧跟控制字节后的下一个SCLK的下降沿读出,读出数据时也是从低位(0 位) 到高位(7 位) ,只要RST 保持高电平,额外的SCLK将导致数据字节的持续读出,这个特性用于实现该芯片的突发读模式。数据读写时序如图3.3b。突发模式下,可以一次性读出所有日历时钟数据或RAM。图3.3b DS1302 的读写时序图3.3a 控制字节的含义3.4密码输入及其判断子程序显示PLEASE INPUT THE CODE:_显示PLEASE WAIT.WAIT PLEASE!显示WELCOME! CALL OR INPUT CODE?密码输入按钮密码(6位):(从键盘输入)初始密码为:888888从键盘
38、输入6位密码N显示CODE IS RIGHT,WAIT.显示 SOORY YOU CODE ERROR. 持续2秒电锁通电开门(延时4秒)显示CODE ERROR THREE TIMES!.3次错误Y此子程序段是由主程序连续下来的,由于纸张太小,无在一个主程序流程图中无法将所有子程序流程图设计出来,故在此小节说明。(注:在欢迎界面开始)两程序实现了该系统最重要的两个功能,在密码子程序中,以数组查表的方式将输入的密码和初始的密码进行比较,判断对误,并显示。设置的6位密码为*在每输入一位密码时,屏幕将显示输入的密码位数,在此流程图中未将这些程序段一一写出,在三次密码输入错误的时候将显示“CODE
39、ERROR THREE TIMES!”同时输出报警信号。党密码输入正确时,屏幕将显示“CODE IS RIGHT,WAIT.”输出三声提示声,并且产生电锁接通信号REL=0,再延时关断。如下图3.4为其大致流程图。 图3.4 密码输入及其判断子程序流程图3.5门号输入及其判断子程序此子程序大致与上子程序相同,只是在算法上,上个程序是将三次输入的数字存储直接存储。此程序是间接的存储起来,然后再经过乘法和加法运算,将所得到的结果储存,然后再进行与已存的门号数组进行比较,判断结果。输出也和上程序不同,此程序是输出到模拟开关CD4067的编码信号。当门号输入正确时,相应的编码将在单片机的P3.0P3.
40、3产生。同时,蜂鸣器输出四声提示声。液晶屏幕将显示:“RIGHT DOOR NUM CONNECTING!”如下图3.5为此子程序的流程图。显示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 NUMBER IS RIGHT! WAIT.在IO口输出相应编码信
41、号将16路模拟开关CD4067接通相应信号(延时4秒)图3.5门号输入及其判断子程序流程图3.7 1602液晶模块显示子程序的设计3.7.1 1602液晶模块控制指令表3.7.1 1602的控制指令1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平,0为低电平),1602液晶模块内部的控制器共有11条控制指令。如下表3.7.1。序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00
42、001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到(CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容指令1:清显示,指令码01H,光标复位到地址00H位置指令2:光标复位,光标返回到地址00H指令3:光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低
43、电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C :高电平时显示移动的文字,低电平时移动光标指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。3.7.2芯片时序:基本操作时序表3.7.2如下表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.7.3 1602LCD的RAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,图3.7.3是1602的内部显示地址。图3.7.3:
限制150内