毕业设计(论文)基于AT89C51单片机的密码锁设计.doc

上传人:文库蛋蛋多 文档编号:3978645 上传时间:2023-03-30 格式:DOC 页数:44 大小:303KB
返回 下载 相关 举报
毕业设计(论文)基于AT89C51单片机的密码锁设计.doc_第1页
第1页 / 共44页
毕业设计(论文)基于AT89C51单片机的密码锁设计.doc_第2页
第2页 / 共44页
毕业设计(论文)基于AT89C51单片机的密码锁设计.doc_第3页
第3页 / 共44页
毕业设计(论文)基于AT89C51单片机的密码锁设计.doc_第4页
第4页 / 共44页
毕业设计(论文)基于AT89C51单片机的密码锁设计.doc_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《毕业设计(论文)基于AT89C51单片机的密码锁设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C51单片机的密码锁设计.doc(44页珍藏版)》请在三一办公上搜索。

1、 毕 业 设 计题目 姓 名 学 号 院(系) 电子电气工程学院 班 级 指导教师 职 称 二O一一年 月 日摘 要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密码锁具有较高的优势

2、。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。关键字:单片机;密码锁;单片机设计,电子锁。AbstractAlong with the exaltation of social science and the living level of people, how carry out the family to guard ag

3、ainst theft, this problem also change particularly outstanding.Because of the simple construct of traditional machine lock,the affairs of theft is hackneyed.the electronics lock is safer because of its confidentiality, using the vivid good, the safe coefficient is high, being subjected to the large

4、customer close.It can carry out the key information to register in the main on board initial attestation, the password information encrypt etc. Go to correspond by letter the principle according to the string between 51 machines, this is easy to encrypt and protect to the passwords information rando

5、m. Adopt the numerical signal codes,not only can carry out many controls of the road information, raise the anti- interference that signal deliver, reduce the mistake action,but also the power consume is low, Respond quickly,the efficiency deliver is high, work stable credibility etc. The software d

6、esign adoption the design thought from top to bottom, to make the system toward wear distribute type,turn to the direction development of small, strengthen the system and can expand the stability and circulate.Test the result enunciation, various functions of this system are already all request of t

7、his design.Keywords: singlechip;cryptogram lock;singlechip design; electronics lock.目 录摘 要IAbstractII目 录III第一章绪论11.1课题的背景11.2课题的目的和意义11.3课题研究的内容21.4国内外研究现状2第二章系统总体方案设计32.1系统总体设计方案框图32.2开锁机构设计4第三章硬件电路设计53.1单片机的选择及其引脚功能介绍53.2键盘电路设计73.3LED显示电路93.4开锁电路103.5AT24C02掉电存储单元的设计113.6复位电路设计123.7晶振电路设计133.8设计总体

8、电路图13第四章软件设计电路154.1软件设计思路154.2键盘扫描164.3LED显示164.4密码比较和报警程序174.5主程序流程图184.6修改密码流程图19第五章 总结与展望20致 谢22参考文献1附 录1第一章 绪论1.1课题的背景 随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,

9、不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国内外的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷

10、甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。1.2课题的目的和意义随着社会科技的进步,锁已发展到了密码锁、磁性锁、电子锁、激光锁、声控锁等等。在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同声波,不同光束光波,不同图像。(如指纹、眼底视网膜等)来控制锁的开启。从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究

11、它具有重大的现实意义1.3课题研究的内容本文从经济实用的角度出发,采用AT89C2051单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。(1)系统设置4位密码,密码通过键盘输入,若密码正确,则将锁打开。(2)密码由用户自己设定,在开锁状态下,用户可自行修改密码。(3)具有自动报警功能。自动报警分现场报警和远程报警两种。现场报警由扬声器发出报警声。(4)两种情况下可报警:一是密码输入错误3次,则报警;二是非正常开门,如破门而入的情况,可通过系统的红外监视装置监测,同时报警,保证了系统的安全性。系统工作时,用户

12、通过按键输入4位密码,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,将门打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不正确,则发出报警信号。1.4国内外研究现状单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口 (I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单片机)在这种情况下诞生了,它为我们改变了什么?纵观我们现在生活的各个领

13、域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC 卡、电子宠物等,这些都离不开单片机。以前没有单片机时,这些东西也能做,但是只能使用复杂的模拟电路,然而这样做出来的产品不仅体积大,而且成本高,并且由于长期使用,元器件不断老化,控制的精度自然也会达不到标准。在单片机产生后,我们就将控制这些东西变为智能化了,我们只需要在单片机外围接一点简单的接口电路,核心部分只是由人为的写入程序来完成。这样产品的体积变小了,成本也降低了,长期使用也不会担心精度达不到了,且容易升级改善。第二章 系统总体方案设计2.

14、1系统总体设计方案框图键盘控制电路 89C51单片机LED显示电路密码正确开门电路超次报警电路AT24C02掉电存储 图2.1总体设计方案框图本方案采用一种是用以89C51为核心的单片机控制的方案利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性实现基本的密码锁功能。初步设计思路如下:1输入密码用矩阵键盘,包括数字键和功能键。2LED数码管显示输入密码的位数,每输入一位就多显示一个“0”3用发光二级管代替开锁电路,相对应的二极管发光表示开锁。4密码输入3次都错了,系统报警。5打开电源后,显示器不显示。设原始密码为“1357”,只要输入此密码,按B”。6可以实现删除本次输入的数字,按“

15、A”键,即可删除刚输入错误的一位数据。7输入密码,再按“B”键。若密码与设定密码相同,则打开门。即显示灯亮,否则显示器不显示。8软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。2.2开锁机构设计通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。本设计通过P3.0接一个3极管驱动继电器打开电磁阀线圈实现开关门。电磁阀开锁驱动电路AT89C51密码正确图2.2 密码锁开锁机构示意图当用户输入的密码正确而且是在规定的时间及次数输入之内,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的第三章 硬件电路设计3.1单片机的选择及其引脚功能介

16、绍本次课程设计我采用的时AT89C51单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。主要特性: 与MCS-52 兼容 4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路管脚说明: VCC:供电电压。 GND:接地。 P0口:

17、P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于

18、内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P

19、3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数

20、据存储器时,将跳过一个ALE脉冲。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。其管脚配置图如3.1所示:

21、在设计电路中,我将单片机的P0和P2口分别作为LED管的段码和位码的输入,P1口作为几个控制功能按钮的接口,P3口接有蜂鸣器电路,XTAL1和XTAL作为时钟电路的接口,从上述管脚说明来看,可以知道AT89C51提供了外部扩展功能所需的相关管脚,因此可实现许多功能。图3.1AT89C51的管脚配置图3.2键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样的方法。其原理如图3.2每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成

22、具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编号的单片机系统中,键盘处理程序首先执行等待按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。3.2矩阵键盘对照3-1所示的44键盘,说明线反转的工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫面字OOH,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1.判断键盘中哪一个键被按下是通过将列线逐列置低电平后,检

23、查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。具体的功能设计如表3-1:表3-1按键功能 按键 键名 功能说明 19键 数字键 输入密码 B键 确定键 比较密码 A键 清除键 清除刚输入的那位3.3LED显示电路单片机应用系统中,通常都需要进行人机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。显示器、键盘电路就是用来完成人机对话活动的人机通道。LED显示器的驱动是一个非常重要的问题,由3.3可知,显示电路由LED显示

24、器、段驱动电路和位驱动电路组成。由于单片机的并行口不能直接驱动LED显示器,必须采用专用的驱动电路芯片,使之产生足够大的电流,显示器才能正常工作。如果驱动电路能力差,即负载能力不够,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏。LED显示器的显示控制方式分为静态显示和动态显示两种,若选择静态显示,则LED驱动器的选择较为简单,只要驱动器的驱动能力与显示器电流相匹配即可,而且一般只需考虑段的驱动;动态显示则不同,由于一位数据的显示是由段和位选信号共同配合完成的,因此,要同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。本系统设计的显示电路是为了给使用者以提示而设置的。本系统的

25、显示采用串行显示的方式,在本次设计中我选择了4位的数码显示管。其连线如图3.3所示。 3.3LED显示电路3.4开锁电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁,亮,表示锁开了。电路图如3.4所示。当P1.0口输出低电平时,二极管发光,表示开锁。 图3.4开锁电路3.5AT24C02掉电存储单元的设计 掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。AT24C02是ATMEL公司的2KB字节的电可擦除存储芯片,采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资

26、料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。其电路如图3.5所示。图3.5 掉电存储电路原理图图中R8、R10是上拉电阻,其作用是减少AT24C02的静态功耗,由于AT24C02的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线SCL(移位脉冲)和SDA(数据/地址)与单片机传送数据。每当设定一次单价,系统就自动调用存储程序,将单价信息保存在芯片内;当系统重新上电的时候,自动调用读存储器程序,将存储器内的单价等信息,读到缓存单元中,供主程序使用。 3.6复位电路设计电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复单片机复

27、位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间),P0口为高组态,P1P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。根据实际情况选择如图3.6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的过程中RST端电压逐渐下降,当RST端的电压小于某一数值后,CPU脱

28、离复位状态,由于位。增加手动复位按键是为了避免死机时无法可靠复位。当复位按键按下后电容C1通过R5放电。当电容C1放电结束后,RST端的电位由R11与R15分压比决定。由于R113次?锁定NNYYYYNN图4.4主程序流程图4.6修改密码流程图修改密码流程图如图4.5所示按下F2启动定时输入密码存入缓冲再输入一次比较密码调用24C02调用显示按F2退出Y重新输入N图4.5修改密码流程图第五章 总结与展望这次的课题是智能密码锁设计,主要设计到的芯片主要是89C51。虽然我们学过单片机,理论知识掌握的还算好,但总感觉不知道单片机到底有什么用。通过这次设计让我有了较深的体会,单片机的用处还是很广的,

29、不但用起来方便,而且其功能也是很强大的。单片机可以实现很多我们想要实现的功能,使复杂的电路简单化,使难以实现的事情变为现实等等。我隐约可以看到单片机在这个社会有着举足轻重的地位,并且还有着无穷大的潜能。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。回顾起此次单片机课程设计,感慨颇多,的确,从选题到定稿,从理论到实践,可以说是苦多于甜,但是可以学到很多很多的东西,同时,不仅可以巩固以前学过的知识,而且还学到了很

30、多在书本上没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟是第一次做的,难免会遇到各种各样的问题,同时在设计的过程中发现了自己的不足之处,以前对所学的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好通过这次课程设计之后,以前不理解的知识点现在基本上都掌握了。实践是检验真理的唯一标准,当然也是检验学习成果的标准。在经过一段时间的学习之后,我们需要了解自己的所学应该如

31、何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。在做毕业设计期间,在老师的指导下,通过自身的不断努力,无论是思想上,学习上,都取得了长足的发展和巨大的收获,现将工作总结如下:思想上,学会了用科学的精神去解决问题。很多事情看起来是很简单的问题,但实际做起来去会发现有许多奥妙!这是因为其中蕴含着许多科学的问题。运用科学的方法去解决问题,这是我这次实训给我带来的思想上的改变。学习上,使自已在大学所以的知识在这次得到实践,学到一些书本上无法学到的经验,对电子元件有了进一步的认识。电子锁是信息化时代发展的产物,应时而生,我相信随着科技的不断发展,将来的电子锁一定更加完

32、美,更加人性化,更加便宜,更加安全。致 谢在本次论文设计过程中,朱老师对该论文从选题,构思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成毕业论文设计,在此表示衷心的感谢。此外在学习中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以及侮人不倦的师者风范是我终生学习的楷模。另外在完成毕业设计的过程中,还得到众多朋友的关心支持和帮助,在此,谨向老师同学和朋友致以衷心的感谢和崇高的敬意!最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感谢。参考文献1 李朝青.单片机原理及接口技术(简明修订版)M.北京:北京航空航天大学出版社,19982

33、 李全利.单片机原理及接口技术M.高等教育出版社,20033 PROTEL99 SE电路设计与制板M.机械工业出版社,20074 杨将新,李华军,刘到骏等.单片机程序设计及应用(从基础到实践)J电子工业出版社,20065 Steven F.Barrett.Daneil J.Pack.Embedded SystemM.北京:电子工业出版社,20066 周立功.LPC900系列Flash单片机应用技术J.北京航空航天大学出版社, 20047 黄智伟.全国大学生电子设计竞赛训练教程M.北京:电子工业出版社, 2005附 录本设计的程序:hc0 equ 4ah ;延时缓存区hc1 equ 4bhhc2

34、 equ 4chhc3 equ 4dhhc4 equ 4ehxs_0 equ 50h ;显示缓存区xs_1 equ 51hxs_2 equ 52hxs_3 equ 53hxs_4 equ 54hxs_5 equ 55hxs_6 equ 56hxs_7 equ 57hxs_8 equ 58hxs_9 equ 59hps1 equ 5ah ;设置密码缓存区ps2 equ 5bhps3 equ 5chps4 equ 5dhmmbz equ 5fh ;密码输入次数at1 equ 60h ;输入密码缓存区at2 equ 61hat3 equ 62hat4 equ 63h ;初始化org 00hajmp

35、main1org 30hmain1: mov ps1 ,#00h mov ps2 ,#00h mov ps3 ,#00h mov ps4 ,#00h mov at1 ,#00h mov at2 ,#00h mov at3 ,#00h mov at4 ,#00hmain:mov xs_0 ,#1fh ;显示0的摩斯值 mov xs_1 ,#0fh ;显示1的摩斯值 mov xs_2 ,#07h ;显示2的摩斯值 mov xs_3 ,#03h ;显示3的摩斯值 mov xs_4 ,#01h ;显示4的摩斯值 mov xs_5 ,#00h ;显示5的摩斯值 mov xs_6 ,#10h ;显示6的摩

36、斯值 mov xs_7 ,#18h ;显示7的摩斯值 mov xs_8 ,#1ch ;显示8的摩斯值 mov xs_9 ,#1eh ;显示9的摩斯值 clr p3.0 ;RXD置0 mov a ,#00h ;密码缓存 mov r2 ,#04h ;四位密码 mov r1 ,#00h mov r0 ,#ps1 mov r7 ,#05h ;摩斯次数,由于数字为5次 clr p2.7start:mov p0 ,#0ffh mov p1 ,#0ffh setb p2.4 ;按键位 jb p2.4 ,start ;2.4为1转start lcall delay500ms jb p2.4 ,startok:

37、 ;嘀的音 clr p0.0 lcall delay500ms jnb p2.4 ,daa ;是否去嗒音cun: ; setb p0.2 setb p0.0 rl a add a ,r1 ;存入一位摩斯码 djnz r7 ,yanshi ;是否够五位摩斯码 ajmp xianshiyanshi: ;输入一位摩斯码停顿1t lcall delay500ms jb p2.4 ,main ajmp okdaa: ;嗒的音 lcall delay500ms jb p2.4 ,stop setb p0.0 clr p0.2 lcall delay500ms setb p0.2 jnb p2.4 ,stop mov r1 ,#01h ajmp cunstop: ;摩斯输入错误 clr p0.4 lcall delay2s setb p0.4 ajmp maincunchu:mov r0 ,a inc r0 mov a ,#00h mov r1 ,#00h mov r7 ,#05h djnz r2 ,yanshi clr p0.6 lcall delay2s setb p0.6 ajmp shuruxianshi:cjne a ,xs_0 ,next1 ;够五位摩斯码显示0 mov p1 ,#0c0h clr p3.2 ;报警器 lcall delay1s setb p3.2 ;报警器

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号