机电一体技术毕业论文_第1页
机电一体技术毕业论文_第2页
机电一体技术毕业论文_第3页
机电一体技术毕业论文_第4页
机电一体技术毕业论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

唐山工业职业技术学院 毕业设计说明书 设计题目 : 基于单片机的密码锁 学生姓名: 邸金业 班级 09 机电 12 专 业: 机电一体技术 设 计 指 导 教 师 _于东东 _ _ 设 计 辅 导 教 师 _于东东 _ _ (完成日期) 2012 年 3 月 8 日 1 目 录 1 概述 . 2 1.1 背景 . 2 1.2 设计要求 . 2 2 总体设计 . 2 2.1 方案的论证与比较 . 2 3 硬件设计 . 4 3.1 电路的功能单元设计 . 4 3.1.1 开锁机构 . 4 3.2 按键电路设计 . 5 3.2.1 矩阵键盘电路 . 5 3.3 显示电路设计 . 8 3.4AT24C02 掉电存储单元的设计 . 9 3.5 密码锁的电源电路设计 . 10 3.6 设计总框图 . 11 3.7 设计总体电路图 . 11 4 软件设计 . 12 4.1 模块介绍 . 12 4.1.1 主程序模块 . 12 4.1.2 键盘扫描及识别子程序 . 12 4.1.3 调电存储服务程序 . 12 4.2 程序流程图 . 13 附录:主程序 . 15 总结 . 21 致谢 . 21 主要 参考文献 . 22 2 1 概述 1.1 背景 在日常的生活和工作中 , 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙 , 使用极不方便 , 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。 在安全技术防范领域,具有防盗报警功能的 电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。 1.2 设计要求 本次密码锁的设计,其主要具有如下功能: ( 1)设置 6 位密码,密码通过键盘输入,若密码正确,则将锁打开。 ( 2)密码可以由用户自己修改设定( 6 位密码),密码输 入正确才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。 ( 3)报警、锁定键盘功能。密码输入错误会发出警告音。若密码输入错误次数超过 3次,蜂鸣器报警并且锁定键盘。 ( 4) 有效按键提示。 ( 5) 90 秒定时中断,输出控制信号,防止长时间无效操作。 ( 6) 其他扩展功能。 2 总体设计 2.1 方案的论证与比较 1、方案论证与比较 方案一:采用数字电路控制。其原理方框图如图 2 1 所示。 3 图 2 1 数字密码锁电路方案 采用数字密码锁电路的好处就是设 计简单。 用以 74LS112 双 JK 触发器构成的数字逻辑电路作为密码锁的核心控制,共设了 9 个用户输入键,其中只有 4 个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过 40 秒(一般情况下,用户不会超过 40 秒,若用户觉得不便,还可以修改)电路将报警 80 秒,若电路连续报警三次,电路将锁定键盘 5 分钟,防止他人的非法操作。 电路由两大部分组成:密码锁电路和备用电源 (UPS),其中设置 UPS 电源是为了防止因为停电造成的密码锁电路失效,使用户 免遭麻烦。 密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。 方案二:采用 一种是用以 AT89S51 为核心的单片机控制方案。 利用单片机灵活的编程设计和丰富的 IO 端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加 调电存储、声光提示甚至添加遥控控制 功能。其原理如图 2 2 所示。 4 图 2 2 单片机控制方案 通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后 一种方案。 3 硬件设计 3.1 电路的功能单元设计 3.1.1 开锁机构 通过单片机送给开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理如图 3 1 所示。 图 3 1 密码锁开锁机构示意图 当用户输入的密码正确而且是在规定的时间(普通用户要求在 12s 内输入正确的密 单片机微控制器 开锁驱动电路 电磁锁 密码正确? Y 返回 N 5 码,管理员要求在 5s 输入正确的密码)输入的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。其实际电路如图 3 2 所示。 电路驱动和开锁两级组成。由 D5、 R1、 T10 组成驱动电路,其中 T10 可以选择普通的小功率三极管如 9014、 9018 都可以满足要求。 D5 作为开锁的提示;由 D6、 C24、T11 组成。其中 D6、 C24 是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。 T11 可选用中功率的三极管如 8050,电磁锁的选用要视情况而定,但是吸合力要足够且由一定的余量。 在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。 T 1 0T 1 1D5G N DR13.3 K电磁锁C 2 4V C C来自微控制器信号D6 图 3 2 密码锁开锁机构电路图 3.2 按键电路设计 3.2.1 矩阵键盘电路 矩 阵键盘又称为行列式键盘,它是用 4 条 I/O 线作为行线, 4 条 I/O 线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是4 4 个。这种行列式键盘结构能够有效地提高单片机系统中 I/O 口的利用率。 6 K1P 14K2P 15K3P 16K4P 17K5R E S E TV C CR E S E TS43S87S32S76S21S65S1C o m m en t : 0S54S 12BS 11AS 109S98S 16FS 15ES 14DS 13C距阵键盘P 10P 11P 12P 13P 14P 15P 16P 170 1 2 34 5 6 78 9 A BC D E FK1 K2 K3 K4P 14P 15P 16P 17独立键盘伟 纳 电 子h tt p :/ w ww . w il lar .c o m 图 3 3 矩阵键盘原理电路图 行列式键盘原理 图 3 4 行列式键盘原理电路图 每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要 N 条行线和 M 条列线,即可组成具有 N M 个按键的 89s51 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 5.1K X 4 5.1K X 4 VCC 7 键盘。 在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。 当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。 对照图 3 3 所示的 4 4 键盘,说明线反转个工作原理。 首先辨别键盘中有无键按下,有单片机 I/O 口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字 00H,把全部列线置为低电平,然后将列线的电平状态读入累加器 A 中。 如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为 1。 判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为 1,则所按下的键不在此列;如果不全为 1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。按键的操作面板如图 3 5 所示。共计数字键 10 个,功能键 6 个。键盘上还有 3 个指示灯和一个蜂鸣器。 图 3 5 按键操作面板示意图 10 个数字键用来输入密码, 另外 6 个功能键分别是: CLR、 EN、 F1、 F2、 F3、 F4。其中 CLR 键的功能是当输入密码错误的时候,清除前面已经输入的数据,重新输入。EN 键的功能是确认输入的密码。 F1 是管理模式切换键,当用户不小心三次输入密码都没有正确,键盘被锁定,这个时候就可以启动管理模式,使用管理员的密码来开门。 F2CLR 0 1 EN 5 9 F4 4 8 F3 3 7 F2 2 6 F1 L1 L2 L3 8 是用来进入修改密码的状态。 F3 用来关闭显示器,一来可以节省电量,另外也可以防止不法分子偷窥密码。 F4 用来作电铃。 上面的 3 个指示灯 L1、 L2、 L3 是用来指示操作的状态: L1 锁定及输入指示状态灯,正常的情况下显示红色,当键 盘动作的时候, L1 灯开始闪动,当键盘处于锁定状态时,指示灯也显示红色。 L2 开门指示灯,当用户在规定的时间内正确的输入了密码,此灯转变为绿色,表示开门,否则不显示。 L3 是管理员状态指示灯,当按下 F1 后,指示灯自动点亮。 面板上还有一个蜂鸣器,其中一个功能是用来指示操作的按键是否在成功的按下;另外一个功能是当用户输入密码错误的次数超过了 3 次,鸣笛以示报警。 3.3 显示电路设计 本系统设计的显示电路是为了给使用者以提示而设置的。考虑到为了节约单片机的口资源,本系统的显示采用串行显示的方式,只使用单片机的一个串行 口,就可以完成单片机的显示功能,显示电路的电路原理图如图 3 6 所示。 电路设定:当程序检测在 5 分钟内没有按键操作的时候,就关闭显示。这个功能使用程序来实现的,一旦没有按键动作就启动一个定时器,检测在 5 分钟内没有按键动作的时候,启动一个程序,关闭显示,这样可以达到节省电能的目的。 从单片机串口输出的信号先送到左边的移位寄存器( 74HC164) ,由于移位脉冲的作用,使数据向右移,达到显示的目的。移位寄存器 74HC164 还兼作数码管的驱动,插头 1( header1)接电源,插头 2( header2)接数据和脉冲输出端 。电路中的三个整流管D1D3 的作用是降低数码管的工作电压,增加其使用寿命 。 A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 1A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 2A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 3A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 4A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 5A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 612H E A D E R 21 2H E A D E R 1v c cabfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9L E D 0abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9L E D 1abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9L E D 2abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9L E D 3abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9L E D 4abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9L E D 5Cd1d2d3 图 3 6 显示器原理图 显示器主显示几个字符,给用户提供指示见图 3 7 所示 。 9 图 3 7 a 关闭状态 图 3 7 b 开锁状态 图 3 7 c 密码输入错误后的提示 图 3 7 d 密码在规定的时间内输入错误次数超过 3 次后的锁定状态 3.4AT24C02 掉电存储单元的设计 掉电存储单元的作用是在电源断开的时候,存储当前设定的单价信息。 AT24C02 是ATMEL 公司的 2KB 字节的电可擦除存储芯片, 采用两线串行的总线和单片机通讯,电压最低可以到 2.5V,额定电流为 1mA,静态电流 10Ua(5.5V),芯片内的资料可以在断电的情况下保存 40 年以上,而且采用 8 脚的 DIP 封装,使用方便。其电路如图 3 8 所示。 O F F - - 2 10 NC1NC2NC3GND4S D A5S C L6WP7V C C8U4A T2 4 C 0 2 AGNDV C C串行存储模块R85 . 1 kR 1 05 . 1 k接 P 2 . 5接 P 2 . 6 图 3 8 掉电存储电路原理图 图中 R8、 R10 是上拉电阻,其作用是减少 AT24C02 的静态功耗,由于 AT24C02 的数据线和地址线是复用的,采用串口的方式传送数据,所以只用两根线 SCL(移位脉冲)和 SDA(数据 /地址)与单片机传送数据。 3.5 密码锁的电源电路设计 为了防 止停电情况的发生,本电路后备了 UPS 电源,它包括市电供电电路,停电检测电路,电子开关切换电路,蓄电池充电电路和蓄电池组成。电源电路图如图 3 9所示。 12J P 112J P 2D1D2D3D4 D5R11KC13 3 0 0C20.1C33 3 0 01 2 37 8 0 5 图 3 9 市电供电电路 220V 市电通过变压器降压成 12V 的交流电 ,再经过整流桥整流 ,7805 稳压到 5V 送往电子切换电路,由于本电路功耗较少,所以选用 10W 的小型变压器。 由 R8, R9, R6, R7 及 IC14 构成电压比较器,正常情况下, V+V- IC14 输出低电平,由 T3, T4构成 的达林顿管使继电器 J 开启,将其常开触点将蓄电池和电路相连,实现市电和蓄电池供电的切换,保证电子密码锁的正常工作(视电池容量而定持续时间)。其电路图如下图 3 10 所示: 11 R850KR940KR730KR620KT39018R 105.1KT49014123I C 1 4741继电器蓄电池供电5V 直 流电源 A1蓄电池 A 25V 直流电源 A1蓄电池 A2VCC常闭常开 图 3 10 停电检测及电子开关切换电路 T1, T2 构成的蓄电池自动充电电路,它在电池充满后自动停止充电,其中 D1 亮为正在充电, D2 为工作指示。由 R4, R5, T1 构成电压检测电路,蓄电池电压低,则 T1,T2 导通,实现对其充电;充满后, T1, T2 截止,停止充电,同时 D1 熄灭,电路中 C4的作用是滤除干扰信号。其电路图如图 3 11 所示: R5470R23KR13KT19014D2D1C40.1U3 C G 2 1R43K6V 蓄电池电源 A26V 充电电源蓄电池 图 3 11 蓄电池自动充电电路 3.6 设计总框图 图 3 12 总体设计框图 3.7 设计总体电路图 开锁控制电路 89S51 单片机 AT24C02 掉电存储 串口显示电路 矩阵 键盘 控制 指示电路 输入错误锁定键盘 延时报警控制电路 电源电路及 UPS 电路 12 P 0 .732P 0 .633P 0 .534P 0 .435P 0 .336P 0 .237P 0 .138P 0 .039V C C40P 2 .021P 2 .122P 2 .223P 2 .324P 2 .425P 2 .526P 2 .627P 2 .728A L E / P R O G30P S E N29E A / V P P31P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .5 / M O S I6P 1 .6 / M I S O7P 1 .7 / S C K8R E S T9P 3 .0 / R X D10P 3 .1 / T X D11P 3 .2 / I N T 012P 3 .3 / I N T 113P 3 .4 / T 014P 3 .5 / T 115P 3 .6 / W R16P 3 .7 / R D17X T A L 218X T A L 119G N D20U1 A T 8 9 S 5 1C12 2 u FR11KCRY6 M H zC23 3 P FC33 3 P FS P E A KD L Q I 1R E S E TR E S E TG N DS5E A / V PA L E / PP S E NG N DC51000uF/25VC40 .1 u FV C CG N D123E A / V PNC1NC2NC3G N D4S D A5S C L6WP7V C C8U4A T 2 4 C 0 2 AS C LG N DS D A12V C CD A T AS C LWR1234R / T / L E DS D AV C CD A T AWRG N DV C CV C CV C CV C CG N D电源接口数码管接口存储器选择接口D L Q I 2DSR72 0 0复位电路M C U 模块CSE A / V P串行存储模块R85 .1 kR 1 05 .1 k矩阵键盘电源电路及其 U PS 电路 图 3 13 总体电路图 4 软件设计 4.1 模块介绍 该密码锁控制系统的软件设计分为以下几个模块 : 4.1.1 主程序模块 主程序主要完成初始化、设置中断向量、检查有无按键按下、以及调用显示等等。主程序的流程图如下所示。 4.1.2 键盘扫描及识别子程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按 下,便转向相应的子程序处理,处理结束再返回。 4.1.3 调电存储服务程序 当比较密码的时候,需要读 AT24C02 程序,将存储在芯片内的数据读到 RAM 中,然后和输入的密码相比较。当修改密码的时候,需要把输入的密码保存到 AT24C02 中。 4.1.4 显示子程序 由于是分屏显示数据,所以就要用到 5 个显示子程序,分别是:关闭状态显示子程 13 序( DIS_A)、开锁状态显示子程序( DIS_B)、密码输入及修改状态显示子程序 (DIS_C)、密码输入错误后的提示子程序 (DIS_D)。密码在规定的时间内输入错误次数超过 3 次后的锁 定状态显示子程序 (DIS_E). 4.2 程序流程图 主程序流程图如图 4 1 所示。 14 开始 初始化 有键按下? 调用显示 启动定时 识别按键 全部按完? 超时? 比较密码 开锁 结束 自动清除 3 次? 锁定 N N Y Y Y N Y N 按下 F2 启动定时 输入密码 存入缓冲 再输入一次 比较密码 调用 24C02 调用显示 按 F2 退出 Y 重新输入 N 图 4 1 主程序流程图 图 4 2 修改密码流程图 Y N 15 附录:主程序 ;显示缓冲区 ;LED1 EQU 6FH BUFF EQU 6EH TIMERS1 EQU 6DH ;输入回车的次数 TIMERS2 EQU 6CH ;报警的次数 TIMERS EQU 6BH ;输入数字的位数 ;LED6 EQU 6AH ;密码缓冲区 PS1 EQU 69H PS2 EQU 68H PS3 EQU 67H PS4 EQU 66H PS5 EQU 65H PS6 EQU 64H ; ;* ;* 显示子程序 * ;* ;功能 :分五屏幕显示数据,分别是 XSA,XSB,XSC,XSD,XSE.代表六种状态。 ;锁定状态显示。 XSA:PUSH ACC PUSH PSW MOV A, TIMERS1 MOV DPTR, #TAB MOVC A, A+DPTR MOV SBUF, A ;送已经输入密码的次数 JNB TI, $ CLR TI MOV SBUF, #0FEH ;送短线 JNB TI, $ 16 CLR TI MOV SBUF, #0FEH ;送短线 JNB TI, $ CLR TI ;送 F MOV SBUF, #78H JNB TI, $ CLR TI MOV SBUF, #78H JNB TI, $ CLR TI MOV SBUF, #11H JNB TI, $ CLR TI POP PSW POP ACC RET ;密码输入错误的提示 XSD:PUSH ACC PUSH PSW MOV SBUF, #98H JNB TI, $ CLR TI MOV SBUF, #79H JNB TI, $ CLR TI MOV SBUF, #11H JNB TI, $ CLR TI MOV SBUF, #79H JNB TI, $ CLR TI MOV SBUF, #79H 17 JNB TI, $ CLR TI MOV SBUF, #38H JNB TI, $ CLR TI POP PSW POP ACC RET ;锁定状态显示 XSE:PUSH ACC PUSH PSW MOV SBUF, #0FEH JNB TI, $ CLR TI MOV SBUF, #54H JNB TI, $ CLR TI MOV SBUF, #39H JNB TI, $ CLR TI MOV SBUF, #11H JNB TI, $ CLR TI MOV SBUF, #3DH JNB TI, $ CLR TI MOV SBUF, #0FEH JNB TI, $ CLR TI POP PSW POP ACC RET 18 XSF:PUSH ACC PUSH PSW MOV SBUF, #98H JNB TI, $ CLR TI MOV SBUF, #38H JNB TI, $ CLR TI MOV SBUF, #39H JNB TI, $ CLR TI MOV SBUF, #39H JNB TI, $ CLR TI MOV SBUF, #3DH ;U JNB TI, $ CLR TI MOV SBUF, #98H JNB TI, $ CLR TI POP PSW POP ACC RET KILLXS:PUSH ACC PUSH PSW MOV R7, #06H LOOP_XS:MOV SBUF, #0FFH JNB TI, $ CLR TI DJNZ R7,LOOP_XS NOP POP PSW 19 POP ACC RET TAB: DB 11H,0D7H,32H,92H,0D4H,98H,18H,0D1H,10H,90H ,0FFH 24C02 读写程序 AT_RADE:PUSH PSW PUSH ACC MOV R0,#AT1 ;CPU 首地址 MOV R6,#06H ;8 字节 MOV R5,#08H ;8 位 MOV R7,#

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论