资源目录
压缩包内文档预览:(预览前20页/共41页)
编号:546316
类型:共享资源
大小:354.33KB
格式:ZIP
上传时间:2015-12-01
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
电气电子毕业设计论文
- 资源描述:
-
毕业设计20单片机密码锁.易勇,电气电子毕业设计论文
- 内容简介:
-
电子密码的设计 第 1 页 共 41 页 基于单片机的数字式电子密码锁 学生姓名:易勇 班级: 04041234 指导老师 : 摘要 : 当今安全信息系统应用越来越广泛,特别在保护机密、维护隐私和财产保护方面起到重大作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它 具有重 大的现实意义。 本 次 设计 以电磁继电器 模拟密码锁, 由单片机 8051 来控制锁的打开与闭合,由 HD7279 来管理器键盘及显示,密码从键盘输入,用 8051 来控制 7279 显示当前锁的状态信息及报警。 本次设计的核心是软件部分,通过编程来控制输出高低电平,再加上硬件电路来实现开锁和报警 的功能, 密码为 46 位, 且设计的电子密码系统稳定性能好,安全系数高 , 其方法和技术可广泛用于仓管、防盗门、密码箱等安全系统。 关键词 : 单片机开发系统 密码锁 串口通信 nts电子密码的设计 第 2 页 共 41 页 目录 第一章 前言 . 4 1 1 课题的背景及意义 . 4 1 2 国内外发展现状 . 4 1 3 本文的主要研究内容 . 4 第二章 系统的组成及工作原理 . 5 2 1 需求分析 . 5 2 1 1 设计内容与要求 . 5 2 1 2 系统框图 . 5 2 2 系统组成 . 5 2 3 系统工作原理介绍 . 5 第三章 硬件电路设计 . 7 3 1 单片机最小 系统设计 . 7 3.1.1 时钟电路 . 7 3.1.2 复位电路 . 8 3 2 HD7279 键盘显示模块 . 10 3 3 开锁电路 . 13 3 4 报警电路 . 14 第四章 软件设计 . 15 4 1 软件设计分析 . 15 4 2 系统资源分配 . 15 4 3 程序设计 . 16 4 3 1 主程序设计 . 16 4 3 2 数字键处理程序 (SKEY) . 17 4 3 3 确认键处理子程序 (MKEY_2) . 18 4 3 4 密码判断子程序 (COMP) . 18 4 3 5 密码修改子程序( GMM) . 19 4 3 6 显示处理子程序 . 21 4 3 7 键盘扫描子程序 . 22 4 4 程序清单及注释 . 22 第五章 实验调试及测试结果 . 23 nts电子密码的设计 第 3 页 共 41 页 5 1 硬件调试 . 23 5 2 软件调试 . 23 5 3 总体调试 . 24 第六章 总结 . 25 6 1 实现功能 . 25 6 2 不足之处和改进意见 . 25 6 3 心得体会 . 25 6 4 致谢 . 26 参考文献 . 27 附录一 源程序及注释 . 28 附录二 电路总图 . 40 附录三 元器件清单 . 41 nts电子密码的设计 第 4 页 共 41 页 第一章 前言 1 1 课题的背景及意义 随着现代化工业生产过程复杂性与集成化程度的增加,自动控制系统在工业过程中已成为不可缺少的重要组成部分,是电子技术与自动控制理论的紧密结合,并广泛应用于工业、农业、医学、国防和军事等等领域。自动控制系统应用于工业控制有各种各样的结构和形式,实 现各自不同的功能 , 此次 设中用到的ATC89C51就是一种新型的价格便宜而性能优良的单片机系统,结构简单,布局合理,功能齐全,用途广泛。 用单片机开发系统来做这次课程设计,使得更进一步掌握如何利用接口电路进行硬件系统的设计,以及如何进行软件设计的方法和技术。且设计的电子密码锁安全系数高,性能稳定, 面向应用 ,设计的系统具有很强的现实意义。 1 2 国内外发展现状 一直以来,市场上的密码锁产品都是基于机械原理的机械密码锁,这种密码锁最大的缺点就是结构简单,安全系数低,且不具有报警功能。但着 当今社会对家庭财产, 公共隐私等保密性要求提高,使得对密码锁系统的安全性提出了更高的要求 , 而 随着微电子技术的发展,微处理器与微型计算机得到迅速的发展,单片微型计算机功能强,结构紧凑,体积小,功耗低,抗干扰能力强,稍加一定的外围设备就方便地构成一个应用系统 ,这正好符合密码锁系统的要求,国内外市场上的相关产品也越来越多地使用单片机来加强密码锁的安全性稳定性。 1 3 本文的主要研究内容 本文的主要研究基于单片机 8051为核心控制的电子密码锁安全系统, 本次设计以电磁继电器模拟密码锁,由单片机 8051来控制锁的打开与闭合,由 HD7279来管理器键盘及显示,密码从键盘输入,用 8051来控制 7279显示当前锁的状态信息及报警。 本次设计用单片机开发系统来模拟密码锁的多种功能 ,密码由 4-6位数字组成,当输入密码相符时开锁,输入三次不符报警,同时密码可以修改。开锁单片机开发出开关量,通过光电耦合器控制,打开密码锁。报警则由单片机发出报警信号,控制音频放大电路发出报警声音。 nts电子密码的设计 第 5 页 共 41 页 第二 章 系统的组成及工作原理 2 1 需求分析 2 1 1 设计内容与要求 (1)设计一个数字式密码锁; (2)密码由 46位数字组成; (3)密码相符则开锁,三次不符则报警; (4)密码可以更新; (5)采用 7279芯片管理键盘显示。 2 1 2 系统框图 图 1.1为本次密码锁设计的总框图: 图 1.1.1 系统框图 2 2 系统组成 本次设计的基于单片机的电子密码锁系统主要由三个模块组成,核心是 89C51单片机,键盘及数码管显示由 HD7279模块电路完成,报警电路由放大电路接扬声器组成,而开锁电路则由光电耦合器及电磁继电器组成。 2 3 系统工作原理介绍 通电复位,电路进入就绪状态,等待用户输入密码, 7279显示 00000000,表示锁闭合。当用户按下“输入 /离开”键后, 8个数码管显示 _ _ _ _ _ _ _ _,等待用户输入密码,输完密码后显示 - - - - - - - - ,按下“确认”键,如输入密码正确则由单片机开发系统 放大电路 扬声器报警 开关量输出 键盘 隔离电磁继电器 nts电子密码的设计 第 6 页 共 41 页 P1.1输出开锁控制信号且绿灯亮, 7279显示 PLEASE.,且控制电磁继电器打开锁。 如输入密码错误,则显示 ERROR X, X为输入错误密码的次数,若连续三次输入错误 ,则由 P1.5输出报警控制信号,并控制音频放大电路,发出报警声音,并且必须等待解出报警后即输入正确密码后方可重新开锁。 输入密码正确后,按下“改密”键,输入 46位密码后再按下“确认”键,则完成了密码更新, 7279重新显示 PLEASE。 在锁打开的状态下,按下“输入 /离开”键,则将锁关闭,指示灯熄灭, 7279重新显示 00000000,表示锁已闭合,用户可以离开。 nts电子密码的设计 第 7 页 共 41 页 第三 章 硬件电路设计 3 1 单片机最小系统设计 本次设计中使用的微处理系统是以 AT89C52为核心的 超 想 3000单片机应用 开发系统。 超想 -3000TB开放式综合实验仿真系统由仿真器、综合实验仪、软件、电源组成。选配 51CPU适配板可在超想 -3000TB开放式综合实验仪上完成 MCS51单片机实验 。 89C51附带的两种典型的电路是时钟电路和复位电路。 主控机系统采用了 Atmel 公司生产的 89C51 单片机,它含有 128 字节数据存储器,内置 4K 的电可擦除 FLASH ROM,可重复编程,大小满足主控机软件系统设计,所以不必再扩展程序存储器。复位电路和晶振电路是 89C52 工作所需的最简外围电路。 3.1.1 时钟电路 时钟电路是计算机的心脏, 89C52芯片内部有一个由反向放大器所构成的振荡电路。 XTAL1、 XTAL2分别为反向放大器的输入和输出端。通常晶振频率为1.2MHz 12MHz。 89C51的时钟电路有内部和外部两种, 如图 3.1和图 3.2所示 。内部时钟由晶振控制,一般典型值为 6MHz、 12MHz。 图 3.1 内部时钟电路 nts电子密码的设计 第 8 页 共 41 页 外部时钟电路由外接时钟来控制。 本次设计采用的是内部时钟方式 ,使得电路更更加简化,也减小系统的生产成本。 3.1.2 复位电路 89C52的复位电路有 上电 复位和系统复位电路 。 上电复位电路如图 3.3所示 , 图 3.3 上电复位电路 图 3.2 外部时钟电路 nts电子密码的设计 第 9 页 共 41 页 本次采用的是系统复位电路。 如图 3.4所示 图 3.4 系统复位电路 综上所述, 单片机最小系统电路图如图 3.5 所示。 89C52 的复位端是一个史密特触发输入,高电平有效,而系统中的时钟接口复位信号都是低电平有效。在复位电路中,按一下复位开关就使在 RS 端出现一段时间的高电平,经过 74LS14 的一次反相整形,提供给单片机复位端。再经过一次反相整形,通过 I/ORST 端提供给外部接口电路。外接 12M 晶振和两个 20P 电容组成系统的内部时钟电路。 nts电子密码的设计 第 10 页 共 41 页 图 3.5 单片机最小系统电路图 3 2 HD7279 键盘 显示 模块 HD7279A是一种管理键盘和 LED显示器的专用智能控制芯片 ,其管脚图如图3.6所示。 DIG0 DIG7和 SA SG同时还分别是 64键盘的列线和行线端口,完成对键盘的监视 , 译码和键 值 的识别。在 88阵列中每个键的键码是用十六进制表示的,可用读键盘数据指令读出,其范围是 00H 3FH。 HD7279与微处理器仅需 4条接口线,其中 CS为片选信号(低电平有效)。当微处理器访问 HD7279A( 读键号或写指令)时,应将片选端置为低电平。 DATA为串行数据端,当向 HD7279A发送数据时, DATA为输入端;当 HD7279A输出键盘代码时, DATA为输出端。 CLK为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。 KEY为按键信号输出端,在无键按下时为高电平;而有键按下时此引脚变为低电平并且一直保持到键释放为止 。 nts电子密码的设计 第 11 页 共 41 页 图 3.6 HD7279A管脚图 RC引脚用于连接 HD7279A的外接振荡元件,其典型值 R=1.5k,C=15pF。RESET为复位端。该端 口 由低电平变成高电平并保持 25ms即 复位结束。通常,该端 口 接 +5V即可。 DIG0 DIG7分别为 8个 LED管的位驱动输出端。 SA SG分别为LED数码管的 A段 G段的输出端。 DP为小数点的驱动输出端。 HD7279A片内具有驱动电路,它可以直接驱动 1英 寸 及以下的 LED数码管,使外围电路变得简单可靠。A-G和 DP为显示数据,分别对应 7段 LED数码管的各段。当对应的数据位为 1时,该段点亮,为 0时则不亮。此指令灵活,通过造字形表,可以显示用户所需的字符。字形码表如表 3-1所示: 表 3-1 7279 字形码表 显示字符 显示码 显示字符 显示码 0 7EH 8 7FH 1 30H 9 7BH 2 6DH g 5FH 3 79H o 1DH 4 33H d 3DH 5 5BH p 67H 6 5FH L 16H 7 70H 熄灭码 00H nts电子密码的设计 第 12 页 共 41 页 HD7279键盘显示模块 电路如图 3.7所示 图 3.7 7279 键盘显示模块 电路 nts电子密码的设计 第 13 页 共 41 页 3 3 开锁电路 开锁控制电路由 单片机 P1.4控制, P1.4接光电耦合器和电磁继电器,开锁电路如图 3.8所示 当单片机发出开锁信号时, P1.4口为低电平,通过具有功率放大作用的74LS07,驱动光电耦合器的发光二极管导通发光,接收三极管吸收光而导通 ,从而使与三极管集电极相连的电磁继电器的中心抽头由“常闭”接到“常开”,从而将锁打开。 参数设计 : R1为限流电阻,与 VCC和光耦内的发光二极管相连,由于发光二极管当流过的电流在 510mA时正常发光,所以, 当 P1.4为低电平( 0.3v) 时,二极管电流为: 0 .7 0 .31V c ci R Vcc=5v, i=510mA, 0.7v为二极管本身的管压降, 0.3v为低电平电压, 则 R1为 4701K,本设计中取 510欧。 同理 R3取 1K欧。 图 3.8 开锁电路控制电路 nts电子密码的设计 第 14 页 共 41 页 3 4 报警电路 报警电路模块如图 3.9 所示。 此报警电路由 74LS00的与非门和两个三极管构的功率放大电路组成, 当 P1.5输入低电平的,驱动喇叭发出特定频率的报警声音,频率为 f=1/2.2RC, 声音非常响亮,很适合做报警用。 图 3.9 报警模块电路 参数设计 :设定报警声音的频率为 1000Hz,则由 f=1/2.2RC,选择 R1=R2=R=1K,则通过计算 C应取 0.47uF。 用于功率放大的两个级联三极管中,第一级就选择 9014,其放大倍数可达1000,且工作频率高,适用于放大功率。而第二级应选择 9013,其良好的噪声系数可可改善电路的信噪比。 nts电子密码的设计 第 15 页 共 41 页 第 四 章 软件设计 4 1 软件设计分析 软件是系统的指挥中心,由它来配合控制完成各种预定功能。为了充分发挥AT89C51优越的性能价格比,在设计上尽量做到硬件 “软化 ”,使系统硬件设计得到简化。系统软件采用 MCS-51汇编语言编写,采用了模块化结构设计。为增强系统的实时性,对那些偶发事件采用中断方式处理 , 主程序主要用于 系统的控制和管理 。 4 2 系统资源分配 (1)、 键盘及显示安排 数字键: 0 9 个 命令键: 输入 (0AH) 、确认 (0BH)、改密( 0CH) 数码管: 8 个 (2)、 内存单元及 P1口安排: 标志位: 00H 键标志 P1口 : P1.0 CS 01H 输入 标志 P1.1 CLK 02H 锁状态 标志 P1.2 DATA 03H 改密标志 P1.3 KEY 显缓区: 40H-47H (7279) P1.4 光耦 P1.5 报警电路 显示指针: 22H 密码暂存指针: 23H 原始密码区: 30H37H 密码暂存区: 38H3FH 原始密码位数: 50H 输 入密码位数: 51H 堆栈区: 68H 7FH 错误密码次数: 52H nts电子密码的设计 第 16 页 共 41 页 4 3 程序 设计 4 3 1 主程序 设计 程序主要完成初始化、显示处理、 送 7279 显示、 键盘扫描以及键处理等功能,其中初始化又涉及内存单元,显缓区,堆栈,及各寄存器的初始化,其流程框图见图 4.1 系统加电后,开始运行主程序 , 开始对各存储单元以及中断初始化,还要对初始化 显示处理 键扫、求键号 键处理 有键按下否 ? 输入键处理 确认键处理 修改密码键处理 数字键处理 开始 N Y 图 4.1 主程序流程框图 nts电子密码的设计 第 17 页 共 41 页 密码初始化,等待键按下,若为某个功能键,如为 “输入”键,则输入 4-6位数字,再按“确认”键,转入密码判断子程序,若输入与密码相符,则将 P1.1置为高电平,否则密码错误记数单元加一,如果连续三次错误就将 P1.0置为高电平;如果需要修改密码,先输入正确密码并确认后,相应的标志位置一后,入新密码按“密码修改”键后才有效,并保存新密码。 4 3 2 数字键 处理 程序 (SKEY) 数字键处理 程序 (SKEY)先判断此时是输入密码准备开锁还是修改密码 ,若输入新密码则将数字存放到原始密码区,若要校验密码,则将数字存放至密码暂存区。 数字键处理 程序 (SKEY)框图如图 4.2所示 输入标志是否为 1? 改密标志为 1? 输入 48 位密码保存至383FH,输入密码的位数保存到 51H 输入 48 位密 码 保存至3037H,输入密码的位数保存到 50H 返回 Y N Y N 图 4.2 数字键处理 子程序框图 nts电子密码的设计 第 18 页 共 41 页 4 3 3 确认键处理子程序 (MKEY_2) 确认键处理子程序功能是,判断前面按的数字键是输入密码还是修改密码,若是输入密码则调用密码比较子程序,比较完毕再采取相应的动作;若是修改密码则将密码从暂存区送至原始密码存储区。 确认键处理子程序 (MKEY_2) 框图如图 4.3所示 4 3 4 密码判断子程序 (COMP) COMP子程序的功能是将输入值与密码相比较,输入与密码一 致则亮灯, 并将锁打开, 三次输入错误则报警,其中一个重要环节是密码位数的比较,当每按下 1-9数字时,计数器 30H加一,即 30H单元内容存放输入位数,首先将其与密码位输入标志是否为 1? 改密标志为 1? 调用密码比较子程序 清输入标志 清改密标志 返回 Y N Y N 图 4.3 确认键处理子程序框图 nts电子密码的设计 第 19 页 共 41 页 数比较,不相同则密码错误,这样就避免了当密码位数大于输入值位数时出现的问题。若位数一致再逐位比较数值是否相同。 比较子程序流程图如图 4.4 图 4.4 密码判断子程序流程图 4 3 5 密码修改子程序( GMM) 此子程序涉及到判断子程序中设置的标志位 ,当密码输入正确时,标志位置 1,否则置 0,标志位为 1才可修改密码,这样就保证了密码是在输入正确密码后才能密码判断程序入口 输入位数 51H=密码位数 50H? 原始密码指针 R0、输入密码指针 R1、比较次数 R7 初始化 输入值 R1= 密码 0? R7-1=0? 开锁,点亮指示灯,置锁状态标志位 02H 返回 错误次数 53H 加 1,置锁状态 02H 为 0 错误次数大于 3 否? 报警,显示出错,延时5 分钟后使系统复位 Y Y Y N N N N Y 修改指针 nts电子密码的设计 第 20 页 共 41 页 被修改。 密码修改完成后, 按下确认键, 锁重新回到打开的状态,并且清除改密标志。 密码修改子程序流程图如图 4.5所示 : 图 4.5 密码修改子程序流程图 改密程序入口 改密标志 =1? 锁 状 态 标 志=1? 输入 48 位新密码存入以 38H 为首址的单元中 N 输入密码位数送 R7、指针初始化 新密码 R1 覆盖原始密码 R0 修改指针 循环次数R7-1=0? 返回 N N Y Y Y nts电子密码的设计 第 21 页 共 41 页 4 3 6 显示处理子程序 显示处理主要完成将要显示的字符查表得到其字形码后送到 7279 显示模块显示出来。 7279 采用串行接口,每发送一位都要延时,且要对其初始化后才可能 正确地显示。 显示处理子程序流程框图如图 4.6 所示 图 4.6 显示处理子程序流程框图 显示程序入口 显缓指针 R0、显示码 R1、循环次数 R7 初始化 置 CS 为低电平,并延时50us 延时 8us,去除片选信号,修改 R0 和 R1 发显示码到 7279,并延时25us R0 单元内容查表,将得到的字形码发送至 7279 R7-1=0? 返回 Y N nts电子密码的设计 第 22 页 共 41 页 4 3 7 键盘扫描 子程序 键盘处理主要是不断的扫描 7279 模块中的键盘,若有键按下时,则根据得到的键值查表求出其键号,将键号存放于寄存器 ACC 中供主程序处理。其流程图如图 4.6 所示。 图 4.7 流程图 键盘处理子程序 4 4 程序清单及注释 见附录 键盘处理入口 置 7279 的 CS 有效,并延时 30us 发送读键指令码 15H 到7279,并延时 12us 接收键值存于 A 中,CS 信号 置键标志 00H A 为 FFH 否 清键标志 00H 由键 值查键号 返回 N Y nts电子密码的设计 第 23 页 共 41 页 第 五 章 实验调试及测试 结果 5 1 硬件调试 (1) 在得到正确的理论依据后,便开始了组装调试过程。 首 先从基本要求部分开始连接,并且每连接一级电路检测一下以保证在无误的前提下再去连接其他电路;通过设计的电路图的帮助,依次将其余部分连接好,用电压表检测各级输出无误后确定整个电路连接正确再进行下面的操作,看是否实现了我们所期望的要求效果,从而实现硬件方面的连接 。 (2) 本系统主要检测 7279键盘显示模块,因为通过键盘显示,可以直观的知道程序是否基本运行正常,是否按时预定的显示。 调试中发现,没有用到的两个数码显示管显示乱码,于是在 字形表中增加两项,将两个显示乱码的数码管熄灭。 (3) 测试中发现 P1.6置 1后,与 P1.6相连的发光二极管不亮,在排除二极工作正常的情况下,确定是 P1.6工作不正常,于是将发光二极管改连接到 P1.7,并修改程序,将 P1.6换成 P1.7。 5 2 软件调试 (1)排除硬件故障后 开始对程序进行调试, 调试软件时采取的是分步测试后再集成测试的原则,将键扫程序输入单片机开发系统,运行后按开发系统上的键盘,看显示数码管能否显示所按键的键号。在此基础上,将完整的程序输入单片机开发系统,运行后用示波器观察 8031的 P1.0端的信号是否会随按键而发生由高电平向低电平的跳变,若有跳变说明软件调试成功。 (2) 将硬件部分连接上检查二极管以及喇叭是否能正常发光及发声,起初,二极管不发光,我们首先对硬件检查无误,再对程序进行分析,发现调用的延时时间太短,以至二极管发光时肉眼无法变出,将延时时间加长后即可观察出发光二极管的变化;接着再输入数字位数与密码不符时,二极管也会发光,比如密码是 1234,若输入为 123456或 12345时,标志开锁的二极管会亮,不和要求,于是在判断密码子程序中加了先判断输入位数与密码位数的比较指令,这样 就能达到设计要求了。 nts电子密码的设计 第 24 页 共 41 页 (3). 调试中发现密码修改后第一输入新密码校验时,显示密码错误,而在第二次输入新密码时才显示密码正确,并将锁打开。检查程序发现是由于程序设计中,在“确认”键处理子程序中,没有重新将输入密码的位数清零,导致修改密码后,再次输入新密码校验时,由于密码位数不正确,导致显示密码错误。 (4). 调试中输入三次错误密码后,并没有报警, 只是显示 00000000密码错误而已,再次回到程序,报警处理由原来的“确认”键处理子程序移到密码校验子程序中进行,主要是因为回到“确认”键处理中,标志已经改变,导 致无法报警,移动后,报警正常。 5 3 总体调试 经过了对硬件和软件的调试后,所有的功能都得以实现。在锁闭合的状态下,数码管显示 0000 0000, 当输入与密码相符时,开锁发光二极管正常发光,且驱动电磁继电器开锁,此时数码管显示 PLEASE.欢迎信息。第一次输入密码错误后显示 ERROR1,第二次则显示 ERROR2,第三次则显示 ERROR3,闪烁 10秒钟,并驱动报警电路发出十分响亮的警报。 当通过了密码校验后,按下改密键,相应输入 46 位密码后,回到开锁的状态,密码更新成功。 本系统还设计了一个小功能,在锁打开的状态下,按下“输入”键后,锁重新闭合,数码管显示 0000 0000,表示锁已闭合,用户可以离开。 调试至此,设计要求的功能都已全部实现,而且在此基础上还造出字形表,使数码管显示良好用户停息。 nts电子密码的设计 第 25 页 共 41 页 第六章 总结 6 1 实现功能 经过 查阅资资料 设计方案, 电路连接后进行 实验调试,所设计的基于 单片机8051的 电子密码锁安全 系统已经实现了所要求的基本功能。主要功能如下: 1、具有友好便捷的键盘、显示接口; 2、 单片机控制密码锁的开关 ; 3、 报警 功能 ; 4、修改密码功能 。 6 2 不足之处和改进意见 本系统不足之处在 于密码掉电后不能存储,重新加电后密码为恢复为原始密码,应该加入存储芯片如 2402作为密码存储器,使得系统掉电后也能存储密码,增强系统的安全性。此处 主控机部分没有加上看门狗,如果系统在环境比较恶劣的情况下可能会导致系统工作不稳定,如果加上将提升系统的抗干扰能力 。 6 3 心得 体会 1 审题,就是认真分析设计课题的要求, 分析每一个要求实现的功能需要用到哪些硬件模块, 应该与哪些电路进行连接 , 各模块之间有哪些联系, 通过查资料、请教老师得出设计的方案,仔细考虑及比较 各方案,选择出最合理可行的,并进一步理解原理,这样在调试和查错时,就可以更快找出错误和解决问题, 2 在设计程序之前一定要清楚地分析出系统各资源的分配,如内存单元的分配,显示缓冲区、密码暂存区等的分配,还有 P口的分配,只有完全掌握了系统资源才能在程序设计中很好地进行调配,从而完成预定的功能。 3 在调试电路时,发现所设计的电路出现问题,应认真分析其问题发生的种种可能因素,再分别有针对性的进行跟踪检查。而之前模拟设计电路所得到的各个分电路的参数,信号波形等正是我们判断电路故障的依据。 nts电子密码的设计 第 26 页 共 41 页 4 在整个课设中, 我认 为是否能充分运用资料是很重要的,尤其是各芯片的功能及其测试方法,设计方案的确定需要查找资料,在组装与调试时,若出现了问题则常常要考虑到芯片的问题,所以要了解芯片的连接与功能,这对排除电路故障有很大帮助。 5通过这次的课程设计,在增强动手能力的同时,我也加深了对所学知识的理解和掌握,而且也进一步掌握了 PROTEL等计算机模拟电路设计辅助软件。也初步形成了逐级设计电路的思想和分级检查电路的思路。由于本次课程设计是两人一组,因此与同组人的合作也是非常关键的,这也锻炼了自己的团结合作精神,这对以后我的学习和工作是 很有利的。 6 4 致谢 在本课题的整个研究设计过程中,得到了许多老师和同学的鼎力相助,借此机会向他们表示诚挚的谢意。 首先感谢我的指导老师张永 亮 老师。在整个的设计过程中,张 老师对我们热心指导、严格要求,在选题、系统总体设计与技术方案上,给予宝贵的建议,帮助我建立了正确的设计思想,保证了课题的研究和开发工作的顺利完成。我从他那里学到的不仅仅是学术方面的知识,更重要的是严谨的治学态度。 感谢电子系的各位老师,正是因为他们一丝不苟,任劳任怨的教学,我们才能具有扎实的基本功来进行设计工作。还要感谢老师们为我们的 毕业设计提供了良好的环境和仪器设备。有了这些,我们才能够高效率的完成任务。 nts电子密码的设计 第 27 页 共 41 页 参考文献 1.沈美明、温冬婵 .IMB PC 汇编语言程序设计 .北京:清华大学出版社出版 . 1991.6(1) 2.张友德、赵志英、涂时亮 .单片微型机原理、应用与实验 .上海:复旦大学出版社出版 . 2000.11(3) 3.白英彩 .微型计算机常用芯片手册 . 上海 :上海科学出版社出版 . 1984.12(1) 4.周明德等 .微型计算机接口电路及应用 .北京:清华大学出版社 . 1987.4(1) 5.吴金戍、沈庆阳、郭庭吉 .8051单片机实践与应用 .北京:清华大学出版社出版 . 2002.9( 1) 6.潘新民、王燕芳 .单片微型计算机实用系统设计 .人民邮电出版社出版 . 1992.7 7.何立民 . 单片机应用技术选编 (1-8). 北京:北京航空航天大学出版社 . 2001 8. 王福瑞 . 单片微机测控系统设计大全 . 北京:北京航空航天大学出版社 . 1998.4 9.雷霖 . 现场总线控制网络技术 . 北京:电子工业出版社 . 2004 nts电子密码的设计 第 28 页 共 41 页 附录 一 源程序及注释 程序清单 ORG 0000H LJMP MAIN MAIN:MOV SP,#67H ;堆栈初始化 LCALL INITH ; 7279 显示初始化 MOV R7,#35H ;循环次数 MOV R0,#20H ;建立指针 M_0:CLR A ;目标单元清零 MOV R0,A INC R0 ;修改指针 DJNZ R7,M_0 MOV 50H,#08H ; 密码位数初始化 MOV 53H,#00H ; 密码错误次数初始化 CLR 01H ; 输入标志 CLR 02H ; 锁的状态,闭合还是打开 CLR 03H ; 改密标志 CLR P1.6 ; 改密过程中亮灯 CLR P1.4 ; 接发光二极管 CLR P1.5 ; 接报警电路 LCALL MMINTI ; 密码初始化 DD: LCALL DIR ;显示子程序,将显缓区数据查表后送显 LCALL KEY ;健盘处理,扫描键盘后查键号 CJNE A,#0FFH,M_1 ;判断是否有键按下 SJMP DD M_1:CJNE A,#0AH,M_2 M_2:JNC M_3 ACALL SKEY ; 数字键处理子程序 nts电子密码的设计 第 29 页 共 41 页 SJMP DD1 M_3:CJNE A,#0AH,M_4 ACALL MKEY_1 ; 输入键处理子程序 SJMP DD1 M_4:CJNE A,#0BH,M_5 ACALL MKEY_2 ; 确 认键处理子程序 SJMP DD1 M_5:CJNE A,#0CH,DD1 ACALL MKEY_3 ;改密键处理子程序 DD1:SJMP DD ;显缓区初始化,显示 00000000 DIS_INITI:MOV R7,#08H ; 循环次数 MOV R0,#40H ;建立指针 DIS_1:MOV R0,#00H ;清零 INC R0 ;修改指针 DJNZ R7,DIS_1 RET ;原始密码初如化 ,原始密码为 04041234 MMINTI:MOV R0,#30H ;原始密码存放区指针 MOV R7,#08H ;循环次数 MOV A,#00H MOV R6,#00H MM_1:MOV A,R6 ADD A,#06H ;距离 MOVC A,A+PC ;查表 MOV R0,A INC R0 ;修改指针 INC R6 nts电子密码的设计 第 30 页 共 41 页 DJNZ R7,MM_1 RET TAB:DB 00H,04H,00H,04H,01H,02H,03H,04H ;键盘处理 KEY:ACALL KEY1 ;键盘扫描 CJNE A,#0FFH,LPP1 ;判断是否有键按下 CLR 00H ;清标志 RET LPP1:JB 00H,LPP2 ;是否有键按下 SETB 00H ;
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。