单片机密码锁课程设计
基于单片机的电子密码锁设计课件
3.5 晶振部分
根据实际情况,本设计中采用12MHZ做为系统的外部晶振,电容取值为20pF。
图3-6 晶振电路原理图
3、硬件电路
3.6 显示部分
为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示LCD1602取代普通的数码管来完成。其显示部分引脚接口如图3-8所示:
基于单片机的电子密码锁设计
1、系统结构分析
图1-1 系统结构框图
本设计系统主要由单片机芯片、电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分显示部分、报警部分、开锁部分组成。
AT 89S51
键盘输入
复位电路
密码存储电路
晶振电路
电源输入
显示电路
报警电路
开锁电路
选用单片机AT89S51作为本设计的主控芯片。 采用矩阵键盘进行功能按键的输入。 外接AT24C02芯片用于密码的存储与修改。 利用LCD1602液晶显示器进行显示。 利用蜂鸣器进行报警工作。
图3-3 键盘输入原理图
3.3 电源输入部分
3、硬件电路
密码锁主控制部分电源需要用5V直流电源供电,其电路如图3-5所示:
图3-4 电源输入电路原理图
3.4 复位部分 根据实际情况选择如图3-6所示的复位电路。该电路在最简单的复位电路下增加了手动复位按键。
3、硬件电路
图3-5 电源输入电路原理图
2、方案设计
3.1 存储芯片AT24C02
3、硬件电路
图3-1 AT24C02的电路接线图
3.2 矩阵键盘 采用4*4矩阵式键盘实现密码输入功能。 4*4键盘不但能完成密码的输入,还能作特别功能键使用,比如修改密码功能等。
3、硬件电路
图3-2 矩阵键盘
51单片机四位密码锁课程设计
51单片机四位密码锁课程设计51单片机四位密码锁是一种常见的电子锁,它使用51单片机作为控制核心,通过输入四位密码来控制锁的开关。
本文将介绍关于51单片机四位密码锁的课程设计。
我们需要明确设计的目标和要求。
本设计的主要目标是实现一个四位密码锁系统,并且需要满足以下要求:1.能够输入四位数字密码。
2.密码输入正确时,能够解锁并输出解锁信号。
3.密码输入错误时,不能解锁。
4.能够重置密码。
接下来,我们将详细介绍设计的步骤和实现。
1.硬件设计:在硬件设计方面,我们需要准备以下器件:- 51单片机-数码管显示模块-按键模块-继电器模块-电源模块2.软件设计:在软件设计方面,我们需要编写51单片机的程序,通过编程实现密码锁的功能。
以下是设计的主要步骤:-初始化:设置输入输出引脚,并初始化时钟和数码管显示。
-输入密码:设计密码输入的函数,通过按键模块获取用户输入的密码。
-检验密码:设计密码检验的函数,将用户输入的密码与预设的密码进行比对。
-解锁信号:如果密码输入正确,输出解锁信号,通过继电器控制开关,实现解锁。
-密码错误:如果密码输入错误,通过数码管显示密码错误的提示信息。
-重置密码:设计密码重置的函数,将新设置的密码保存。
3.程序流程:根据以上设计的步骤,我们可以得到以下主要的程序流程:-初始化引脚和时钟。
-设置初始密码。
-进入主程序循环。
-接收用户输入的密码。
-检验密码是否正确。
-如果密码正确,显示解锁信号并控制继电器解锁。
-如果密码错误,显示密码错误信息。
-进入下一次循环。
4.调试和测试:完成程序编写后,我们需要进行调试和测试。
在测试过程中,我们需要输入正确和错误的密码进行验证,检查程序是否能够正常运行,并且能够正确判断和处理用户输入的情况。
5.优化改进:如果在测试中发现问题或不足之处,我们可以对程序进行优化和改进。
例如,可以增加密码输入的最大尝试次数,增加延时等待时间,增加密码保护等功能。
总结:通过对51单片机四位密码锁的课程设计,我们学习了如何使用51单片机编写程序,实现密码锁的功能。
单片机课程设计 电子密码锁
第1章设计目的1.利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系实际、提高我们的综合应用能力。
2.我们这次的课程设计是以单片机为基础,设计出一个具有一定功能的电子密码锁。
3.掌握一些重要芯片的功能特性及使用方法,并能运用其组合成一个简单的单片机机应用系统。
4.锻炼同学们的动手能力和独立思考的能力,巩固理论知识,加深对课堂内容的理解。
5.培养同学们对单片机的兴趣,通过课程设计调动同学们的积极性,使更多的人将来能在单片机领域有所建树。
第2章设计要求及总体思路2.1设计要求1、密码的设定,此密码是固定在程序存储器ROM中,假设预设的密“12345”共5位密码。
2、密码的输入:采用两个按键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。
在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。
然后进入密码的判断比较处理状态并给出相应的处理过程。
3、按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。
2.2 总体思路系统总体设计方案框图如下:图2-1一般而言,要实现相同的功能,硬件复杂的系统其软件一般较简单,而软件复杂的系统其硬件一般相对简单,本着经济性的原则,我们应该尽可能少用硬件,根据这个设计理念和设计要求,本单片机系统的设计思路如下:1)电子密码锁所用的数据的存储和运算用单片机来完。
2)因为没有专用的输入键盘,所以按键输入用计算器输入键盘代替。
按键密码从P3口输入。
3)用六位显示器显示五位密码,显示器选择动态扫描,用P0口作段控,用P2口作位控。
4)开锁信号从P1.1口输出,报警信号从P1.0口输出。
5) 按键分为功能键和数字键,具体如表2-1。
6)输入五位密码后按确认键,系统验证密码是否正确,若密码正确,则产生开锁信号,若接连三次输入错误密码,则产生报警信号。
7) 当错误输入某位密码时,可按删除键进行删除,也可按清零键对所输入的数进行整体清除。
51单片机四位密码锁课程设计
51单片机四位密码锁课程设计
课程设计如下:
1. 首先,介绍51单片机的基本知识和密码锁的原理,包括输入和输出端口的使用方法。
2. 确定密码锁的功能需求,如输入密码、验证密码、更改密码等。
3. 设计密码锁的硬件电路,包括矩阵键盘、LCD显示屏和继电器等。
4. 编写51单片机的程序代码,实现密码锁的功能。
5. 进行硬件和软件的调试,确保密码锁功能正常。
6. 进一步扩展密码锁的功能,如增加报警器、记录错误密码次数等。
7. 进行综合实验,将密码锁与其他设备或系统结合起来使用,如与门禁系统、智能家居系统等。
8. 对课程设计进行总结和展示,包括电路图、程序代码和实验结果等。
9. 学生通过实验,掌握51单片机的基本原理、密码锁的设计方法和调试技巧。
10. 学生能够在实际应用中灵活运用所学知识,设计和实现各种密码锁系统。
以上为课程设计的大纲,可以根据具体的实际情况进行细化和调整。
单片机课程设计密码锁设计
单片机课程设计密码锁设计在当今社会,安全问题越来越受到人们的重视,密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。
本次单片机课程设计的任务就是设计一款基于单片机的密码锁。
一、设计要求本次设计的密码锁需要具备以下功能:1、能够设置和修改 4 位数字密码。
2、输入密码正确时,锁打开,并有相应的指示灯提示。
3、输入密码错误时,有错误提示,且错误次数超过 3 次则报警。
4、具备密码重置功能。
二、系统方案设计1、硬件设计单片机选型:选择 STC89C52 单片机作为核心控制器,其具有性能稳定、价格低廉、易于编程等优点。
输入模块:采用 4×4 矩阵键盘作为密码输入设备,可方便地输入数字和功能按键。
显示模块:选用 1602 液晶显示屏,用于显示密码输入状态、提示信息等。
存储模块:使用 EEPROM 芯片 AT24C02 来存储密码,以保证断电后密码不丢失。
报警模块:当密码输入错误次数超过 3 次时,通过蜂鸣器发出报警声音。
2、软件设计主程序:负责系统的初始化、键盘扫描、密码输入处理、密码验证、显示控制等。
键盘扫描程序:检测矩阵键盘上的按键动作,并将按键值返回给主程序。
密码处理程序:包括密码设置、修改、存储和验证等功能。
显示程序:控制 1602 液晶显示屏的显示内容。
三、硬件电路设计1、单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振为单片机提供时钟信号,复位电路用于系统的初始化。
2、矩阵键盘电路由16 个按键组成 4×4 矩阵,通过行线和列线的扫描来确定按键值。
3、显示电路1602 液晶显示屏通过数据总线和控制总线与单片机相连,实现数据的传输和显示控制。
4、存储电路AT24C02 通过 I2C 总线与单片机进行通信,用于存储密码数据。
5、报警电路蜂鸣器通过三极管驱动,当单片机输出高电平时,蜂鸣器发声报警。
四、软件程序设计1、主程序流程系统初始化,包括单片机端口初始化、液晶显示屏初始化、EEPROM 初始化等。
单片机密码锁课程设计
目录1 引言 (1)2主要元器件介绍 (2)2.1主控芯片AT89S51 (2)2.1.1 AT89S51性能简介 (2)2.1.2 AT89S51引脚功能说明 (3)2.2 LCD1602显示器 (5)2.2.1接口信号说明 (5)2.2.2主要技术参数 (5)2.2.3 1602基本操作步骤 (5)3系统硬件 (7)3.1设计原理 (7)3.2电路总体构成 (7)3.3键盘输入部分 (8)3.4 LCD1602显示 (8)4系统软件设计 (10)4.1主程序模块 (10)4.2按键功能模块 (11)4.3修改密码模块 (13)4.4开锁模块 (14)参考文献 (16)附录 (17)1引言锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
现在应用电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和安全性已大大超过了机械锁。
在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。
针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。
由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易破解。
随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。
课程设计--基于AT89S52单片机的密码锁设计
《单片机原理及应用》课程设计题目基于89S52单片机的密码锁设计学生姓名学号学院信息与控制学院专业测控技术与仪器指导教师二O一二年六月八日基于AT89S52单片机的密码锁设计前言在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。
具有防盗报警等功能的电子密码锁代替密码量少、安全性差的机械式密码锁已是必然趋势。
随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作、记住密码即可开锁等优点。
目前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。
本系统由AT89C52单片机系统(主要是AT89C52单片机最小系统)、8位数键盘,蜂鸣器报警,继电器控制等组成,具有设置、修改8位用户密码、超过3次次报警、密码错误报警等功能。
除上述基本的密码锁功能外,依据实际的情况还可以添加遥控功能。
本系统成本低廉,功能实用。
这种能防止多次试探密码的单片机应用前景广泛。
电子密码锁发展趋势电子密码锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。
广义上讲,金融业的“授权”主要包括以下三种层次的内容:1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、授予流通权,如自动存取款。
目前,金融行业电子密码锁的应用主要集中在前两个层面上。
下面将介绍几种在金融行业中使用较多的电子密码锁以及它们的技术发展方向。
当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子密码锁“软、硬不吃”。
单片机课程设计-密码锁-附截图
设计一个具有特定功能的密码锁。
该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。
; 40H-45H 按键缓冲区,用于存放键码值; 50H-55H 显示缓冲区,用于存放要显示的段码; 70H-75H 密码区保存区,用于存放密码; 30H 单个单元存放段码地址(即存放50-55); 31H 单个单元存放键码地址(即存放40-45); 21H.0位判断是否按下了修改密码键K2; 21H.1位修改密码时用于判断是否正确输入了原密码; 21H.2位产生初始P. 只要有键按下,则该位置1,否则置0来不断输出P.ORG 0000HSJMP MAINORG 0030HMAIN:MOV SP,#60HMOV P2,#01H ;用来产生P.0的位控MOV R1,#70H ;密码区,初始密码为六个8T: MOV @R1,#08HINC R1CJNE R1,#76H,TACALL PPAJMP FIRSTPP: MOV R0,#50H ;显示缓冲区首地址Q: MOV @R0,#0FFH ;“灭”段码INC R0CJNE R0,#56H,Q ;让8个显示缓冲区初始值为“灭”状态,后面按一次则赋一次值MOV 30H,#4FH ;段码地址临时MOV 31H,#3FH ;按键后存放键码的缓冲区首地址ACALL DLRETPQ:MOV P0,#0CH ;输出P.ACALL DLRET;下面实现按键功能FIRST:ACALL DIRACALL KEY ;调用键处理函数K1: JNB ACC.0,K2 ;K1键确定键判0 转移MOV 30H,#4FH ;段码地址临时MOV 31H,#3FH ;按键后存放键码的缓冲区首地址JB 21H.0,KK ;按了K2改密键,再K1,则表示修改密码,FUN0改密函数LJMP FUN1KK: CLR 21H.0LJMP FUN0K2: JNB ACC.1,K3 ;K2键改密码,但必须在输入原密码之后修改,而且要修改两次才确定修改ACALL PP ;调用函数让数码显示管灭JNB 21H.1,FIRST ;如果21H.1为0,表示未输入原密码SETB 21H.0ACALL DIRAJMP FIRSTK3: JNB ACC.2,K4 ;K3ACALL DIRINC 31HMOV R0,31H MOV @R0,#03H AJMP FIRST洞洞板/万能板成品图片左下角有地址-有录像K4: JNB ACC.3,K5 ;K4ACALL DIRINC 31HMOV R0,31HMOV @R0,#04HAJMP FIRSTK5: JNB ACC.4,K6 ;K5ACALL DIRINC 31HMOV R0,31HMOV @R0,#05HAJMP FIRSTK6: JNB ACC.5,K7 ;K6ACALL DIRINC 31HMOV R0,31HMOV @R0,#06HAJMP FIRSTK7: JNB ACC.6,K8 ;K7ACALL DIRINC 31HMOV R0,31HMOV @R0,#07HAJMP FIRSTK8: JNB ACC.7,FIRST ;K8ACALL DIRINC 31HMOV R0,31HMOV @R0,#08HAJMP FIRSTKS:MOV A,P1CPL ARETKEY: ACALL KSJNZ AGAIN ;有键闭合则转向再次判断AJMP EXTI ;无键闭合则转向结束AGAIN:ACALL DIR ;延时16毫秒ACALL DIRACALL KSJNZ LKP ;两次判断有键闭合,则转向按键键值判断;MOV A,20HAJMP EXTI ;第二次判断无键闭合,则转向结束LKP:SETB 21H.2 ;有键闭合JB ACC.0,LK1 ;要排除K1和K2键,因为那是作为确认和修改密码的,不是密码值JB ACC.1,LK1LK0:INC 30H ;有键闭合,显示缓冲区地址加1MOV R0,30HMOV @R0,#0BFH ;有键闭合,则让显示缓冲区状态为横杠LK1:PUSH ACCLK: ACALL DIR ;判断是否键起ACALL KSJNZ LKPOP ACCEXTI:JB 21H.2,TTACALL PQTT: RETDIR: MOV R0,#50H ;50H为显示缓冲区首地址N1: MOV P2,#80H ;位控制MOV P0 ,@R0 ;输出段控码ACALL DL ;延时1毫秒N2: INC R0MOV A,P2RR AMOV P2,AMOV P0,@R0 ;输出横杠线ACALL DLN3: INC R0MOV A,P2RR AMOV P2,AMOV P0,@R0 ;输出横杠线ACALL DLN4: INC R0MOV A,P2RR AMOV P2,AMOV P0,@R0 ;输出横杠线ACALL DLN5: INC R0MOV A,P2RR AMOV P2,AMOV P0,@R0 ;输出横杠线ACALL DLN6: INC R0MOV A,P2RR AMOV P2,AMOV P0,@R0 ;输出横杠线ACALL DLN7: INC R0MOV A,P2RR AMOV P2,AMOV P0,#0FFH ;输出横杠线ACALL DLN8: INC R0MOV A,P2RR AMOV P2,AMOV P0,#0FFH ;输出横杠线ACALL DLEXTI0:RET;延时一毫秒函数DL: MOV IE,#00HMOV TMOD,#10H ;工作方式1,MOV TH1,#0FCH ;延时程序延时一毫秒MOV TL1,#18HSETB TR1STEP1:JBC TF1,STEP2AJMP STEP1STEP2:CLR TR1RETFUN0:MOV R2,#06HMOV R0,#40H ;修改密码把40H-45H里的内容放到70H-75H里面去MOV R1,#70HH: MOV A,@R0MOV @R1,AINC R0INC R1DJNZ R2,HMOV R0,#50HZ: MOV @R0,#0F9H ;输出1表示密码修改正确INC R0CJNE R0,#56H,ZACALL DIRAJMP FIRSTFUN1:MOV R0,#40H ;输入的键码MOV R1,#70H ;密码区W: MOV A,@R0SUBB A,@R1JNZ NO_SAME ;非0就转移不相等就转移INC R0INC R1MOV A,@R0SUBB A,@R1JNZ NO_SAMEINC R0INC R1MOV A,@R0SUBB A,@R1JNZ NO_SAMEINC R0INC R1MOV A,@R0SUBB A,@R1JNZ NO_SAMEINC R0INC R1MOV A,@R0SUBB A,@R1JNZ NO_SAMEINC R0INC R1MOV A,@R0SUBB A,@R1JNZ NO_SAMESAME:MOV R0,#50HZ2: MOV @R0,#0F9H ;输出1表示密码正确INC R0CJNE R0,#56H,Z2ACALL DIR;ACALL PP ;如果有这条语句,则显示1后立刻消失SETB 21H.1AJMP FIRSTNO_SAME:MOV R0,#50HY: MOV @R0,#0C0H ;输出0表示密码错误INC R0CJNE R0,#56H,YACALL DIRAJMP FIRSTEND毕业论文题目:基于单片机的电子密码锁的设计专业:通信工程摘要单片机已经在家电领域中得到了广泛的应用,而且在安全密保方面,具有防盗报警功能的电子密码锁逐渐取代了传统的机械密码锁,克服了机械密码锁密码过少的安全性问题。
单片机电子密码锁课程设计
单片机电子密码锁课程设计一、课程目标知识目标:1. 让学生理解单片机的基本原理和功能,掌握电子密码锁的基本工作原理。
2. 使学生掌握电子密码锁设计中涉及的编程知识,如C语言基础、寄存器操作等。
3. 帮助学生了解电子密码锁电路的组成,熟悉相关电子元器件的使用。
技能目标:1. 培养学生运用所学知识设计并实现一个简单的单片机电子密码锁的能力。
2. 提高学生动手实践能力,学会使用编程软件、烧录器和相关调试工具。
3. 培养学生团队协作和问题解决能力,学会分析电子密码锁故障并找出解决办法。
情感态度价值观目标:1. 激发学生对电子制作的兴趣,培养创新意识和动手能力。
2. 培养学生严谨的科学态度,注重实验数据和实验结果的准确性。
3. 引导学生关注单片机技术在日常生活中的应用,提高对科技的认识和热爱。
本课程针对高年级学生,他们在之前的学习中已经具备了一定的电子和编程基础。
因此,课程设计将注重实践操作,以项目为导向,让学生在动手实践中巩固知识,提高技能。
通过本课程的学习,学生将能够独立设计并实现一个具有实用价值的单片机电子密码锁,提升解决实际问题的能力。
二、教学内容1. 单片机基础原理:回顾单片机的组成、工作原理,重点讲解51单片机的内部结构、时钟电路和复位电路。
教材章节:第三章《单片机原理与接口技术》2. C语言编程基础:介绍C语言在单片机编程中的应用,讲解数据类型、运算符、控制语句等基本语法。
教材章节:第四章《单片机C语言编程》3. 电子密码锁原理:讲解电子密码锁的基本工作原理,分析锁体的电路组成和功能。
教材章节:第七章《单片机应用实例》4. 硬件设计:学习并设计电子密码锁的硬件电路,包括键盘输入、显示模块、锁驱动电路等。
教材章节:第五章《单片机接口技术》5. 软件设计:编写电子密码锁的控制程序,实现密码输入、校验、开锁等功能。
教材章节:第四章《单片机C语言编程》6. 系统调试与优化:学习使用调试工具,对电子密码锁系统进行调试和优化。
(整理)单片机课程设计密码锁设计
1 设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务设计一个具有特定功能的密码锁。
该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。
1.2 总体方案介绍及工作原理说明(1)原始密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“888888”共6位密码。
(2)密码的输入:采用按键来完成密码的输入,输入时密码处于显示保密状态,输入六位密码后,自动结束输入,并判断其正确性(3)密码若输入错误,显示输入错误提示信息,密码输入正确后,可以用键盘任意输入数字,若按下第八个按键,则进入修改密码(4)密码修改:可以任意输入“1-7”中的六位数字作为密码,密码输入时处于保密显示状态,六位密码输入结束确认后显示P.。
图1 设计总框图2 密码锁硬件系统的设计2.1 密码锁硬件系统各模块功能简要介绍此次课程设计是基于单片机控制的电子密码锁,结合主要设计条件,本设计由单片机系统、独立式键盘、LED显示和报警系统组成,系统能完成开锁、错误报警、密码修改功能等功能,设计硬件系统如下:(1)单片机系统:此次课题采用一种是用以AT89S52为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。
此次课题用单片机P1口与键盘相连,做输入口,P0口与显示器段控相连,输入段控码,P2口输入位控码。
(2)独立式键盘接口电路:此次课程设计采用独立式键盘,与P1口相连,键按下则会使该端口变成低电平,单片机读P1口,通过对P1口数据的判断来确定哪一个键按下。
(3)数码管显示模块:此次课程设计采用的是共阴数码管,P0口段控,P2口送位控,八个数码管共用八根段控,由位控决定在哪一位显示。
单片机课程设计-密码锁
单片机课程设计-密码锁11 设计课题任务、功能要求说明及总体方案介绍1.1 设计课题任务设计一个具有特定功能的密码锁。
该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。
1.2 总体方案介绍及工作原理说明(1) 原始密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“888888”共6位密码。
(2)密码的输入: 采用按键来完成密码的输入,输入时密码处于显示保密状态,输入六位密码后,自动结束输入,并判断其正确性(3)密码若输入错误,显示输入错误提示信息,密码输入正确后,可以用键盘任意输入数字,若按下第八个按键,则进入修改密码(4)密码修改:可以任意输入“1-7”中的六位数字作为密码,密码输入时处于保密显示状态,六位密码输入结束确认后显示P.。
电源模块报警装置AT89S52复位和振荡下载口单片机电路数码管显独立式键盘示模块图1 设计总框图12 密码锁硬件系统的设计2.1 密码锁硬件系统各模块功能简要介绍此次课程设计是基于单片机控制的电子密码锁,结合主要设计条件,本设计由单片机系统、独立式键盘、LED显示和报警系统组成,系统能完成开锁、错误报警、密码修改功能等功能,设计硬件系统如下:(1)单片机系统:此次课题采用一种是用以AT89S52为核心的单片机控制方案。
利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。
此次课题用单片机P1口与键盘相连,做输入口,P0口与显示器段控相连,输入段控码,P2口输入位控码。
(2)独立式键盘接口电路:此次课程设计采用独立式键盘,与P1口相连,键按下则会使该端口变成低电平,单片机读P1口,通过对P1口数据的判断来确定哪一个键按下。
(3)数码管显示模块:此次课程设计采用的是共阴数码管,P0口段控,P2口送位控,八个数码管共用八根段控,由位控决定在哪一位显示。
51单片机密码锁课程设计
51单片机密码锁课程设计一、课程目标知识目标:1. 掌握51单片机的基本原理与编程方法;2. 了解密码锁的工作原理,理解51单片机在密码锁中的应用;3. 学会使用相关电路元件,如按键、显示屏等,实现与51单片机的交互;4. 掌握密码锁程序的设计与调试,学会使用开发工具进行编程。
技能目标:1. 能够运用C语言编写51单片机程序,实现密码锁的基本功能;2. 能够独立设计电路图,连接相关元件,搭建51单片机密码锁的硬件系统;3. 学会使用调试工具,对密码锁程序进行调试,找出并解决问题;4. 提高动手实践能力,培养团队协作和问题解决能力。
情感态度价值观目标:1. 培养学生对电子制作的兴趣和热情,激发创新意识;2. 培养学生严谨、细心的科学态度,提高学生对工程实践的认识;3. 增强学生的自信心和成就感,鼓励学生积极参与科技竞赛和实践活动;4. 培养学生的团队协作精神,提高沟通与表达能力。
课程性质:本课程为实践性课程,结合理论知识,注重培养学生的动手能力和实际问题解决能力。
学生特点:学生具备一定的电子基础知识,对单片机编程有一定了解,但实践经验不足。
教学要求:教师需引导学生从理论到实践,注重培养学生的创新意识和实际操作能力,关注个体差异,因材施教。
通过课程学习,使学生能够独立完成51单片机密码锁的设计与制作。
二、教学内容1. 理论部分:a. 51单片机原理及结构介绍;b. C语言编程基础,重点讲解与51单片机相关的语法和编程技巧;c. 密码锁工作原理及其在51单片机中的应用;d. 介绍相关电路元件的原理及使用方法。
2. 实践部分:a. 搭建51单片机密码锁硬件系统,包括按键输入、显示输出等;b. 编写密码锁程序,实现密码设置、修改、验证等功能;c. 使用调试工具进行程序调试,分析并解决可能出现的问题;d. 优化程序,提高密码锁的稳定性和安全性。
教学大纲:1. 第一周:51单片机原理介绍,C语言编程基础;2. 第二周:密码锁工作原理,电路元件介绍;3. 第三周:搭建硬件系统,编写基础程序;4. 第四周:调试与优化程序,完善密码锁功能;5. 第五周:总结与展示,课程评价。
单片机课程设计密码锁
单片机课程设计密码锁一、课程目标知识目标:1. 理解单片机的基础知识,掌握其基本原理和编程方法;2. 学习并掌握密码锁的原理与设计,能够运用单片机实现密码锁功能;3. 了解并掌握相关传感器和执行器的使用,实现密码锁的输入和输出控制。
技能目标:1. 能够运用所学知识,设计并编写出实现密码锁功能的单片机程序;2. 掌握使用相关调试工具,对单片机程序进行调试和优化;3. 提高学生的动手能力,培养实际操作中解决问题的能力。
情感态度价值观目标:1. 激发学生对单片机及电子制作的兴趣,培养创新意识和实践精神;2. 培养学生团队协作精神,学会与他人共同解决问题;3. 引导学生关注科技发展,了解单片机在现实生活中的应用,增强社会责任感。
课程性质:本课程为实践性较强的课程,旨在通过单片机实现密码锁的设计与制作,让学生在动手实践中掌握单片机知识。
学生特点:学生处于高年级阶段,已具备一定的单片机基础,对实际应用有较高的兴趣。
教学要求:结合学生特点和课程性质,注重实践操作,强调理论知识与实际应用相结合。
通过课程学习,使学生能够独立完成一个具有实际应用价值的单片机项目。
在教学过程中,关注学生的学习进展,及时调整教学策略,确保课程目标的实现。
将目标分解为具体的学习成果,便于后续教学设计和评估。
二、教学内容1. 单片机基础知识回顾:C语言编程基础,单片机工作原理,I/O口编程。
教材章节:第一章单片机基础。
2. 密码锁原理与设计:- 密码锁的组成和工作原理;- 矩阵键盘原理与编程;- 密码比对算法;教材章节:第三章输入输出接口,第六章矩阵键盘。
3. 单片机与外部设备接口:- 传感器与执行器的应用;- 单片机与继电器、电磁锁等执行器的连接;教材章节:第四章传感器与执行器,第五章单片机与外部设备接口。
4. 程序设计与调试:- 程序结构设计;- 程序编写与调试;- 优化程序性能;教材章节:第七章程序设计与调试。
5. 实践操作:- 搭建电路,连接硬件;- 编写程序,实现密码锁功能;- 调试与优化;教材章节:实践操作部分。
单片机密码锁课程设计
单片机密码锁课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本原理,掌握密码锁设计的硬件组成和工作原理。
2. 学生能够运用C语言编写简单的程序,实现密码锁的功能。
3. 学生了解密码锁的安全性,掌握基本的安全防护措施。
技能目标:1. 学生能够独立完成单片机密码锁的硬件连接,具备实际操作能力。
2. 学生能够运用所学知识,编写和调试程序,实现密码锁的开锁和关锁功能。
3. 学生能够通过小组合作,分析问题,解决问题,提高团队协作能力。
情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新精神。
2. 学生树立安全意识,认识到技术在实际应用中的重要性。
3. 学生在团队协作中,学会尊重他人,提高沟通表达能力。
课程性质:本课程为实践性课程,结合理论知识,培养学生的动手操作能力和实际应用能力。
学生特点:学生处于初中阶段,对新鲜事物充满好奇,具备一定的逻辑思维能力,但实践经验不足。
教学要求:教师需注重理论与实践相结合,引导学生主动探究,关注学生的个体差异,提高学生的实践操作能力。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
1. 理论知识:- 单片机原理与结构:介绍单片机的基本组成、工作原理及功能。
- C语言基础:讲解C语言的基本语法、数据类型、运算符、控制结构等。
- 密码锁原理:分析密码锁的硬件组成、工作原理及安全性。
2. 实践操作:- 硬件连接:指导学生完成单片机、键盘、显示模块等硬件的连接。
- 程序编写:教授学生编写密码锁程序,实现开锁、关锁等功能。
- 调试与优化:引导学生分析程序运行过程中出现的问题,并进行调试和优化。
3. 教学大纲:- 第一周:单片机原理与结构学习,C语言基础学习。
- 第二周:密码锁原理学习,讨论密码锁的安全性。
- 第三周:硬件连接,小组合作进行程序编写。
- 第四周:程序调试与优化,总结与反思。
4. 教材章节:- 单片机原理与结构:教材第1章。
- C语言基础:教材第2章。
单片机电子密码锁课程设计
单片机技术及应用综合训练(设计报告)前言随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。
在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。
本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E²PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。
它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。
用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。
本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。
关键词:电子密码锁、报警、液晶显示目录一、选题要求 (1)二、硬件电路设计 (1)2.1 51单片机 (2)2.2 键盘电路 (2)2.3 液晶显示电路 (2)2.4 警报电路 (3)2.5 密码储存电路 (3)2.6 晶振、复位及关锁 (3)三、软件设计 (4)四、软硬件调试结果 (9)4.1 电路总原理图 (9)4.2 调试结果 (10)五、总结 (11)一、选题要求本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为0~9,用户可以自行设定和修改密码。
用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警,期间输入密码无效,以防窃贼多次试探密码。
6位密码同时输入正确,锁才能打开。
锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。
其特点如下:1) 保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
基于单片机电子密码锁的课程设计
基于单片机电子密码锁的课程设计本文将介绍基于单片机电子密码锁的课程设计,包括设计目的、设计理念、硬件设计、软件实现和实验结果。
通过这篇文档,读者可以了解到使用单片机进行电子密码锁设计的方法和步骤,并了解到电子密码锁在现代生活中的应用。
一、设计目的本次课程设计的主要目的是为了加深学生对单片机的理解和应用,同时锻炼学生的设计能力和实践能力。
通过电子密码锁的设计,可以培养学生的系统思维和解决问题的能力,同时也可以让学生了解到电子密码锁在现代生活中的应用。
二、设计理念电子密码锁是一种智能化的安全设备,其设计理念是通过输入密码来进行开锁,实现门禁控制和安全防护的功能。
本次课程设计的设计理念是通过单片机控制电子密码锁的开关,实现对门禁的控制和管理。
同时,本次设计还考虑到了密码的安全性和可靠性,确保用户信息的安全和可靠性。
三、硬件设计1、硬件模块本次课程设计的硬件模块主要包括单片机模块、显示屏模块、键盘模块、电子锁模块和电源模块。
2、模块连接单片机模块、显示屏模块、键盘模块、电子锁模块和电源模块之间通过连线进行连接。
其中,单片机模块和显示屏模块之间通过串口进行通讯,单片机模块和键盘模块之间通过IO 口进行通讯,单片机模块和电子锁模块之间通过IO口进行通讯,电源模块则为整个系统提供电源供应。
四、软件实现1、程序流程本次课程设计的程序流程主要包括初始化、密码输入、密码验证、开锁和关闭等步骤。
其中,初始化主要是对各个模块进行初始化和设置,包括显示屏、键盘、电子锁等模块的初始化和设置;密码输入是通过键盘输入密码,将密码存储在单片机中;密码验证是对密码进行比对,如果密码正确,则开锁,否则显示密码错误的提示信息;开锁则是对电子锁进行控制,将开关状态进行切换;关闭则是对电子锁进行控制,将开关状态进行切换。
2、代码实现本次课程设计的代码实现主要采用C语言进行编写,并通过Keil C IDE进行编辑和调试。
具体代码可以参照下面的代码:int main(void){ //初始化模块Init_LCD(); Init_Keypad(); Init_Lock(); while (1) { //获取用户输入的密码Get_Password(); //判断密码是否正确if(Check_Password()) { //解锁Unlock_Lock();//显示解锁成功信息Display_LCD("UnlockSuccessed"); } else { //显示解锁失败信息Display_LCD("Unlock Failed"); } }}五、实验结果通过本次课程设计,设计并制作出了一款基于单片机电子密码锁。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计在平时生活中,密码锁是一种常见的安全设备,被广泛应用于家庭、办公室等场所。
随着科技的进步,传统的机械密码锁已经不能完全满足人们对安全性和便捷性的需求。
为了提高密码锁的安全性和好用性,许多基于单片机的电子密码锁被设计出来。
本文将介绍一种,并详尽说明其工作原理和实现过程。
1. 设计思路基于单片机的电子密码锁的设计目标是提高安全性和便捷性。
传统的机械密码锁容易被暴力破解,而且若果密码被泄露,需要更换整个锁体。
因此,接受电子密码锁可以提供更高的安全性和便利的密码管理功能。
2. 系统组成基于单片机的电子密码锁主要由以下几个部分组成:(1)输入模块:用于输入密码的设备,可以是键盘、触摸屏等。
(2)单片机控制模块:使用单片机作为核心控制器,接收输入密码并进行验证。
(3)驱动模块:通过驱动模块对电子锁进行控制开关。
(4)显示模块:以LED或LCD等形式显示相关信息。
(5)电源模块:为电子密码锁系统提供电能供应。
3. 工作原理基于单片机的电子密码锁的工作原理如下:(1)初始状态下,用户可以通过输入密码进行解锁或锁定。
输入模块接收用户输入的密码。
(2)输入模块将密码发送给单片机控制模块。
(3)单片机控制模块使用事先设定的密码进行比对。
若果密码匹配,单片机控制模块将发出控制信号给驱动模块。
(4)驱动模块接收到控制信号后,将依据信号的指示打开或关闭电子锁。
(5)同时,单片机控制模块会发出指令给显示模块,将结果显示给用户。
4. 实现过程基于单片机的电子密码锁的实现过程如下:(1)选择合适的单片机,如AT89C51。
(2)设计电路板,将输入模块、单片机控制模块、驱动模块、显示模块和电源模块毗连在一起。
(3)编写单片机的控制程序,实现密码验证和控制信号的生成。
(4)制作密码锁外壳,将电子密码锁系统组装在一起。
(5)测试电子密码锁的各个功能是否正常。
5. 应用和进步基于单片机的电子密码锁由于其高安全性和便捷性已经得到广泛应用。
基于单片机的电子密码锁设计
基于单片机的电子密码锁设计一、电子密码锁的工作原理电子密码锁主要由输入模块、控制模块、存储模块和执行模块组成。
用户通过输入模块(如键盘)输入密码,控制模块(单片机)对输入的密码进行处理和判断,并与存储模块中预先设定的密码进行比对。
如果输入密码正确,控制模块将向执行模块发送开锁指令,实现开锁;如果输入密码错误,则执行相应的错误处理操作,如报警、锁定等。
二、硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机。
该单片机具有性能稳定、功耗低、接口丰富等优点,能够满足电子密码锁的控制需求。
(二)输入模块输入模块采用了矩阵键盘,通过行列扫描的方式获取用户输入的密码。
矩阵键盘具有按键数量多、占用端口少的特点,能够有效节省单片机的资源。
(三)存储模块为了存储预设的密码,选用了_____型号的EEPROM芯片。
EEPROM具有掉电不丢失数据的特性,能够保证密码的安全性和可靠性。
(四)显示模块为了给用户提供反馈信息,使用了_____型号的液晶显示屏。
可以显示开锁状态、输入错误提示等信息。
(五)执行模块执行模块包括电磁锁和报警装置。
当输入密码正确时,单片机控制电磁锁打开;当输入密码错误次数超过设定值时,启动报警装置。
三、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、EEPROM读取预设密码等。
然后进入密码输入等待状态,当检测到有按键输入时,进行密码处理和判断,并根据判断结果执行相应的操作。
(二)密码输入处理在密码输入过程中,对输入的按键进行去抖处理,防止误判。
同时,对输入的密码进行加密处理,提高密码的安全性。
(三)密码比对将输入的密码与存储在EEPROM中的预设密码进行比对。
比对过程中,采用逐位比较的方式,确保密码的准确性。
(四)错误处理当输入密码错误时,记录错误次数。
如果错误次数超过设定值,则启动报警装置,并锁定键盘一段时间,防止暴力破解。
四、系统调试与测试(一)硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
基于单片机的指纹密码锁系统设计
参考内容
基于单片机的指纹密码锁是一种集成了生物识别技术和嵌入式系统技术的安 全装置。它通过采集并比对指纹信息来决定是否授予访问权限。这种密码锁具有 很高的安全性和便捷性,因此在家庭、办公场所、工业等领域得到了广泛应用。
指纹密码锁的发展可以追溯到20世纪90年代,当时人们开始研究生物识别技 术在安全领域的应用。随着科技的发展和人们安全意识的提高,指纹密码锁逐渐 普及。现在,指纹密码锁已经成为市场上的主流产品,需求量不断增长。
指纹密码锁是一种利用指纹识别技术来控制锁的开启与关闭的设备。它通过 采集用户的指纹信息并存储在芯片中,在开锁时进行比对,以判断是否为合法用 户。单片机作为控制核心,负责处理指纹信息、控制开关门等操作。
设计指纹密码锁的主要步骤包括硬件设计和软件设计。硬件设计主要包括指 纹采集模块、控制开关和报警模块等的设计。软件设计主要涉及指纹信息的采集、 存储和比对等操作。具体步骤如下:
1、选取合适的单片机作为控制核心,例如STM32系列单片机。
2、安装指纹采集模块,并连接单片机。该模块可采用光学或电容式指纹识 别技术。
3、设计控制开关,连接单片机,实现通过单片机的控制进行开关门操作。 4、添加报警模块,如遇到非法入侵,通过单片机控制触发报警系统。
5、在单片机中编写控制程序,实现指纹信息的采集、存储和比对等功能。
总之,基于单片机的指纹密码锁是一种非常实用的安全装置,具有很高的安 全性和便捷性。随着科技的不断进步和应用场景的不断扩展,我们有理由相信它 将成为未来安全领域的重要发展方向。
参考内容二
在当今社会,随着科技的不断发展,人们对于自身财产的安全性越来越重视。 其中,门锁作为保护家庭或重要场所的第一道防线,历来受到广泛。传统门锁存 在被钥匙遗忘、复制钥匙等风险,因此,指纹密码锁作为一种新兴的安全防护设 备,逐渐进入人们的视野。本次演示将介绍一种基于单片机的指纹密码锁的设计。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录第一章绪论 (1)1.1课题研究背景 (1)1.2课题设计目标 (2)第二章系统方案论证 (2)2.1主控部分的选择 (5)1. 2.2密码输入方式的选择 (5)第三章系统总体设计和主要芯片介绍 (5)3.1系统总体设计 (5)3.2主要芯片介绍 (5)第四章软件设计 (6)4.1主程序结构图 (6)4.2主程序流程图 (6)4.3主要程序分析 (8)第五章软件仿真 (12)5.1Keil软件的介绍 (12)5.2Keil软件的仿真 (12)第六章实物制作 (14)6.1电路板焊接 (14)6.2电路板调试 (14)第七章总结 (15)附录 (16)1.参考文献 (16)2.元件清单 (16)3.原理图 (17)4.程序代码(C语言) (17)5.实物图 (30)1绪论随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。
锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。
随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。
1.1 课题背景由于电子锁的密钥量(密码量)极大,可以与机械锁配合使用,并且可以避免因钥匙被仿制而留下安全隐患。
电子锁只需记住一组密码,无需携带金属钥匙,免除了人们携带金属钥匙的烦恼,而被越来越多的人所欣赏。
电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。
但较实用的还是按键式电子密码锁。
1.2 课题设计目标本设计采用AT89S51单片机为主控芯片,通过软件程序组成电子密码锁系统,能够实现:1.正确输入密码前提下,开锁提示;2.错误输入密码情况下,蜂鸣器报警;3.密码可以根据用户需要更改;4.断电存储功能2系统方案论证系统从主控部分和密码输入方式两方面进行论证2.1 主控部分的选择方案一:采用数字电路控制用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,将密码保存在JK触发器中,与输入密码通过比较器比较,判断结果是否相符合。
采用数字电路设计的方案好处就是设计简单,但控制的准确性和灵活性差,故不采用。
方案二:采用以单片机为核心的控制方案选用单片机作为系统的核心部件,实现控制与处理的功能。
单片机具有资源丰富、速度快、编程容易等优点。
利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标,因此综合考虑,本系统采用方案二。
2.2 密码输入方式的选择方案一:指纹输入识别指纹识别技术主要涉及四个功能:读取指纹图像、提取特征、保存数据和比对。
通过指纹读取设备读取到人体指纹的图像,然后要对原始图像进行初步的处理,使之更清晰,再通过指纹辨识软件建立指纹的特征数据。
软件从指纹上找到被称为"节点"(minutiae)的数据点,即指纹纹路的分叉、终止或打圈处的坐标位置,这些点同时具有七种以上的唯一性特征。
通常手指上平均具有70个节点,所以这种方法会产生大约490个数据。
这些数据,通常称为模板。
通过计算机模糊比较的方法,把两个指纹的模板进行比较,计算出它们的相似程度,最终得到两个指纹的匹配结果,从而判断输入结果的正确与否。
考虑到本方案软硬件太过复杂,而且成本也高,故不采用。
方案二:矩阵键盘输入识别由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动。
行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。
通过不断读行线口线,或者中断方式触发键位扫描。
当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。
当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。
每个按键都可通过程序赋予功能,从而完成密码识别。
本方案简单易行,故采用。
3 系统总体设计和主要芯片介绍系统主要芯片有AT89C51,AT24C02及液晶等3.1 系统总体设计本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。
其中矩阵键盘用于输入数字密码和进行各种功能的实现。
由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可。
系统整体框图如图3.1所示。
图3.1 系统结构框图各模块功能如下:1.矩阵键盘输入模块:分为密码输入按键与几个功能按键,用于完成密码锁输入功能。
2.显示模块:用于完成对系统状态显示及操作提示功能。
3.报警电路:用于完成输错密码时候的警报功能。
4.密码存储模块:用于完成掉电存储功能,使修改的密码断电后仍能保存。
5.电源模块:用于对系统电路提供+5V的直流电压3.2 主要芯片介绍3.2.1 AT89C51AT89C51是美国Atmel公司生产的低电压,高性能CMOS8位单片机,片内含8k bytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),AT89S51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线。
主要功能特性:·兼容MCS51指令系统。
·8k可反复擦写(>1000次)Flash ROM,32个双向I/O口,256x8bit内部RAM,时钟频率0-24MHz,可编程UART串行通道。
·3个16位可编程定时/计数器中断,2个串行中断,2个外部中断源,共6个中断源,2个读写中断口线。
3.2.2 存储芯片AT24C02AT24C02是美国Atmel公司的低功耗CMOS型E?PROM,内含256×8位存储空间,具有工作电压宽(2.5~5.5 V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。
而且他是采用了I?C总线式进行数据读写的串行器件,占用很少的资源和I/O线,并且支持在线编程,进行数据实时的存取十分方便。
3.2.3显示电路(LCD1602)LCD1602:所谓的1602即是16字符*2行的字符型LCD显示器,它由32个字符点阵块组成,每个字符点阵块由5×7或5×10个点阵组成,可以显示ASCII码表中的所有可视的字符。
它内置了字符产生器ROM(CGROM)、字符产生器RAM(CGRAM)和显示数据RAM(DDRAM)。
CGROM中内置了192个常用字符的字模,CGRAM包含8个字节的RAM,可存放用户自定义的字符,DDRAM就是用来寄存待显示的字符代码。
1602液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用第四章软件设计4.1主程序结构图图4-1 软件系统结构图4.2主程序流程图流程图是使用图形表示算法的思路是一种极好的方法,不论采用何种程序设计方法,程序总体结构确定后,一般以程序流程图的形式对其进行描述。
总体框图中的各个子模块或各个子任务也应该结合具体的教学模型和算法画出较详细的程序流程图,供后面编写具体程序和阅读程序使用。
主程序流程图如图4-2所示:主程序流程图4.3主要子程序分析(1) 延时函数:通过软件和晶振电路的配合实现提供1ms 的延时程序,当调用ms 函数时,通过嵌套调用10次100us 、再调用2次50us 、最后调用10次5us 来实现1ms 的输出。
当调用到_nop_()时,需要调用机器周期,为了得到1us 的机器周期,所徐晶振的大小计算如下:MHz 1211212===机器周期晶振f所以在选择时钟电路时晶振可以选择12MHz 的void delay(uint xms) //延时函数,约1ms {uint x,y;for(x=xms;x>0;x--)for(y=100;y>0;y--); }(2)密码比较判断该模块的功能是将键盘输入的密码利用if 语句与设定的密码进行逐个比较,若密码完全正确则开锁;若不正确,则开启报警电路,可重新输入密码。
其密码输入和比较判决流程图如图所示。
密码输入和比较判决流程图(3)键扫描部分:键盘使用矩阵式键盘,由行和列组成,CPU对所有键盘进行监视,从而实现逐列扫描键盘确定被按键的具体位置、判断键盘上有无键按下、消除去抖动、判断闭合的键是否释放等功能。
如图14所示,为键盘扫描流程图。
键扫描流程图(4)修改密码在密码输入正确情况下,可以按下“重置密码”对密码进行重新设置,每设定一位就将密码存储起来,当设置6位密码完毕后,系统将自动跳到程序开始,调用新设置的密码。
图为修改密码流程图。
修改密码流程图(5)开锁程序开锁流程图第五章软件仿真5.1Keil软件的介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境、将这些部分组合在一起。
5.2Keil软件的仿真程序编译比较六位密码:比较第一个密码时,r2显示0x06,内部密码初始化地址给R0,R0显示0x69是密码缓冲区的初值,输入密码给R1,R1显示0x63 是AT24C02读取缓冲区的初值。
密码没有错误比较第2个密码,r2、R0、R1如图10所示:密码比较子程序六位密码比较完毕,如果正确,则完成开锁。
成功开锁状态如图11所示:六位密码比较完毕,如果错误,则报警,错误满三次,将锁定。
锁定状态如图12所示:开锁状态子程序锁定状态子程序六、实物制作6.1电路板焊接一般来说,造成硬件问题的首要问题就是焊接了,也就是说焊接的好与坏直接响产品的正常运行。
造成焊接质量不高的常见原因是:①焊锡用量过多,形成焊点的锡堆积;焊锡过少,不足以包裹焊点。
②冷焊。
焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹(如同豆腐渣一样!)。
③夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。
若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜;若加热温度太高,则焊点下有一层碳化松香的黑色膜。
对于有加热不足的松香膜的情况,可以用烙铁进行补焊。
对形成的黑膜,要"吃"净焊锡,清洁被焊元器件或印刷板表面,重新进行焊接才行。