基于AT89C51的电子号码锁设计说明_第1页
基于AT89C51的电子号码锁设计说明_第2页
基于AT89C51的电子号码锁设计说明_第3页
基于AT89C51的电子号码锁设计说明_第4页
基于AT89C51的电子号码锁设计说明_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 基于AT89C51的电子锁设计学生:2B专业名称:测控技术与仪器指导教师:2B 讲师36 / 42摘要随着人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于结构简单,被撬事件屡见不鲜;电子锁由于其性高,使用灵活性好,安全系数高,受到了广大用户的青睐,本课题具有实际应用价值。 本设计以单片机AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设计重点介绍主机控制),实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。而且采用键盘输入的电子密

2、码锁具有较高的优势。采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。测试结果表明,本系统各项功能已达到本设计的所有要求。 经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。关键词: 单片机 密码锁 单片机设计 电子锁AbstractAs people's living standard enhancement, h

3、ow to realize the family guard against theft has become a particularly prominent, the traditional mechanical lock because of its simple structure, prizing events it is often seen.; electronic lock high because of their confidentiality, the use of flexibility good, high safety factor, by the favor of

4、 the majority of users, this paper has practical value.The design of single-chip AT89C51 as cipher lock monitoring device for the detection and control of the core, the host is divided into control and the slave actuator ( this set focuses on control of the host ), realize the key information in a h

5、ost of preliminary registration, password information encryption, key loss and function. According to the51 single-chip serial communication between the principle, it is convenient for the password information random encryption and protection. And the use of keyboard input of the electronic code loc

6、k has high advantage. Digital signal encoding and the two modulation modes, which can not only realize the multiplexed information control, to improve anti-interference signal transmission, reduce the mistake action, and low power consumption; fast reaction speed, high transmission efficiency, such

7、as stable and reliable work. The software design uses a top-down modular design concept, to make the system distributed towards miniaturization, the direction of development, enhance the system's scalability and stability. The test results show that, various functions of this system has reached

8、the design requirements for all.Proved by experiment, the lock has a design method is reasonable, simple, low cost, safety and practicality, with residential, office lock request, have promotion value.keyword:Single chip microcomputer,cryptogram lock,Single chip design, electronic lock.目录摘要IAbstract

9、II目录III1绪论11.1 引言11.2 电子密码锁的背景11.3 电子锁设计的特点21.4 电子锁设计的意义31.5 电子锁的发展趋势31.6 本设计的特点42系统设计52.1 初步设计思路52.2 系统总设计结构图52.3 开锁机构设计63系统硬件设计73.1 PROTEUS软件介绍73.2系统电路设计83.2.1 单片机AT89C51简介83.2.2 晶振电路113.2.3 复位电路123.2.4 4×4矩阵键盘设计133.2.5 数码管与LED显示电路143.2.6 开锁电路153.2.7 其他引脚163.3 电路图的绘制173.4 系统仿真结果184软件设计194.1 K

10、EIL C51简介194.2 系统软件设计整体思路204.3 系统软件设计总流程图214.4 各子程序设计224.4.1键盘扫描子程序224.4.2 LED显示子程序244.4.3密码比较264.5 程序调试274.6调试过程27设计总结与展望29致30参考文献31附件32A 2.1 系统总图32A 2.2 本设计的程序331绪论1.1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,安全性能低,无法满足人们的需要。而电子锁由于其性高,使用灵活性好,安全系数高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间围或某种器具的

11、,必须以钥匙或暗码打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢?因为传统锁具都存在致命的弱点:第一、 锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、 锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国外

12、的锁具,实际上都不具备真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言:“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。1.2 电子密码锁的背景在电子锁出现以前人们广泛的使用机械锁,但随着时间的推移机械锁已不能满足人们的要求,于是电子锁应运而生。以前由于电子器件所限,开发的电子密码锁种类不多,性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作虽然简单但是非常的不安全。而现在电子锁的技术是时时都在进步,出现了很多性能好,安全可靠地新型电子锁。例如:遥控式电子密码

13、锁,卡式电子锁,生物特征电子锁。但是应用最广泛的还是键盘式电子锁。遥控式电子锁:优点是传输信息量可以很大,速度很快。人眼识别不出来,又无法在光路径上用仪器捕捉信号进行复制,因此性极高。缺点是需要随声携带遥控器或钥匙,如果丢失或忘记携带会很不方便。卡式电子锁:这一类电子锁能够在卡存储大量的个人信息,并且可以实现一卡多用。但它也有很大的缺陷,开锁用的卡很可能因为受到一些随身携带电子产品的干扰而“失效”;同时卡也容易丢失,这个过程也是相当的麻烦的。生物特征电子锁:人的某些与生俱来的个性特征(如手、眼睛、声音等)几乎不可重复,作为“钥匙”是唯一的。但是生物特征电子锁需要大量的个人身体上的信息,这就使其

14、处理上会变得复杂,也因为这个,所以现在生物特征电子锁仅仅适用于极个别的行业。键盘式电子锁:主要依靠的是键盘输入密码验证,不需要随身携带专一的“钥匙”,只需要记住密码即可。键盘式电子锁有采用数字电路控制的,但控制的准确性和灵活性比较的差;有以单片机为核心的键盘式电子锁,它的性能比较的稳定,而且性价比也比较低的高,受到了广泛的关注。尽管随着科学的发展,电子的应用技术在不断的提高,新式电子锁层出不穷,但键盘式电子锁仍然“老树发新芽”,在市场上占据着主导地位。1.3 电子锁设计的特点电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,

15、有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,主要特点如下:性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降。1.4 电子锁设计的意义单片机,亦称单片微电脑或单片微型计算机。它是把中央处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口 (I/0)等主要计算机功能部件都集成在一块集成电路芯片上的微型计算机。 计算机的产生加快了人类改造世界的步伐,但是它毕竟体积大。微计算机(单

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

17、用也不会担心精度达不到了,且容易升级改善。电子锁可以在日常生活和现代办公中,住宅与办公室的安全防、单位的文件档案、财务报表以与一些个人资料的保存等多种场合使用。大大提高了主人物资的安全性,安全可以代替老式机械锁。目前使用的密码锁种类繁多,各具特色。本文从经济实用的角度出发,采用AT89C2051单机,研制了一款具有防盗自动报警功能的电子密码锁。该密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有一定的推广价值。1.5 电子锁的发展趋势从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。键盘式

18、电子密码在键盘上输入,与打差不多,因而易于掌握,其突出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会丢失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成性不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断发展中,如“任意设定密码”技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码”技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测

19、;独出心裁的“键盘乱序显示”技术使得键盘上的固定键位每次显示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了性,如果限定输入这些密码的先后顺序或时间区段,则性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码若干次或若干时间输入不正确,即“封锁”键盘,不再接受输入操作。总而言之,键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。1.6 本设计的特点(1)系统设置6位密码,密码

20、通过键盘输入,若密码正确,则将锁打开。(2)密码可以由用户自己设定,在开锁状态下,用户可自行修改密码。2系统设计2.1 初步设计思路用以AT89C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,与其控制的准确性,来实现基本的密码锁功能。1. 输入密码用矩形键盘,包括数字键和功能键。2. LED数码管显示输入密码,用74LS47驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。3. 电源打开后,显示器显示“000000”,密码由TABLE读取“111582”为定密码,只要输入此密码便可开门。这样可以预防停电后再送电时无密码可用。4. 按“#”,清除显示器为

21、“000000”。5. 欲更改密码时,先输入新密码再按“*”,即可建立新密码。6. 输入新,再按“D”开门键。若与密码相符,则门会打开,否则显示器会清除为“000000”。7. 要显示密码,按住“C”即可显示密码,放开则显示“000000”。2.2 系统总设计结构图本设计由主控芯片51单片机,单片机时钟电路,4×4矩阵键盘,和开锁电路与LED显示电路组成。单片机芯片负责控制整个系统的执行过程。数码管与LED灯显示电路单片机AT89C51晶振电路开锁电路密码输入设备图2.1系统总设计结构图2.3 开锁机构设计通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。本设计通过

22、P2.0接7404晶体管电器打开电磁阀线圈实现开关门。电磁阀 密码正确AT89C51开锁驱动电路图2.2 密码锁开锁机构示意图当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。3系统硬件设计3.1 PROTEUS软件介绍Proteus软件是来自英国Labcenter electronics公司的EDA工具软件。Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线与电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件

23、源码级的实时调试,如有显示与输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,您不需要别的,Proteus为您建立了完备的电子设计开发环境!尤其重要的是Proteus Lite可以完全免费,也可以花微不足道的费用注册达到更好的效果;功能最强的Proteus专业版也非常便宜,人人用得起,对高校还有更多优惠。 Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以与自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被电子世界在其对PCB设计系统的比较文章中评为最好产品“The Route to PCB CAD”。Proteus 产

24、品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。 其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计。PROSPICE 仿真器的一个扩展PROTEUS VSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LEDs甚至LCD显示CPU模型. 1.支持许多通用的微控制器,如PIC,AVR,HC11以与8051; 2.交互的装置

25、模型包括:LED和LCD显示,RS232终端,通用键盘; 3.强大的调试工具;包括寄存器和存储器,断点和单步模式; 4.IAR C-SPY 和Keil uVision2等开发工具的源层调试; 5.应用特殊模型的DLL界面-提供有关元件库的全部文件。3.2系统电路设计3.2.1 单片机AT89C51简介AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片含4K bytes的可反复擦写的只读程序存储器(EPROM)和128bytes的随机存取数据序存器(RAM),器件采用ATMEL公司的高密度/非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器(CP

26、U)和FLASH存储单元,AT89C51单片机为许多嵌入式控制系统提供了一种灵活行高且价廉的方案。a 主要特性· 8031 CPU与MCS-51 兼容· 4K字节可编程FLASH存储器(寿命:1000写/擦循环)· 全静态工作:0Hz-24KHz· 三级程序存储器锁定· 128*8位部RAM· 32条可编程I/O线· 两个16位定时器/计数器· 6个中断源· 可编程串行通道· 低功耗的闲置和掉电模式· 片振荡器和时钟电路b 管脚说明VCC:供电电压。 &#

27、160;  GND:接地。    P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。    P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将

28、输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。    P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信

29、号和控制信号。    P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下表所示:管脚 备选功能:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /

30、RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微

31、拉高。如果微处理器在外部执行状态ALE禁止,置位无效。  /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。    /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。注意加密方式1时,/EA将部锁定为RESET;当/EA端保持高电平时,此间部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。    XTAL1

32、:反向振荡放大器的输入与部时钟工作电路的输入。    XTAL2:来自反向振荡器的输出。c 震荡特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片振荡器。石晶振荡和瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。d 芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前

33、,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。图3.1是AT89C51芯片的引脚图:图3.1 引脚图3.2.2 晶振电路80C51引脚XTAL1和XTAL2与晶体振荡器与电容C2、C1按图3.2所示方式连接。晶振、电容C1C2与片与非门构成了电容三点式振荡器,振荡信号频率与晶振频率与电容C1、C2的容量有关,但主要由晶振频率决定,围在033MHz之间,电容C

34、1、C2取值围在530pF之间。根据实际情况,本设计中采用12MHZ做为系统的外部晶振。电容取值为20pF。图3.2 晶振电路3.2.3 复位电路单片机复位时使CPU和系统中的其他功能部件都处于一个确定的初始状态,并从这个状态开始工作,单片机刚开始接上电源,中途断电或者是在使用过程中发生了故障时都需要复位。单片机的复位输入RET引脚持续两个机器周期高电平将使单片机复位。复位部分电路图如图3.3所示。图3.3 复位电路3.2.4 4×4矩阵键盘设计由于本设计所用到的按键数量较多而不适合用独立按键式键盘。采用的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,

35、密码锁的密码由键盘输入完成,与独立式按键键盘相比,要节省很多I/O口。本设计中使用的这个4*4键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。图3.4是一个矩阵键盘,表3.1是矩阵键盘各按键的功能。图3.4 键盘图按键键名功能说明19键数字键输入密码*键重设密码键设定新密码D键确定键比较密码#键清除键使显示器清零C键显示键长按显示密码表3.1按键功能3.2.5数码管与LED显示电路在这个设计的显示电路中,采用的是一个六位的八段数码管,具体的显示电路如图3.5所示。图3.5 显示电路3.2.6开锁电路在本次设计中,用继电器代替开关,仿真时,发光二极管D1、D2交替闪烁时则表示开

36、锁,只有D1亮时则表示没有开锁。电路图如图3.6所示。当P2.0口输出低电平时,二极管D1、D2交替闪烁,表示开锁 。图3.4 开锁电路3.6 开锁电路3.2.7其他引脚ALE引脚悬空,VCC接电源、VSS接地、EA接电源。3.3 电路图的绘制用proteus绘制的完整电路图如图3.7所示:图3.7 系统电路图3.4 系统仿真结果点击单片机加载HEX文件,然后点击电路中的运行按钮,在键盘中输入默认密码"111285",显示器上会依次出现输入的密码,点键盘中的"D"键开锁,此时显示器清零,发光二极管D2闪烁一下绿灯,表示锁已开,仿真结果如图3.8所示。3.

37、8 仿真结果4软件设计4.1 KEIL C51简介Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 C51工具包的整体结构: uVision与Ishell分

38、别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51与A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。4.2 系统软件设计整体思路一个应用系统要完成各项功能,首先必须有较

39、完善的硬件作保证。同时还必须得到相应设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其部丰富的硬件资源和软件资源,采用与C51系列单片机相对应的51汇编语言和结构化程序设计方法进行软件编程。程序设计语言有三种:机器语言、汇编语言和高级语言。机器语言是机器唯一能“懂”的语言,用汇编语言或高级语言编写的程序(称为源程序)最终都必须翻译成机器语言的程序(成为目标程序),计算机才能“看懂”,然后逐一执行。高级语言是面向问题和计算过程的语言,它

40、可通过于各种不同的计算机,用户编程时不必仔细了解所用的计算机的具体性能与指令系统,而且语句的功能强,常常一个语句已相当于很多条计算机指令,于是用高级语言编制程序的速度比较快,也便于学习和交流。但是本系统却选用了汇编语言。原因在于,本系统是编制程序工作量不大、规模较小的单片机微控制系统,使用汇编语言可以不用像高级语言那样占用较多的存储空间,适合于存储容量较小的系统。 开始4.3 系统软件设计总流程图系统唤醒上电系统等待密码输入密码输入完毕?密码错误N密码比较Y 输入正确 不开门开门糸统返回否主人是否要修改密码是输入新密码密码保存后糸统返回图4.1 系统程序设计结构图4.4 各子程序设计4.4.1

41、键盘扫描子程序 键盘扫描流程图如图4.2所示:设置处值调消除抖动子程序送入行扫描处值读P1值设C=1左移测列YA=0?C=0?NNR5=0?调用显示子程序Y设C=1右移扫描列结束C=0?NY图4.2 键盘扫描流程图键盘扫描子程序如下:L2: MOV R3,#0F7H MOV R1,#00H L3: MOV A,R3 MOV p1,A MOV A,P1 MOV R4,A SETB C MOV R5,#04H L4: RlC A JNC KEYIN INC R1 DJNZ R5,L4 CALL DISP MOV A,R3 SETB C RRC A MOV R3,A JC L3 JMP L24.4.

42、2 LED显示子程序LED显示流程图如图4.3所示:开始载入按键值按键值+74LS138的扫描值送P0口输出图4.3 LED显示流程图LED显示子程序如下:DISP: MOV R0,#45H DISP1: MOV A,R0 ADD A,#50H MOV p0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#40H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#30H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#20H MOV P0,A CALL DELAY DEC R0 MOV A,R0

43、ADD A,#10H MOV P0,A CALL DELAY DEC R0 MOV A,R0 ADD A,#00H MOV P0,A CALL DELAY RET4.4.3密码比较图4.4是密码比较流程图开始比较第一位Y比较下一位NY6未是否比较完?Y正确开锁清零图4.4 密码比较流程图密码比较子程序:COMP: XCH A,40H XCH A,45HXCH A,44HXCH A,43HXCH A,42HXCH A,41HXCH A,40H MOV R1,#45H MOV R0,#35H MOV R2,#06H C1: MOV A,R1 XRL A,R0JNZ C3 DEC R1 DEC R0

44、 DJNZ R2,C1 CLR P2.0 MOV R2,#200 C2: MOV R6,#248 DJNZ R6,$DJNZ R2,C2C3: JMP START4.5 程序调试把写好的汇编语言程序的载入软件调试工具,检查软件是否有设法错误,再根据软件提示对本程序进行修改,直到没有错误再生成单片机能运行的机器码,再用51开发板或其它单怎机写入工具把机器码写入单片机进行实际的程序调试,根据实际情况再对程序的不足加以修改,直到满足设计要求。4.6调试过程首先打开KEIL C51主程序,新建工程,新建文本框写入程序,保存,检查是否有语法错误,经反复检查无误后汇编,生成51单片机可执行的HEX文件。图

45、4.5 keil c51调试介面设计总结与展望实践是检验真理的唯一标准,当然也是检验学习成果的标准。在经过一段时间的学习之后,我们需要了解自己的所学应该如何应用在实践中,因为任何知识都源于实践,归于实践,所以要将所学的知识在实践中来检验。在做毕业设计期间,在老师的指导下,通过自身的不断努力,无论是思想上,学习上,都取得了长足的发展和巨大的收获,现将工作总结如下:思想上,学会了用科学的精神去解决问题。很多事情看起来是很简单的问题,但实际做起来去会发现有许多奥妙!这是因为其中蕴含着许多科学的问题。运用科学的方法去解决问题,这是我这次实训给我带来的思想上的改变。学习上,使自已在大学所以的知识在这次得

46、到实践,学到一些书本上无法学到的经验,对电子元件有了进一步的认识。电子锁是信息化时代发展的产物,应时而生,我相信随着科技的不断发展,将来的电子锁一定更加完美,更加人性化,更加便宜,更加安全。致在本次论文设计过程中,老师对该论文从选题,构思到最后定稿的各个环节给予细心指引与教导,使我得以最终完成毕业论文设计,在此表示衷心的感。此外在学习中,老师严谨的治学态度、丰富渊博的知识、敏锐的学术思维、精益求精的工作态度以与侮人不倦的师者风是我终生学习的楷模。另外在完成毕业设计的过程中,还得到众多朋友的关心支持和帮助,在此,谨向老师同学和朋友致以衷心的感和崇高的敬意!最后,我要向百忙之中抽时间对本文进行审阅,评议和参与本人论文答辩的各位老师表示感!参考文献1 康华光. 电子技术基础(第四版)M.高等教育.1988.2 建忠.单片机原理与应用M(第二版)电子科技大学.2008.2.3 Janice Mazidi.8051 Microcontroller and Embedded Systems. Prentice Hall,1999.4 何立民.单片机高级教程M.航空大学.2001.5 先锋工作社编辑著.单片机程序设计实例N.清华大学.2002.6 朝清.单片机原理与接口技术M.航空航天大学.1994.7 周勇,付大鹏,刚强.新

温馨提示

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

评论

0/150

提交评论