简易蓝牙门禁的设计与实现课程设计.docx_第1页
简易蓝牙门禁的设计与实现课程设计.docx_第2页
简易蓝牙门禁的设计与实现课程设计.docx_第3页
简易蓝牙门禁的设计与实现课程设计.docx_第4页
简易蓝牙门禁的设计与实现课程设计.docx_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

通信原理课程设计 题 目 简易蓝牙门禁的设计与实现 学院名称 电气工程学院 指导教师 职 称 讲师 班 级 学 号 学生姓名 2017年6月14日i通信原理课程设计任务书学 院: 电气工程学院 题 目: 简易蓝牙门禁的设计与实现 起止时间:2017年5月24日至2017年6月14日 学 生 姓 名: 专 业 班 级: 通信1402 指 导 教 师: 教研室主 任: 院 长: 2017年6 月14 日ix论文 (设计) 内容及要求:一、课程设计(论文)原始依据用单片机/ARM来设计成蓝牙门禁系统的主机,以蓝牙手机作为从机构成一个简易蓝牙门禁系统。能够通过蓝牙移动端和系统主机进行配对链接,至少实现门禁的开启或关闭等操作。 二、课程设计(论文)主要内容1、蓝牙门禁的系统方案及技术原理2、蓝牙门禁的电路设计3、蓝牙门禁的电路级仿真验证4、蓝牙门禁的实物制作与调试 三、课程设计(论文)基本要求写出设计说明书,语言流畅简洁,文字35005000字。用软件编程语言实现时,写出详细的注释,并画出各种信号的时域频域波形,分析实验结果;硬件设计电路,需要详细分析安装调试过程,分析实验结果。仿真设计类要求有仿真流程图、调试时的电脑屏幕截图;实物设计类要求图纸布局合理,符合工程要求,使用Protel软件绘出原理图(SCH)和印制电路板(PCB),器件的选择要有计算依据。工作要求:查阅参考文献,学习基本理论,分析系统工作原理,设计系统方框图;掌握计算机辅助设计方法,利用Matlab/Simulink、Systemview、Multisim、MaxPlusIII、QuartusII、Protel等软件进行仿真设计,具备独立设计能力;熟悉系统的调试和测量方法;实物设计需要掌握电子电路安装调试技术,选择合适的元器件搭接实际电路,掌握电路的测试和故障排除方法,提高分析问题和解决问题的能力。不能直接从网上或其他资料下载拷贝,一旦发现雷同35%以上,则相关雷同设计的成绩都为不及格。按时完成设计报告;提交的电子稿必须在附录中含有全套仿真源文件、或设计原图(电子稿是以“学生学号姓名”为命名的压缩文件);并提交纸质设计报告书。随机抽查,并进行最后答辩。四、课程设计(论文)进度安排起 迄 日 期工 作 内 容2017.5.242017.5.27查阅资料,系统方案设计2017.5.282017.6.3用编程语言或者仿真软件进行设计2017.6.42017.6.11程序、软件、实物的调试,排除故障,分析实验结果2017.6.122017.6.14分析总结,整理设计报告五、主要参考文献1樊昌信.通信原理(第6版)M.北京:电子工业出版社,2012,12.2刘学勇 .详解MATLAB/Simulink通信系统建模与仿真M.北京:电子工业出版社,2011,11.3张水英 ,徐伟强 .通信原理及MATLAB/Simulink仿真M.北京:人民邮电出版社,2012,9.4黄智伟 .基于NI Multisim的电子电路计算机仿真设计与分析(修订版)M.北京:电子工业出版社,2011, 6. 指导老师: (签 名) 年 月 日摘要:随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,安全性能低,无法满足人们的需要。本文从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用汇编语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。关键词:密码锁;单片机;报警 南华大学电气工程学院课程设计 Abstract: With the continuous development of electronic products to the intelligent and miniaturization, single-chip microcomputer has become the preferred controller for the development and development of electronic products. With the improvement of peoples living standards, how to achieve the problem of home security has become particularly prominent, the traditional mechanical lock because of its simple structure, low safety performance, can not meet peoples needs. In this paper, the United States Atmels single-chip AT89S51 and low-power CMOS type E2PROM AT24C02 as the master chip and data memory unit, combined with the external keyboard input, display, alarm, unlock and other circuits, written in assembly language Master chip control program, designed a password can be changed several times with the alarm function of the electronic password lock. Experiments show that the password lock with a reasonable design method, simple, low cost, safe and practical features, in line with residential, office lock requirements, with the promotion of value.Key words: password lock ;microcontroller ;alarm目 录1 引言11.1 电子密码锁简介11.2 电子密码锁的发展趋势11.3 本设计所要实现的目标22 设计方案的选择22.1 方案一:采用数字电路控制22.2 方案二:采用以单片机为核心的控制方案23 主要元器件介绍33.1 主控芯片AT89S513 3.1.1 AT89S51性能简介34 系统软件设计44.1主程序模块54.2 键盘扫描及识别子程序6 4.3 系统模块密码设置子程序7 4.4 蓝牙模块及其程序84.5程序调试95 系统制作及调试115.1焊接注意事项:125.2硬件调试问题及解决办法13总结14参考文献:15附录1:元器件清单附录2:系统原理图附录3:系统PCB图附录4:系统仿真图附录5:系统实物图附录6:系统源程序1 引言1.1 电子密码锁简介电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:(1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 (2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因 人员的更替而使锁的密级下降。 (3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。(4) 无活动零件,不会磨损,寿命长。 (5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 (6) 电子密码锁操作简单易行,一学即会。1.2 电子密码锁的发展趋势在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人对保密性需求的提高出现了越来越多的电子密码锁。出于安全、方便等方面的需要许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。可以看出组合使用电子信息是电子密码锁以后发展的趋势。1.3 本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。密码可以由用户自己修改设定,锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。2 设计方案的选择2.1 方案一:采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用2.2 方案二:采用以单片机为核心的控制方案由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89S51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09输入密码。密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。新密码输入无误后按确认键使新密码将得到存储,密码修改成功。可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案3 主要元器件介绍3.1 主控芯片AT89S51AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。3.1.1 AT89S51性能简介AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。其芯片引脚图如图3.1所示。 图3.1AT89S51 芯片引脚图4 系统软件设计因设计主要是作用汇编语言来开发的51单片机项目程序,所以首先必须有一个可以在Windows XP或Windows vista操作系统下执行的汇编语言编译器,本设计采用Keil编译器进行编程,因为它可以支持一系列的51单片机。该系统的主程序流程图如图4.1所示。图4.1 主程序流程图4.1主程序模块主程序主要是完成系统初始化、设置中断向量、检查有无键按下、以及调用显示等等。主程序部分如下所示: en bit p3.5;将lcd的en管脚连接到单片机的p3.5口 rw bit p3.4 ;将lcd的rw管脚连接到单片机的p3.4口rs bit p3.3;将lcd的rs管脚连接到单片机的p3.3口display equ p0;将lcd的显示端口连接到p0口上speaker bit p2.6;蜂鸣器连接到p2.6口led bit p2.7;与蜂鸣器共同作用的led灯连到p2.7口open bit p2.0;开锁电路的控制端连接到p2.0口returnbit bit 20h.1;ORG 0000h;程序开始地址LJMP start;ORG 000bh;LJMP intermit_t0;ORG 001bh;LJMP intermit_t1;ORG 0030h;start:MOV sp,#60h;lcall sys_initialization;调用子程序sys_initialization4.2 键盘扫描及识别子程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。其程序流程如图4.2所示 键盘部分程序如下所示: key:;键盘程序名称 call ks ;调用子程序ks jnz k1 ;判断是否有键按下 jmp key ;跳回键盘程序 ks:mov p1,#0f0h; mov a,p1; xrl a,#0f0h; ret; 图4.2键盘扫描程序流程图4.3 系统模块密码设置子程序 由于设计是分模块化进行,所以子程序是整体软件系统的组成部分,子程序不但可以使程序化整为零,使其复杂简单化,同时也方便阅读,修改等,每个功能模块都有它自己的子程序,在本设计中是用LCD显示数据,所以就要用到显示子程序,设计中用的是矩阵键盘,所以就用到键盘扫描子程序,例如还有显示初始化子程序、LCD忙检测子程序、关闭状态显示子程序、开锁状态显示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序等。密码修改子程序流程图如下图4.3所示。 图4.3设置密码子程序4.4 蓝牙模块及其程序 蓝牙模块是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,按功能分为蓝牙数据模块和蓝牙语音模块。蓝牙模块可以避免射频信号到中频信号的变换,使系统结构简单、实现简单。这里使用蓝牙模块进行与手机间的连接,然后通过手机进行密码的解锁,当在手机上面输入密码后,蓝牙模块和单片机之间的相互信息传送达到解锁的目的,其程序如下图4.4所示。图4.4 蓝牙模块程序4.5程序调试在硬件支持的环境下,用proteus设计好的电路,Keil编好的程序编译成芯片可识别的S51文件,利用PC机写进proteus程序图芯片内进行仿真测试,并对其出现的错误进行修改,如下图4.5、4.6、4.7、4.8、4.9所示。第 11 页 共 40 页图4.5 keil编译程序成功图4.6 keil生成hex文件图4.7 proteus调用keil的hex文件进行仿真图4.8 仿真成功密码正确图4.9 密码正确绿灯亮5 系统制作及调试5.1焊接注意事项:LCD的注意事项如下:1.采用焊接方法将金属基PIN安装于LCD时,从玻璃末端到万用板的焊接位置的长度至少5mm,焊接温度必须在260以下,且焊接时间必须在10秒以内,以免焊接过程中对装置的损坏,确保焊接性能。在230,30秒条件下,90%的焊料须紧密附着于PIN上。2.对LCD基板或基PIN焊接位置的调整必须在安装前完成。严禁猛烈移动基PIN,否则会机械地破坏LCD屏与基PIN之间的连接点。焊接时平放LCD,尽量不让LCD受力。3.焊接LCD基板时,将其小心、平衡地插入万用板插槽,以避免损坏基PIN或LCD基板。4.焊接时,LCD基板不应长时间置于焊锡蒸汽中,必须避免污染LCD基板,否则可能损坏显示器表面的偏光片及封口胶。5.显示器表面的保护膜直到焊接完成才可揭掉,禁止手指及其它硬物接触偏光片,禁止水和其他化学物质沾污装置,因为这些物质会污染显示器表面。单片机焊接注意事项:80s51单片机与其它单片机,dsp,arm芯片相比较而言是脆弱的,如果焊接时不小心就很可能把芯片损坏!建议用比较好的恒温可调的烙铁,功率在30瓦左右,温度控制在260到300度,建议采用点焊而不用拉焊,焊接时烙铁放在每个引脚的时间不能太长(最好低于3秒)。上边提到的方法还不能确保芯片完好,对芯片有危害的还有带电烙铁的静电感应!烙铁质量不是太好的,焊接时可以把烙铁电源插头拔掉。其他的电子器件焊接须知:一般分四步骤进行。准备焊接:清洁被焊元件处的积尘及油污,再将被焊元器件周围的元器件左右掰一掰,让电烙铁头可以触到被焊元器件的焊锡处,以免烙铁头伸向焊接处时烫坏其他元器件。焊接新的元器件时,应对元器件的引线镀锡。加热焊接:将沾有少许焊锡和松香的电烙铁头接触被焊元器件约几秒钟。若是要拆下印刷板上的元器件,则待烙铁头加热后,用手或银子轻轻拉动元器件,看是否可以取下。清理焊接面:若所焊部位焊锡过多,可将烙铁头上的焊锡甩掉(注意不要烫伤皮肤,也不要甩到印刷电路板上!),用光烙锡头沾些焊锡出来。若焊点焊锡过少、不圆滑时,可以用电烙铁头蘸些焊锡对焊点进行补焊。检查焊点:看焊点是否圆润、光亮、牢固,是否有与周围元器件连焊的现象。5.2 硬件调试问题及解决方法本设计在焊接调试时遇到的问题以及解决方法:单片机的最小系统问题:电源、晶振电路和复位电路都无异常。LCD焊接时的问题:(1)接通电源后LCD无反应,各个引脚均属正常。推断可能是初始化程序出现问题。经查找得知是LCD显示器的15和16管脚控制背光功能,连接好之后还是不能显示字符。(2)接通电源开门灯和报警电路就会工作,分析原因是单片机刚开始各个管脚输出高电平。第 61 页 共 40 页总结本设计从经济实用的角度出发,采用美国Atmel公司的单片机AT89S51与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路并用汇编编写主控芯片的控制程序,研制了一款可以多次更改密码具有报警功能的电子密码锁。设计完全可行可以达到设计目地。使用单片机制作的电子密码锁具有软硬件设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、办公室的保险箱及档案柜等需要防盗的场所,有一定的实用性。该电路设计还具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码等多种功能。可在意外泄密的情况下随时修改密码。保密性强,灵活性高,特别适用于家庭、办公室、学生宿舍及宾馆等场所。参考文献1 何宏主编. 单片机原理与接口技术. 北京:国防工业出版社. 2006.072 杨西明, 朱骐主编. 单片机编程与应用入门. 北京:机械工业出版社.2004.063 先锋工作室编著. 单片机程序设计实例. 北京: 清华大学出版社.2003.014 谢宜仁主编. 单片机实用技术问答. 北京: 人民邮电出版社. 2003.025 梁丽.电子密码锁的计算机仿真设计.计算机仿真,20056 房小翠,王金凤编著. 单片机实用系统设计技术. 北京: 国防工业出版社. 1999.067 各种网络教程及其他8 王宽仁. 可靠安全的智能密码锁. 电子技术应用 , 20019 李捷 , 陈典涛 , 陈建华 , 等. 一种基于单片机的电子密码锁的设计 J. 农机化研究 , 2004, 510 董继成. 能防止多次试探密码的单片机密码锁.国外电子元器件 , 2004, 3 11赵益丹,徐晓林,周振峰编著.电子密码锁的系统原理、设计程序及流程图.嘉兴学院学报,2003,1512 张培仁. 基于 C语言编程 MCS- 51单片机原理与应用. 北京: 清华大学出版社 , 2002.1213 李朝清. PC机及单片机数据通信技术. 北京:北京航空航天大学出版社 , 1999.14 路而红.专用集成电路设计与电子设计自动化.北京:清华大学出版社,200415 刘文涛.MCS-51单片机培训教程(C51)版.电子工业出版社,2005.8 16 王为青 程国钢.单片机Keil Cx51 应用开发技术.人民邮电出版社,2007.2 17 范风强 兰婵丽.单片机语言C51应用实战集锦.电子工业出版社,2003.3 18 龚运新.单片机C语言开发技术.清华大学出版社,2006.10 19 邵贝贝.单片机嵌入式应用的在线开发方法.清华大学出版社,2006.3 20 王宜怀.单片机原理及其嵌入式应用教程.北京希望电子出版社,20028 附录1:元器件清单序号原件名称参数数量1万用板50*3112蓝牙模块机136p单排母座14按键1751602液晶1616p插针1716p单排母座18光敏电阻19104可调电阻110103排阻11190122129013113电阻2.2K1K10K1.5K2141序号元件名称参数数量14接线端子3p115有源蜂鸣器11640脚座117stc89c51单片机118电容10uf119电容30pf220自锁开关1218脚座12224c02芯片12312m晶振124Led(5MM红色)125继电器126104独石电容127DC电源接口128导线若干29焊锡若干30usb电源线1附录2:系统原理图附录3:系统PCB图附录4:系统仿真图附录5:实物图实物图正面实物图反面附录6:系统源程序 LED1 EQU 6FH BUFF EQU 6EH TIMERS1 EQU 6DH ;输入回车的次数 TIMERS2 EQU 6CH ;报警的次数 LED6 EQU 6AH ;密码缓冲区 PS1 EQU 69H PS2 EQU 78H PS3 EQU 67H PS4 EQU 66H PS5 EQU 65H PS6 EQU 64H PS7 EQU 63H PS8 EQU 62H ;AT24C02读取缓冲区 AT1 EQU 61H AT2 EQU 60H AT3 EQU 5FH AT4 EQU 5EH AT5 EQU 5DH AT6 EQU 5CH AT7 EQU 5BH AT8 EQU 5AH ;按键标志位 F_0 BIT 20H F_1 BIT 21H F_2 BIT 22H F_3 BIT 23H F_4 BIT 24H F_5 BIT 25H F_6 BIT 26H F_7 BIT 27H F_8 BIT 28H F_9 BIT 29H CH_STATE BIT 2AH ;系统更改的状态标志位,为1表示busy FLAG1 BIT 2BH ;功能键标志位,为1表示功能按键。 F_F1 BIT 2CH F_F2 BIT 2DH PSW_F BIT 2EH ;密码是否正确的标志位 SPK BIT P2.1 WP BIT P3.5 SDA BIT P3.6 ;定义串口数据端 SCL BIT P3.7 ORG 0000H AJMP MAIN ORG 000BHAJMP TIMER0 ORG 001BH AJMP TIMER1 ORG 0030H MAIN:MOV SP, #70H MOV TMOD, #11H MOV TH0, #3CH MOV TL0, #0B0H MOV TH1, #3CH MOV TL1, #0B0H CLR F_0 ;清除标志位 CLR F_1 CLR F_2 CLR F_3 CLR F_4 CLR F_5 CLR F_6 CLR F_7 CLR F_8 CLR F_9 CLR BUF_FULL CLR CH_STATE CLR FLAG1 CLR F_F1 CLR F_F2 CLR PSW_F MOV BUFF,#00H ;调用 LCALL INITPS ;初始化环境 LCALL INITAT LCALL XSA ;调用默认显示 MOV TIMERS1,#00H NOP MOV PS1, #11H ;初始化密码830620 MOV PS2, #0AH MOV PS3, #02H MOV PS4, #13H MOV PS5, #0BH MOV PS6, #02H START:NOP ;程序开始 LCALL CH_KEY ;检查键盘 AJMP START ;返回 CH_KEY:LCALL KS ;检查有没有按键按下 JNZ LK1 AJMP CH_KEY LK1: LCALL T12MS ACALL KS JNZ LK2 RET LK2: NOP LCALL SBIE ;按键识别子程序 MOV BUFF, A ;送缓冲区以识别是数字键还是功能键? LCALL CH_KF ;判断按键功能。 JB FLAG1 ,KEY_FUN ;标志为1,则为功能键;*数字按键输入并且存放到缓冲区内等待比较*KEY_DIG:NOP ;设一标志,辨别输入是否满 ;SETB TR0 INC TIMERS ;输入数字的位数 MOV A, TIMERS CLR C SUBB A, #01H JNZ PS_2 MOV PS1, BUFF ;依照顺序存放密码 AJMP NEXT PS_2:MOV A, TIMERS SUBB A, #02H CLR C JNZ PS_3 MOV PS2, BUFF AJMP NEXT PS_3:MOV A, TIMERS CLR C SUBB A, #03H JNZ PS_4 MOV PS3, BUFF AJMP NEXT PS_4:MOV A, TIMERS CLR C SUBB A, #04 JNZ PS_5 MOV PS4, BUFF AJMP NEXT PS_5:MOV A, TIMERS CLR C SUBB A, #05 JNZ PS_6 MOV PS5, BUFF AJMP NEXT PS_6:MOV A, TIMERS CLR C SUBB A, #06H JNZ CH_KEY MOV PS6, BUFF NEXT:LCALL XSC MOV R7, TIMERS ;比较输入的次数。 CJNE R7, #06H ,FULL FULL:JC NEXT9 SETB BUF_FULL MOV TIMERS,#06H CLR L3 NOP CLR P2.1 LCALL T100MSD SETB P2.1 NOP AJMP CH_KEY NEXT9:CLR P2.1 ;密码输入一位,鸣叫一声。 CLR L3 LCALL T100MSD ;延时100ms SETB L3 SETB P2.1 AJMP CH_KEY;*开门子程序 * CL:NOP SETB L3 MOV BUFF, #00H ;消密码缓冲 MOV TIMERS,#00H LCALL INITPS ;消除AT缓冲,调电存储后一定要加上 LCALL XSC LCALL BP LCALL BP LCALL T100MSD LCALL BP CLR FLAG1 AJMP CH_KEY FU4:NOP LCALL BP LCALL T100MSD LCALL BP LCALL T100MSD LCALL BP LCALL T100MSD LCALL BP LCALL T100MSD LCALL BP CLR FLAG1 AJMP CH_KEY FU3:NOP LCALL BP LCALL T100MSD LCALL BP LCALL KILLXS ;关闭显示 CLR FLAG1 AJMP CH_KEY FU1:NOP LCALL XSC JB F_F1, NEXT_F1 CLR L1 LCALL BP SETB F_F1 AJMP CH_KEYNEXT_F1:SETB L1 LCALL BP CLR F_F1 ;LCALL CH_STATE ;查看现在的状态以防误按 ;SETB TR1 ;报警限制暂时不开 ;INC F_F1 CLR FLAG1 AJMP CH_KEY FU2:NOP JB F_F2, NEXT_F2 CLR L2 LCALL BP SETB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论