基于单片机的电子密码锁设计(保险柜)(编辑修改稿)内容摘要:
说明: 当光路没被遮挡时,会发出连续的报警声,且红灯亮,防止密码柜被 被偷。 直流电机模块 图 311 流电机模块 说明:当对应单片机的 IO 口输出低电平时,三极管打开,有电流通过电机,电机转动,开锁。 键盘接口模块 图 312 键盘模块 说明 :通过 P3 口组成的 4*4 矩阵键盘,各个键定义为 0,1,2,3,4,5,6,7,8,9, A修改密码, D复位, “ *”修改密码和密码共用 确认键。 数码管显示模块 修改密码 复位 确认 数码输入 12 图 313 说明 :通过 P0 口控制数码管的段选,然后用 P2 口的低六位控制数码管的位选,从而达到数码管显示。 硬件明细 名称 规格 数量 单片机 AT89C52 1 LED 红 黄 绿 蓝 各 1个 直流电机 2v6v 1 矩阵键盘 4*4 1 电解电容 10uf 2 瓷片电容 30pf 1 数码管 3 位一体 2 电阻 10k, 1k, 各 2 个 蜂鸣器 5v 有源 2 主要是对硬件进行的设计 硬件设计是整个系统的基础,要考虑的方面很多,除了实现此设计的基本功能以外,主要还要考虑如下几个因素:①系统稳定度;②器件的通用性或易选购性;③软件编程的易实现性;④系统其它功能及性能指标。 硬件的设计决定了产品性价比。 13 第四章 软件设计 本设计软件部分要实现的功能分别为:键盘扫描,数码管显示,延时部分, 蜂鸣器报警, led 显示,直流电机。 键盘扫描模块 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。 密码修改模块 必须输入原来的密码才能输入你想想要的密码。 密码比较判断模块 该模块的功能是将键盘输入的密码与设定的密码进行比较,若密码正确,则开锁;若不正确则调用报警模块。 显示模块 该模块的功能是显示,由于是分屏显示数据,所以需要调用各显示子程序。 报警模块 该模块为了保证安全性,当密码输入的次数超过 1,就会发出报警,以便 引起人们的注意。 14 图 41 图 42 根据设计要求的功能,程序主要分为三部分,即: (1)动态显示部分; (2)行列键盘扫描部分; (3)按键功能实现部分。 按键功能实现部分融合在主程序中,根据不同的键值进行分支处理,以完成设计要求的不同控制功能;按键控制主要完成数据输入、显示刷新控制等。 程序主流程主要完成键盘扫描、键值处理,键值分支控制的任务,流程图如图 52 是在 IRQ4 的 1KHZ 中断中控制显示的,采用动态扫描的方式, 1KHz 的时基中断每 1ms 进一次中断,在中断中对 2ms 计数器 i 进行累加,当 i 从 0 累加到 2 时,则刚好为 2ms,此时更新一个位的数码管显示,并对 i 进行清零。 具体流程图 53。 开始 初始化密码 初始化数据以及中断、键盘等 扫描键盘,针对键值分支 Key=A 修改密码 Key=D 复位 Key=* 确认 数字键输入数码 清看门狗 15 图 43 1KHz时基中断流程 由于程序过多,如附录所示。 2ms 计数器 i++ i=2 更新显示一位 LED 结束 16 第五章 系统调试 Proteus 仿真调试 主要用的是 ISIS 部分。 Proteus ISIS 是一种操作简便而又功能强大 的原理图编译工具,它运行于 Windows 操作系统上,可以仿真、分析各种模拟 器件和集成电路,该软件的特点有: •实现了单片机仿真和 SPICE 电路仿真结合。 具有模拟电路仿真、数字电路 仿真、单片机及其外围电路组成的系统仿真、 RS232 动态仿真、 IC 调试器、 SPI 调试器、键盘和 LCD 系统仿真等功能;有各种虚拟仪器。 如示波器、逻辑分析 仪、信号发生器等。 •支持主流单片机系统的仿真。 目前支持的单片机类型有 68000 系列、 8051 系列、 ARM 系列、 AVR 系列、 PIC12 系列、 PIC16 系列、 PIC18 系列、 PIC24 系列、 BSTAMP 系列、 Z80 系列、 HC11 系列以及各种外围芯片。 •提供软件调试功能。 在硬件仿真系统中具有全速、单步、设置断点等调试 功能,同时可以观察各种变量、寄存器等的当前状态,因此在该软件仿真系统中, 也必须具有这些功能;同时支持第三方的软件编译和调试环境。 如 KeiluVision3 等软件。 •具有强大的原理图绘制功能。 运行 Proteus 的 ISIS 程序后,进入该仿真软件的主界面。 在工作前,要设置 VIEW 菜单下的捕捉对齐和 system 下的颜色、图形界面大小等项目。 通过工作 栏中的 P(从库中选择元件命令)命令。 通过 debug 菜单的相应命令仿真程序和电路的运行情况。 Proteus 提供了比较丰富的测试信号用于电路的测试。 对于单片机硬件电路 和软件的调试, Proteus 提供了两种方法;一种是系统总执行效果,一种是对软 件的分部调试以看具体的执行情况。 对于总体执行效果的调试方法,只需要执行 debug 菜单下的 execute 菜单项 或 F12 快捷键启动执行,用 debug 菜单下的 pause animation 菜单项或 pause 键暂停系统的运行。 17 对于软件的分部调 试,应先执行 debug 菜单下的 start/restart debugging 菜单 项命令,此时可以选择 step over、 step into 和 step out 命令执行程序,执行的效果是单句执行、进入子程序执行和跳出子程序执行。 在执行了 start/restartdebugging 命令后,在 debug 菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。 试结果 将 LED 数码管与单片机板 I/O 接口连接,然后连接单片机与 4 4键盘。 再用下载线连接单片机下载线接口与电脑接口,打开单片机电源开关,打开集成开发环境,以 PROJECT 方式打开程序,或直接按 F8 将程序下载到单片机芯片中。 下载完毕后,拔掉下载线,打开电源开关 ,开机时数码管不显示,初始化密码为“ 123456”,密码可以更改,并保存在 RAM 中;然后按下述步骤对硬件电路进行测试: (1)开机时数码管不显示。 初始化密码为“ 123456”,密码可以更改,并保存在 RAM 中。 (2)按下“ D” ,显示全部清空。 (3)随时可以输入数值,并在 LED 数码管上实时显示,当 键入一个新数值时,原来显示的数字左移一位,并在最右边的一位上显示出新键入的键值,键值为 0~9。 (4)按下“ *”键,则表示确定键按下,则进行密码对比,如相符则在 LED数码管上显示“日日日日日日”以示通过;如不符,则显示“ FFFFFF”。 (6)按下“ A”键,表示要修改密码的状态。 此 设计验证了 LED 板可以按照相应的给定值进行显示的功能基本达到了作为电子密码锁的绝大部分功能,但还有许多不足和需要完善的地方。 本章小结 这次 的设计,我熟悉了使用 Proteus 的技巧,学会了制作电路板的一些技巧,并且熟悉了如何选购使用电子元器件。 在设计中,我学到了如何使用 C 语言对单片机进行编写程序,熟悉了使用 keil 软件,并且加深了对单片机的编程技巧。 知道了仿真的的重要性。 并且得到了一些经验,受益匪浅。 18 总结与体会 设计 总结: 51 单片机系统开发的过程有了一定的了解。 C 语言,完成了设计要求和设计指标。 心得体会: 回顾此次单片机课程设计,至今我仍感慨颇多,从理论到实现,在做设计的这些日子里,可以说是苦多于甜,但是可以学到许多许多东西,同时不仅可以巩固以前所学过的知识,而且学到了很多书本上没有学到过的知识。 51 单片机开发的过程有了一定的了解,掌握了系统硬件设计及软件设计的设计原则、思路、步骤。 并通过不断上网查资料、到图书馆借阅图书的方式,进一步熟悉并掌握利用这些工具来进行单片机设计的方法。 通过这次的学习,我真 正学到了不少东西,真正体会到了理论联系实际的重要性。 经过这次设计使我 能更快更准确。基于单片机的电子密码锁设计(保险柜)(编辑修改稿)
相关推荐
出版社, 2020 kang uh guano. Electronic technology foundation simulation part (fifth edition) [M]. Beijing: higher education press, 2020 [6] 阎石 .数字电子技术基础 (第五版 ) [M].北京:高等教育出版社, 2020 YanShi, digital
h 区及数据 flash 区字节编程 0 1 1 对用户的应用程序 flash 区及数据 flash 区扇区擦除 程序在系统 ISP 程序区时可以对用户应用程序区 /数据 Flash 区 (EEPROM)进行字节读 /字节编程 /扇区擦除;程序在用户应用程序区时,仅可以对数据 Flash 区 (EEPROM)进行字节读 /字节编程 /扇区擦除。
案为采用 C 语言为程序语言, KEL C51 为编译工具 进行程序的编河南城建学院本科毕业设计(论文) 功能要求与方案选择 7 译。 河南城建学院本科毕业设计(论文) 系统硬件设计 8 第三章 系统硬件 设计 硬件整体设计概述及功能分析 显示系统具体设计主要由单片机系统, 按键 电路,显示驱动电路和 16 32 的点阵 显示屏电路四 部分组成。 具体工作流程为: PC
111,0xF7, 0x7F),而第二行( 14 脚)送 1 信号。 依此类推,只要每行数据显示时间间隔够短,利用人眼的视觉暂停作用,这样送 16次数据扫描完 16 行后就会看到一个“你”字;第二种送数据的方法是字模信号送到行线上再扫描列线也是同样的道理。 同样以“你”字来说明, 16 行( 1 1 5)上送( 0000000000000000, 0x00, 0x00)而第一列( 13 脚)送
74LS373 的 C 和 OC 端置低电平,使其处于送数状态。 当输入密码后将 OC 置于高电位,则锁存器将密码信号锁 存,然后按键复位。 当下次开锁时只有在规定时间内,规定次数内输入密码才会发出开锁信号,否则不能开锁。 并且,当时间或输入次数到达一定值后,电路会自锁一段时间,并发出警报声。 警报结束后,电路回复原状,计时及计数归零,直至下一次开锁动作。 第一部分是密码输入部分,由八个开关构成
will to achieve calendar of a multifunctional electronic clock design,Thereby achieve studying and understanding the relevant directives MCU in all aspects of the application. By main control AT89C5