收藏 分享(赏)

基于单片机电子密码锁课程设计报告.doc

上传人:精品资料 文档编号:10815955 上传时间:2020-01-11 格式:DOC 页数:36 大小:763.50KB
下载 相关 举报
基于单片机电子密码锁课程设计报告.doc_第1页
第1页 / 共36页
基于单片机电子密码锁课程设计报告.doc_第2页
第2页 / 共36页
基于单片机电子密码锁课程设计报告.doc_第3页
第3页 / 共36页
基于单片机电子密码锁课程设计报告.doc_第4页
第4页 / 共36页
基于单片机电子密码锁课程设计报告.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、电子密码锁- 1 -课程设计论文电子密码锁电子密码锁- 2 -目 录第 1 章 绪 论 .11.1 电子密码锁 .11.2 电子密码锁的特点 11.3 论文的主要工作 .1第 2 章 系统设计方案及主控制芯片介绍 .22.1 系统总体设计方案 .22.2 系统的工作原理 .22.3 主控芯片介绍 .32.3.1 结构概述 3第 3 章 系统硬件设计 .43.1 键盘输入装置 43.2 硬件工作接线口 53.3LED 显示器结构与原理 .53.4 复位电路 63.5 继电器开关门装置 63.6 声光报警装置 .7第 4 章 系统软件设计 .74.1 编程工具的介绍 84.1.1 C 语言的主要优

2、点 84.1.2 C 语言使用的工具 84.1.3 C51 与 C 语言的主要不同点 84.2 主程序 .8电子密码锁- 3 -4.3 矩阵式键盘 10第 5 章 系统调试 125.1 硬件调试 125.2 软件调试 125.3 系统软硬件联机调试 13第 6 章 焊接技.第 7 章 总 结 137.1 心得体会 147.2 系统存在的问题和改进方案 167.3 设计中遇到的问题和解决方法 .16参考文献 16附 录 17附录一:系统设计电路总图 17附录二:元件器清单 18附录三:软件程序 19电子密码锁- 4 -电子密码锁【摘要】 该电子密码锁是一种实用型的机、电一体化设计,采用单片机密码

3、识别及信号输出控制,提高了整体电路的稳定性和可靠性,并且简化了硬件电路的设计。由EPROM 构成的密码存储器可防止主机在断电的时候将用户的设置密码丢失,更增加了其安全系数。该设计是基于 89C52 的单片机的电子密码锁设计,主要是通过芯片的程序内容来控制电路的工作方式,其中包括 89C52 芯片,闪存芯片,键盘输入模块,电子锁模块等模块,当 89C52 检测到有密码输入时就将其和闪存中的密码相比较,如果相同则传送开锁信号到电子锁模块电路,实现开锁功能,而当检测到三次输入密码都不正确时则输出报警信号,同是禁止密码输入功能,即实现了防多次试探的可能性,其安全性能有了明显的提高。关键词:稳定性 可靠

4、性 89C52 EPRPM【正文】第一章绪论11 电子密码锁功能本系统采用单片机作控制器,系统工作时,用户通过按键输入 8 位密码,按下“确认”键后,单片机将输入密码与设定密码进行比较,若密码正确,则发出开锁信号,相应的指示灯闪动,将锁打开,系统不报警;若密码不正确,则有相应的指示灯闪动,并要求重新输入密码,重新输入密码的次数不能超过 3 次,若 3 次输入的密码都不正确,显示“CLOSED ”,且发出报警信号。锁打开后还可通过按下“修改/重置”功能键,重新设置新密码。12 电子密码锁的特点电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品

5、。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,特点如下: 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零; 密码可变。用户可以经常更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降; 误码输入保护。当输入密码多次错误时,报警系统自动启动; 电子密码锁操作简单易行,一学即会。1.3 论文的主要工作论文的研究内容主要如下:(1) 了解单片机的基本结构和指令系统,掌握 STC89C52 单片机的控制功能,应用单片机实现电子密码锁的设计,及其硬件制作;(2) 熟练

6、掌握 C 语言,在 KEIL 的开发环境中编译程序,完成电子锁的软件设计,使电子密码锁- 5 -系统更加符合实际;(3) 软件编制上根据系统要完成的功能采用模块化结构设计,与硬件一起进行联机调试,能达到预期的效果;(5) 对实验结果进行分析,并对出现的问题提出解决方案。第 2 章 系统设计方案及主控制芯片介绍本章系统介绍了电子密码锁的总体方案设计及其主控芯片 STC89C52 单片机的介绍。电子密码锁主要由硬件部分和软件部分组成,在经过详细的讨论和实验之后,制定一套简单、实用、廉价的方案。2.1 系统总体设计方案方案一:八位 LED 数码管显示密码输入情况,发光二极管和蜂鸣器做报警装置,独立式

7、键盘设置数值的加减,并确认数字的输入。密码输入错误时候的提示信息。方案二:八位 LED 数码管显示密码输入情况,发光二极管和蜂鸣器做报警装置,由 4*4 矩阵式小键盘设置数字键和功能键。方案比较:独立式键盘:直接用 I/O 口线构成的单个按键电路。每个独立式按键单独占有一根I/O 口线的工作状态。独立式按键当按键较多时,I/O 口线浪费较大,故只在按键数量不多时才采用这种按键电路。矩阵式按键:在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如 P1 口)就可以构成 4*

8、4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 经比较,我们选择了方案二,认为此方案更合理。 系统框图如图 2.1 所示:单 片 机 最 小 系 统 继 电 器 模 块 矩 阵 式 键 盘 密 码 存 储 灯 提 示 模 块 报 警 模 块 复 位 电 路 LED显 示 图 2.1 系统设计总体框图2.2 系统的工作原理本系统主要由以下模块组成:电子电路部分采用单片机控制密码读取、密码判断、输入显示,蜂鸣报警模块,继电器模块显示开关状态,等提示输入正确错误的状态;单片机系统采 STC89C52,用矩阵

9、式键盘实现密码的输入,并由 LED 数码管显示数值提示密码输入信息。电子密码锁- 6 -2.3 主控芯片介绍单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、 内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微处理器(Microcontroller ) ,是因为它最早被用在工业控制领域。单片机由芯片内仅有 CPU 的专用处理器发展而来。最早的设计理念是通过

10、将大量外围设备和 CPU 集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL 的 Z80 是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。2.3.1 结构概述51 系列单片机可分 51 子系列和 52 子系列。微控制器内部结构如图 2.2 所示:图 2.2 STC 单片机结构框图51 系列单片机由 8 个大部分组成:(1) 一个 8 位中央处理机 CPU。它由运算部件、控制部件组成,其中包括振荡电路和时钟电路,其中主要完成单片机的运算和控制功能,是单片机的核心部件,决定了单片机的主要功能特性。(2) 128 个字节(

11、52 子系列为 256 字节)的片外数据存储器 RAM。其片外数据存储器的寻址范围位 64KB,用于存放可读写的数据,如运算的中间结果或最终结果等。(3) 4KB(52 子系列为 8KB)的片内程序只读存储器 ROM 或 EPROM(8031 和 8032无)。其片外寻址范围为 64KB,主要用于存放已编制的程序,也可以存放一些原始的数据电子密码锁- 7 -和表格。(4) 18 个(52 子系列为 21 个)特殊功能寄存器 SFR。它用于控制和管理片内算术逻辑部件、并行 I/O、串行 I/O、定时计数器、中断系统等功能模块的工作。(5) 4 个 8 位并行输入输出 I/O 接口:P0 口、P1

12、 口、P2 口、P3 口(共 32 线),用于并行输入或输出数据。(6) 1 个串行 I/O 接口。它可使数据 1 位以为串行地在计算机与外设之间传送,可用软件设置为 4 种工作方式,用于多处理机通讯、I/O 扩展或全双工通用异步接收器(UART) 。(7) 2 个(52 子系列为 3 个)16 位定时计数器。它可用设置位计数方式对外部事件进行计数,也可以设置位定时方式进行定时。计数或定时的范围由软件来设定,一旦计数或定时到则向 CPU 发出中断请求,CPU 根据计数或定时的结果对计算机或外设进行控制。(8) 5 个(52 子系列为 6 个或 7 个)中断源,可编程为 3 个优先级的中断系统,

13、它可用接受外部中断申请、定时计数器中断申请和串行口中断申请。场合用于实时控制、故障自动处理、计算机与外设间传送数据及人机对话等。第 3 章 系统硬件设计在系统设计方案设计的基础上,本章为系统硬件部分的设计,其中包括:LED 显示模块、键盘模块、报警模块等部分。LED 显示以其键盘模块相当于人机界面部分,将用户通过在键盘操作,并通过 LED 反应最终结果;报警是在密码输入错误的情况下,或者使在非正常操作的情况下通过 LED 发光二极管和蜂鸣器报警通知异常;3.1 键盘输入装置矩阵式键盘的结构与工作原理:在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,

14、每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如 P1 口)就可以构成 4*4=16 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 矩阵式键盘的按键识别方法:电子密码锁- 8 -P1.0235467图 3.1 44 矩阵式键盘列扫描法又称为逐行(或行)扫描查询法,是一种最常用的按键扫描方法,介绍过程如下:(1) 判断键盘中有无键按下 将全部列线置低电平,然后检测列线的状态。只要有一行的电平为低,则表示键盘中有键被按下,而且闭合的键位于低电平线与 4 根列线相交叉的 4 个按键

15、之中。若所有行线均为高电平,则键盘中无键按下。(2) 判断闭合键所在的位置 在确认有键按下后,即可进入确定具体闭合键的过程。其方法是:依次将列线置为低电平,即在置某根列线为低电平时,其它线为高电平。在确定某根列线位置为低电平后,再逐行检测各行线的电平状态。若某行为低,则该行线与置为低电平的列线交叉处的按键就是闭合的按键。3.2 硬件工作接线口P0 口接数码管,用来显示按键是否按下,P1 口接键盘, P2 口接数码管的控制端 com 端。把单片机系统区域中的 P0 口用导线连接“数码显示”的任一端口上,把单片机系统区域中的 P1 口上接矩阵式键盘。3.3 LED 显示器结构与原理LED 显示块是

16、由发光显示二极管显示字段的显示器件。在单片机中我们通常用七段LED,这种显示共有共阴极和共阳极两种,本设计是用共阳极,是 LED 显示块的发光二极管与阳极并接,如图所示 KfgedcDb9aRNVC图 3.2 数码管的连接通常的七段显示块中共有 8 个发光二极管,其中 7 个发光二极管构成七笔字形“8” ,一电子密码锁- 9 -个发光二极管构成小数点。七段显示块与单片机接口非常容易。只要将一个 8 位并行输出与显示块的发光二极管引脚相连即可。8 位并行输出口输出不同的字节数据即可获得不同的数字或字符,通常将控制发光二极管的 8 位字节数据称为段选码。显示字符 共阳极段选码显示字符 共阳极段选码

17、0 C0H A 88H1 F9H B 7CH2 A4H C C6H3 B0H D A1H4 99H E 86H5 92H F 8EH6 82H7 F8H8 80H9 90H表 13.4 复位电路如图所示为 80C51 型单片机上电复位电路。RC 构成微分电路,在接电瞬间,产生一个微分脉冲,其宽度若大于 2 个机器周期,80C51 型单片机将复位,为保证微分脉冲宽度足够大,一般取 10F 电容、 8.2K 电阻。图 3.3 复位电路3.5 继电器开关门装置电子密码锁- 10 -继电器控制模块是整个系统的重要部分,用来实现开门关门的动作。继电器控制模块原理电路如图 3.2 所示: PN10RK2G

18、DVCHS3.yelow图 3.4 继电器控制模块3.6 声光报警装置P3.3 和 P3.5 和 P3.4 口分别控制 LED 和蜂鸣器,程序中将 P0.0 和 P0.1 口设置为同步电平,当他们同时高电平时三极管 9012 导通 LED 亮并且蜂鸣器鸣叫报警。声光报警电路图如图 3.3 所示: grnd5图 3.5 指示灯模块第 4 章 系统软件设计本章主要介绍系统软件部分,主程序由 C 语言编写,简洁易懂。主程序主要执行键盘扫描的工作,判断是否有键按下,并判断执行什么动作,其中包括数字键和功能键,当按电子密码锁- 11 -下功能键时完成所设定的功能,数字键用来输入数值。4.1 编程工具的介

19、绍C 语言是计算机中广泛使用的一种高级语言,在作为单片机编程语言之前,已经应用到许多领域。C 语言的功能强大、使用简单、有丰富的库函数、运算速度快、边场合效率高、可移植性好。本设计就是利用 C 语音完成的程序编写,下面对应用于单片机的 C51做简单的介绍。4.1.1 C 语言的主要优点C 语言包含了多种高级语言的优点,最主要的优点是能于汇编语言兼容,可直接操作硬件端口,这是单片机应用所需要的。C 语言是一种结构化的语言,采用函数,循环语句或条件语句很容易实现代码模块化,使用户很容易实现模块程序结构。此外其源代码可读性较强,容易理解和编程,并且极大的缩短了源文件的长度,可大大缩短编程时间。C语言

20、良好的可移植性可以使相同的功能模块方便地移植到另一种单片机上。此外,使用C 语言不要求对指令系统很熟悉,能理解就可以。许多计算机都支持对 C 语言的应用,因而可以方便地在 PC 机上直接编写和调试部分程序。多数情况,在 PC 机上调试正常的代码段可以直接移植到目标单片机上。这样可以在没有硬件的情况下开始编写和调试程序。减少在硬件上的调试,就会加快开发过程。4.1.2 C 语言使用的工具正如汇编程序是将符号语言翻译成机器码的工具,C 编译器是将 C 语言源文件翻译成临时目标文件的软件工具。目前,很多软件开发公司都是把 C 语言用于单片机的软件开发,用于 80C51 系列单片机的 C 语言在 19

21、85 年就已经出现,称为 C51 编译器,通常简称为 C51。本设计所使用的程序的集成开发环境是 Keil,该开发环境使用简单,容易上手,为调试工作提供了很多方便。4.1.3 C51 与 C 语言的主要不同点由于 C 语言最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而在单片机中,程序保存在 ROM 中,数据存放在 RAM 中。标准 C 语言并没有提供对这部分内存地址范围的定义,对于单片机中大量的特殊功能寄存器也没有定义,此外,标准 C 语言没有处理单片机中断的定义。而 C51 则解决了以上的问题,因此,采用 C51 来编写程序。4.2 主程序主程序是整个软件系

22、统的核心部分,具体步骤如下:当用户按下按钮 open 时,可以输入密码。此时,用户可以在小键盘输入密码,当用户输入的密码与预设的密码相同时,就会在 LED 数码管上显示密码输入正确的提示“OPENED“,并且绿灯亮,继电器完成开锁功能使黄灯亮。如果输入密码错误,LED 数码管上显示“ERROR ”,并且红灯亮提示。如果连续输入三次,则由蜂鸣报警提示密码输入错误的信息,红灯亮,同时锁定系统,显示“CLOSED ”,限制一些操作。当输入密码位数超过六位,进行键盘锁定。输入密码键处理流程图如下:电子密码锁- 12 -输入密码处理读密码密码是否正确显示 E R R O R报警 ( 红灯亮 )锁定系统开

23、锁否否是返回图 4.1 输入密码键处理流程图电子密码锁- 13 -修改密码流程图如图所示:开始按 A L T E R 键修改密码输入原密码密码是否正确输入新密码返回蜂鸣 ( 红灯亮 )否是图 4.2 修改密码键处理流程图4.3 矩阵式键盘由于设计要求使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的 I/O 线的数目,在按键比较多的时候,通常采用这样方法。每一条水平与垂直线的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要 N 条行线和 M 条列线,即可组成具有 NM 个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执

24、行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。 44 小键盘使用扫描的原理来检测按键是否被按下,以及被按下的是哪一个按键。键盘扫描的原理是每次送出信号到一列,再利用按键信号返回线检测按键是否导通,如果按键导通,就表示按键已按下,然后就可以知道被按下的是哪一个按键。利用这个原理,先将 P1_0P1_3 接到列的位置,再讲 P1_4P1_7 接到行的位置。接下来将 P1_0P1_3 作为输入,并将 P1_4P1_7 作为输出,这里的矩阵式键盘的特点是不需要外接电压或低信号。具

25、体电路图如图 4.4 所示:电子密码锁- 15 -P1_4 0 P1_5 0 P1_6 0 P1_7 0 1 P1_0 1 P1_1 1 P1_2 1 P1_3 输出 输入 图 4.2 键盘扫描示意图首先将 P1_7、 P1_6、P1_5、P1_4 依次设为 0,即将( P1_7、P1_6、P1_5 、P1_4)依次设为(0111) 、 (1011) 、 (1101) 、 (1110) 。用户按下某个按键之后,因为被按下的按键会造成导通,所以 P1_0P1_3 中会有一支引脚变成低电平。因此从 P1_0P1_3 读回数值时,P1_0P1_3 中会有一个数值是 0,根据从 P1_0P1_3 所读

26、回的数值,就可以判断按下的是哪一个按键。按键的操作面板共计数字键 10 个,功能键 6 个。10 个数字键用来输入密码,另外 6个功能键分别是:ESC 、 ALTER、SAVE、OPEN、ENTER 和 DEL 键。如图 4.5 所示:7 8 9 ESC 4 5 6 ALTER 1 2 3 SAVE 0 DEL ENTER OPEN 图 4.3 按键操作面板修改密码时按下 ALTER 键,显示“OLD-CODE ”必须先输入正确的旧密码,然后显示-CODE 才可以输入新修改的密码。当新修改的密码输入之后,系统会要求用户重新输入新修改的密码再次确认,如果两次输入的密码相同,密码修改成功。其中,E

27、NTER 键用来启动输入密码,当按下此键时输入密码。如果密码输入正确,则继电器门开。第 5 章 系统调试电子密码锁- 16 -系统调试共分三大部分:硬件调试,软件调试和软硬件联机调试。系统的调试包括硬件调试和软件调试,但硬件调试和软件调试并不能完全分开,一些硬件错误是在软件调试过程中被发现和纠正的。调试一般分为单元调试和整体调试两个阶段。单元调试是对单元模块进行单独的检查调试。(1) 万用表测试。先用万用表复核目测中认为可以的连线或接点,查看它们通断状态是否与设计规定相符。再察看各种电源线与地线之间是否有短路现象,如有则仔细查处并排除。短路现象一定要在器件安装及加电查出。如果电源与地之间短路,

28、系统中所有期间或设备都有可能被毁坏后果十分严重。所以,对电源与地的处理,在整个系统调试及今后的运行中都要相当小心。(2) 加电检查。当给印制板加电时,首先检查所有插座或器件引脚的电源是否符合要求的电压值(注意,CPU 插座上不该有大于 5V 的电压,否则联机时将损坏仿真器) ,接地端电压知是否接近于零,接固定电平的引脚是否正确。然后在断电状态下将芯片逐个插入印制板上的相应插座中,每插入一块做一遍上述的电压检查,特别是检查电源到地是否短路,这样就可以确定电源错误或与地短路发生在哪块芯片上。全部芯片插入印制板后,如均未发现电源或接地错误,将全部芯片取下,把印制板上除芯片外的其它器件逐个焊接上去,并

29、反复做前面的各电源、电压检查,避免因某器件的损坏或失效造成对地短路或其它电源加载错误。在对各芯片、器件加电过程中,还要注意观察芯片是否出现、火花、过热、变色、冒烟、异味等现象,如出现这些现象,应立即断电,仔细检查电源加载等情况,找出产生异味的原因并加以解决。此外,也可以在加电期间,利用给逻辑功能简单的芯片加载固定输入电平,利用万用表测其输入电平来判断该芯片的好坏。联机测试一般可检查出硬件设计上的逻辑错误以及模块软件的编写错误。需要注意的是,联机测试要负责检查单元模块能否实现其预定的功能指标,因为有时单元模块虽然能实现预定的逻辑功能,但是达不到预定的功能指标(如测量精度不够)。这时,亦需重新设计

30、单元模块。5.1 硬件调试5.1.1 元器件的检测众所周知,一个系统由若干模块组成,而一个模块又由于若干元器件组成,所以在设计系统之前要先检查所使用的元器件是否能正常工作。可以在面包板上先设计一个简单电路对元器件进行测试,如果元器件能正常工作再进行实验,这样可以节省很多宝贵的时间。下面对这次设计所用的部分元器件测试作一简单介绍。(1) LED 数码显示器:直接给液晶显示器加上电压,看液晶屏是否被点亮。(2) 蜂鸣器:直接给蜂鸣器加方向正确的电压,看蜂鸣器是否能正常发声。5.1.2 模块电路的检测(1) 报警模块:直接给 P3_3 和 P3_4,P3_5 送低电平,看发光二极管和蜂鸣器能否正常工

31、作。(2) 矩阵式键盘模块:按下某一个按键,用万用表检测是否有两个口导通。(3)显示模块:用万用表检测,给 COM 端一个高电平,逐个给每个 LED 的 ag 低电平,看是否按预定要求电量。电子密码锁- 17 -5.2 软件调试本系统的软件系统很庞大,用 C 和汇编语言来编写。单片机应用系统一般都需要开发系统和开发软件来设计。调试步骤:(1) 先独立后联机:软件对被测参数进行加工处理或作某项事务处理时,往往是与硬件无关的,这样就可以独立进行调试。此时与硬件无关的程序快调试就可以与硬件调试同步进行,以提高软件调试的速度。当与硬件无关的程序快调试完成后,可将仿真机与主机、用户系统连接起来,进行联机

32、调试。(2) 先分块后组合:将用户程序分成与硬件无关和依赖于硬件两大程序快后,程序仍较为庞大的话,常规的调试方法是分别对两类程序快进一步采用分模块调试,以提高软件调试的有效性。各模块调试完后,将相互有关联的程序模块逐块组合起来加以调试,以解决在程序模块连接中可能出现的逻辑错误。(3) 先单步后连续:调试好程序模块的关键是实现对错误的准确定位,而发现程序中错误的最有效方法是采用单步加断点运行方式调试程序。这样就可以精确定位错误所在,就可以做到调试的快捷和准确。一般情况下,单步调试完成后,还要作连续运行调试,以防止某些错误在单步执行的情况下被覆盖。在系统软件的调试过程中,首先将程序分成几个程序段分

33、别进行调试,对于一些独立的程序模块隔离出来分别进行调试。例如对键盘及数码显示管部分,进行单独调试,用单步、断点和连续等方法,观察各数据窗口的数据是否正常,检查出程序中出错的地方并加以纠正。此外,还可以借助仿真软件来测试软件的运行情况,在这里我用的是 PROTEUS 仿真软件,能非常逼真的看到系统的的运行状况,并能反应单片机各个口高低电平的变化情况。5.3 系统软硬件联机调试系统联机调试是将用户系统的软件在其硬件上实际运行,进行软硬件联合调试,从中发现硬件故障或软硬件设计上的错误。如果直接将软硬件连起来调试,出现了问题就不知道是软件上还是硬件上的问题。所以在联机调试之前,一定将软件和硬件分别调试

34、好,再进行联机调试。当各个部分都经过测试后没有问题,就可以将软硬件联机进行系统调试,这样出现的问题就会比较少,同时也能减少调试的难度。第 6 章 焊接技术先将准备好的元件插入印刷电路板规定好的位置上,在元件与印刷电路板铜箔的连接点上,涂上少许焊剂,待电烙铁加热后用烙铁头的刃口上些适量的焊锡,上的焊锡多少要根据焊点的大小来决定。焊接时,要将烙铁头的刃口接触焊点与元件引线,根据焊点的形状作一定的移动,使流动的焊锡布满焊点并渗入被焊物的缝隙,接触时间大约在 3-5秒左右,然后拿开电烙铁。拿开电烙铁的时间,方向和速度,决定了焊接的质量与外观的正确的方法是,在将要离开焊点时,快速的将电烙铁往回带一下,后

35、迅速离开焊点,这样焊出的焊点既光亮,圆滑,又不出毛刺。在焊接时,焊接时间不要太长,免得把元件烫坏,但亦不要太短,造成假焊或虚焊。焊接结束后,用列子夹住被焊元件适当用力拉拨一下,检查元件是否被焊牢。如果发现有松动现象,必须重新进行焊接。电子密码锁- 18 -第 7 章 总 结7.1 心得体会课程设计已经完成,回想两周来的努力,真可谓百感交集,受益匪浅。电子密码锁不算是非常难的题目,所以,我们在基础功能的实现上尽量的多加一些附加的功能,使整个系统更加完善。虽然谈不上有多复杂,但也会遇到一些问题,值得欣慰的是通过一遍一遍的检查、调试、修改终于使其完成了基本功能。在此过程中,我们学到了很多书本中永远学

36、不到的知识。这些知识对于以后的学习与工作将会有巨大的帮助。心得一:(。 。 。的心得体会)两周的实习虽然很短,但我学到的知识确实一个学期的理论学习所不能替代的。在实习期间,我们自己动手完成了软硬件部分的设计,连接。在这个过程中,我经历了难易难。刚听说要课程设计,准备选择设计题目时,觉得这是一个很难的任务,认为我们不可能独立作出东西来;当翻阅大量书籍,准备定下课题,并找到几个设计方案时,又突然觉得没有想象中那么难,于是,眼高手低,不想做简单的交通灯,选择了电子密码锁,信心满满的认为能完成的很好。当我们开始动手设计时,无论是软件方面还是硬件方面,问题不断,困难重重。为了更好的完成设计,我们翻阅大量

37、书籍,学习了每个元器件的引脚,功能等。什么时候需要放大,什么时候片选,应该相应的加哪些元器件,如何能使显示器稳定等等问题都耗费我们大量时间和精力来解决,但在解决过程中,我们学到了实际中应用的真知识。通过这次实习,我总结了以下几点心得:1、仔细研究课题:只有充分了解课题要求,才能做出符合条件的作品。这是设计的基础。2、不懂就问,多问多得:因为之前没有相应的学习和训练,所以遇到的不懂得问题特别多,这时如果单靠自己死“钻” ,效率极低。我周围有几个在实验室的同学,我经常让他们帮我讲解一些知识,同时也常常请教老师,听取他的意见。问题大多能得到有效解决。在问的过程中,也是我的学习过程,问的越多,你收获就

38、越多。3、建立信心:起初,我们的密码锁最大的问题就是显示问题:管子亮度很暗,只有在较黑的环境下才能看到。为此,我们采用过:加三极管放大,加 244 电流驱动,加非门等许多方法,但都不见效,而且好像越弄越糟,自信心受损,情况越来越糟。当我们重拾信心,下定决心要把它完成,做好时,经过努力问题得到了有效地解决。4、发散思维:不要被书本上的死知识所限定,在利用所学到的理论知识的同时,发散你的思维,活学活用才能真正掌握这门课程。通过此次实习,使我对单片机及相关知识有了更进一步的了解,也使我的动手能力提高很多。虽然只有两周,但学到的东西却让我受益终身。心得二:(。 。 。的心得)经过这次课程设计,让我明白

39、了理论学习与实践实现之间的巨大差异,要想实现具体的内容就必须以正确的理论知识为指导,只具备纯碎的理论知识也是不够的,因为在实践实现的过程中的不定干扰性因素太多,实践起来出现了不少的问题,在提出问题和解决问题的过程中,给我的学习和生活都带来了很深刻的影响,现归纳如下:电子密码锁- 19 -(1) 要仔细分析题目确定设计方案。在分析题目的过程中一定要多查资料多听取老师同学的意见,尽量的少走弯路。对所选的题目得有大概的了解,在这样一个基础上,综合已有的资料来更透彻的分析题目。然后再在此基础上提出适合该题目的设计方案。俗话说有的放矢,设计方案对于设计是至关重要的,合理的方案不仅给以后的设计带来很大的方

40、便,也能使结果更好一点。(2) 要注意查询资料的方式。信息时代资料满天飞,上网查资料是必不可少的,但是到图书馆去也有其可取之处的。总之,不管通过哪种方式查的资料都是有利用价值的,要一一记录下来以备后用,这也是整个设计的基础。(3) 要注意学习能力的提高。遇到了问题并且分析了问题,然后就是如何解决问题了,这个时候学习能力显得特别的重要。如何通过自己的努力把不明白的东西搞明白,这也是学习能力的体现,从中也体味到了学习的乐趣。(4) 要多动手。很多事情想起来是一回事真正做起来就并不是那么简单。随着设计的逐步进行,诸多问题也就暴露了出来,这点我深有体会。所以在平时就应该注意培养自己的动手能力,实践出真

41、知。(5) 要勤学好问。敢于请教,乐于助人。要多向老师、同学请教,同时也要乐于帮助别人,互相探讨,互相学习,这样才能很快的进步。以上就是我的一些心得,在实际动手的过程中总比想象的要困难的多。在设计过程中,我通过查阅大量有关资料,向老师请教,与同学互相交流,使自己学到了不少知识,也收获了很多,充分体会到了在学习过程的艰难和成功的喜悦。在课程设计过程中我学到了许多东西,也培养了我独立工作的能力,树立了信心,这也对今后的学习、工作、生活有重要的影响。通过这次的课程设计不仅使我对单片机有了进一步的理解和学习,也使我感到还有很大的不足。当然,本次课设还存在一些缺点,所设计的内容也还存在一些不足,还恳请老

42、师给与批评和指正。最后,再次感谢老师不辞辛苦的精心指导,感谢我们组员之间的相互协作,相互帮助。心得三:(。 。 。的心得)今天我们完成并提前做好了自选题目的设计,本次单片机课程设计的课题是 44 键盘及 8 位数码管显示构成的电子密码锁的实现与运用。通过一周的努力,基本达到了预期的功能,密码的输入、删除,密码的保存、改写,错误报警、自锁等。本次设计我们三位组员一起计划、谈论、实践,但由于本人基础知识掌握的不够牢固,在设计时发挥的作用有限,但我抱着学习的态度积极参与,从中也学习到了很多理论与实践的知识,比如 LED 数码管如何通过 MCS-51 单片机实现控制、电焊时应该注意的电子密码锁- 20

43、 -常识、元器件组装时如何合理布局等等当然设计过程中也难免遇到各种各样的问题,但有老师的耐心讲解与帮助,基本能得以解决。在设计时我们相应遇到了硬件软件等问题,比如插槽的选择会影响数码管显示的稳定性,LED 共阴共阳选择相应的问题,程序的输入与存储,还有其他的一些问题。我们组设计的密码锁在显示上遇到了问题,数码管显示亮度不够,在老师的指导下经过一系列改进终于达到了预期的效果,并且加入了一些扩展功能,有密码位数锁定、密码输入保密措施、还有老师建议的开锁控制脉冲改进。经过这些设计与改进,我们也认识到了无论是在生活还是工作中遇到问题是难免的,关键是如何从解决问题的过程中提高知识储备与排除问题的能力,这

44、些都是我们今后学习工作不可或缺的,并且我在设计的过程中认识到自己的不足,好多知识需要扎实的基础才能更好的运用,实践是检验真理的唯一方法,多动手做,哪怕是从点亮一只指示灯开始,也要动手去做,否则就会永远停留在书本上。同时,今后也要努力学习掌握专业知识,方便今后工作与学习。7.2 系统存在的问题和改进方案本系统的缺陷有:(1) 系统模块直接由排线连接,存在接触不良的现象,使 LED 有时产生乱码现象。解决方案:将模块之间焊接起来,使系统更加稳定。(2) 本次系统电路板均由手工焊接而成,故对整个系统的稳定性有着很大的考验。(3)LED 数码管有功耗大、体积大,显示内容单调的缺点。解决方法:LCD 液

45、晶屏显示模块与数码管相比,有功耗小、体积小、显示内容丰富、画面美观、超薄轻巧、使用方便等特点。7.3 设计中遇到的问题和解决方法设计中遇到的问题: 数码管显示不完全解决方法:显示不完全的原因是硬件焊接存在使其不稳定,由于我们之前的焊接方法不理想,本身存在不稳定问题,为此,我们重新焊了数码显示部分,在数码管底部采用芯片底座。因为芯片底座内部有弹簧,会增强管子连接部分的稳定度。 数码管的亮度不够,很暗解决方法:我们尝试过:加电流驱动器 244,加三极管,但由于一起驱动 8 个共阴极数码管所需电流太大,仍不见效;最终我们选择了共阳极的 LED 数码管,并修改了相应程序,亮度得以完善。 蜂鸣器的响声非

46、常小 解决方法:将蜂鸣器所接电阻换为较小阻值的电阻。参考文献1 晁阳. 单片机 MCS-51 原理及应用开发教程M .清华大学出版社,2007.102 蔡朝洋. 单片机控制实习与专题制作M.北京:北京航空航天大学出版社,2006.3 周立功. 增强型 80C51 单片机速成与实践M.北京:北京航空航天大学出版社,2003.4惠仇. 手把手教你 51 单片机 M.北京:电子工业出版社,2009.15 阎石. 数字电子技术基础M.北京:高等教育出版社,2006.5. 电子密码锁- 21 -附录一:系统电路总图电子密码锁- 22 -电子密码锁- 23 -K1f2g3e4d56c8DP7b9a0RNV

47、C.GHSpkrnTAMLUWEylow附录二:元器件清单:元件清单元件名 元件数量89C52RC 单片机 一个共阳极 LED 数码管 八个按键开关 十六个9012 三极管 八个1K 电阻 八个40 脚芯片底座 两个ATMLU836 芯片 一个100 欧电阻 四个个9013 三极管 一个3906 三极管 三个继电器 一个蜂鸣器 一个发光二极管 三个排针 若干导线 若干焊接电路板 四块10K 电阻 两个电池盒 一个排线 若干八脚芯片底座 一个附录三:软件程序电子密码锁- 24 -#include“intrins.h“#include“reg52.h“#include“top.h“#include

48、“keyscan.h“#include“leddisp.h“#include“dydisp.h“#include“test.h“/uchar temp18,temp28;void main () num=16;su=1;start: hel();loop: cddisp(4);dydisp();if(esc=1)esc=0;count=0;goto start;num1=next();while(num1)if(esc=1)esc=0;count=0;goto start;j=chang();if(j=1) ok=0; su=0;delay(500);su=1; ok=1;break;whil

49、e(!num1)if(esc=1) if(num2=2)while(1) disp(CLOSED,6);电子密码锁- 25 -er=1;esc=0;num2+;break; goto loop;/*-INTRINS.HIntrinsic functions for C51.Copyright (c) 1988-2004 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.-*/#ifndef _INTRINS_H_#define _INTRINS_H_extern void _nop_ (void);extern bit _testbit_ (bit);extern unsigned char _cror_ (unsigned

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

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报