单片机课程设计智能密码锁.docx
《单片机课程设计智能密码锁.docx》由会员分享,可在线阅读,更多相关《单片机课程设计智能密码锁.docx(26页珍藏版)》请在冰豆网上搜索。
![单片机课程设计智能密码锁.docx](https://file1.bdocx.com/fileroot1/2022-11/16/97b4f9ed-96c7-4740-ad88-06d95773597b/97b4f9ed-96c7-4740-ad88-06d95773597b1.gif)
单片机课程设计智能密码锁
湖南工程学院
课程设计
课程名称单片机原理与应用
课题名称智能密码锁设计
专业电子信息工程
班级0981班
学号200913020109
姓名刘维新
指导教师汪超、李晓秀、李世军等
2012年5月18日
湖南工程学院
课程设计任务书
课程名称单片机原理与应用
课题智能密码锁设计
专业班级电子信息0981班
学生姓名刘维新
学号200913020109
指导老师汪超、李晓秀、李世军等
审批
任务书下达日期2012年5月7日
任务完成日期2012年5月18日
设计内容与设计要求
设计内容:
1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。
2、密码的输入:
采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。
在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。
然后进入密码的判断比较处理状态并给出相应的处理过程。
3、按键禁止功能:
初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。
设计要求:
1、设计方案要合理、正确;
2、系统硬件设计及焊接制作;
3、系统软件设计及调试;
4、系统联调;
5、写出设计报告。
主要设计条件
1、MCS-51单片机实验操作台1台;
2、PC机及单片机调试软件;
3、单片机应用系统板1套;
4、制作工具1套;
5、系统设计所需的元器件。
说明书格式
1.封面
2.课程设计任务书
3.目录
4.系统总体方案设计
5.系统硬件设计
6.软件设计(包括流程图)
7.系统的安装调试说明
8、总结
9、参考文献
10、附录(源程序清单及硬件原理图等);
11、课程设计成绩评分表。
进度安排
设计时间为两周
第一周
星期一、上午:
布置课题任务,讲课及课题介绍
下午:
借阅有关资料,总体方案讨论
星期二、确定总体设计方案
星期三、硬件模块方案设计
星期四、软件模块方案设计
星期五、设计及调试
第二周
星期一、设计及调试
星期二、设计及调试
星期三、总调
星期四、写说明书
星期五、上午:
写说明书,整理资料
下午:
交设计资料,答辩
参考文献
[1]、《微型计算机原理及应用》许立梓编机械工业出版社2002
[2]、《微型计算机接口技术及应用》刘乐善编华中理工大学出版社2000
[3]、《计算机硬件技术基础试验教程》邹逢兴编高等教育出版社2000
[4]、《16位微型计算机原理接口及其应用》周佩玲编中国科学技术大学出版社
2000
[5]、《微型计算机原理与接口技术》吴秀清编中国科学技术出版社2001
[6]、《微型计算机接口技术》邓亚平编清华大学出版社2001
[7]、《单片机原理及及应用》王迎旭编机械工业出版社2001
[8]、《单片机应用程序设计技术》周航慈著北京航空航天大学出版社2002
[9]、《单片机实用技术问答》谢宜仁主编人民邮电出版社2002
第1章单片机系统概述
1.1单片机的介绍
随着科技的飞速发展,单片机随之诞生,它被人么运用到生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。
Intel公司推出了MCS-51系列单片机:
集成8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。
寻址范围64K,并有控制功能较强的布尔处理器。
1.2设计内容及要求
对于此次课程设计我们使用80C51为作为主控芯片与数据存储器单元,结合外围的矩阵键盘输入、LCD显示、报警、开锁等控制方案来实现的电子密码锁的设计,其主要具有如下功能:
(1)密码的设定:
此密码是固定在程序存储器ROM中,假设预设的密为“12345”共5位密码。
(2)密码的输入:
采用一组数字键盘来完成密码的输入及一个确认功能键来确认密码的正确性。
在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。
然后进入密码的判断比较处理状态并给出相应的处理过程。
(3)密码的删除功能:
当在密码输入时,不小心将密码输错,此时只要按下删除键,便能重新输入密码。
(4)按键禁止功能:
初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。
(5)报警功能:
当连续输入的三次密码全都错误的情况下,自动启用报警功能,有警报声响起及红灯闪烁。
(6)复位功能:
在输入密码确认后最终出现两种情况:
一是密码输入正确,此时密码锁自动打开,一段时间后便自动复位,进入下一次密码的输入。
二是密码输入错误,此时启动警报,只有当人为的按下复位功能键才能解除警报状态。
第2章系统总体方案设计
2.1总体方案
此次智能密码锁控制器的设计主要是通过程序来控制键盘和报警器等,在一般状态下输入原始密码,则可以开锁。
如果在锁住时输入密码,且连续三次密码错误,报警器报警,手动按下复位按钮,解除警报。
此次设计我们将密码固化在ROM中,放入表中,在得到按键后,查表比较密码,如果正确,显示”GOOD”提示,如果三次密码错误,就禁止读取按键函数,只打开报警电路发出报警声及红灯闪烁!
系统总框图如下所示:
80C51
单片机
输入错误返回
矩阵
键盘
控制
连续输错三次启动报警
LCD六位显示器
2.1系统总框图
2.2系统组成
本系统主要包括两个部分:
硬件部分和软件部分。
硬件部分:
矩阵键盘接口电路、密码锁的控制电路、复位控制电路和输出显示电路等三部分。
键盘部分包括键盘扫描时序产生电路、键盘扫描、弹跳消除、键盘译码、按键存储。
程序控制包括数字按键的数字输入、存储及清除、功能按键的功能设计、激活开锁电路、密码核对。
复位电路包括复位控制按钮。
输出显示电路的设计包括数据选择、BCD对显示译码、七段LED显示扫描。
软件部分:
汇编程序的主函数和子函数。
其中子函数又包括:
按键读取函数、延时函数、定时中断函数、按键处理函数、删除函数、密码比较函数、显示函数、报警函数、复位函数。
第3章系统硬件设计
3.1主控芯片80C51
此次智能密码的锁设计主要是围绕80C51芯片而做的,80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。
它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。
80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。
图3.180C51芯片引脚图
80C51各管脚的功能如下:
●VCC和GND:
分别为外接电源和接地
●P0~P3:
为输入/输出口线,其各有的功能,其中P3口每一位还有特殊功能。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
●ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
●/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
●/EA/VPP:
当/EA保持低电平时,在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
●XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
●XTAL2:
来自反向振荡器的输出。
3.2单片机振荡电路
8051内置频率可达12MHz的时钟电路,用来产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容,晶振采用12M外接30pF电容构成单片机时钟电路。
图3.2单片机振荡电路
3.3单片机复位电路
单片机系统的复位电路在可以采用的是按钮式上电复位电路形式,其中电阻R采用10KΩ的阻值,电容采用10μF的电容值。
图3.3复位电路
3.4键盘按键电路
此次设计使用的是矩阵键盘,这种形式的键盘能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。
图3.4(a)矩阵键盘
这种键盘内部结构为每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。
我们这次设计的电子密码锁的按键部分采用4X4矩阵键盘,键盘行列各有四条线键盘排列在行与列线的交点上如图3.4(a)所示。
图3.4(b)矩阵键盘内部结构图
如上图所示键盘,确定矩阵式键盘上何键被按下常使用的为“行扫描法”。
行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,介绍过程如下。
判断键盘中有无键按下:
(1)先将行线p1.7-p1.4置0111,然后检测列线的状态。
如果p1.3-p1.0为0111,则k0被按下;如果p1.3-p1.0为1011,则k1被按下;如果p1.3-p1.0为1101,则k2被按下;如果p1.3-p1.0为1110,则k3被按下;
(2)将行线p1.7-p1.4置1011,然后检测列线的状态,方法同
(1);
(3)将行线p1.7-p1.4置1101,然后检测列线的状态,方法同
(1);
(4)将行线p1.7-p1.4置1110,然后检测列线的状态,方法同
(1)。
3.5显示电路
八段共阳显示器的结构是八个二极管连接一个阳极的结构,只要另一段为低电平,二极管就会发光,从而形成一段。
将八段顺序排列后就成为具有一定编码的共阳显示器了。
本设计显示电路采用共阳显示器显示输入的五位密码,和一个密码输入次数提示位。
其显示状态有三种:
当密码锁处于开始状态时,LED不做任何显示,当密码锁输入正确的密码是即显示GOOD,当密码连续输入三次错误时LED显示“——————”并且不停闪烁。
此三种状态图如下所示。
图3.5(a)无任何输入时显示状态
图3.5(b)输入密码正确的显示状态
图3.5(c)连续三次输错密码的显示状态
3.6报警电路
输入密码与设定密码做比较,当输入密码与设定密码不同,返回再输入,当输入密码次数超过3次时,通过软件从80C51的P3.6输出脉冲,是红色报警二极管闪烁,并且从P3.7输出脉冲使三极管导通扬声器鸣笛报警。
图3.6报警电路原理图
第4章软件设计
4.