电子密码锁的设计与制作_第1页
电子密码锁的设计与制作_第2页
电子密码锁的设计与制作_第3页
电子密码锁的设计与制作_第4页
电子密码锁的设计与制作_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

编号 淮安信息淮安信息职业职业技技术术学院学院 毕毕业业论论文文 题 目电子密码锁的设计与制作 学生姓名周凯 学 号16111125 系 部电子工程学院 专 业光电子技术(光伏发电) 班 级161111 指导教师徐传顺 顾问教师 二一四年六月 摘 要 I 摘摘 要要 随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机 技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了 通用计算机系统和嵌入式计算机系统两大分支。单片机单芯片的微小体积和低 的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系 统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及 通讯产品中,成为现代电子系统中最重要的智能化工具。 本设计以 AT89C51 单片机为控制核心,结合矩阵键盘、24C02A 存储系统 等来完成电子密码锁的设计。单片机接收键入的代码后,与存贮在 24C02A 的密 码进行比较,如果密码输入正确,则锁将打开;如果输入不正确则系统报警, 但是允许接着输入密码,直到输入正确,系统开锁,设计达到预期效果。 本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码 锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流 程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。 关键词关键词 44 矩阵键盘 AT89C51 24C02A 存储系统 电子密码锁 Abstract II Abstract With the development of science and technology, SCM is not a strange noun, its appearance is an important milepost of modern computer technology development history, because the microcontroller marks the birth of computer was officially formed the general computer systems and embedded computer system two branches. Single chip microcontroller tiny size and low cost, can be widely embedded in such as toys, household appliances, robotics, instrumentation, automotive electronics, industrial control unit, office automation equipment, electronic financial systems, ship, personal information terminal and communication products, become the most important intelligent tool in modern electronic systems. This design USES AT89C51 single chip microcomputer as control core, combined with the matrix keyboard, 24 c04a storage system to complete the design of the electronic combination lock, etc. MCU receives the type in the code, after comparing with storage at 24 c04a password, if the password is correct, the lock will open; If the input is not correct the system alarm, but allow and then enter the password, until the input is correct, system lock, designed to achieve the desired effect. This design is a microcontroller password lock design, based on the requirements, the microcontroller password lock hardware circuit and software program, it also gives the type selection, hardware design, software flow chart, microcontroller storage unit allocation, assembly language source code and detailed notes. Keywords: 4*4matriix keyboard AT89C51 24c02a storage system electronic combination lock 目 录 III 目目 录录 摘摘 要要I ABSTRACTII 第一章第一章 绪论绪论.1 1.1 背景1 1.2 电子锁1 1.3 电子密码锁的特点1 1.4 电子密码锁的的发展趋势2 第二章第二章 系统总体方案设计系统总体方案设计.3 2.1 系统结构3 2.2 总体方案比较与论证3 2.3 各方案试验比较4 第三章第三章 硬件设计硬件设计.7 3.1 单片机 AT89C51 简介.7 3.1.1 主要特性7 3.1.2 管脚的说明8 3.2 输入键盘9 3.3 显示部分10 3.3.1 引脚的功能10 3.3.2液晶显示指令10 3.3.3 液晶显示指令12 3.4 震荡电路12 3.5 外部存储12 3.5.1 24c02 引脚说明 13 3.5.2 24c02 内部寻址,读/写操作.13 第四章第四章 系统软件设计系统软件设计.15 4.1 主程序模块15 4.2 键盘扫描及识别子程序16 4.3 系统模块密码设置子程序17 4.4 程序调试18 第五章第五章 系统仿真设计系统仿真设计.21 5.1 PROTEUS软件介绍 21 5.2 PROTEUS 仿真图22 目 录 IV 第六章第六章 总结与展望总结与展望.23 致致 谢谢.25 参考文献参考文献.27 附录附录 程序清单程序清单.29 第一章 绪论 1 第一章第一章 绪论绪论 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械 开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路 产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯 片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,特点如 下: 1保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免 因人员的更替而使锁的密级下降。 3误码输入保护。当输入密码多次错误时,报警系统自动启动。 4电子密码锁操作简单易行,一学即会。 5干扰码功能 在输入正确密码前可输入任意码。 1.1 背景背景 随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁自古以来 就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用 方便,这也是制锁者长期以来研制的主题。目前国内,大部分人使用的还是传 统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓 互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。 经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产 品的互开率居然超标26倍。 为何弹子锁的“互开率”会如此之高?据有关专家人士剖析,弹子锁质量好坏 主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件 的限制。此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损 坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁, 提供了发展的空间。 1.2 电电子子锁锁 电子锁是采取电子电路控制,以电磁铁或者卫星电机和锁体作为执行装置 的机电一体化锁具,相比传统的机械锁具,电子锁不使用金属钥匙,保密性、 精度都有很大提高。 电子锁的发明思路,源自古代发明的自动机械,例如古希腊数学家赫伦的 液压自动门,中国古代诸葛亮的木牛流马,它们以重力或蒸汽压力驱动,最广 泛的用途乃是用在古代墓道的地下机关。电子工业的诞生,使得以微小电量驱 动机械成为可能,于是有了电子锁一日千里的跃进。 淮安信息职业技术学院毕业设计论文 2 1.3 电电子密子密码锁码锁的特点的特点 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械 开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路 产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯 片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,主要特 点如下: 1.保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2.密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以避免因 人员的更替而使锁的密级下降。 3.误码输入保护。当输入密码多次错误时,报警系统自动启动,防止试探密 码。 1.4 电电子密子密码锁码锁的的的的发发展展趋势趋势 从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码 锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运 钞车。键盘式电子密码在键盘上输入,与打电话差不多,因而易于掌握,其突 出优点是“密码”是记在被授权人脑子里的数字和字符,既准确又可靠,不会 丢失(除了忘记) ,难以被窃(除非自己泄露) 。但是密码不能太简单,太简单 了就容易被他人在键盘上试探出来,或者可能被旁观者窥测出来,造成保密性 不足。当然,密码又不能太复杂,太复杂了可能自己都糊涂了,或者输入密码 操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子 密码也在不断发展中,如任意设定密码技术使得被授权人可以根据自己的需要 或喜好设定密码,常用常新;而自动更改密码技术使得本次输入的密码将自动 更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测; 独出心裁的键盘乱序显示技术使得键盘上的固定键位每次显示出的字符不固定, 并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作 也难以窥测出密码;“多重密码设定”技术使得单组密码不一定有效,适合多人分 权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输 入这些密码的先后顺序或时间区段,则保密性还可提高。在输入密码的过程中, 为了限制试探密码的企图,通常输入错误码若干次或若干时间内输入不正确, 即封锁键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键 盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其他类型 电子防盗锁的辅助输入手段。 第二章 系统总体方案设计 3 第二章第二章 系统总体方案设计系统总体方案设计 2.1 系系统结统结构构 本设计主要由单片机、矩阵键盘和数码管等部分组成。其中矩阵键盘用于 输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入 密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断 密码是否正确,并且通过单片开锁机将控制引脚的高低电平送到液晶显示电路 或者报警电路控制开锁还是报警,系统整体框图如图 21 所示 AT89C51 键盘输入模块 复位电路 失电存储开锁电路 报警电路 显示模块 图 2-1 系统结构框图 2.2 总总体方案比体方案比较较与与论证论证 方案一:用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码锁的核心 控制,共设了 9 个用户输入键,其中只有 4 个是有效的密码按键,其它的都是 干扰按键,若按下干扰建,键盘输入电路自动清零,原先输入的密码无效,需 要重新输入;如果用户输入密码的时间超过 10 秒(一般情况下,用户不会超过 10 秒,若用户觉得不便,还可以修改)电路将报警 20 秒,若电路连续报警三次, 电路将锁定键盘 2 分钟,防止他人的非法操作。采用数字电路设计的方案好处 就是设计简单但控制的准确性和灵活性差。 方案二:以 AT89C51 为核心的单片机控制方案,如图 2-2 所示。利用单片 机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接显示 器,键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,而 且单片机编程设计灵活、I/O 端口丰富、控制的准确性高,不但能实现基本的密 码锁功能,还能添加调电存储、声光提示甚至添加遥控控制等附加功能,此外 单片机方案有较大的活动空间,不但能实现缩要求的功能,还能在很大的程度 上扩展功能,而且还可以方便的对系统进行升级。 淮安信息职业技术学院毕业设计论文 4 键盘输入 AT89C51 失电存储 输入错误锁定 延时报警 开锁控制 显示 图 2-2 单片机控制方案 2.3 各方案各方案试验试验比比较较 方案一:由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮 度,恒定发光,因此液晶显示器画质高;同样液晶屏的功率消耗比较小;液晶是 平板型结构,由两片玻璃组成的夹层盒,面积可大可小,安装时占用面积小减 小了设备的体积;液晶的信息量大相同的面积上与数码管比可以显示更多的信 息;且他本身没有老化问题寿命极长;与数码管相比液晶屏显示的更能够看懂, 他能将英文细腻的显示出来是数码管做不到的。然而液晶屏也可在阳光下工作, 具有防风、防雨、防水功能。这就说明能够使用在室外。但是液晶在阳光强的 时候会反光是视角模糊看不清楚,对于这个现象由于屏幕较小可以用手挡住阳 光是自己看的清楚一点。 图 2-3 液晶显示 方案二:用数码管来显示,与液晶相同也能显示数字和字母,但是在显示 字母的时候没有液晶那么细腻很难辨认,而且用数码管显示一个较长的英文就 会用到好几个数码管扩大了空间,就显得美观。数码管的优点是在强光下也能 看清上面显示的内容。 图 2-4 数码管显示 第二章 系统总体方案设计 5 综合两方案的比较用液晶显示比较合适。 淮安信息职业技术学院毕业设计论文 6 第三章 硬件设计 7 第三章第三章 硬件设计硬件设计 3.1 单单片机片机 AT89C51 简简介介 AT89C51 是美国 ATMEL 公司生产的低电压,高性能 CMOS8 位单片机, 片内含 4K bytes 的可反复擦写的只读程序存储器(EPROM)和 128bytes 的随机 存取数据序存器(RAM) ,器件采用 ATMEL 公司的高密度/非易失性存储技术 生产,兼容标准 MCS-51 指令系统,片内置通用 8 位中央处理器(CPU)和 FLASH 存储单元,AT89C51 单片机为许多嵌入式控制系统提供了一种灵活行高 且价廉的方案。 图 3-1AT89C51 芯片 3.1.1 主要特性主要特性 1. 8031 CPU 与 MCS-51 兼容 4K 字节可编程 FLASH 存储器(寿命:1000 写/擦循环) 2. 全静态工作:0Hz-24KHz 3. 三级程序存储器保密锁定 4. 128*8 位内部 RAM 5. 32 条可编程 I/O 线 6. 两个 16 位定时器/计数器 7. 6 个中断源 8. 可编程串行通道 9. 低功耗的闲置和掉电模式 10. 片内振荡器和时钟电路 淮安信息职业技术学院毕业设计论文 8 图 3-2 AT89C51 引脚图 3.1.2 管脚的管脚的说说明明 VCC:供电电压。 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 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 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)这是由于上拉的缘故。 第三章 硬件设计 9 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 /RD(外部数据存储器读选通) 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.2 输输入入键盘键盘 如图 32 所示,采用 44 触点式键盘,分别有数字键,确定键,清除键和 干扰键。 淮安信息职业技术学院毕业设计论文 10 BCD P1_0 P1_1 P1_2 P1_3 P1_4 P1_5 P1_6 P1_7 789清清除除 S3654 S4321 确确认认S20S1 图 3-2 按键图 3.3 显显示部分示部分 为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器 LCD1602 取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才 处于开启状态。同理只有按下关闭按键后显示器才处于关闭状态。否则显示器 将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后 利用键盘上的数字键 09 输入密码,每按下一个数字键后在显示器上显示一个 *,输入多少位就显示多少个*。当密码输入完成时,按下确认键,如果输入的 密码正确的话, LCD 子显示“RIGHT”,单片机其中 P2.0 引角会输出低电平, 使三极管 T2 导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,LCD 显 示屏会显示“ERROR”,P2.0 输出的是高电平,电子密码锁不能被打开。 3.3.1 引脚的功能引脚的功能 表 3-1 液晶显示引脚功能 编号符号引脚说明编号符号引脚说明 1VSS 电源地 8D1Data I/O 2VDD 电源正极 9D2Data I/O 3VL 液晶显示偏压信号 10D3Data I/O 4RS 数据/命令选择端(H/L) 11D4Data I/O 5R/W 读/写选择端(H/L) 12D5Data I/O 6E 使能信号 13D6Data I/O 7D0Data I/O14D7Data I/O 3.3.2液晶液晶显显示指令示指令 第三章 硬件设计 11 表 3-2 显示指令代码 1)清屏显示。指令码 01H,光标复位到地址 00H 位置 2)光标复位。光标返回到地址 00H 3)光标和显示模式设置。I/D:光标移动方向,1:右移,0:左移; S: 屏幕上所有文字是否左移或者右移。1 有效,0 则无效 4)显示开关控制。D:控制整体显示的开与关,1 表示开显示,0 表示 关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B: 控制光标是否闪烁,高电平闪烁,低电平不闪烁 5)光标或显示移位。 S/C:高电平时移动显示的文字,低电平时移动 光标 6)功能设置命令。 DL:0 时为 4 位总线,1 时为 8 位; N:0 时为单 行显示,1 时双行; F: 0 时显示 5x7 的点阵字符,1 时 5x10 7)字符发生器 RAM 地址设置 8)DDRAM 地址设置 9)读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块 不能接收命令或者数据,如果为低电平表示不忙。 10)写数据 11)读数据 控制信号指令代码 RSRWD7D6D5D4D3D2D1D0 功能 0000000001 清屏 000000001* 软复位 00000001I/DS 内部方式设置 0000001DCB 显示开关控制 000001S/CR/L* 位移控制 00001DLNF* 系统方式设置 0001ACG CGRAM 地址设置 001ADD 显示地址设置 01BFAC 忙状态检查 10 写数据 MCU-LCD 11 读数据 LCD-MCU 淮安信息职业技术学院毕业设计论文 12 3.3.3 液晶液晶显显示指令示指令 液晶的读时序图 液晶的写时序图 图 3-3 液晶显示的时序图 3.4 震震荡电荡电路路 图 3-4 震荡电路 本设计晶振选择频率为 12MHZ,电容选择 30pF。经计算得单片机工作胡机 器周期为: 12(112M)=1us。 3.5 外部存外部存储储 EPROM(Erasable Programmable Read Only Memory),中文含意为“可擦除 可编程只读存储器”。它是一种可重写的存储器芯片,并且其内容在掉电的时候 也不会丢失;换句话说,它是非易失性的。它通过 EPROM 编程 器进行编程, 第三章 硬件设计 13 EPROM 编程器能够提供比正常工作电压更高的电压对 EPROM 编程。一旦经过 编程,EPROM 只有在强紫外线的照射下才能够进行擦除。 3.5.1 24c02 引脚引脚说说明明 如下图 3-6 所示: A0,A1,A2地址输入引脚,走位硬件寻址的依据,同种芯片可同时连 接 8 片(23); VCC,GND电源,接地引脚,1.8-5.5v WP写保护,当 WP 接地时,允许对器件的正常读写操作;当 WP 接高 电平时,写保护,只能进行读操作。 SDA串行地址/数据输入/输出端口,双向传输,漏极开路,需外接上拉 电阻到 VCC(典型阻值为 10k)。 SCL串行时钟输入,高低电平不同状态与 SDA 配合,执行不同的命令。 图 3-5 24C02 的引脚功能图 3.5.2 24c02 内部内部寻寻址,址,读读/写操作写操作 前八位是地址地址信号,从最高位(MSB)开始,其中前四位是固定值 1010,后三位有管脚 A0、A1、A2 的基地情况确定。最后一位是读写控制信号, 0 表示写,1 表示读。若与 SDA 线发送过来的地址比较一致,则器件输出应答 0,否则将返回等待状态。 器件内部地址寻址是在器件寻址之后,对 256 个字节进行寻址,直接传送 8 位地址信号(00-FF)对应于器件内部的地址。 先由主机发送起始命令,再发送送器件地址,当主机接收到器件的 ACK 应 答后,便继续发送内部字节地址,当接收到 ACK 应答后继续发送数据,当 8 位 数据发送完毕之后,主机接收到器件的 ACK 应答,在发送停止信号。如图 3-6 所示: 淮安信息职业技术学院毕业设计论文 14 图 3-6 24C02 写寻址 内部地址计数器存放着上一次访问时最后一个地址加 1 的值,只要芯片有 电,该值就被保存。当读到最后页的最后字节,该地址变为 0;当读到某页的页 尾时,该地址转向该页页首。如图 3-7 所示: 图 3-7 24C02 读寻址 第四章 系统软件设计 15 第四章第四章 系统软件设计系统软件设计 因设计主要是作用汇编语言来开发的51单片机项目程序,所以首先必须有 一个可以在Windows XP或Windows vista操作系统下执行的汇编语言编译器,本 设计采用Keil编译器进行编程,因为它可以支持一系列的51单片机。 开始 初始化 模式选择 识别按键 密码输入手动清除 密码比较 开门 旧密码输入 新密码输入 存入缓存区 再次输入密码重新输入 设置完 毕返回 N A N B Y 图 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; 淮安信息职业技术学院毕业设计论文 16 LJMP intermit_t0; ORG 001bh; LJMP intermit_t1; ORG 0030h; start: MOV sp,#60h; lcall sys_initialization;调用子程序 sys_initialization 4.2 键盘扫键盘扫描及描及识别识别子程序子程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循 环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。其 程序流程如图4-2所示 键盘部分程序如下: key:;键盘程序名称 call ks;调用子程序 ks jnz k1;判断是否有键按下 jmp key;跳回键盘程序 ks:mov p1,#0f0h; mov a,p1; xrl a,#0f0h; ret; 第四章 系统软件设计 17 图 4-2 键盘扫描程序流程图 4.3 系系统统模模块块密密码设码设置子程序置子程序 由于设计是分模块化进行,所以子程序是整体软件系统的组成部分,子程 序不但可以使程序化整为零,使其复杂简单化,同时也方便阅读,修改等,每 个功能模块都有它自己的子程序,在本设计中是用LCD显示数据,所以就要用 到显示子程序,设计中用的是矩阵键盘,所以就用到键盘扫描子程序,例如还 有显示初始化子程序、LCD忙检测子程序、关闭状态显示子程序、开锁状态显 示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序等。 如下图为密码修改子程序流程图 淮安信息职业技术学院毕业设计论文 18 选择模式 旧密码输入 新密码输入 存入缓存 再次输入密码 比较密码 重新输入 返回 Y N 是否大于 3 次 锁定 N Y 图 4-3 设置密码子程序 4.4 程序程序调试调试 在硬件支持的环境下,用proteus设计好的电路,Keil编好的程序编译成芯片 可识别的S51文件,利用PC机写进proteus程序图芯片内进行仿真测试,并对其出 现的错误进行修改,由图4-4图4-7可看出最终调试成功。 图 4-4 keil 编译程序成功 第四章 系统软件设计 19 图 4-5 keil 生成 hex 文件 图 4-6 proteus 调用 keil 的 hex 文件进行仿真 淮安信息职业技术学院毕业设计论文 20 w1 w2 w3 w4 w5 w6 w7 w8 D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD2 LM016L 图 4-7 仿真成功密码正确显示图 第五章 系统仿真设计 21 第五章第五章 系统仿真设计系统仿真设计 5.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 等多种编译器。 在 PROTEUS 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可 以在 PROTEUS 的原理图中看到模拟的实物运行状态和过程。 PROTEUS 是单片机课堂教学的先进助手。 PROTEUS 不仅可将许多单片机实例功能形象化,也可将许多单片机实例运 行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物 演示实验难以达到的效果。 它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程 度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路 检测、电路修改、软件调试、运行结果等。 课程设计、毕业设计是学生走向就业的重要实践环节。由于 PROTEUS 提供 了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了 实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实 践精神、创造精神的平台 随着科技的发展, “计算机仿真技术”已成为许多设计部门重要的前期设计手 段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗 资大为减少,也可降低工程制造的风险。相信在单片机开发应用中 PROTEUS 也能茯得愈来愈广泛的应用。 使用 Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒 体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作 能力;在单片机课程设计和全国大学生电子设计竞赛中,我们使用 Proteus 开 发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片 淮安信息职业技术学院毕业设计论文 22 机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设 计效率。因此,Proteus 有较高的推广利用价值。 5.2 Proteus 仿真仿真图图 图 5-2 系统仿真 第六章 总结与展望 23 第六章第六章 总结与展望总结与展望 本设计采用美国 Atmel 公司的单片机 AT89C52 与低功耗 CMOS E2PROM AT24C02 作为主控芯片与数据存储器单元,使用 LCD1602 作为显示器,采用 MAX485 作为与 PC 机的通讯接口,结合外围的键盘输入、显示、报警、开锁等 电路并用汇编编写主控芯片的控制程序,设计了一款可以多次更改密码具有报 警功能的电子密码锁。设计完全可行可以达到设计目地。该密码锁具有软硬件 设计简单,易于开发,成本较低,安全可靠,操作方便等特点,可应用于住宅、 办公室的保险箱及档案柜等需要防盗的场所。该设计还有独特的与 PC 机通讯系 统,在没有输入密码的状态下可以强行开锁,这样就避免了忘记密码带来的使 用不便。 通过这次对基于单片机的数字钟设计的设计与制作过程,加强了我们 动手、思考和解决问题的能力。 在设计过程中我们先后利用keil软件进行编程、Proteus进行仿真、protel进行 原理图的绘制,最后再利用仿真进行检查看程序是否能显示其功能。在过程中 让我进一步深刻的学习各种软件的利用以及各种软件给我们带来的便利。特别 是proteus在没有实物的情况下进行仿真进行程序的检查看是否能现实功能。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知 识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结 论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问 题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得 不够深刻,掌握得不够牢固。所以还得继续努力,进一步提升自己。 淮安信息职业技术学院毕业设计论文 24 致 谢 25 致致 谢谢 在论文完成之际,我首先向关心帮助和指导我的指导老师徐传顺(工程师) 表示衷心的感谢并致以崇高的敬意! 在论文工作中,一直得到徐传顺老师的亲切关怀和悉心指导,徐传顺老师 以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下 了深刻的印象,我将终生难忘。再一次向他表示衷心的感谢,感谢他为学生营 造的浓郁学术氛围,以及学习、生活上的无私帮助! 值此论文完成之际,谨向徐 传顺老师致以最崇高的谢意! 在学校的学习生活即将结束,回顾两年多来的学习经历,面对现在的收获, 我感到无限欣慰。为此,我向热心帮助过我的所有老师和同学表示由衷的感谢! 特别感谢我的师兄、师姐对我的学习和生活所提供的大力支持和关心!还要 感谢一直关心帮助我成长的室友们! 在我即将完成学业之际,我深深地感谢我的家人给予我的全力支持! 最后,衷心地感谢在百忙之中评阅论文和参加答辩的各位专家、教授! 淮安信息职业技术学院毕业设计论文 26 参考文献 27 参考文献参考文献 1 石文轩,宋薇.基于单片机 MCS 一 51 的智能密码锁设计M.武汉工程职业技 术学院学报,2004,(01); 2 祖龙起,刘仁杰.一种新型可编程密码锁J.大连轻工业学院学报,2002,(01); 3 叶启明.单片机制作的新型安全密码锁J.家庭电子,2005,(10); 4 郭海英.基于单片机的电子安全密码锁的设计M.现代电子技术,2005,(13); 5 李明喜.新型电子密码锁的设计J.机电产品开发与创新,2004,(03); 6 董继成.一种新型安全的单片机密码锁J.电子技术,2004,(03); 7 祖龙起,刘仁杰,孙乃凌.一种新颖的电子密码锁J.电子世界,2001,(10); 8 李明喜.新型电子密码锁的设计J.机电产品开发与创新,2004,(03); 9 杨茂涛.一种电子密码锁的实现J.福建电脑,2004,(08); 10 瞿贵荣.实用电子密码锁J.家庭电子,2000,(07); 11 王千.实用电子电路大全M,电子工业出版社,2001,p101; 12 何立民.单片机应用技术选编M,北京:北京航空大学出版社,1998; 13 李华.MCS-51 系列单片机使用接口技术M,北京航空航天大学出版社, 1993; 14 彭为.单片机典型系统设计实例精讲M,北京:电子工业出版社,2006; 15 潘永雄.新编单片机原理与应用M,西安:西安电子科技大学出版社, 2003; 16 童诗白,华成英,模拟电子技术基础M,北京:高等教育出版社,2000; 17 阎石主.数字电子技术基础M, 北京:高等教育出版社,1998; 淮安信息职业技术学院毕业设计论文 28 附录 29 附录附录 程序清单程序清单 en bit p3.0; rw bit p3.1; rs bit p3.2; display equ p0; speaker bit p1.0; led bit p1.2; open bit p1.1; 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; ;主程序 main0: lcall strat_display; main: MOV 52h,#0; 52h 判断输 入错误次数储存地址 setb led; setb tr0; lcall key; cjne a,#A,next1; LJMP set_password; next1: cjne a,#B,next2; LJMP input_password; next2: ajmp main; ;系统初始化 sys_initialization: clr led; clr open; clr speaker; MOV 34h,#1; MOV 35h,#2; MOV 36h,#3; MOV 37h,#4; MOV 38h,#5; MOV 39h,#6; ;存放初始密码 MOV r7,#12; MOV r0,#40h; loop: MOV r0,#10h; inc r0; djnz r7,loop; ;密码键值存放区清零完毕 lcall delay0_1s; MOV p0,#03h; call write_instruction; 液晶 软复位 淮安信息职业技术学院毕业设计论文 30 MOV p0,#01h; call write_instruction; MOV p0,#3fh; call write_instruction; MOV p0,#0fh; call write_instruction; MOV p0,#06h; call write_instruction; ;液晶初始化完毕 MOV r4,#10; MOV tmod,#11h; MOV th0,#3ch; MOV tl0,#0b0h; setb ea; setb et0; ;定时器 T0,0.5S 定时中断 初始化完毕 ret; ;系统初始化完毕 ;中断服务程序 intermit_t0: push acc; push psw; MOV th0,#3ch; MOV tl0,#0b0h; djnz r4,return; cpl led; MOV r4,#10; return: pop psw; pop acc; reti; intermit_t1: push acc; push psw; MOV th1,#9eh; MOV tl1,#58h; djnz r4,return_t1; cpl led; cpl speaker; MOV r4,#10; return_t1:pop psw; pop acc; reti; ;键盘扫描 key: call ks; jnz k1; jmp key; k1: call delay; call ks; jnz k2; jmp key; k2: clr tr0; clr led; MOV r2,#0feh; 附录 31 MOV r6,#00h; k3: MOV a,r2; MOV p2,a; MOV a,p2; jb acc.4,l1; MOV a,#0; LJMP lk; l1: jb acc.5,l2; MOV a,#4; LJMP lk; l2: jb acc.6,l3; MOV a,#8; LJMP lk; l3: jb acc.7,next_key; MOV a,#12; lk: add a,r6; MOV r6,a; k4: call ks; jnz k4; MOV a,r6; MOV dptr,#table0; MOVc a,a+dptr; MOV 50h,a; 查表取值存 入 50h,保护键值 ret; next_key: inc r6; MOV a,r2; jnb acc.7,key; rl a; MOV r2,a; jmp k3; ; ks: MOV p2,#0f0h; MOV a,p2; xrl a,#0f0h; ret; ;设置密码程序 set_password: call clear_display; MOV dptr,#tab

温馨提示

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

评论

0/150

提交评论