欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    毕业设计单片机控制电子锁.doc

    • 资源ID:3975131       资源大小:1.96MB        全文页数:46页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    毕业设计单片机控制电子锁.doc

    摘 要 在 PROTEUS 模拟仿真软件上,以 AT89C51 单片机为核心器件,结合按键电路、LED 数码管显示电路、报警指示电路设计了一款保密性好、编码量多、随机开锁成功率几乎为零的电子密码。利用单片机灵活的编程设计和丰富的 I/O 端口,及其控制的准确性通过软件程序来控制整个系统实现电子密码锁的基本功能。系统能实现密码的输入、清除、显示、密码正确开锁,密码错误报警,系统设定初始密码。同时也显示了 PROTEUS 软件在硬件设计和软件调试方面的高效性。关键词:计算机应用,电子密码锁,AT89C51 单片机,PROTEUS 软件,系统仿真 ABSTRACT Abstract:By using AT89C51 microcontroller,an advanced electronic password lock circuit is designed.The hardware circuit diagram and some software flowchart are given in this paper.As the software of PROTEUS has the function of simulation,the function of 0-9 number keys,confirmation keys and the delete keys are realized by a 4 3 array.And the circuit composed of tips is displayed by 8-bit digital tube.When a password is entered,only“-”can be displayed.After the entering of password-digit,press the confirm key,and compare the entered password to the set password.If the password is correct,then the lock to open.Here a second light-emitting diode LED is used as a reminder;if the password is not correct,then the action of pressing the key is prohibited.At the same time,the alarm function of electronic locks works with the “tick”sound.KEY WORDS:computer application,electronic password,AT89C51 microcontroller,PROTEUS software,system simulation 目 录 前言.1 第 1 章 单片机.3 1.1 单片机简介.3 1.2 单片机的硬件特性.3 1.3 单片机的特点.3 1.4 单片机的应用范围.4 第 2 章 电子密码锁的设计.6 2.1 设计方案的选择.6 2.1.1 采用数字电路控制.6 2.1.2 采用以单片机为核心的控制.6 2.2 本设计所要实现的目标.7 2.3 电子密码锁的程序设计.7 第 3 章 主要元器介绍.9 3.1 主控芯片 AT89C51 简介.9 3.2 AT89C51 的主要性能.9 3.3 AT89C51 引脚功能说明.10 3.4 AT89C51 的振荡器与时钟电路.12 3.5 AT89C51 的复位方式.13 3.5.1 复位原理.13 3.5.2 常用复位电路.14 3.6 AT89C51 的程序执行方式.14 3.7 AT89C51 的省电方式.14 3.8 AT89C51 的芯片擦除.15 3.9 锁存器 74LS245.15 3.10 43 矩阵键盘.16 第 4 章 用 PROTEUS 模拟电子密码锁.18 4.1 PROTEUS 简介.18 4.2 PROTEUS 仿真过程.18 4.2.1 启动 PROTEUS ISIS 编辑环境.18 4.2.2 选取放置仿真元件.19 4.2.3 布线.21 4.2.4 在 PROTEUS ISIS 中进行软件编程.22 4.3 系统调试.35 4.3.1 将目标代码添加到电路.35 4.3.2 电路调试.36 第 5 章 调试过程与分析.39 结 论.40 谢 辞.41 参考文献.42 前言 在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的电子密码锁应运而生。电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1、保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2、误码输入保护,当输入密码多次错误时,报警系统自动启动。3、无活动零件,不会磨损,寿命长。4、使用灵活性好,不像机械锁必须佩带钥匙才能开锁。5、电子密码锁操作简单易行,一学即会。基于以上思路,本次设计使用 ATMEL 公司的 AT89C51 实现基于单片机的电子密码锁的设计,其主要具有如下功能:1、设置 6 位密码,密码通过键盘输入,若密码正确,则锁开。2、报警、锁定键盘功能。密码输入错误,禁止按键输入 3 秒,同时发出“滴、滴”报警声。3、密码可由程序初始设定。电子密码锁设计的关键问题是实现密码的输入、清除、开锁等功能。1、密码输入功能:按下一个数字键,数码管就显示一个“-”,同时将先前输入的所有“-”向左移动一位。2、密码清除功能:当按下“CRTL”键时,清除前面刚才输入的错误的数字。3、开锁功能:当按下“ENTER”键,系统将输入的数字与密码进行检查核对,如果正确则锁打开,否则则打不开。由于科技的发展以及人们对保密程度的提高,许多电子密码锁已相继问世。但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。因为数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息将能够使电子防盗锁获得高度的保密性,如防范森严的金库。组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。可以看出组合使用电子信息是电子密码锁以后发展的趋势。本次设计的主要任务是在 proteus 中用编程语言把电子密码锁的运行过程模拟出来。第 1 章 单片机 1.1 单片机简介 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU 随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机系统结构示意图如图 1-1 所示:图 1-1 单片机系统结构示意图 1.2 单片机的硬件特性 1、单片机集成度高。单片机包括 CPU、4KB 容量的 ROM(8031 无)、128 B 容量的 RAM、2 个 16 位定时/计数器、4 个 8 位并行口、全双工串口行口。2、系统结构简单,使用方便,实现模块化。3、单片机可靠性高,可工作到 106107 小时无故障。4、处理功能强,速度快。1.3 单片机的特点 单片机的特点主要有:高集成度,体积小,高可靠性;控制功能强;低电压,低功耗,便于生产便携式产品;易扩展;优异的性能价格比。单片机是以工业测控对象、环境、接口特点出发向着增强控制功能,提高工业环境下的可靠性方向发展。主要特点如下:1、种类多,型号全。很多单片机厂家逐年扩大适应各种需要,有针对性地推出一系列型号产品,使系统开发工程师有很大的选择余地。大部分产品有较好的兼容性,保证了已开发产品能顺利移植,较容易地使产品进行升级换代。2、提高性能,扩大容量,性能价格比高。集成度已经达到 300 万个晶体管以上,总线速度达到数十微妙到几百纳秒,指令执行周期已经达到几微妙到数十纳秒,以往片外 XRAM 现已在物理上存入片内,ROM容量已经扩充达 32K,64K,128K 以致更大的空间。价格从几百到几元不等。3、增加控制功能,向真正意义上的“单片”机发展。把原本是外围接口芯片的功能集成到一块芯片内,在一片芯片中构造了一个完整的功能强大的微处理应用系统。4、低功耗。现在新型单片机的功耗越来越小,供电电压从 5V 降低到了 3.2V,甚至 1V,工作电流从 mA 降到 A 级,gz2 频率从十几兆可编程到几十千赫兹。特别是很多单片机都设置了多种工作方式,这些工作方式包括等待,暂停,睡眠,空闲,节电等。5、C 语言开发环境,友好的人机互交环境。大多数单片机都提供基于 C 语言开发平台,并提供大量的函数供使用,这使产品的开发周期、代码可读性、可移植性都大为提高。1.4 单片机的应用范围 1、在智能仪表中的应用 这是单片机应用最多最活跃的领域之一。在各类仪器仪表中引入单片机,使仪器仪表智能化,提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高其性能价格比。2、在机电一体化中的应用 机电一体化产品是指集机械技术,微电子技术,计算机技术于一体,使其产品具有智能化特征的电子产品。它是机械工业发展的方向。3、在实时控制系统中的应用 单片机广泛用于各种实时过程控制系统中,例如工业过程控制、过程监测、航空航天、间断武器、机器人系统等各种实时控制系统。用单片机进行实时系统数据处理和控制,保证系统工作在最佳状态,有利于提高系统的工作效率和产品的质量。4、在人们生活中的应用 目前国内外各种家具已经普遍用单片机代替传统的控制电路,例如,洗衣机、电冰箱、空调机、微波炉、电饭煲、收音机、音像、电风扇及许多高级电子玩具都配上了单片机。5、在其他方面的应用 单片机还广泛应用于办公自动化领域、商业营销领域、安全防卫、汽车及通信系统、计算机外部设备、模糊控制等领域。第 2 章 电子密码锁的设计 2.1 设计方案的选择 2.1.1 采用数字电路控制 用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了 9 个用户输入键,其中只有 4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过 10 秒(一般情况下,用户不会超过 10 秒,若用户觉得不便,还可以修改)电路将报警 20 秒,若电路连续报警三次,电路将锁定键盘 2 分钟,防止他人的非法操作。采用数字电路设计的方案好处就是设计简单但控制的准确性和灵活性差。故不采用。2.1.2 采用以单片机为核心的控制 由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持 和服务等等因素。基于以上因素本设计选用单片机 AT89C51 作为本设计的核心元件,利用单片机灵活的编程设计和丰富的 I/O 端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接 7SEG-MPX8-CC-BLUE 显示器用于 显示作用。当用户需要开锁时,先按键盘开锁键之后按键盘的数字键09 输入密码。当数字输入超过 6 个时,给出报警信息。在密码输入过程中,若输入错误,可以利用“CLR”键删除刚才输入的错误的数字。可以看出方案二控制灵活准确性好且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。2.2 本设计所要实现的目标 用 43 组成 09 数字键及确认键、删除键;用 8 位数码管组成显示电路提示信息,当输入密码时,只显示“-”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则锁开,此处用 LED 发光二极管亮一秒钟作为提示;若密码不正确,禁止按键输入 3 秒,同时发出“滴、滴”报警声。2.3 电子密码锁的程序设计 程序流程图设计如图 2-1 所示:图 2-1 程序流程图 软件流程图设计如图 2-2 所示:图 2-2 软件流程图 第 3 章 主要元器介绍 3.1 主控芯片 AT89C51 简介 AT89C51 是 一 种 带 4K 字 节 FLASH 存 储 器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8位微处理器,俗称单片机。AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 1000次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C 单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。3.2 AT89C51 的主要性能 1、与 MCS-51 兼容 2、4K 字节可编程 FLASH 存储器 3、寿命:1000 写/擦循环 4、数据保留时间:10 年 5、全静态工作:0Hz-24MHz 6、三级程序存储器锁定 7、1288 位内部 RAM 8、32 可编程 I/O 线 9、两个 16 位定时器/计数器 10、5 个中断源 11、可编程串行通道 12、低功耗的闲置和掉电模式 13、片内振荡器和时钟电路 3.3 AT89C51 引脚功能说明 图 3-1 AT89C51 芯片引脚图 VCC:供电电压。GND:接地。P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL门电流。当 P0 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时,P1 口作为第八位地址接收。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口 在 FLASH 编程和校验时接收高八位地址信号和控制信号。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如表 3-1 所示:表 3-1 P3 口的一些特殊功能 引脚 第二功能 功 能 说 明 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 片外 RAM 写选通信号输出端 P3.7 RD 片外 RAM 读选通信号输出端 P3 口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时,ALE 只有在执行MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE 禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。/EA/VPP:当/EA 保 持 低 电 平 时,则 在 此 期 间 外 部 程 序 存 储 器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3.4 AT89C51 的振荡器与时钟电路 单片机内各部件之间有条不紊的协调工作,其控制信号是在一种基本节拍的指挥下按一定时间顺序发出的,这些控制信号在时间上的相互关系就是 CPU 时序。而产生这种基本节拍的电路就是振荡器和时钟电路。AT89C51 单片机内部有一个用于构成振荡器的单级反相放大器,如图 3-2 所示。图 3-2 AT89C51 内部振荡器电路图 引脚 XTAL1 为反相器输入端,XTAL2 为反相器输出端。当在放大器两个引脚上外接一个晶体(或陶瓷振荡器)和电容组成的并联谐振电路作为反馈元件时,便构成一个自激振荡器。单片机也可采用外部振荡器向内部时钟电路输入一固定频率的时钟源信号。此时,外部信号接至 XTAL1 端,输入给内部时钟电路,而XTAL2 端浮空即可。3.5 AT89C51 的复位方式 单片机在开机时或在工作中因干扰而使程序失控或工作中程序处于某种死循环状态等情况下都需要复位。复位的作用是使中央处理器CPU 以及其他功能部件都恢复到一个确定的初始状态,并从这个状态开始工作。3.5.1 复位原理 AT89C51 单片机的复位靠外部电路实现,信号由 RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持 RST 引脚高电平两个机器周期,单片机即复位。复位后,PC 程序计数器的内容为 0000H,其他特殊功能寄存器的复位状态如表 3-2 所示。片内 RAM 中内容不变。表 3-2 特殊寄存器的复位状态 SFR 符号 地址 复位值 功能名称*ACC 0E0H 00000000B 累加器*B 0F0H 00000000B B 寄存器*PSW 0D0H 00000000B 程序状态字 SP 81H 00000111B 堆栈指针 DPL 82H 00000000B 数据寄存器指针(低 8 位)DPH 83H 00000000B 数据寄存器指针(高 8 位)*P0 80H 11111111B P0 口锁存器*P1 90H 11111111B P1 口锁存器*P2 0A0H 11111111B P2 口锁存器*P3 0B0H 11111111B P3 口锁存器 *IP 0B8H XXX00000B 中断优先级控制寄存器 3.5.2 常用复位电路 一般有上电复位、手动开关复位和自动复位电路三种,如图 3-3所示:图 3-3 单片机复位电路图(a)上电复位电路;(b)手动复位电路;(c)自动复位电路 3.6 AT89C51 的程序执行方式 程序执行方式是单片机的基本工作方式,即执行用户编写好并存放在 ROM 中的程序。3.7 AT89C51 的省电方式 AT89 系列单片机有两种省电运行方式,即空闲方式和掉电方式。省电方式可使单片机功耗最小。单片机正常工作时消耗 1020 mA 电流,空闲方式工作时消耗 1.75 mA 电流,掉电方式工作时消耗 550 A 电流。在空闲和掉电方式下,单片机内部硬件控制电路如图 3-4 所示:3-4 空闲和掉电方式内部电路图 3.8 AT89C51 的芯片擦除 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU 停止工作。但 RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。3.9 锁存器 74LS245 图 3-5 74LS245 引脚图 74LS245 是我们常用的芯片,用来驱动 led 或者其他的设备,它是 8 路同相三态双向总线收发器,可双向传输数据。74LS245 还具有双向三态功能,既可以输出,也可以输入数据。当 8051 单片机的 P0 口总线负载达到或超过 P0 最大负载能力时,必须接入 74LS245 等总线驱动器。当片选端/CE 低电平有效时,DIR=“0”,信号由 B 向 A 传输;(接收)DIR=“1”,信号由 A 向 B 传输;(发送)当 CE 为高电平时,A、B 均为高阻态。由于 P2 口始终输出地址的高 8 位,接口时 74LS245 的三态控制端1G 和 2G 接地,P2 口与驱动器输入线对应相连。P0 口与 74LS245 输入端相连,E 端接地,保证数据线畅通。8051 的/RD 和/PSEN 相与后接 DIR,使得 RD 且 PSEN 有效时,74LS245 输入(P0.1D1),其它时间处于输出(P0.1D1)。3.10 43 矩阵键盘 如图 3-6 所示,本系统采用 43 矩阵键盘,12 个按键分为输入数字键:0、1、2、3、4、5、6、7、8、9;功能键 CRL、ENTER 矩阵键盘。图 3-6 43 矩阵键盘 第 4 章 用 PROTEUS 模拟电子密码锁 4.1 PROTEUS 简介 Proteus 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它 EDA 工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus 是世界上著名的 EDA 工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到 PCB 设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB 设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持 8051、HC11、PIC10/12/16/18/24/30/-DsPIC33、AVR、ARM、8086 和 MSP430 等,2010 年即将增加 Cortex和 DSP 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 IAR、Keil 和 MPLAB 等多种编译器。4.2 PROTEUS 仿真过程 4.2.1 启动 PROTEUS ISIS 编辑环境 点击“开始”菜单,选择“Proteus 7 Professional”程序,在出现的子菜单中选择“ISIS 7 Professional”选项,系统启动界面如图 4-1 所示。图 4-1 启动界面 运行结果如图 4-2 所示:图 4-2 运行结果 4.2.2 选取放置仿真元件 按照需要的元件清单如表 4-1 所示添加元件 表 4-1 元件清单 元件名称 所属类 所属子类 AT89C51 Microprcessor ICs 8051 Family CAP Capacitors Generic CAP Capacitors Generic CRYSTAL Miscellaneous RES Resistors Generic 7SEG-MPX8-CC-BLUE Optoelectronics 6-Segment Displays 74LS245 TTL74LS series Transceivers BUTTON Switches&Relays Switches SOUNDER Speakers&Sounders LED-YELLOW Optoelectronics LEDs 在器件选择按钮中单击“P”按钮,或是执行菜单命令“Library”-“Pick Device/Symbol”,分 别 添 加AT89C51、74LS245、7SEG-MPX8-CC-BLUE、BUTTON、LED-YELLOW、RES、SOUNDER器件,如图 4-3 所示:图 4-3 添加元件 在 ISIS 原理编辑窗口中放置元件,再单击工具箱中的“元件终端图标”,在对象选择器中单击“POWER”和“GROUND”放置电源和地,如图 4-4 所示:图 4-4 放置电源和地 4.2.3 布线 放置好元件后,点击总线图标,先布总线,再连接其他各线。左键双击各元件。设置相应元件参数,完成电路图设计,如图 4-5 所示:图 4-5 电路图 4.2.4 在 PROTEUS ISIS 中进行软件编程 1、在 PROTEUS ISIS 中创建源代码文件 选用 SourceAdd/Remove Source files 命令,如图 4-6 所示:图 4-6 选用 SourceAdd/Remove Source files 命令 将弹出如图 4-7 所示的 Add/Remove Source Code Fils 对话框 图 4-7 Add/Remove Source Code Fils 对话框 点击 code generation tool 下方的下拉式菜单,将列出系统提供的代码生成工具,如图 4-7 所示。在本例中微处理器为 80C51,因此选择“ASEM51”代码生成工具。点选“NEW”按钮,将出现图 4-8 所示的新的源文件建立对话框。在文件名一栏中为源代码键入文件名“AT89C51”,并在文件类型中指定新建源文件的类型为“ASM51 source files(*.asm),如图 4-8所示:图 4-8 新的源文件建立对话框 点击打开按钮,将出现如图 4-9 所示的对话框,点选“是(Y)”按钮,即可完成新源文件的创建和添加,如图 4-10 所示。点击“OK”按钮关闭源代码文件创建对话框。图 4-9 新建源文件对话框图 4-10 源代码文件创建完成 2、在 PROTEUS ISIS 中编辑源代码 在 PROTEUS ISIS 编辑环境中按动 ALT-S 键,打开 Source 菜单,如图 4-11 所示。点选“1.AT89C51.ASM”,即可打开源文件编辑窗口,如图 4-12所示,在编辑环境中键入程序,并保存。图 4-11 打开 Source 菜单 图 4-12 源文件编辑窗口 控制电路软件源程序如下:;*;以下 8 个字节存放 8 位数码管的段码 LED_BIT_1 EQU 30H LED_BIT_2 EQU 31H LED_BIT_3 EQU 32H LED_BIT_4 EQU 33H LED_BIT_5 EQU 34H LED_BIT_6 EQU 35H LED_BIT_7 EQU 36H LED_BIT_8 EQU 37H ;以下 6 个字节存放初始密码 WORD_1 EQU 38H WORD_2 EQU 39H WORD_3 EQU 3AH WORD_4 EQU 3BH WORD_5 EQU 3CH WORD_6 EQU 3DH ;以下 6 个字节存放用户输入的 6 位密码 KEY_1 EQU 3EH KEY_2 EQU 3FH KEY_3 EQU 40H KEY_4 EQU 41H KEY_5 EQU 42H KEY_6 EQU 43H ;*CNT_A EQU 44H CNT_B EQU 45H KEY_CNT EQU 46H ;已 输 出 的 密 码 位数 LINE EQU 47H ;按键行号 ROW EQU 48H ;按键列号 VAL EQU 49H ;键值 ;*;以下为初始化程序,包括数据存储空间初始化,设置初始密码 ORG 00H SJMP START ORG 0BH LJMP INT_T0 START:MOV CNT_A,#00H ;程序初始化 MOV CNT_B,#00H MOV KEY_CNT,#00H MOV LINE,#00H MOV ROW,#00H MOV VAL,#00H SETB P1.0 MOV LED_BIT_1,#00H ;段码存储区清 0 MOV LED_BIT_2,#00H MOV LED_BIT_3,#00H MOV LED_BIT_4,#00H MOV LED_BIT_5,#00H MOV LED_BIT_6,#00H MOV LED_BIT_7,#79H MOV LED_BIT_8,#73H MOV KEY_1,#00H ;输入密码存储区清 0 MOV KEY_2,#00H MOV KEY_3,#00H MOV KEY_4,#00H MOV KEY_5,#00H MOV KEY_6,#00H MOV WORD_1,#6 ;设置初始密码”123456”MOV WORD_2,#5 MOV WORD_3,#4 MOV WORD_4,#3 MOV WORD_5,#2 MOV WORD_6,#1 MOV TMOD,#01H MOV TH0,#(65536-700)/256 MOV TL0,#(65536-700)MOD 256 MOV IE,#82H A0:LCALL DISP ;*;以下为键盘扫描程序,计算键值并存入 VAL LSCAN:MOV P3,#0F0H ;扫描行码 L1:JNB P3.0,L2 LCALL DLY_S JNB P3.0,L2 MOV LINE,#00H LJMP RSCAN L2:JNB P3.1,L3 LCALL DLY_S JNB P3.1,L3 MOV LINE,#01H LJMP RSCAN L3:JNB P3.2,L4 LCALL DLY_S JNB P3.2,L4 MOV LINE,#02H LJMP RSCAN L4:JNB P3.3,A0 LCALL DLY_S JNB P3.3,A0 MOV LINE,#03H RSCAN:MOV P3,#0FH ;扫描列码 C1:JNB P3.4,C2 MOV ROW,#00H LJMP CALCU C2:JNB P3.5,C3 MOV ROW,#01H LJMP CALCU C3:JNB P3.6,C1 MOV ROW,#02H CALCU:MOV A,LINE ;计算键值 MOV B,#03H MUL AB ADD A,ROW MOV VAL,A ;*;以下为按键处理程序,对不同的按键作出响应 CJNE A,#0AH,J1 ;是否为CLR键 MOV R1,KEY_CNT CJNE R1,#00H,J2 LCALL ALARM_1 LJMP START J2:LCALL SHIFTR DEC KEY_CNT W00:LCALL DISP ;等待按键抬起 MOV A,P3 CJNE A,#0FH,W01 LJMP A0 W01:MOV A,P3 CJNE A,#0F0H,W02 LJMP A0 W02:SJMP W00 J1:MOV A,VAL CJNE A,#0BH,J3 ;判 断 是 否 为 ENTER键 MOV R1,KEY_CNT CJNE R1,#06H,J4 MOV A,WORD_1 ;比较密码 CJNE A,3EH,J5 MOV A,WORD_2 CJNE A,3FH,J5 MOV A,WORD_3 CJNE A,40H,J5 MOV A,WORD_4 JNE A,41H,J5 MOV A,WORD_5 CJNE A,42H,J5 MOV A,WORD_6 CJNE A,43H,J5 CLR P1.0 LCALL DLY_L LJMP FINI J5:LCALL ALARM_2 LJMP START J4:LCALL ALARM_1 LJMP START J3:INC KEY_CNT ;按下数字键 MOV A,KEY_CNT CJNE A,#07H,K1 LCALL ALARM_1 W10:LCALL DISP ;等待按键抬起 MOV A,P3 CJNE A,#0FH,W11 LJMP START W11:MOV A,P3 CJNE A,#0F0H,W12 LJMP START W12:SJMP W10 LJMP START LJMP START K1:LCALL SHIFTL W20:LCALL DISP ;等待按键抬起 MOV A,P3 CJNE A,#0FH,W21 LJMP A0 W21:MOV A,P3 CJNE A,#0F0H,W22 LJMP A0 W22:SJMP W20 LJMP A0 ALARM_1:SETB TR0 ;操作错误报警 JB TR0,$RET ALARM_2:SETB TR0 ;密码错误报警 JB TR0,$LCALL DLY_L RET ;*;定时器中断服务程序,用于声音报警 INT_T0:CPL P1.7 MOV TH0,#100 MOV TL0,#253 INC CNT_A MOV R1,CNT_A CJNE R1,#30,RETUNE MOV CNT_A,#00H INC CNT_B MOV R1,CNT_B CJNE R1,#20,RETUNE MOV CNT_A,#00H MOV CNT_B,#00H CLR TR0 RETUNE:RETI ;*;段码,输入密码左移子程序 SHIFTL:MOV LED_BIT_6,LED_BIT_5 MOV LED_BIT_5,LED_BIT_4 MOV LED_BIT_4,LED_BIT_3 MOV LED_BIT_2,LED_BIT_1 MOV LED_BIT_1,#40H MOV KEY_6,KEY_5 MOV KEY_5,KEY_4 MOV KEY_4,KEY_3 MOV KEY_3,KEY_2 MOV KEY_2,KEY_1 MOV KEY_1,VAL RET ;*;段码,输入密码右移子程序 SHIFTR:MOV LED_BIT_1,LED_BIT_2 MOV LED_BIT_2,LED_BIT

    注意事项

    本文(毕业设计单片机控制电子锁.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开