密码锁实验报告doc.docx

上传人:b****7 文档编号:16306339 上传时间:2023-07-12 格式:DOCX 页数:12 大小:22.51KB
下载 相关 举报
密码锁实验报告doc.docx_第1页
第1页 / 共12页
密码锁实验报告doc.docx_第2页
第2页 / 共12页
密码锁实验报告doc.docx_第3页
第3页 / 共12页
密码锁实验报告doc.docx_第4页
第4页 / 共12页
密码锁实验报告doc.docx_第5页
第5页 / 共12页
密码锁实验报告doc.docx_第6页
第6页 / 共12页
密码锁实验报告doc.docx_第7页
第7页 / 共12页
密码锁实验报告doc.docx_第8页
第8页 / 共12页
密码锁实验报告doc.docx_第9页
第9页 / 共12页
密码锁实验报告doc.docx_第10页
第10页 / 共12页
密码锁实验报告doc.docx_第11页
第11页 / 共12页
密码锁实验报告doc.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

密码锁实验报告doc.docx

《密码锁实验报告doc.docx》由会员分享,可在线阅读,更多相关《密码锁实验报告doc.docx(12页珍藏版)》请在冰点文库上搜索。

密码锁实验报告doc.docx

密码锁实验报告doc

密码锁实验报告

篇一:

电子密码锁实验报告

  密码锁实验报告

  一,实验目的

  1.学习8051定时器时间计时处理、跑马灯、按键扫描及LED数码管显示的设计方法。

2.设计任务及要求利用实验平台上8个LED数码管,按键,跑马灯实现设置密码,密码锁的功能

  二,实验要求

  基本要求:

  1:

用4×4矩阵键盘组成0-9数字键及确认键和删除键。

2:

可以自行设定或删除8位密码。

  3:

用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。

  三,实验基本原理

  利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20。

  为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

  四,实验设计分析

  针对要实现的功能,采用AT89S51单片机进行设计,AT89S51单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。

这样,既能做到经济合理又能实现预期的功能。

  1

  在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

程序可分为闹钟的声音程序、时间显示程序、日期显示程序,秒表显示程序,时间调整程序、闹钟调整程序、定时调整程序,延时程序等。

运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

  首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。

这是前期准备工作。

第二部分是硬件部分:

依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。

第三部分是软件部分:

先学习理解汇编语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。

第四部分是软件画图部分:

设计好电路后进行画图,包括电路图和仿真图的绘制。

第五部分是软件仿真部分:

软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。

第六部分是硬件实现部分:

连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。

最后进行功能扩展,在已经正确的设计基础上,添加额外的功能!

  五,实验要求实现

  A.电路设计

  1.整体设计

  此次设计主要是应用单片机来设计电子密码锁,硬件部分主要分以下电路模块:

显示电路用8个共阴数码管显示输入的密码,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。

跑马灯的红绿灯作指示灯,指示输入密码的正确与否。

单片机采用AT89S52系列,这种单片机应用简单,适合电子密码锁设计。

  电路的总体设计框架如下:

  2

  B.程序设计

  B.程序总体设计

  本实验用汇编程序完成.

  结合电路图,程序设计的整体思路为:

  以下为在该工作方式下模式选择的按键方式,步骤如下:

1.各模块(CPU,数码管,跑马灯,键盘)接好线2.第1到10个键代表0—9这十个数字

  3.进行密码的设置。

随意按下六个键(确保第一位密码不是0),并记住密码。

然后按下第十二个键(重置密码键),即完成了密码的设置(此时数码管是不会亮的)

  4.随意输入6个数,组成新“密码”,然后按下第10个键(确认键)。

按下后,程序自动进行与原设密码进行对比。

若密码正确,则绿灯亮1秒,然后熄灭。

若密码不正确,则红灯亮3秒,且在这三秒内按下任何数字键无效,按下一个数字键后,会重新计时红灯再亮三秒,三秒后,才能重新输入密码

  5.另外,第11个键是删除键,可进行数字的删除,重新输入

  

  主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序,该段程序如下:

  #include#defineuintunsignedint#defineucharunsignedcharlongintshu=1,shu1,aa=0,password;uchark=0,key=0,bz=0,dk=0,num2;ucharcode

  table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0};

  4

  longintnum,temp,num1;voidinit();voiddisplay();

  voiddelay(uintz)//延时函数{uintx,y;for(x=z;x>0;x--)

  for(y=110;y>0;y--);

  }

  voidkeyscan();

  voidmain(){init();while

(1)

  {

  keyscan();display();

  }

  }

  voidinit()//{num=17;P1=0xff;TMOD=0x01;

  TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=0;

  初始化函数5

篇二:

密码锁课程设计报告

  1引言

  1.1电子密码锁简介

  电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。

它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。

现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。

其性能和安全性已经大大超过了机械锁。

其特点如下:

  

(1)保密性好,编程量多,远远大于弹子锁。

随机开锁成功率几乎为零。

  

(2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免

  人员的更替而使锁的密级下降。

  (3)误码输入保护,当当输入密码多次错误时,报警系统自启动。

  (4)无活动零件,不会磨损,寿命长。

  (5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。

  (6)电子密码锁操作简单易行,一学即会。

  1.2电子密码锁的发展趋势

  在日常生活和工作中,住宅与部门的安全防患、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的方法解决。

目前门锁主要用弹子锁,其钥匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。

针对这些所具给人们带来的不便若使用机械式钥匙开锁,为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。

它的出现为人们的生活带来了很大的方便,有很广阔的市场前景。

由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易破解。

随着电子元件的进一步发展,电子密码也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的但密码输入发展到现在的,密码加感应元件,实现了真正的电子加密,用户只有密码或电子钥匙中一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提1高出现了越来越多的电子密码锁。

  出于安全、方便等方面的需要许多电子密码锁已相继问世。

但这类产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密要求高且供个人使用的箱、柜、房间等。

由于数学、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺,魔高一丈”、组合使用信息也能够使电子防盗锁获得无穷扩展的肯,是产品多样化,对用户而言是“千挑百选、自得其所"。

可以看出组合使用电子信息是电子密码锁以后的发展的趋势。

  1.3设计目的与任务:

  学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。

  1.4设计内容与要求

  设计一个具有特定功能的密码锁。

该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。

该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。

  1.5本设计所要实现的目标

  本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,该电子密码锁有个管理员密码和三个用户密码,用户想要打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。

密码可以由用户自己修改设定,锁打开后才能修改密码。

修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。

当用户不记得密码时可通过专业认证服务用管理员密码使密码锁恢复出厂设置。

  1.6设计总体方案及工作原理说明

  采用以单片机为核心的控制方案,总体框图见图1.1.

  由于单片机总类繁多,各种型号都用一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。

一般来说在选择单片机时下面几个方面考虑:

性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有

  一些最基本的比如:

中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。

在开发过程中单片机还受到:

开发工具、编程器、开发成本、开发人员的适应性、技术支持

  和服务等等因素。

基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,以及控制的准确性,实现基本的密码锁功能。

在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接24C02B芯片用于密码的存储,外接LCD1602A显示器用于显示作用。

当用户修要开锁时,先按键盘用户键之后按键盘的数字键0-9输入密码。

密码输入完成后按下确认键,如果密码输入正确则开锁,不正确显示密码错误从新输入密码,当三次输入密码错误时则发出报警;当用户需要修改密码时,先按下用户键后再按设置键,接着输入原来的密码,只有当输入的原密码正确后才能设置新密码。

新密码输入后按下确认键后系统要求再次输入新密码接着按下确认键当两次密码输入相同时新密码将得到存储,密码修改成功。

  图1.1设计总体框图

  2硬件系统的设计

  2.1设计原理

  本设计主要有单片机、矩阵键盘、液晶显示器和密码存储部分构成。

其中矩阵键盘用于输入数字密码和进行各种功能的实现。

由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由显示灯换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。

  本系统共由两部分构成,及硬件部分和软件部分。

其中硬件部分由电源输入口,键盘输入部分,密码存储部分,复位电路,晶振电路,显示部分,报警部分,开锁部分组成。

软件部分对应的由主程序,初始化程序,LCD显示程序,键盘扫描程序,启动程序,关闭程序,键功能程序,密码设置程序,E2PROM读写程序和延时程序等组成。

其原理框图如图2.1所示

  图2.1电子密码锁原理框图

  2.2电路总体构成

  在确定了选用什么型号的单片机后,就要确定外围电路。

其外围电路包括电源输入口、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报

  警部分、开锁部分。

根据实际情况键盘输入部分选择4×4矩阵键盘,显示部分选择字符型液晶显示LCD1602,密码存储部分选用AT24C02芯片来完成。

其原理图见附录1。

  

  按键采用矩阵式排列的独立式按键键盘,它由行线和列线组成,按键位于行列的交叉点上,密码锁的密码有按键输入完成,本设计中使用的这个4×4键盘不但能完成密码的输入还能作为特别功能键使用,比如清空显示功能等,键盘的每个按键功能在程序设计中设置。

其大体功能(看按键上的标志)及与单片机引脚接法见附录1原理图。

  

  用E2PROM芯片AT24C02存储密码。

AT24C02是美国Atmel公司的低功耗CMOS型E2PROM,内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(大于10000次)、写入速度快(小于10ms)、抗干扰能力强、数据不易丢失、体积小等特点。

而且它是采用了I2C总线式进行数据读取的串行器件,占用很少的资源和I/O线,(转载自:

小草范文网:

密码锁实验报告)并且支持在线编程,进行数据实时的存储十分方便。

AT24C02中带有的片内地址寄存器。

每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的读写。

所有字节均以单一操作方式读取。

为降低总的写入时间,一次操作可写入多达8个字节的数据。

I2C总线式一种用于IC器件之间连接的二线制总线。

它通过SDA及SCL两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件。

AT24C02正是运用了I2C规程,使用主/从机双向通信,主机和从机均可工作于接收器和发送器状态。

主机产生串行时钟信号并发出控制字,控制总线的传送方向,并产生开始和停止的条件。

无论是主机还是从机,接收到一个字节后必须发出一个确认信号ACK。

AT24C02的控制字有8位二进制数构成,在开始信号发出以后,主机便会发出控制字,以选择从机并控制总线的传送方向。

其接线见附录1原理图。

  

  单片机复位是使CPU和系统的其他功能部件处在一个正确的初始状态,并从这个状态开始工作,例如复位后PC=0000H,使单片机从第一个单元去指令。

无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。

在复位期间(RST为高电平期间),P0口为高组态,P1-P3口输出高电平:

外部程序存储器读选通信号PSEN无效。

地址锁存信号ALE也为高电平。

复位电路在最简单的复位电路下增加了手动复位按键,在接通电源瞬间,电容上的电压很小,复位

篇三:

电子密码锁实验报告

  电子密码锁实验报告

  一,实验目的

  1.进一步巩固和加深理论课基本知识的理解,提高综合运用所学知识的能力。

  2.能根据需要选择参考书,查阅资料,通过独立思考,深入钻研有关问题。

  3.学会自己独立分析问题、解决问题。

  4学习定时器时间计时处理、按键扫描及LED数码管显示的设计方法。

  5.根据设计任务及要求利用实验平台上单片机及其外围元器件,设计符合功能的电子密码锁。

  二,实验要求

  设计要求:

  1:

用4×4矩阵键盘组成0-9数字键及确认键和删除键。

  2:

可以自行设定或删除8位密码,能够掉电保存。

  3:

用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。

三,实验基本原理

  1.键盘接口必须具有去抖动、按键识别基本功能。

  

(1)去抖动:

每个按键在按下或松开时,都会产生短时间的抖动。

抖动的持续时间与键的质量相关,一般为5—20mm。

所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。

去抖问题可通过软件延时或硬件电路解决。

  

(2)被按键识别:

如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方

  法完成。

常用的方法有行扫描法和线反转法两种。

行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。

线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入/输出端口。

  2.利用键盘扫描原理分别设4×4矩阵键盘组成0-9数字键及确认键和删除键,通过0—9数字键设定8位密码和删除键删除密码,利用存储器的永久存储特性将设定的密码存于存储器中,再次重启程序时,能从存储器中读取出来,从而实现掉电保存。

  为了将时间在LED数码管上显示,可采用静态显示法和动态显示法,由于静态显示法需要译码器,数据锁存器等较多硬件,可采用动态显示法实现LED显示,通过对每位数码管的依次扫描,使对应数码管亮,同时向该数码管送对应的字码,使其显示数字。

由于数码管扫描周期很短,由于人眼的视觉暂留效应,使数码管看起来总是亮的,从而实现了各种显示。

  Led发光二级管低电平发亮,高电平熄灭的特性实现led提示功能。

  利用单片机定时器完成计时功能,定时器0计时中断程序每隔0.05s中断一次并当作一个计数,设定定时1秒的中断计数初值为20,每中断一次中断计数初值减1,当减到0时,则表示1s到了,秒变量加1,从而实现led亮1秒或3秒。

  四,实验设计分析

  针对要实现的功能,采用AT89S52单片机进行设计,AT89S52单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构。

这样,既能做到经济合理又能实现预期的功能。

  在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

程序可分为按键程序、数码管显示程序、发光二级管程序,存储器程序,密码设定程序、密码删除程序、定时器程序,延时程序等。

运用这种方法,关键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。

  首先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。

这是前期准备工作。

第二部分是硬件部分:

依据想要的功能分块设计设计,比如输入需要开关电路,输出需要显示驱动电路和数码管电路等。

第三部分是软件部分:

先学习理解C语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。

第四部分是软件画图部分:

设计好电路后进行画图,包括电路图和仿真图的绘制。

第五部分是软件仿真部分:

软硬件设计好后将软件载入芯片中进行仿真,仿真无法完成时检查软件程序和硬件电路并进行修改直到仿真成功。

第六部分是硬件实现部分:

连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。

  后进行功能扩展,在已经正确的设计基础上,添加额外的功能!

  五,实验要求实现

  A.电路设计

  1.整体设计

  此次设计主要是应用单片机来设计电子密码锁,硬件部分主要分以下电路模块:

显示电路用5个共阴数码管显示8和发光二级管的发亮提示,存储器的存储模块,单片机采用AT89S52系列,这种单片机应用简单,适合电子钟设计。

  电路的总体设计框架如下:

  2.分块设计

  模块电路主要分为:

输入部分、输出部分、复位和晶振电路。

  输入模块:

键盘输入

  键盘接入单片机P3接口,

  输出模块:

数码管输出

  AT89S52复位模块

  AT89S52晶振模块

  各模块拼接,总的模块图如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2