1、课程设计论文电子密码锁目 录第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语言的重要优点84.1.2 C语言使用的工具84.1.3 C51与C语言的重要不同点84.2 主程序84.3 矩阵式键盘10第5章 系统调试12
2、5.1 硬件调试125.2 软件调试125.3 系统软硬件联机调试13第6章 焊接技.第7章 总 结137.1 心得体会147.2 系统存在的问题和改善方案167.3设计中碰到的问题和解决方法16参考文献16附 录17附录一:系统设计电路总图17附录二:元件器清单18附录三:软件程序19电子密码锁【摘要】 该电子密码锁是一种实用型的机、电一体化设计,采用单片机密码辨认及信号输出控制,提高了整体电路的稳定性和可靠性,并且简化了硬件电路的设计。由EPROM构成的密码存储器可防止主机在断电的时候将用户的设立密码丢失,更增长了其安全系数。该设计是基于89C52的单片机的电子密码锁设计,重要是通过芯片的
3、程序内容来控制电路的工作方式,其中涉及89C52芯片,闪存芯片,键盘输入模块,电子锁模块等模块,当89C52检测到有密码输入时就将其和闪存中的密码相比较,假如相同则传送开锁信号到电子锁模块电路,实现开锁功能,而当检测到三次输入密码都不对的时则输出报警信号,同是严禁密码输入功能,即实现了防多次试探的也许性,其安全性能有了明显的提高。关键词:稳定性 可靠性 89C52 EPRPM【正文】第一章绪论11电子密码锁功能本系统采用单片机作控制器,系统工作时,用户通过按键输入8位密码,按下“确认”键后,单片机将输入密码与设定密码进行比较,若密码对的,则发出开锁信号,相应的指示灯闪动,将锁打开,系统不报警;
4、若密码不对的,则有相应的指示灯闪动,并规定重新输入密码,重新输入密码的次数不能超过3次,若3次输入的密码都不对的,显示“CLOSED”,且发出报警信号。锁打开后还可通过按下“修改/重置”功能键,重新设立新密码。12电子密码锁的特点电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完毕开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,特点如下: 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零; 密码可变。用户可以经常更改密码,防
5、止密码被盗,同时也可以避免因人员的更替而使锁的密级下降; 误码输入保护。当输入密码多次错误时,报警系统自动启动; 电子密码锁操作简朴易行,一学即会。1.3论文的重要工作论文的研究内容重要如下:(1) 了解单片机的基本结构和指令系统,掌握STC89C52单片机的控制功能,应用单片机实现电子密码锁的设计,及其硬件制作;(2) 纯熟掌握C语言,在KEIL的开发环境中编译程序,完毕电子锁的软件设计,使系统更加符合实际;(3) 软件编制上根据系统要完毕的功能采用模块化结构设计,与硬件一起进行联机调试,能达成预期的效果;(5) 对实验结果进行分析,并对出现的问题提出解决方案。第2章 系统设计方案及主控制芯
6、片介绍本章系统介绍了电子密码锁的总体方案设计及其主控芯片STC89C52单片机的介绍。电子密码锁重要由硬件部分和软件部分组成,在通过具体的讨论和实验之后,制定一套简朴、实用、便宜的方案。2.1 系统总体设计方案方案一:八位LED数码管显示密码输入情况,发光二极管和蜂鸣器做报警装置,独立式键盘设立数值的加减,并确认数字的输入。密码输入错误时候的提醒信息。方案二:八位LED数码管显示密码输入情况,发光二极管和蜂鸣器做报警装置,由4*4矩阵式小键盘设立数字键和功能键。方案比较:独立式键盘:直接用I/O口线构成的单个按键电路。每个独立式按键单独占有一根I/O口线的工作状态。独立式按键当按键较多时,I/
7、O口线浪费较大,故只在按键数量不多时才采用这种按键电路。矩阵式按键:在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多余了一倍,并且线数越多,区别越明显,由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 经比较,我们选择了方案二,认为此方案更合理。 系统框图如图2.1所示:图2.1 系统设计总体框图2.2 系统的工作原理本系统重要由以下模块组成:电子电路部分采用单片机控制密码读取、密码判断、输入显示
8、,蜂鸣报警模块,继电器模块显示开关状态,等提醒输入对的错误的状态;单片机系统采STC89C52,用矩阵式键盘实现密码的输入,并由LED数码管显示数值提醒密码输入信息。2.3 主控芯片介绍单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定期器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微解决器(Microcontroller),是由于它最早被用在工业控制领域
9、。单片机由芯片内仅有CPU的专用解决器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积规定严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的解决器,从此以后,单片机和专用解决器的发展便分道扬镳。2.3.1结构概述51系列单片机可分51子系列和52子系列。微控制器内部结构如图 2.2所示:图2.2 STC单片机结构框图51系列单片机由8个大部分组成:(1) 一个8位中央解决机CPU。它由运算部件、控制部件组成,其中涉及振荡电路和时钟电路,其中重要完毕单片机的运算和控制功能,是单片机的核心部件,决定了单片机的重要功能特
10、性。(2) 128个字节(52子系列为256字节)的片外数据存储器RAM。其片外数据存储器的寻址范围位64KB,用于存放可读写的数据,如运算的中间结果或最终结果等。(3) 4KB(52子系列为8KB)的片内程序只读存储器ROM或EPROM(8031和8032无)。其片外寻址范围为64KB,重要用于存放已编制的程序,也可以存放一些原始的数据和表格。(4) 18个(52子系列为21个)特殊功能寄存器SFR。它用于控制和管理片内算术逻辑部件、并行I/O、串行I/O、定期计数器、中断系统等功能模块的工作。(5) 4个8位并行输入输出I/O接口:P0口、P1口、P2口、P3口(共32线),用于并行输入或
11、输出数据。(6) 1个串行I/O接口。它可使数据1位认为串行地在计算机与外设之间传送,可用软件设立为4种工作方式,用于多解决机通讯、I/O扩展或全双工通用异步接受器(UART)。(7) 2个(52子系列为3个)16位定期计数器。它可用设立位计数方式对外部事件进行计数,也可以设立位定期方式进行定期。计数或定期的范围由软件来设定,一旦计数或定期到则向CPU发出中断请求,CPU根据计数或定期的结果对计算机或外设进行控制。(8) 5个(52子系列为6个或7个)中断源,可编程为3个优先级的中断系统,它可用接受外部中断申请、定期计数器中断申请和串行口中断申请。场合用于实时控制、故障自动解决、计算机与外设间
12、传送数据及人机对话等。第3章 系统硬件设计在系统设计方案设计的基础上,本章为系统硬件部分的设计,其中涉及:LED显示模块、键盘模块、报警模块等部分。LED显示以其键盘模块相称于人机界面部分,将用户通过在键盘操作,并通过LED反映最终结果;报警是在密码输入错误的情况下,或者使在非正常操作的情况下通过LED发光二极管和蜂鸣器报警告知异常;3.1键盘输入装置矩阵式键盘的结构与工作原理:在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接
13、将端口线用于键盘多余了一倍,并且线数越多,区别越明显,由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 矩阵式键盘的按键辨认方法:图3.1 44矩阵式键盘列扫描法又称为逐行(或行)扫描查询法,是一种最常用的按键扫描方法,介绍过程如下:(1) 判断键盘中有无键按下 将所有列线置低电平,然后检测列线的状态。只要有一行的电平为低,则表达键盘中有键被按下,并且闭合的键位于低电平线与4根列线相交叉的4个按键之中。若所有行线均为高电平,则键盘中无键按下。(2) 判断闭合键所在的位置 在确认有键按下后,即可进入拟定具体闭合键的过程。其方法是:依次将列线置为低电平,即在置某根列线为低电平时,其它线
14、为高电平。在拟定某根列线位置为低电平后,再逐行检测各行线的电平状态。若某行为低,则该行线与置为低电平的列线交叉处的按键就是闭合的按键。3.2硬件工作接线口P0口接数码管,用来显示按键是否按下,P1口接键盘,P2口接数码管的控制端com端。把单片机系统区域中的P0口用导线连接“数码显示”的任一端口上,把单片机系统区域中的P1口上接矩阵式键盘。3.3 LED显示器结构与原理LED显示块是由发光显示二极管显示字段的显示器件。在单片机中我们通常用七段LED,这种显示共有共阴极和共阳极两种,本设计是用共阳极,是LED显示块的发光二极管与阳极并接,如图所示图3.2 数码管的连接通常的七段显示块中共有8个发
15、光二极管,其中7个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。七段显示块与单片机接口非常容易。只要将一个8位并行输出与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,通常将控制发光二极管的8位字节数据称为段选码。显示字符共阳极段选码显示字符共阳极段选码0C0HA88H1F9HB7CH2A4HCC6H3B0HDA1H499HE86H592HF8EH682H7F8H880H990H表13.4复位电路如图所示为80C51型单片机上电复位电路。RC构成微分电路,在接电瞬间,产生一个微分脉冲,其宽度若大于2个机器周期,80C51型单片机将复位,为保证
16、微分脉冲宽度足够大,一般取10F电容、8.2K电阻。图3.3 复位电路3.5继电器开关门装置继电器控制模块是整个系统的重要部分,用来实现开门关门的动作。继电器控制模块原理电路如图3.2所示:图3.4 继电器控制模块3.6声光报警装置P3.3和P3.5和P3.4口分别控制LED和蜂鸣器,程序中将P0.0和P0.1口设立为同步电平,当他们同时高电平时三极管9012导通LED亮并且蜂鸣器鸣叫报警。声光报警电路图如图3.3所示:图3.5 指示灯模块第4章 系统软件设计本章重要介绍系统软件部分,主程序由C语言编写,简洁易懂。主程序重要执行键盘扫描的工作,判断是否有键按下,并判断执行什么动作,其中涉及数字
17、键和功能键,当按下功能键时完毕所设定的功能,数字键用来输入数值。4.1编程工具的介绍C语言是计算机中广泛使用的一种高级语言,在作为单片机编程语言之前,已经应用到许多领域。C语言的功能强大、使用简朴、有丰富的库函数、运算速度快、边场合效率高、可移植性好。本设计就是运用C语音完毕的程序编写,下面相应用于单片机的C51做简朴的介绍。4.1.1 C语言的重要优点C语言包含了多种高级语言的优点,最重要的优点是能于汇编语言兼容,可直接操作硬件端口,这是单片机应用所需要的。C语言是一种结构化的语言,采用函数,循环语句或条件语句很容易实现代码模块化,使用户很容易实现模块程序结构。此外其源代码可读性较强,容易理
18、解和编程,并且极大的缩短了源文献的长度,可大大缩短编程时间。C语言良好的可移植性可以使相同的功能模块方便地移植到另一种单片机上。此外,使用C语言不规定对指令系统很熟悉,能理解就可以。许多计算机都支持对C语言的应用,因而可以方便地在PC机上直接编写和调试部分程序。多数情况,在PC机上调试正常的代码段可以直接移植到目的单片机上。这样可以在没有硬件的情况下开始编写和调试程序。减少在硬件上的调试,就会加快开发过程。4.1.2 C语言使用的工具正如汇编程序是将符号语言翻译成机器码的工具,C编译器是将C语言源文献翻译成临时目的文献的软件工具。目前,很多软件开发公司都是把C语言用于单片机的软件开发,用于80
19、C51系列单片机的C语言在1985年就已经出现,称为C51编译器,通常简称为C51。本设计所使用的程序的集成开发环境是Keil,该开发环境使用简朴,容易上手,为调试工作提供了很多方便。4.1.3 C51与C语言的重要不同点由于C语言最初是为通用计算机设计的,在通用计算机中只有一个程序和数据统一寻址的内存空间,而在单片机中,程序保存在ROM中,数据存放在RAM中。标准C语言并没有提供对这部分内存地址范围的定义,对于单片机中大量的特殊功能寄存器也没有定义,此外,标准C语言没有解决单片机中断的定义。而C51则解决了以上的问题,因此,采用C51来编写程序。4.2 主程序主程序是整个软件系统的核心部分,
20、具体环节如下:当用户按下按钮open时,可以输入密码。此时,用户可以在小键盘输入密码,当用户输入的密码与预设的密码相同时,就会在LED数码管上显示密码输入对的的提醒“OPENED,并且绿灯亮,继电器完毕开锁功能使黄灯亮。假如输入密码错误,LED数码管上显示“ERROR”,并且红灯亮提醒。假如连续输入三次,则由蜂鸣报警提醒密码输入错误的信息,红灯亮,同时锁定系统,显示“CLOSED”,限制一些操作。当输入密码位数超过六位,进行键盘锁定。输入密码键解决流程图如下:图4.1 输入密码键解决流程图修改密码流程图如图所示:图4.2 修改密码键解决流程图4.3 矩阵式键盘由于设计规定使用矩阵键盘,所以本设
21、计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。每一条水平与垂直线的交叉处不相通,而是通过一个按键来连通,运用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘解决程序一方面执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要辨认哪一个按键按下。对键的辨认通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。 44小键盘使用扫描的原理来检测按键是否被按下,以及被按下的是哪一个按键。键盘扫描的原理是每次送出信号到一列,再运用
22、按键信号返回线检测按键是否导通,假如按键导通,就表达按键已按下,然后就可以知道被按下的是哪一个按键。运用这个原理,先将P1_0P1_3接到列的位置,再讲P1_4P1_7接到行的位置。接下来将P1_0P1_3作为输入,并将P1_4P1_7作为输出,这里的矩阵式键盘的特点是不需要外接电压或低信号。具体电路图如图4.4所示:图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中会有一支引脚变成
23、低电平。因此从P1_0P1_3读回数值时,P1_0P1_3中会有一个数值是0,根据从P1_0P1_3所读回的数值,就可以判断按下的是哪一个按键。按键的操作面板共计数字键10个,功能键6个。10个数字键用来输入密码,此外6个功能键分别是:ESC、ALTER、SAVE、OPEN、ENTER和DEL键。如图4.5所示:图4.3 按键操作面板修改密码时按下ALTER键,显示“OLD-CODE”必须先输入对的的旧密码,然后显示-CODE才可以输入新修改的密码。当新修改的密码输入之后,系统会规定用户重新输入新修改的密码再次确认,假如两次输入的密码相同,密码修改成功。其中,ENTER键用来启动输入密码,当按
24、下此键时输入密码。假如密码输入对的,则继电器门开。第5章 系统调试系统调试共分三大部分:硬件调试,软件调试和软硬件联机调试。系统的调试涉及硬件调试和软件调试,但硬件调试和软件调试并不能完全分开,一些硬件错误是在软件调试过程中被发现和纠正的。调试一般分为单元调试和整体调试两个阶段。单元调试是对单元模块进行单独的检查调试。(1) 万用表测试。先用万用表复核目测中认为可以的连线或接点,查看它们通断状态是否与设计规定相符。再察看各种电源线与地线之间是否有短路现象,如有则仔细查处并排除。短路现象一定要在器件安装及加电查出。假如电源与地之间短路,系统中所有期间或设备都有也许被毁坏后果十分严重。所以,对电源
25、与地的解决,在整个系统调试及此后的运营中都要相称小心。(2) 加电检查。当给印制板加电时,一方面检查所有插座或器件引脚的电源是否符合规定的电压值(注意,CPU插座上不该有大于5V的电压,否则联机时将损坏仿真器),接地端电压知是否接近于零,接固定电平的引脚是否对的。然后在断电状态下将芯片逐个插入印制板上的相应插座中,每插入一块做一遍上述的电压检查,特别是检查电源到地是否短路,这样就可以拟定电源错误或与地短路发生在哪块芯片上。所有芯片插入印制板后,如均未发现电源或接地错误,将所有芯片取下,把印制板上除芯片外的其它器件逐个焊接上去,并反复做前面的各电源、电压检查,避免因某器件的损坏或失效导致对地短路
26、或其它电源加载错误。在对各芯片、器件加电过程中,还要注意观测芯片是否出现、火花、过热、变色、冒烟、异味等现象,如出现这些现象,应立即断电,仔细检查电源加载等情况,找出产生异味的因素并加以解决。此外,也可以在加电期间,运用给逻辑功能简朴的芯片加载固定输入电平,运用万用表测其输入电平来判断该芯片的好坏。联机测试一般可检查出硬件设计上的逻辑错误以及模块软件的编写错误。需要注意的是,联机测试要负责检查单元模块能否实现其预定的功能指标,由于有时单元模块虽然能实现预定的逻辑功能,但是达不到预定的功能指标(如测量精度不够)。这时,亦需重新设计单元模块。5.1 硬件调试5.1.1 元器件的检测众所周知,一个系
27、统由若干模块组成,而一个模块又由于若干元器件组成,所以在设计系统之前要先检查所使用的元器件是否能正常工作。可以在面包板上先设计一个简朴电路对元器件进行测试,假如元器件能正常工作再进行实验,这样可以节省很多宝贵的时间。下面对这次设计所用的部分元器件测试作一简朴介绍。(1) LED数码显示器:直接给液晶显示器加上电压,看液晶屏是否被点亮。(2) 蜂鸣器:直接给蜂鸣器加方向对的的电压,看蜂鸣器是否能正常发声。5.1.2 模块电路的检测(1) 报警模块:直接给P3_3和P3_4,P3_5送低电平,看发光二极管和蜂鸣器能否正常工作。(2) 矩阵式键盘模块:按下某一个按键,用万用表检测是否有两个口导通。(
28、3)显示模块:用万用表检测,给COM端一个高电平,逐个给每个LED的ag低电平,看是否按预定规定电量。5.2 软件调试本系统的软件系统很庞大,用C和汇编语言来编写。单片机应用系统一般都需要开发系统和开发软件来设计。调试环节:(1) 先独立后联机:软件对被测参数进行加工解决或作某项事务解决时,往往是与硬件无关的,这样就可以独立进行调试。此时与硬件无关的程序快调试就可以与硬件调试同步进行,以提高软件调试的速度。当与硬件无关的程序快调试完毕后,可将仿真机与主机、用户系统连接起来,进行联机调试。(2) 先分块后组合:将用户程序提成与硬件无关和依赖于硬件两大程序快后,程序仍较为庞大的话,常规的调试方法是
29、分别对两类程序快进一步采用分模块调试,以提高软件调试的有效性。各模块调试完后,将互相有关联的程序模块逐块组合起来加以调试,以解决在程序模块连接中也许出现的逻辑错误。(3) 先单步后连续:调试好程序模块的关键是实现对错误的准拟定位,而发现程序中错误的最有效方法是采用单步加断点运营方式调试程序。这样就可以精拟定位错误所在,就可以做到调试的快捷和准确。一般情况下,单步调试完毕后,还要作连续运营调试,以防止某些错误在单步执行的情况下被覆盖。在系统软件的调试过程中,一方面将程序提成几个程序段分别进行调试,对于一些独立的程序模块隔离出来分别进行调试。例如对键盘及数码显示管部分,进行单独调试,用单步、断点和
30、连续等方法,观测各数据窗口的数据是否正常,检查出程序中犯错的地方并加以纠正。此外,还可以借助仿真软件来测试软件的运营情况,在这里我用的是PROTEUS仿真软件,能非常逼真的看到系统的的运营状况,并能反映单片机各个口高低电平的变化情况。5.3 系统软硬件联机调试系统联机调试是将用户系统的软件在其硬件上实际运营,进行软硬件联合调试,从中发现硬件故障或软硬件设计上的错误。假如直接将软硬件连起来调试,出现了问题就不知道是软件上还是硬件上的问题。所以在联机调试之前,一定将软件和硬件分别调试好,再进行联机调试。当各个部分都通过测试后没有问题,就可以将软硬件联机进行系统调试,这样出现的问题就会比较少,同时也
31、能减少调试的难度。第6章 焊接技术先将准备好的元件插入印刷电路板规定好的位置上,在元件与印刷电路板铜箔的连接点上,涂上少许焊剂,待电烙铁加热后用烙铁头的刃口上些适量的焊锡,上的焊锡多少要根据焊点的大小来决定。焊接时,要将烙铁头的刃口接触焊点与元件引线,根据焊点的形状作一定的移动,使流动的焊锡充满焊点并渗入被焊物的缝隙,接触时间大约在3-5秒左右,然后拿开电烙铁。拿开电烙铁的时间,方向和速度,决定了焊接的质量与外观的对的的方法是,在将要离开焊点时,快速的将电烙铁往回带一下,后迅速离开焊点,这样焊出的焊点既光亮,圆滑,又不出毛刺。在焊接时,焊接时间不要太长,免得把元件烫坏,但亦不要太短,导致假焊或
32、虚焊。焊接结束后,用列子夹住被焊元件适当用力拉拨一下,检查元件是否被焊牢。假如发现有松动现象,必须重新进行焊接。第7章 总 结7.1 心得体会课程设计已经完毕,回想两周来的努力,真可谓百感交集,受益匪浅。电子密码锁不算是非常难的题目,所以,我们在基础功能的实现上尽量的多加一些附加的功能,使整个系统更加完善。虽然谈不上有多复杂,但也会碰到一些问题,值得欣慰的是通过一遍一遍的检查、调试、修改终于使其完毕了基本功能。在此过程中,我们学到了很多书本中永远学不到的知识。这些知识对于以后的学习与工作将会有巨大的帮助。心得一:(。的心得体会) 两周的实习虽然很短,但我学到的知识的确一个学期的理论学习所不能替
33、代的。在实习期间,我们自己动手完毕了软硬件部分的设计,连接。在这个过程中,我经历了难易难。刚听说要课程设计,准备选择设计题目时,觉得这是一个很难的任务,认为我们不也许独立作出东西来;当翻阅大量书籍,准备定下课题,并找到几个设计方案时,又忽然觉得没有想象中那么难,于是,眼高手低,不想做简朴的交通灯,选择了电子密码锁,信心满满的认为能完毕的很好。当我们开始动手设计时,无论是软件方面还是硬件方面,问题不断,困难重重。 为了更好的完毕设计,我们翻阅大量书籍,学习了每个元器件的引脚,功能等。什么时候需要放大,什么时候片选,应当相应的加哪些元器件,如何能使显示器稳定等等问题都花费我们大量时间和精力来解决,
34、但在解决过程中,我们学到了实际中应用的真知识。 通过这次实习,我总结了以下几点心得: 1、仔细研究课题:只有充足了解课题规定,才干做出符合条件的作品。这是设计的基础。 2、不懂就问,多问多得:由于之前没有相应的学习和训练,所以碰到的不懂得问题特别多,这时假如单靠自己死“钻”,效率极低。我周边有几个在实验室的同学,我经常让他们帮我讲解一些知识,同时也经常请教老师,听取他的意见。问题大多能得到有效解决。在问的过程中,也是我的学习过程,问的越多,你收获就越多。 3、建立信心:起初,我们的密码锁最大的问题就是显示问题:管子亮度很暗,只有在较黑的环境下才干看到。为此,我们采用过:加三极管放大,加244电
35、流驱动,加非门等许多方法,但都不见效,并且仿佛越弄越糟,自信心受损,情况越来越糟。当我们重拾信心,下定决心要把它完毕,做好时,通过努力问题得到了有效地解决。4、发散思维:不要被书本上的死知识所限定,在运用所学到的理论知识的同时,发散你的思维,活学活用才干真正掌握这门课程。 通过本次实习,使我对单片机及相关知识有了更进一步的了解,也使我的动手能力提高很多。虽然只有两周,但学到的东西却让我受益终身。心得二:(。的心得)通过这次课程设计,让我明白了理论学习与实践实现之间的巨大差异,要想实现具体的内容就必须以对的的理论知识为指导,只具有纯碎的理论知识也是不够的,由于在实践实现的过程中的不定干扰性因素太
36、多,实践起来出现了不少的问题,在提出问题和解决问题的过程中,给我的学习和生活都带来了很深刻的影响,现归纳如下:(1) 要仔细分析题目拟定设计方案。在分析题目的过程中一定要多查资料多听取老师同学的意见,尽量的少走弯路。对所选的题目得有大约的了解,在这样一个基础上,综合已有的资料来更透彻的分析题目。然后再在此基础上提出适合该题目的设计方案。俗话说有的放矢,设计方案对于设计是至关重要的,合理的方案不仅给以后的设计带来很大的方便,也能使结果更好一点。(2) 要注意查询资料的方式。信息时代资料满天飞,上网查资料是必不可少的,但是到图书馆去也有其可取之处的。总之,不管通过哪种方式查的资料都是有运用价值的,
37、要一一记录下来以备后用,这也是整个设计的基础。(3) 要注意学习能力的提高。碰到了问题并且分析了问题,然后就是如何解决问题了,这个时候学习能力显得特别的重要。如何通过自己的努力把不明白的东西搞明白,这也是学习能力的体现,从中也体味到了学习的乐趣。(4) 要多动手。很多事情想起来是一回事真正做起来就并不是那么简朴。随着设计的逐步进行,诸多问题也就暴露了出来,这点我深有体会。所以在平时就应当注意培养自己的动手能力,实践出真知。(5) 要勤学好问。敢于请教,乐于助人。要多向老师、同学请教,同时也要乐于帮助别人,互相探讨,互相学习,这样才干不久的进步。以上就是我的一些心得,在实际动手的过程中总比想象的
38、要困难的多。在设计过程中,我通过查阅大量有关资料,向老师请教,与同学互相交流,使自己学到了不少知识,也收获了很多,充足体会到了在学习过程的艰难和成功的喜悦。在课程设计过程中我学到了许多东西,也培养了我独立工作的能力,树立了信心,这也对此后的学习、工作、生活有重要的影响。通过这次的课程设计不仅使我对单片机有了进一步的理解和学习,也使我感到尚有很大的局限性。当然,本次课设还存在一些缺陷,所设计的内容也还存在一些局限性,还恳请老师给与批评和指正。最后,再次感谢老师不辞辛劳的精心指导,感谢我们成员之间的互相协作,互相帮助。心得三:(。的心得)今天我们完毕并提前做好了自选题目的设计,本次单片机课程设计的
39、课题是44键盘及8位数码管显示构成的电子密码锁的实现与运用。通过一周的努力,基本达成了预期的功能,密码的输入、删除,密码的保存、改写,错误报警、自锁等。 本次设计我们三位成员一起计划、谈论、实践,但由于本人基础知识掌握的不够牢固,在设计时发挥的作用有限,但我抱着学习的态度积极参与,从中也学习到了很多理论与实践的知识,比如LED数码管如何通过MCS-51单片机实现控制、电焊时应当注意的常识、元器件组装时如何合理布局等等 当然设计过程中也难免碰到各种各样的问题,但有老师的耐心讲解与帮助,基本能得以解决。在设计时我们相应碰到了硬件软件等问题,比如插槽的选择会影响数码管显示的稳定性,LED共阴共阳选择
40、相应的问题,程序的输入与存储,尚有其他的一些问题。我们组设计的密码锁在显示上碰到了问题,数码管显示亮度不够,在老师的指导下通过一系列改善终于达成了预期的效果,并且加入了一些扩展功能,有密码位数锁定、密码输入保密措施、尚有老师建议的开锁控制脉冲改善。 通过这些设计与改善,我们也结识到了无论是在生活还是工作中碰到问题是难免的,关键是如何从解决问题的过程中提高知识储备与排除问题的能力,这些都是我们此后学习工作不可或缺的,并且我在设计的过程中结识到自己的局限性,好多知识需要扎实的基础才干更好的运用,实践是检查真理的唯一方法,多动手做,哪怕是从点亮一只指示灯开始,也要动手去做,否则就会永远停留在书本上。
41、同时,此后也要努力学习掌握专业知识,方便此后工作与学习。7.2 系统存在的问题和改善方案本系统的缺陷有:(1) 系统模块直接由排线连接,存在接触不良的现象,使LED有时产生乱码现象。解决方案:将模块之间焊接起来,使系统更加稳定。(2) 本次系统电路板均由手工焊接而成,故对整个系统的稳定性有着很大的考验。(3)LED数码管有功耗大、体积大,显示内容单调的缺陷。解决方法:LCD液晶屏显示模块与数码管相比,有功耗小、体积小、显示内容丰富、画面美观、超薄轻巧、使用方便等特点。7.3 设计中碰到的问题和解决方法设计中碰到的问题: 数码管显示不完全解决方法:显示不完全的因素是硬件焊接存在使其不稳定,由于我
42、们之前的焊接方法不抱负,自身存在不稳定问题,为此,我们重新焊了数码显示部分,在数码管底部采用芯片底座。由于芯片底座内部有弹簧,会增强管子连接部分的稳定度。 数码管的亮度不够,很暗解决方法:我们尝试过:加电流驱动器244,加三极管,但由于一起驱动8个共阴极数码管所需电流太大,仍不见效;最终我们选择了共阳极的LED数码管,并修改了相应程序,亮度得以完善。 蜂鸣器的响声非常小 解决方法:将蜂鸣器所接电阻换为较小阻值的电阻。参考文献1 晁阳. 单片机MCS-51原理及应用开发教程M.清华大学出版社,2023.102 蔡朝洋. 单片机控制实习与专题制作M.北京:北京航空航天大学出版社,2023.3 周立
43、功. 增强型80C51单片机速成与实践M.北京:北京航空航天大学出版社,2023.4惠仇. 手把手教你51单片机 M.北京:电子工业出版社,2023.15 阎石. 数字电子技术基础M.北京:高等教育出版社,2023.5. 附录一:系统电路总图附录二: 元器件清单:元件清单元件名元件数量89C52RC单片机一个共阳极LED数码管八个按键开关十六个9012三极管八个1K电阻八个40脚芯片底座两个ATMLU836芯片一个100欧电阻四个个9013三极管一个3906三极管三个继电器一个蜂鸣器一个发光二极管三个排针若干导线若干焊接电路板四块10K电阻两个电池盒一个排线若干八脚芯片底座一个附录三:软件程序
44、#includeintrins.h#includereg52.h#includetop.h#includekeyscan.h#includeleddisp.h#includedydisp.h#includetest.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; while(!num1) if(esc=1) if(num2=2) while(1) disp(CLOSED,6); er=1; esc=0; num2+; break; goto loop;/*-INTRINS.HIntrinsic functions for C51.Copyright (c) 1988-2023 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.-*/#ifndef _