基于51单片机的电子密码锁课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机原理与应用课程设计报告
题目基于51单片机的电子密码锁设计
系别物理与电子工程学院
专业电子信息科学与技术
学生姓名
学号
班级
2013年 12月26日
摘要
电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。在保密性、操作的方便性、密码的可变性、和一些自动化的功能上已经远远超过了机械密码锁。因此其应用非常广泛。而且由于其使用微型计算机的特质,导致其可以灵活的挂载电子化设备,比如界面友好的显示设备,方便快捷的输入设备等。本文简要介绍了一种基于AT89C51单片机的电子密码锁设计,主要采用汇编程序完成整个软件的设计,可以实现简易的电子密码锁功能。
关键词:4×4矩阵键盘;AT89C51;密码锁;单片机
目录
一、绪论 (3)
二、系统所要完成的功能 (3)
三、系统总体方案设计 (4)
四、硬件电路设计 (6)
4.1单片机最小系统 (6)
4.2 键盘电路设计 (6)
4.3 LCD显示电路 (8)
4.4 开锁电路 (8)
五、软件设计 (9)
六、系统调试 (13)
七、心得体会 (13)
参考文献 (14)
附录 (15)
源程序清单 (15)
实物图 (23)
一、绪论
在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。
二、系统所要完成的功能
基于以上思路,本文主要介绍一种使用 STC公司的 STC11F16XE单片机电子密码锁的设计,其主要具有如下功能:
1、密码确认功能:密码通过矩阵键盘输入,若密码输入正确,则将通过驱动口发出高电平信号作为机械制动开锁的依据完成开锁功能。同时在主界面上显示:“The keywords is ok!”
2、密码设置功能:单片机刚刚上电复位后会通过LCD1602界面提示设置密码:“Please set the keywords!”而且设置的密码是可重复的,程序运行中可再次通过输入相应密码然后修改。
3、在密码输入错误时系统会通过LCD1602界面提示密码输入错误字符:“The
keywords is false!”同时不做开锁动作。
4、本次设计中利用一只LED代替机械制动系统,灯亮表示开锁,灯灭表示闭锁。
在本次的设计中,具体实现系统设计的过程如下:
1、完成硬件的设计。通过PROTEL99SE绘制单片机最小系统板和矩阵键盘的原理图和PCB版图,然后通过实验室的腐蚀液腐蚀出来,焊上元件,下载测试程序调试。
1、完成软件的设计。通过Keil uVision3软件,编辑好源汇编程序,然后编译和修改直到编译器通过为止。
2、把编译好的HEX文件下载到单片机内部运行,通过查找系统功能上的不足和可修改的地方,然后回过去修改源文件,最终成型。
三、系统总体方案设计
方案一:采用数字电路控制。利用数字电路的逻辑运算功能,然后设计成电子密码锁,也可以完成系统的设计,甚至直接用FPGA完成设计就更加方便了。但是如果用FPGA 完成则显得非常的浪费,因为,FPGA一方面价格昂贵,另一方面用功能如此强大的芯片制作功能如此简单的系统是一种耗费资源的行为,极不可取,故这里不采用此方案。
方案二:采用DSP芯片TMS320F2812完成电子密码锁的设计。由于DSP芯片在逻辑运算和数学运算上的强大,完成电子密码锁的设计非常容易,而且容易实现。但是DSP 芯片TMS320F2812的价格昂贵,故此处不采用此方案。
方案三:采用51系列单片机STC11F16XE为核心来完成控制方案,然后实现电子密码锁的设计。我们可以利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图3-1所示。
图3-1单片机控制方案
通过比较以上三种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用第三种方案。
设计的效果场景如下:
1、输入密码用矩形键盘,包括数字键、字母键和功能键。
2、用液晶显示屏LCD1602显示字符和操作界面。
3、用发光二极管代替开锁的电路,发光表示开锁,熄灭表示闭锁。
4、打开电源后,显示器显示“Please set the keywords!”提示用户设置密码,用户可以在此时输入一个8位的密码。输入至8位后系统自动跳转到另一界面,显示字符“The keywords set ok!”
5、在完成上面的步骤后,系统再次跳换到另一个界面:“Please input the keywords!”此时系统提示用户输入正确的密码以完成开锁的功能。用户此时可以通过矩阵键盘来完成输入密码的功能。输入位数为8位数。
6、若输入密码正确则系统会显示:“The keywords is ok!”,同时点亮LED灯完成开锁。否则系统将显示“The keywords is false!”并且不做任何动作。
在本次设计中,硬件主要完成单片机最小系统和矩阵键盘的设计,软件主要由矩阵键盘子程序、显示初始化程序、显示字符子程序、数据比较子程序、数据寄存子程序和子程序调度主程序等组成。