《毕业设计密码锁控制系统(共30页).doc》由会员分享,可在线阅读,更多相关《毕业设计密码锁控制系统(共30页).doc(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上毕 业 设 计题目 密码锁控制器 系别 专业 班级 姓名 学号 指导教师 日期 专心-专注-专业设计任务书设计题目:密码锁控制器设计要求:1.密码锁设为6位十进制数密码,并通过6位LED显示出来,将密码存放于串行EEPROM中,密码通过09十个数字键设定和修改,另有3个功能键,分别作为:密码设置键、开锁确认键、复位键。2. 上电开机后,显示提示符“P.”,此时若在开锁的状态下可设置密码;如果在关锁的状态下可开锁。3. 开锁时,如果密码输入错误,则报警器响起,按复位键可重新输入密码。设计进度要求:第一周:图书馆查阅资料;第二周:查阅资料并开始思考总体思路;第三周:设计硬
2、件电路,绘制电路图;第四周:绘制软件框图,编写部分程序;第五周:仿真软件中调试程序;第六周:论文编写完成并上交;第七周:修改论文;第八周:毕业论文答辩; 指导教师(签名): 摘要设计以单片机为核心部件的密码所控制器,扩展74LS273作为LED显示器字段口,位选由P1.0-P1.5控制,LED七段数码管作为密码显示用,按下密码设置键开始设置密码,密码通过09十个数字键设定和修改,用开锁确认键打开密码锁,在密码输入错误时按复位键重新输入密码。设计又分为硬件设计和软件设计两部分,硬件设计主分为CPU的选用,各种扩展模块的选用,各种电子元件的选用。软件设计包含了主程序、键盘扫描子程序、数字处理程序、
3、开锁程序、密码设置程序等程序的设计与编写。本次设计中所设计的密码锁具有系统简单,实用性强,成本低,使用维护方便,软件功能强,运行稳定可靠等优点。关键词:单片机,密码锁,密码,报警,开锁目录1 前 言计算机系统已明显地朝巨型化、单片化、网络化三个方向发展。巨型化发展的目的在于不断提高计算机的运算速度和处理能力,以解决复杂系统计算和高速数据处理,比如系统仿真和模拟、实时运算和处理。单片化是把计算机系统尽可能集成在一块半导体芯片上,其目的在于计算机微型化和提高系统的可靠性,这种单片计算简称单片机。单片机的内部硬件结构和指令系统主要是针对自动控制应用而设计的所以单片机又称微控制器MCU(Micro C
4、ontroller Unit)。用它可以很容易地将计算机嵌入到各种仪器和现场控制设备中,因此单片机又叫做嵌入式微控制器(Embedded MCU)。单片机自20世纪70年代问世以来,以其鲜明的特点得到迅猛发展,已广泛应用于家用电器、智能玩具、智能仪器仪表、工业控制、航空航天等领域,经过30多年的发展,性能不断提高,品种不断丰富,已经形成自动控制的一支中坚力量。据统计,我国的单片机年容量已达13亿片,且每年以大约16的速度增长,但相对于国际市场我国的占有率还不到1。这说明单片机应用在我国有着广阔的前景。对于从事自动控制的技术人员来讲,掌握单片机原理及其应用已经成为必不可少的学习任务。单片机经过3
5、0多年的发展,已经形成一个规格齐全、品种繁多的大家族,用户有非常大的选择余地。下面为读者简单介绍目前市面上常见的主流单片机。 单片机的应用十分广泛,在工业控制领域、家电产品、智能化仪器仪表、计算机外部设备,特别是机电一体化产品中,都有重要的用途。其主要的用途可以分为以下方面。l 显示:通过单片机控制发光二极管或是液晶,显示特定的图形和字符。l 机电控制:用单片机控制机电产品做定时或定向的动作。l 检测:通过单片机和传感器的联合使用,用来检测产品或者工况的意外发生。l 通信:通过RS-232串行通信或者是USB通信,传输数据和信号。l 科学计算:用来实现简单的算法。那么单片机是不是解决上述应用的
6、唯一选择呢?淡然不是!目前,在自动控制中,一般有三种选择,分别是嵌入式微机、DSP和单片机。单片机最明显的优点是价格便宜,从几元人民币到几十元人民币。这是因为这类芯片的生产量很大,技术也很成熟。其次,单片机的体积也远小于其他两种方案。单片机本身一般用40引脚封装,当然功能多一些的单片机也有引脚比较多的,如68引脚,功能少的只有10多个或20多个引脚,有的甚至只有8只引脚。当然,单片机无论在速度还是容量方面都小于其他两种方案,但是在实际工作中并不是任何需要计算机的场合都要求计算机有很高的性能。例如,控制电冰箱的控制器就不需要使用嵌入式系统,用一片51就可以轻松实现。所以应用的关键是看能否够用,是
7、否有很好的性能价格比。51系列的单片机已经面世十多年,依然没有被淘汰,还在不断发展中,这就说明是他有广阔的应用前景。我们的密码所控制器就是以单片机为核心设计的,本设计采用的是ATMEL公司的AT89C51芯片,此芯片根据了充分的静止CMOS 控制器与三级节目记忆锁,共有32 条I/O 线, 2 定时计数器, 6 个中断来源,4 K 闪存, 128 个字节在芯片RAM。随着社会的发展,密码所控制器也在不断的发展,最早的有4位密码的密码锁控制器,发展到6位,甚至可以设计出具有语音功能(声控)、红外线感应功能等先进的密码锁控制器。在这里,我们设计的是一个可以设置6位密码的密码所控制器。2 总体方案设
8、计2.1总体框图设计 密码锁控制器的总体设计框图如图2.1所示。AT89C51最小应用系统按键电路晶振电路复位电路LED动态显示图2.1 总体设计框图2.2 显示控制方案再构成多位LED显示时,点亮数码管的方式有静态显示和动态显示两种。静态显示方式:LED的静态显示是指当数码管显示某一字符时,相应段的发光二极管处于恒定地导通或截止状态,直到显示另一字符为止。静态显示方式各位可独立显示。由于各位分别由一个8位I/O接口控制段选码,故在同一时间里,每一位显示的字符可以各不相同。这种显示方式接口,较小的电流即可获得较高的亮度,且占用CPU时间少,编程简单,便于监测和控制。动态显示方式:LED动态显示
9、就是利用单片机依次输出每一位数码管的段选码和对应于该位数码管的位选控制信号,一位一位轮流点亮各七段数码管。对每位数码管来说,每隔一段时间点亮一次,如此循环。利用人眼的“视觉暂留”效应,只要每位显示间隔足够短就可以给人一同时显示的感觉。在动态显示方式中,同一时刻,只有一位LED数码管在显示,其他各位是关闭的。在段选码和位选码每送出一次后,应保持1ms左右,这个时间应根据实际情况而定。不能太小,因为发光二极管从导通到发光有一定的延时,导通时间太小,发光太弱人眼无法看清。但也不能太大,因为毕竟要受限制于临界闪烁频率,而且此时间越长,占用CPU时间也越多。在这里我们选用动态显示方案,74LS273作为
10、LED显示器字段口,位选由AT89C51中P1.0P1.5控制。2.2 动态显示电路图2.3键盘控制方案键盘分为独立式键盘和行列式键盘,独立式键盘接口电路配置灵活,硬件结构简单,工作可靠但每个按键必须占用一跟I/O接口线,I/O接口线浪费较大,在单片机应用系统中,有时只需要几个简单的按键向系统输入信息,可将按键直接在一根I/O接口线上,故只在按键数量不多时采用。而行列式键盘每条行线与列线在交叉处不直接相通,而是通过一个按键加以连接,当按键较多时可采用行列式键盘以节省I/O接口。本设计选用独立式键盘。2.3 独立式键盘电路图2.4 软件总体设计方案 对于软件我们的设计思路是:1. 要有键盘扫描子
11、程序,按下的功能键和数字键的扫描后,送数字键处理程序、开锁程序、密码设定程序进行下一步动作。并对功能键和复位键设置有效的标志以便于应用。2要有数字处理程序,以下是数字处理程序,将6位密码放入40H45H单元,并调用显示子程序。3. 要有开锁程序,开锁程序首先判断密码是否为6位,如不是,重新扫描按键。如是6位,将密码进行逐位比较,密码正确则开锁,密码错误报警并复位,重新设置密码。4. 要有密码设置程序,将6位密码写入M24C01中后锁死密码锁并调用显示子程序显示密码。5要有显示子程序,当键入一个数值或符号时显示程序要把这个键入的数字或字符显示出来。2.5 电路原理图2.3 电路原理总图3 所选硬
12、件系统介绍3.1 AT89C51单片机的简介 AT89C51是MCS-51系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。AT89C51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:3.1 单片机内部结构示意图1、中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。2、数据存储器(RAM)AT89C51内部有12
13、8个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。3、程序存储器(ROM)AT89C51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。4、定时/计数器:89S51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。5、并行输入输出(I/O)口:89S51共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。6、中断系统89S51具备较完善的中
14、断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。3.2 AT89C51单片机的引脚AT89C51单片机内部总线是单总线结构,即数据总线和地址总线是公用的. 89S51有40条引脚, 与其他51系列单片机引脚是兼容的. 这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分. AT89C51单片机为双列直插式封装结构, 如图3.2所示.主要特性:1、与MCS-51 兼容 2、4K字节可编程闪烁存储器3、寿命:1000写/擦循环 4、数据保留时间:10年5、全静态工作:0Hz-24Hz 6、三级程序存储器锁定7、128*8位内部R
15、AM 8、32可编程I/O线9、两个16位定时器/计数器 10、5个中断源11、可编程串行通道 12、低功耗的闲置和掉电模式13、片内振荡器和时钟电路图3.2 AT89C51引脚分配图 AT89C51单机的电源线有以下两种:(1) VCC:+5V电源线。电源线 (2) GND:接地线。AT89C51单片机的外接晶体引脚有以下两种: (1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2) XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。 控制线 A
16、T89C51单片机的控制线有以下几种:(1) RST:复位输入端,高电平有效。(2) ALE/PROG:地址锁存允许/编程线。(3) PSEN:外部程序存储器的读选通线。(4) EA/Vpp:片外ROM允许访问端/编程电源端。 3.3 AT89C51单片机复位方式单片机在开机时或在工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位. 复位的作用是使中央处理器CPU以及其他功能部件都恢复到一个确定的初始状态,并从这个状态重新开始工作.AT89C51单片机的复位靠外部电路实现,信号由RESET(RST)引脚输入,高电平有效,在振荡器工作时,只要保持RST引脚高电平两个
17、机器周期,单片机即复位. 复位后,PC程序计数器的内容为0000H,片内RAM中内容不变. 复位电路一般有上电复位、手动开关复位和自动复位电路3种,如图3.3所示.a.上电复位电路 b. 手动复位电路 c. 自动复位电路图3.3 单片机复位电路由于设计所需,我们在这里选用手动式复位电路。由外部扩展M24C01设定功能键控制手动式复位电路。3.4 M24C01的功能串行EEPROM用M24C01,引脚含义如下: E0、E1、E2:芯片的地址输入端; SDA:串行数据输入/输出端; SCL:串行时钟输入端 WC:写保护输入端,当该端为低电平时不允许向芯片写数据。图3.4 M24C01管脚图3.5
18、74LS244的功能 74LS244是一种史密特触发的8位三态缓冲器,抗干扰性好。它的引脚封装图如图3.4所示。74LS244的主要性能如下: l 三态输出驱动总线。l 抑制噪声设计。l 典型逻辑延时为10.5ns(输出状态不改变)/12ns(输出状态改变)。l 快速使能为12ns.l 在较低功耗下具有很强的驱动能力。图3.5 74LS244管脚图3.6 74LS273的功能74LS273为8D锁存器。当它的使能端信号有效且触发端信号有效时,输入D1D8端的数据被锁存到8D触发器中并形成输出Q1Q8。74LS273的引脚封装如图3.5所示。图3.6 74LS273管脚图74LS273在这里作为
19、LED显示器字段口。3.7 键盘接口工作原理在单片机应用系统中,常用键盘作为输入设备,通过它将数据、内存地址、命令及指令等输入到系统中,来实现简单的人机通信。3.7.1 按键开关的去除抖动功能目前,MCS51单片机应用系统上的按键常采用机械触点式按键,它在断开、闭合时输入电压波形如图3.6所示.可以看出机械触点在闭合及断开瞬间均有抖动过程,时间长短与开关的机械特性有关,一般为510ms。由于抖动,会造成被查询的开关状态无法准确读出。例如,一次按键产生的正确开关状态,由于键的抖动,CPU多次采集到底电平信号,会被误认为按键被多次按下,就会多次进行键输入操作,这是不允许的。为了保证CPU对键的一次
20、闭合仅在按键稳定时作一次键输入处理,必须消除产生的前沿(后沿)抖动影响。图3.7 按键过程3.7.2 独立式键盘的接口电路独立式键盘的接口电路:在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。这时,可将每个按键直接接在一根I/O接口线上,这种连接方式的键盘称为独立式键盘。如图3.7所示,每个独立按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O线,I/O接口线浪费较大。故只在按键数量不多时采用这种按键电路。在此电路中,按键输入都采用低电平有效。上拉电阻保证了按键断开时,I/O接口线
21、有确定的高电平。当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。图3.8 独立式键盘电路3.8七段LED显示工作原理数码管结构:数码管由8个发光二极管(以下简称字段)构成,通过不同的组合可用来显示数字0 9、字符A F及小数点“”。数码管的外形结构如图2.7(a)所示。数码管又分为共阴极和共阳极两种结构,分别如图2.7(b)和图2.7(c)所示。LED显示器是由发光二极管显示字段的MCS-51单片机输出设备。单片机应用系统常采用七段LED数码管作为显示器,这重显示器具有耗电低、配置灵活、线路简单、安装方便、耐转动、价格低廉且寿命长等优点。因此应用比较广泛。LED数码管显示器可以分为共阴
22、极和共阳极两种结构:(a)外形结构 (b)共阴极 (c)共阳极图3.9 数码管结构图在这里我们选用共阴极结构。共阴极数码管的8个发光二极管的阴极(二极管负端)连接在一起。通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为高电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。共阳极数码管的工作原理与共阴极的正好相反。4 软件设计4.1主程序模块主程序初始化和按键控制,首先分别将数据单元进行初始化清0,然后将功能键和复位键原有标志清
23、除,将密码读出单元初始化,并锁定报警器和密码锁,同时显示出提示符“P”, 再调用扫描子程序,如此周而复始的循环,如图4.1所示。图4.1 主程序流程图4.2键盘扫描子程序模块图4.2 键盘扫描程序流程图CHKEY: CLR P2.5 MOVX A,R0 CPL A JZ TZ1 LJMP KEY04.3数字处理程序模块图4.3 数字处理程序流程图CHECK: INC 47H MOV A,47H CJNE A,#07H,TRAN DEC 47H LCALL DISPLAY LJMP JANTRAN: LCALL NEXT LCALL DISPLAY LCALL DISPLAY LJMP CHKE
24、Y4.4 开锁程序图4.4开锁程序流程图OPEN: MOV A,47H CJNE A,#06H,JCHECK LJMP CMPJHECK: LCALL DISPLAY LJMP CHKEY CMP: MOV R0,#35H MOV R2#6 MOV R1,#45HC1: MOV A,R1 XRL A,R0 JNZ C3 DEC R1 DEC R0 DJNZ R2,C1 MOV R5,#74.5 密码设置程序图4.5 密码设置程序流程图 EPASS: MOV A,47H CJNE A,#06H,ERR LCALL WRITE SETB P1.7 LCALL DISPLAY LJMP PEDERR
25、: SETB 21HPED: RET 5 系统调试5.1 在伟福中的调试完成了硬件的设计、制作和软件编程之后,要使系统能够按设计意图正常运行,必须进行系统调试。系统调试包括硬件调试和软件调试两个部分。不过,作为一个单片机系统,其运行是软硬件相结合的,因此,软硬件的调试也是绝对不可能分开的。首先在伟福中进行调试,打开伟福仿真软件的界面,对仿真器进行参数设置。图5.1 仿真器的选择我们所选的是8751的仿真器,在目标生成文件中选择生成BIN和HEX文件(即二进制和十六进制文件)其设置如图5.2所示,设置完成后点“好”就可以了。图5.2在伟福中输入程序后并编译之后,出现一些输入错误和程序编写错误。在
26、经过一番修改之后,纠正了这些错误终于编译成功。最后,将文件保存在以自己学号或姓名命名文件夹下。5.2 在Keil中的调试在伟福内调试通过以后,再在Keil中下载到实验箱上进行验证,显现出所要求的效果。而在Keil中也要进行一些参数的设置,首先打开Keil仿真软件,首先要新建一个项目,点菜单ProjectNew Project,在弹出的对话框中选择保存的路径并输入项目名称“密码锁”后保存,然后在弹出新的项目窗口中选择参数,其参数的设置如下,由于我们使用的是Atmel公司的芯片,所以要选Atmel后确定。如图5.3所示:图5.3在弹出的对话框中选择AT89C51这个芯片,确定。如图5.4所示:图5
27、.4然后开始设置它的参数值,如图5.5所示:图5.5在Xtal中输入频率为110592MHZ,然后再选Debug这个标签,选中第二个Use复选框后点击Setting在弹出的对话框中选择Baudrate这一项,设置它的参数为38400,后OK。如图5.6所示:图5.6把以上的参数设置完成以后把程序添加进来编译,编译通过后接上实验箱进行验显。6 结 论依据本论文设计以AT89C51单片机为核心的密码锁控制器,经过近4个月的设计,最后按设计要求终于在单片机实验箱上试验成功,选择不同的单片机,可以组成具有较强抗干扰能力和运行可靠性的产品,其抗干扰能力虽然不如PLC,但PLC价格较贵,用单片机运行效果仍
28、然令人满意,同时证明了本方案的正确性。该密码锁控制器是由单片机控制的电子密码锁控制器,应用非常广泛。如果能改造成激光感应控制、热感应控制、或声控的话,会使密码锁控制器应用到更多的领域。致谢经过一个多月的努力,终于圆满的完成了本次设计任务。在本次设计中,遇到许多困难,充分表明我在以往的学习过程中在这方面知识的欠缺和经验不足。在本次设计中我得到了许多老师和同学的帮助,才使得我的设计顺利进行。特别是张咏梅老师以及同班的几位同学,在此我向他们表示最诚挚的感谢。转眼三年的大学生活就要结束,我们也将步入社会开始自己新的生活。通过这段时间做论文,我深深的感到自己在学校所学到的书本上的知识,还远不能满足自己以
29、后的需要。虽然自己将要告别学生生活,但自己在以后的工作中还要更加努力的学习,做到“活到老,学到老”。我相信三年的大学学习、生活,将成为我人生中的一笔宝贵的财富。我在做论文的过程中得到了各任课老师的指导与教诲,特别是张咏梅老师对我的认真不倦的辅导,才使我顺利的完成了论文。感谢张老师诲人不倦的教学态度。同时在写论文的过程中参考了大量的参考文献,在此向作者表示诚挚的谢意。参考文献1 刘和平,刘跃.单片机原理及应用.重庆:重庆大学出版社,20042 张立科.单片机典型外围器件及应用实例.北京.人民邮电出版社,2006 3 陈明荧.89C51单片机课程设计实训教材.北京:清华大学出版社,20044 刘瑞新.单片机原理及应用教程.北京:机械工业出版社,20035 马彪.单片机应用技术.郑州.中国轻工业出版社,20066 饶庆和.89C51单片机实用技术.北京:人民邮电出版社,20037 楼然苗,李光飞.51系列单片机设计实例.北京: 北京航空航天大学出版社,20038 黄庆华.单片机开发戀术与实训.北京.电子工业出版社,20069 杨西明,朱骐.单片机编程与入门.北京:机械工业出版社,200410 李传军.单片机原理及应用.河南.河南科学技术出版社,200611 李朝青,单片机原理及接口技术.北京:北京航空航天大学出版社,2002
限制150内