基于51单片机的数码管显示4位密码锁
- 格式:doc
- 大小:1.12 MB
- 文档页数:12
科学技术学院SCIENCE & TECHNOLOGY COLLEGE OFNANCHANG UNIVERSITY《课程设计》报告REPORT ON CURRICULUM DESIGN题目基于单片机的电子密码锁控制器学科部、系:专业班级:信息学科部、电子系电子信息工程学号:学生姓名:指导教师:起讫日期:2016.11.14—— 2016.11.25基于单片机的电子密码锁控制器专业:电子信息工程学号:学生姓名:指导教师:摘要随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁构造简单,被撬事件屡见不鲜;电子锁其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。
本设计以单片机 AT89C51作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构。
实现钥匙信息在主机上的初步认证注册、密码信息的加密、钥匙丢失报废等功能。
根据 51 单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。
而且采用键盘输入的电子密码锁有较高的优势。
采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快、传输效率高、工作稳定可靠等。
软件设计采用自上而下的模块化设计思想,以使系统朝着分布式、小型化方向发展,增强系统的可扩展性和运行的稳定性。
测试结果表明,本系统各项功能已达到本设计的所有要求。
关键词:单片机;密码锁;单片机设计,电子锁。
设计达到的目的 :1.系统通过 4× 4 的矩阵键盘输入或设定开锁密码。
2.可以通过 LCD查看已输入的字符个数 [ 显示为 ****]3.密码输入正确, LCD显示“开”状态,继电器闭合;密码连续 3 次输入错误,报警4. 可以通过特殊的按键方法清除用户密码[ 如同时按下特定的多个键。
目录第一章基于单片机的电子密码锁控制器的概述 . (1)1.1 、课题背景和意义 (1)1.2 、电子密码锁发展趋势. ........................... (1)第二章设计方案的选择和确定 . (2)2.1 电子密码锁设计的具体要求................................ (2)2.2 总体设计方案选定 (3)第三章系统硬件设计 . (4)3.1 系统设计框图 . (4)3.2 AT89C51 简介 (4)3.3 1602 简介 (6)3.3.1 引脚说明 . (6)3.3.2 指令说明: . (6)3.3.3 地址表 (7)3.3.4 文字组表 . (8)3.4 系统设计结构图 (9)3.5 系统的工作原理说明 (9)3.6 硬件电路的设计 . (9)3.6.1 最小系统的设计 (9)3.6.2 芯片擦除 . (11)3.6.3 开锁机构 . (11)3.6.4 键盘设计 . (12)第四章系统软件设计 . (13)4.1 复位以及振荡电路. (13)4.2 3X4 矩阵键盘 (14)4.3 报警器 (14)4.4 液晶显示电路 (15)4.5 串口输入电路图 (15)第五章性能测试与分析 . (15)第六章附件 (19)1 程序流程图 (19)2 原理图 (19)3 源程序 (20)课程设计成绩评定表 . (26)第一章基于单片机的电子密码锁控制器的概述1.1 、课题背景和意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。
目录第一部分设计任务与调研 (1)第二部分设计说明 (2)第三部分设计成果 (5)第四部分结束语 (11)第五部分致谢 (12)第六部分参考文献 (13)第一部分设计任务与调研1.1设计的主要任务给抽屉设计一个四位密码的单片机密码锁控制系统,实现开锁功能,自动报警功能,改密功能,并取得仿真模拟调试成功。
1.2设计的思路本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号,开锁密码位为四位。
能够让LCD1602显示器在密码正确时显示open!,密码错误时显示ERROR,输入密码时显示PASSWORD。
实现输入密码错误超过限定的三次电子密码时报警。
1.3设计的方法使用学校编写程序所学的单片机和C语言知识,利用在电工实训中学到的焊接技术焊接控制模块和LED接线及CAD所学的知识绘制驱动电路和控制电路,制作详细的设计方案和资料搜集后进行实际操作,通过程序设计,模拟仿真调试,修订完善后制作出成品。
1.4调研的目的和总结由于对电子密码锁的一些情况并不了解,为了使自己的电子密码锁能够更加完善,所以需要查阅大量的资料,通过查阅的资料与自己的想法进行一些结合做出取舍,最后获得了一些总结。
本设计从经济实用的角度出发,采用宏晶公司的单片机STC89C51与低功耗CMOS型作为主控芯片与数据存储器单元,结合外围的键盘输入、显示、报警、开锁等电路,用C语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。
经实验证明,该密码锁具有设计方法合理,简单易行,成本低,安全实用等特点,符合住宅、办公室用锁要求,具有推广价值。
第二部分设计说明2.1设计方案2.1.1系统框架图本次设计选用单片机STC89C51作为系统的核心元件,利用单片机灵活的编程设计和丰富的IO端口及其控制的准确性,实现基本的密码锁功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。
电子密码锁一、工作原理本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O 线的数目,在按键比较多的时候,通常采用这样方法。
每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N ×M个按键的键盘。
在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。
4×4矩阵键盘的工作原理在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图5所示。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。
由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
扫描原理把每个键都分成水平和垂直的两端接入,比如说扫描码是从垂直的入,那就代表那一行所接收到的扫描码是同一个bit,而读入扫描码的则是水平,扫描的动作是先输入扫描码,再去读取输入的值,经过比对之后就可知道是哪个键被按下。
由于这种按键是机械式的开关,当按键被按下时,键会震动一小段时间才稳定,为了避免让8051误判为多次输入同一按键,我们必须在侦测到有按键被按下,就Delay一小段时间,使键盘以达稳定状态,再去判读所按下的键,就可以让键盘的输入稳定。
利用51单片机设计一个用16个按键输入,6位数字输出显示的电子时钟。
如图1-1所示。
图1-1按键分布图具体要求和按键功能介绍如下:1. 上电后,6 位数码管显示“—”;2. 设置6 位密码,密码通过键盘输入,按“确定”键确认,如密码正确,将锁打开;3. 密码由用户自己设定,若密码正确即锁被打开,则指示灯被点亮;4. 若密码1 次输入错误,则报警;5. 按Set 键,修改密码;6. 按Cle 键可清除已输入的密码,重新进行输二、系统硬件组成本次设计的主要有键盘,数码管,STC89C52芯片,以及LED灯。
51单片机四位密码锁课程设计51单片机四位密码锁是一种常见的电子锁,它使用51单片机作为控制核心,通过输入四位密码来控制锁的开关。
本文将介绍关于51单片机四位密码锁的课程设计。
我们需要明确设计的目标和要求。
本设计的主要目标是实现一个四位密码锁系统,并且需要满足以下要求:1.能够输入四位数字密码。
2.密码输入正确时,能够解锁并输出解锁信号。
3.密码输入错误时,不能解锁。
4.能够重置密码。
接下来,我们将详细介绍设计的步骤和实现。
1.硬件设计:在硬件设计方面,我们需要准备以下器件:- 51单片机-数码管显示模块-按键模块-继电器模块-电源模块2.软件设计:在软件设计方面,我们需要编写51单片机的程序,通过编程实现密码锁的功能。
以下是设计的主要步骤:-初始化:设置输入输出引脚,并初始化时钟和数码管显示。
-输入密码:设计密码输入的函数,通过按键模块获取用户输入的密码。
-检验密码:设计密码检验的函数,将用户输入的密码与预设的密码进行比对。
-解锁信号:如果密码输入正确,输出解锁信号,通过继电器控制开关,实现解锁。
-密码错误:如果密码输入错误,通过数码管显示密码错误的提示信息。
-重置密码:设计密码重置的函数,将新设置的密码保存。
3.程序流程:根据以上设计的步骤,我们可以得到以下主要的程序流程:-初始化引脚和时钟。
-设置初始密码。
-进入主程序循环。
-接收用户输入的密码。
-检验密码是否正确。
-如果密码正确,显示解锁信号并控制继电器解锁。
-如果密码错误,显示密码错误信息。
-进入下一次循环。
4.调试和测试:完成程序编写后,我们需要进行调试和测试。
在测试过程中,我们需要输入正确和错误的密码进行验证,检查程序是否能够正常运行,并且能够正确判断和处理用户输入的情况。
5.优化改进:如果在测试中发现问题或不足之处,我们可以对程序进行优化和改进。
例如,可以增加密码输入的最大尝试次数,增加延时等待时间,增加密码保护等功能。
总结:通过对51单片机四位密码锁的课程设计,我们学习了如何使用51单片机编写程序,实现密码锁的功能。
51单片机四位密码锁课程设计
课程设计如下:
1. 首先,介绍51单片机的基本知识和密码锁的原理,包括输入和输出端口的使用方法。
2. 确定密码锁的功能需求,如输入密码、验证密码、更改密码等。
3. 设计密码锁的硬件电路,包括矩阵键盘、LCD显示屏和继电器等。
4. 编写51单片机的程序代码,实现密码锁的功能。
5. 进行硬件和软件的调试,确保密码锁功能正常。
6. 进一步扩展密码锁的功能,如增加报警器、记录错误密码次数等。
7. 进行综合实验,将密码锁与其他设备或系统结合起来使用,如与门禁系统、智能家居系统等。
8. 对课程设计进行总结和展示,包括电路图、程序代码和实验结果等。
9. 学生通过实验,掌握51单片机的基本原理、密码锁的设计方法和调试技巧。
10. 学生能够在实际应用中灵活运用所学知识,设计和实现各种密码锁系统。
以上为课程设计的大纲,可以根据具体的实际情况进行细化和调整。
题目:密码锁系统设计一、设计要求:1.该设计的密码锁首先需要有最基本的功能,就是可以显示在用户按下正确并与之相对应的密码时,密码锁级整个系统会做出相应的反应。
2.加入了蜂鸣器,如果四位密码说如正确,按确认后,蜂鸣器会响起。
3.加入红灯和绿灯,当按键密码说如错误时,红灯亮起,输入正确时,绿灯亮起。
二、主要功能模块:密码锁控制系统主要功能模块单片机主控电路、单片机辅助控制模块,按键控制电路和数码管显示电路组成。
根据具体情况选择辅助单片机的型号,和数码管,开关等硬件设备进行设计。
三、要求完成的主要任务:1. 根据密码锁的基本功能完成硬件电路的搭建能要求完成提供硬件电路图。
2. 使用C51语言完成软件部分设计,实现密码锁的响应功能。
四、时间安排:2018.11.11~2018.11.20 收集资料,确定设计方案2018.11.20~2018.11.25 系统设计2018.11.25 ~2018.12.7 撰写课程设计论文及提交指导教师签名:年月日目录摘要 (5)ABSTRACT (5)一、需求分析 (3)二、方案设计 (5)三、硬件设计分析 (5)3.1 单片机89C52 (5)3.1.1单片机最小系统 (7)3.2显示模块 (8)3.2.1 LCD显示屏内容及连接 (8)3.2.2数码管内容及连接 (9)3.3 蜂鸣器与LED灯连接 (10)3.4 按键输入 (11)四、软件设计分析 (12)4.1 主程序 (12)4.2 按键程序 (13)4.3 按键处理程序 (14)4.4 LCD显示程序 (15)4.5数码管显示程序 (16)五、调试 (17)5.1使用的平台 (17)5.2功能的调试 (17)六、总结 (21)七、参考文献 (21)附录 (22)密码锁设计摘要在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及-一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
51单片机(四位数码管的显示)程序基于单片机V1或V2实验系统,编写一个程序,实现以下功能:1)首先在数码管上显示“P_ _ _”4个字符;2)等待按键,如按了任何一个键,则将这4个字符清除,改为显示“0000”4个字符(为数字的0)。
最佳答案下面这个程序是4x4距阵键盘,LED数码管显示,一共可以到0-F显示,你可以稍微改一下就可以实现你的功能了,如还有问题请发信息,希望能帮上你!#include<at89x52.h>unsigned char codeDig[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1 ,0x86,0x8e}; //gongyang数码管0-F 代码unsigned char k; //设置全局变量k 为键盘的键值/************************************键盘延时函数****************************/void key_delay(void) //延时函数{int t;for(t=0;t<500;t++);}/************************************键盘扫描函数******************************/void keyscan(void) //键盘扫描函数{unsigned char a;P2 = 0xf0; //键盘初始化if(P2!=0xf0) //有键按下?{key_delay(); //延时if(P2!=0xf0) //确认真的有键按下?{P2 = 0xfe; //使行线P2.4为低电平,其余行为高电平key_delay();a = P2; //a作为缓存switch (a) //开始执行行列扫描{case 0xee:k=15;break;case 0xde:k=11;break;case 0xbe:k=7;break;case 0x7e:k=3;break;default:P2 = 0xfd; //使行线P2.5为低电平,其余行为高电平a = P2;switch (a){case 0xed:k=14;break;case 0xdd:k=10;break;case 0xbd:k=6;break;case 0x7d:k=2;break;default:P2 = 0xfb; //使行线P2.6为低电平,其余行为高电平a = P2;switch (a){case 0xeb:k=13;break;case 0xdb:k=9;break;case 0xbb:k=5;break;case 0x7b:k=1;break;default:P2 = 0xf7; //使行线P2.7为低电平,其余行为高电平a = P2;switch (a){case 0xe7:k=12;break;case 0xd7:k=8;break;case 0xb7:k=4;break;case 0x77:k=0;break;default:break;}}}break;}}}}/****************************** ***主函数*************************************/ void main(void){while(1){keyscan(); //调用键盘扫描函数switch(k) //查找按键对应的数码管显示代码{case 0:P0=Dig[0];break;case 1:P0=Dig[1];break;case 2:P0=Dig[2];break;case 3:P0=Dig[3];break;case 4:P0=Dig[4];break;case 5:P0=Dig[5];break;case 6:P0=Dig[6];break;case 7:P0=Dig[7];break;case 8:P0=Dig[8];break;case 9:P0=Dig[9];break;case 10:P0=Dig[10];break;case 11:P0=Dig[11];break;case 12:P0=Dig[12];break;case 13:P0=Dig[13];break;case 14:P0=Dig[14];break;case 15:P0=Dig[15];break;default:break; //退出}}}/**********************************end***************************************/。
单片机原理课程设计论文
班级:电气1136班
学号:1631
姓名:朱焯华
指导老师: 张瑛
目录
一、前言 .。
..。
.。
.. 3
二、选题要求。
.。
.。
.。
...。
3
三、硬件电路设计。
.。
.。
.。
.。
..。
.。
4
3、1 主控芯片。
.。
.。
.。
.。
.。
4ﻩ
3、2 矩阵键盘电路 .。
.。
...。
. (5)
3、3 数码管电路。
.。
.。
.。
6
3、4138译码器位选电路 ....。
.6
3、5晶振与复位电路。
..。
.。
.。
7
3、6 蜂鸣器电路 .。
.。
.。
8
四、软件设计..。
..。
.。
..。
.。
8
五、调试结果。
.。
.。
.。
10
六、总结。
.。
..。
..。
.。
.。
12
前言
随着人们生活水平得提高,如何实现家庭防盗这一问题也变得尤为突出。
在
科学技术不断发展得今天,电子密码防盗锁作为防盗卫士得作用显得日趋重要。
本文从经济实用得角度出发,系统由STC89C51作为主控芯片与数据存储器单
元,结合外围得键盘输入、数码管显示、报警、开锁等电路模块.它能完成以下功
能:正确输入密码前提下,开锁,数码管显示“open”;错误输入密码情况
下,报警,数码管显示“err”;密码可以根据用户需要在程序中更改.用C语言
编写得主控芯片控制程序,并用Keil4软件进行编译,设计了一款可以更改密码得
系统,本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活
性高等特点,具有一定得推广价值。
关键词:电子密码锁、报警、数码管显示
二、选题要求
本文从经济实用得角度出发,设计采用51单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共4位密码(可增加),每位得取值范围为
0~9,外加“确认”键与“取消"键。
用户可以通过修改程序来修改密码,想要打开锁,必先通过提供得键盘输入正确得密码才可以,密码输入错误有提示并报警.4位密码同时输入正确,锁才能打开。
保密性强、灵活性高。
其特点:
1)保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零.
2)密码可变,用户可以更改密码,防止密码被盗,同时也可以避免因人员得更替而使锁得密级下降。
3)当输入密码错误时,报警系统自动启动.
4)无活动零件,不会磨损,寿命长。
5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁.
三、硬件电路设计
下面就是整个设计得流程图:
3、1 主控芯片
这次课程设计采用得主控芯片就是51系列单片机AT89C51。
其外部封装如
下:
AT89C52单片机有4组8位得可编程I/O口,分别位P0、P1、P
2、P3口,每个口有8位(8根引脚),共32位.
P0口(Pin39~Pin32):8位双向I/O口线,名称为P0、0~P0、7;
P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1、0~P1、7 ;
P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2、0~P2、7 ;
P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3、0~P3、7。
3、2 矩阵键盘电路
本次课程设计采用得就是行列键盘,C语言程序中有相对应得驱动程序,其硬
件电路图与对应数字功能键图如下所示:
注:这里得“取消"键就就是电路中得“复位”键.
3、3 数码管电路
采用得就是7SEG-MPX4-CA数码管(采用两个数码管得目得为了拓展密码位数).
3、4 138译码器位选电路
通过138译码器得输出来选择需要显示得数码管,其电路图与功能表如下:
3、5晶振与复位电路电路图如下:
3、6 蜂鸣器电路
电路图如下:
四、软件设计C语言代码如下:
五、调试结果
输入正确密码“0123”
按下“确认"键后,显示“open”
输入错误密码“0000"
按下“确认”键后,显示“err"
六、总结
经过一周得紧张设计,终于顺利完成了设计任务.本次课程设计主要针对密码锁系统做了详细介绍,一STC89C51为核心,并通过调试运行可以实现数码管显示密码输入得相关信息,通过10数字键(0~9)设置成4位数字密码,实现2位功能按键(“确认”、“取消")与蜂鸣器报警等。
通过课程设计让我对单片机系统有了较详细得了解,而且触及到与其相关得很多新知识,而且随着电子技术得发展简易数字密码表也会越来越完善,作为大学生得我们应该跟上时代得步伐,时刻关注形势变化,不断充实更新自己得知识.
在设计中既应用到了基础知识,也用到了专业知识,她就是对三年来所学知识得综合考察。
最重要得就是我通过亲自设计,亲自绘制原理图以及系统调试,培养了我得耐心与细心,这对我以后得工作与学习有很大得帮助、。