电子密码锁实验报告

合集下载

实习报告电子密码锁设计

实习报告电子密码锁设计

实习报告:电子密码锁设计一、实习背景及目的随着科技的不断发展,电子产品在日常生活中扮演着越来越重要的角色。

电子密码锁作为一种安全技术防范产品,具有安全性高、成本低、功耗低、易操作等优点,已广泛应用于家庭、办公室、银行等领域。

本次实习旨在了解并掌握电子密码锁的设计原理,提高自己在电子技术方面的实际操作能力。

二、实习内容与过程1. 了解电子密码锁的原理电子密码锁的核心部分是密码控制器,它通过接收键盘输入的密码,与设定的密码进行比较,根据比较结果控制电路或芯片的工作。

在本实习中,我们采用51单片机作为密码控制器,通过矩阵键盘输入密码,利用数码管显示密码输入情况。

2. 设计电路图根据实习要求,设计电子密码锁的电路图。

电路主要包括51单片机、矩阵键盘、数码管、报警电路、电源等部分。

矩阵键盘用于输入密码,数码管用于显示密码输入情况,报警电路用于提示密码错误,电源为整个电路提供稳定的电压。

3. 编写程序使用C语言编写程序,实现电子密码锁的功能。

程序主要包括主函数、键盘扫描函数、数码管显示函数、报警函数等。

主函数负责初始化硬件设备,循环调用键盘扫描函数,接收并显示密码输入情况。

键盘扫描函数用于检测矩阵键盘按键状态,数码管显示函数负责在数码管上显示输入的密码,报警函数则在密码错误时发出报警。

4. 调试与优化在Proteus仿真软件中进行电路仿真,调试程序。

在仿真过程中,发现键盘输入与数码管显示部分存在问题,通过修改程序代码,解决了这些问题。

同时,对程序进行优化,提高了运行效率。

5. 实物焊接与测试根据电路图,购买元器件,进行实物焊接。

焊接完成后,对电子密码锁进行测试,验证其功能是否符合预期。

在测试过程中,发现报警功能存在问题,经过排查,发现是报警电路部分出现问题,重新焊接后,问题得到解决。

三、实习收获与体会通过本次实习,我对电子密码锁的设计原理和实际操作有了更深入的了解。

在设计过程中,我学会了如何根据实际需求,运用所学知识,设计出符合要求的电路图和程序。

数字密码锁实训报告总结

数字密码锁实训报告总结

一、引言随着科技的不断发展,电子技术已经深入到人们的日常生活中。

电子密码锁作为一种新型的锁具,因其安全性高、操作简便、易于维护等优点,在各个领域得到了广泛应用。

为了提高学生的实践能力,本实训项目以数字密码锁为核心,通过理论学习和实践操作,让学生掌握数字密码锁的设计与实现方法。

二、实训目的1. 了解数字密码锁的基本原理和组成;2. 掌握数字密码锁的设计与实现方法;3. 提高学生的动手能力和创新能力;4. 培养学生的团队协作精神。

三、实训内容1. 数字密码锁的基本原理数字密码锁是一种利用数字电路实现密码输入和开锁功能的锁具。

其基本原理是:将密码输入到锁内,通过比较输入密码与预设密码是否一致,来控制开锁信号的输出。

2. 数字密码锁的组成数字密码锁主要由以下几个部分组成:(1)密码输入模块:负责将用户输入的密码转换为数字信号;(2)密码存储模块:存储预设的密码;(3)密码比较模块:比较输入密码与预设密码是否一致;(4)控制模块:根据密码比较模块的结果,控制开锁信号的输出;(5)输出模块:输出开锁信号,驱动锁具解锁。

3. 数字密码锁的设计与实现本实训项目采用以下方法设计数字密码锁:(1)选用合适的数字电路芯片,如74LS112双JK触发器等;(2)根据数字密码锁的功能需求,设计相应的电路;(3)利用EDA工具进行电路仿真,验证电路功能;(4)编写程序,实现密码输入、存储、比较和控制等功能;(5)将程序烧录到单片机或FPGA等芯片中,实现数字密码锁的功能。

四、实训过程1. 理论学习在学习过程中,我们首先了解了数字密码锁的基本原理和组成,掌握了数字电路的基本知识,如逻辑门、触发器等。

2. 设计与仿真根据实训要求,我们选用74LS112双JK触发器等芯片,设计了一个简单的数字密码锁电路。

利用EDA工具进行电路仿真,验证电路功能。

3. 编程与调试编写程序,实现密码输入、存储、比较和控制等功能。

将程序烧录到单片机或FPGA等芯片中,进行调试,确保数字密码锁的功能正常。

密码锁实验报告doc

密码锁实验报告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在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理解,又能便于添加各项功能。

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

电子密码锁实习报告

电子密码锁实习报告

实习报告:电子密码锁设计与实现一、实习背景及目的随着科技的不断发展,电子密码锁作为一种新型的安全防护设备,逐渐应用于日常生活和工作中。

本次实习旨在通过设计和实现一个基于单片机的电子密码锁,掌握电子密码锁的工作原理,提升自己的实际动手能力和创新能力。

二、实习内容1. 电子密码锁的总体设计本次实习设计的电子密码锁主要包括以下几个部分:4x4矩阵键盘、单片机、LCD显示模块、掉电存储模块、报警机构和开锁机构。

其中,4x4矩阵键盘用于输入密码,单片机负责密码的存储、比较和处理,LCD显示模块用于显示密码输入状态和锁的开关状态,掉电存储模块用于保存密码信息,报警机构在密码输入错误时发出报警,开锁机构在密码输入正确时解锁。

2. 硬件设计(1)4x4矩阵键盘:采用行列矩阵式布局,减小了键盘占用的空间,提高了可靠性。

(2)单片机:选用51系列单片机,具备较强的逻辑处理能力和稳定性。

(3)LCD显示模块:采用液晶显示屏,清晰显示密码输入状态和锁的开关状态。

(4)掉电存储模块:采用EEPROM芯片,用于保存密码信息,确保数据不丢失。

(5)报警机构:采用蜂鸣器,声音响亮,提醒用户密码输入错误。

(6)开锁机构:采用继电器,实现电控锁的开关。

3. 软件设计(1)密码输入:用户通过4x4矩阵键盘输入6位密码,密码输入过程中,LCD显示模块实时显示输入的密码。

(2)密码比较:单片机对输入的密码进行处理,与预设的密码进行比较。

(3)密码存储:将正确的密码存储到EEPROM芯片中,确保断电后密码信息不丢失。

(4)报警功能:当密码输入错误达到一定次数时,触发报警。

(5)开锁功能:当输入的密码正确时,通过继电器控制开锁机构解锁。

三、实习心得通过本次实习,我深入了解了电子密码锁的工作原理和设计方法,掌握了单片机、矩阵键盘、LCD显示模块等硬件组件的使用,以及C语言编程技巧。

在实习过程中,我学会了如何根据需求进行合理的模块划分,如何通过程序实现密码的存储、比较和处理,以及如何调试硬件电路。

智能门锁的实训报告书

智能门锁的实训报告书

一、实训背景随着科技的不断进步和智能化时代的到来,智能门锁作为一种新型门锁产品,逐渐走进人们的日常生活。

它集成了现代电子技术、通信技术、机械技术等多领域的技术,为人们提供了便捷、安全、智能化的家居体验。

为了深入了解智能门锁的工作原理、技术特点和应用场景,我们开展了智能门锁的实训项目。

二、实训目标1. 理解智能门锁的基本工作原理和组成结构。

2. 掌握智能门锁的编程方法和调试技巧。

3. 熟悉智能门锁的安装、配置和日常维护。

4. 分析智能门锁在家庭、办公、公共场所等场景的应用价值。

三、实训内容1. 智能门锁基础知识首先,我们学习了智能门锁的基本概念、发展历程、分类和特点。

智能门锁按开锁方式可分为密码锁、指纹锁、刷卡锁、手机APP开锁等;按安装方式可分为室内安装、室外安装和室内外一体安装。

2. 智能门锁硬件结构智能门锁的硬件结构主要包括以下部分:(1)主控模块:负责处理数据、控制门锁开闭、与外部设备通信等;(2)通信模块:负责与手机、网络等设备通信;(3)输入模块:包括指纹识别模块、密码输入模块、刷卡模块等;(4)输出模块:包括门锁驱动模块、报警模块等;(5)电源模块:负责为智能门锁提供稳定的电源。

3. 智能门锁软件编程我们学习了智能门锁的软件编程方法,包括:(1)嵌入式系统编程:使用C语言进行主控模块的编程;(2)通信协议编程:编写通信模块的驱动程序,实现与手机、网络等设备的通信;(3)用户界面编程:设计用户界面,方便用户操作。

4. 智能门锁安装与调试我们学习了智能门锁的安装方法,包括:(1)安装门锁:按照说明书进行安装,确保门锁与门体匹配;(2)配置参数:通过手机APP或电脑软件对门锁进行参数配置,如密码、指纹等;(3)调试:检查门锁是否正常工作,调整参数以确保门锁稳定可靠。

5. 智能门锁应用场景分析我们分析了智能门锁在以下场景中的应用价值:(1)家庭:提高家庭安全,方便家庭成员进出;(2)办公:实现企业内部人员管理,提高办公效率;(3)公共场所:如酒店、公寓、停车场等,提高管理效率,降低人力成本。

电子密码锁实训报告心得

电子密码锁实训报告心得

一、前言随着科技的发展,人们对安全的重视程度日益提高,电子密码锁作为一种高科技产品,广泛应用于家庭、企业、银行等领域。

为了提高自己的实践能力,我参加了电子密码锁实训课程,通过本次实训,我对电子密码锁的设计与实现有了更深入的了解,以下是我对本次实训的心得体会。

二、实训内容与过程1. 实训内容本次实训主要包括以下几个方面:(1)电子密码锁原理及设计方法;(2)电子密码锁硬件电路设计;(3)电子密码锁软件编程;(4)电子密码锁仿真与调试。

2. 实训过程(1)理论学习:通过查阅相关资料,了解电子密码锁的基本原理、设计方法以及常见硬件电路。

(2)硬件电路设计:根据实训要求,设计电子密码锁的硬件电路,包括键盘输入、密码存储、显示、报警等模块。

(3)软件编程:根据硬件电路设计,编写电子密码锁的软件程序,实现密码输入、密码存储、密码比较、报警等功能。

(4)仿真与调试:利用Proteus软件对电子密码锁进行仿真,观察电路运行状态,根据仿真结果调整电路参数,直至满足设计要求。

三、实训心得体会1. 基本原理与设计方法通过本次实训,我对电子密码锁的基本原理有了更深入的了解。

电子密码锁主要由以下几个部分组成:(1)密码输入模块:用于输入密码,一般采用键盘输入方式;(2)密码存储模块:用于存储密码,一般采用EEPROM或Flash存储器;(3)密码比较模块:用于比较输入密码与存储密码是否一致;(4)显示模块:用于显示密码输入情况、锁状态等信息;(5)报警模块:用于在密码输入错误时发出报警信号。

在设计电子密码锁时,需要考虑以下几个因素:(1)安全性:密码存储方式要保密,防止他人非法获取;(2)可靠性:电路设计要稳定,防止因电路故障导致密码丢失或误操作;(3)易用性:操作简单,便于用户使用;(4)成本:尽量降低成本,提高产品竞争力。

2. 硬件电路设计在硬件电路设计过程中,我学习了如何选择合适的元器件,如何设计电路板,以及如何布线。

密码锁实习报告

密码锁实习报告

密码锁实习报告在_____公司的密码锁实习经历,让我对密码锁这一领域有了更深入的了解和认识。

在这段时间里,我参与了密码锁的研发、生产和测试等多个环节,不仅学到了专业知识和技能,还积累了宝贵的实践经验。

一、实习单位及岗位介绍我实习的_____公司是一家专注于密码锁研发、生产和销售的企业。

公司拥有先进的生产设备和技术,产品涵盖了家用密码锁、商用密码锁和智能密码锁等多个系列。

我所在的岗位是密码锁研发助理,主要负责协助研发工程师进行密码锁的设计和开发工作。

具体包括收集市场需求和用户反馈、参与方案讨论和制定、进行零部件选型和测试,以及协助编写技术文档等。

二、实习内容及成果1、密码锁市场调研在实习初期,我参与了密码锁市场调研工作。

通过查阅相关资料、走访市场和与用户交流,了解了当前密码锁市场的需求和趋势。

发现用户对于密码锁的安全性、便捷性和智能化程度有着越来越高的要求。

同时,也了解到不同用户群体对于密码锁的功能和价格有着不同的需求和偏好。

2、密码锁设计与开发在市场调研的基础上,我协助研发工程师进行了密码锁的设计和开发工作。

参与了方案的讨论和制定,提出了一些自己的想法和建议。

在零部件选型方面,我通过对比不同厂家的产品性能和价格,为项目选择了合适的零部件。

同时,我还参与了密码锁的电路设计和程序编写工作,通过不断地调试和优化,提高了密码锁的稳定性和可靠性。

在密码锁的外观设计方面,我们充分考虑了用户的审美需求和使用习惯,采用了简洁大方的设计风格,并注重了细节的处理。

经过多次修改和完善,最终确定了密码锁的外观设计方案。

3、密码锁测试与优化在密码锁开发完成后,我参与了密码锁的测试和优化工作。

通过对密码锁进行功能测试、性能测试和安全性测试,发现了一些存在的问题和不足之处。

针对这些问题,我与研发工程师一起进行了分析和研究,提出了相应的解决方案,并对密码锁进行了优化和改进。

经过多次测试和优化,密码锁的各项性能指标均达到了设计要求,并且在稳定性和安全性方面有了很大的提高。

电子密码锁【精选文档】

电子密码锁【精选文档】

电子密码锁实验报告一、实验目的。

1.了解电子密码锁的工作方式,制定设计方案。

2.利用ISE软件进行可编程逻辑器件设计,完成逻辑仿真功能。

3.使用编译器将设计实现,下载到BASYS2实验板上进行调试和验证所设计的四位二进制数的运算.二、实验器材.1.Pentium—Ⅲ计算机一台;2.BASYS2 实验板一只;三、实验方案。

1.基本功能。

利用开关进行密码输入,并利用一个微动开关作为触发判断,密码正确则显示RRRR,错误则显示FFFF。

2.清零功能。

利用一个微动开关,当微动开关按下则预设密码和验证密码都为0,可以重新设定密码。

3.利用开关进行十进制密码输入。

本密码锁使用sw[3:0]进行密码输入,利用开关表示出十进制数的二进制形式,利用两个微动开关分别作为预设密码与验证密码的确认键,按下确认键则密码输入。

4。

数码管显示本密码锁可以动态显示输入的密码,并且当每一位密码输入时,原密码自动左移一位,未输入密码时数码管显示零。

四、实验原理图。

五、实验模块说明及部分代码。

module checker(s1,c1,c2,c3,an,a_to_go,clk,clr);input [3:0]s1;input c1,c2,c3;output reg[3:0]an;output [6:0]a_to_go;input clr;input clk;reg [16:0] clk_cnt;reg [3:0]num_ge1;reg [3:0]num_shi1;reg [3:0]num_bai1;reg [3:0]num_qian1;reg [3:0]num_ge2;reg [3:0]num_shi2;reg [3:0]num_bai2;reg [3:0]num_qian2;reg [3:0]flag;reg [3:0]choose=0;(* KEEP =”TRUE" *)reg [1:0]panduan;always @(posedge clk)begin //分频clk_cnt=clk_cnt+1;if(clk_cnt[16])clk_cnt=0;endalways @(*)begin //数码管是能循环case(clk_cnt[14:13])2'b00:begin an[3]=1;an[2]=1;an[1]=1;an[0]=0;end2'b01:begin an[3]=1;an[2]=1;an[1]=0;an[0]=1;end2’b10:begin an[3]=1;an[2]=0;an[1]=1;an[0]=1;end2’b11:begin an[3]=0;an[2]=1;an[1]=1;an[0]=1;end default:begin an[3]=1;an[2]=1;an[1]=1;an[0]=1;end endcaseendalways @(posedge c2 or posedge clr)begin //输入设定密码if(clr)beginnum_ge1=0;num_shi1=0;num_bai1=0;num_qian1=0;endelsebeginnum_qian1=num_bai1;num_bai1=num_shi1;num_shi1=num_ge1;num_ge1=s1[3]*8+s1[2]*4+s1[1]*2+s1[0];endendalways @(posedge c3 or posedge clr)begin //输入测试密码if(clr)beginnum_ge2=0;num_shi2=0;num_bai2=0;num_qian2=0;endelsebeginnum_qian2=num_bai2;num_bai2=num_shi2;num_shi2=num_ge2;num_ge2=s1[3]*8+s1[2]*4+s1[1]*2+s1[0];endendalways @(posedge c2 or posedge c3 or posedge c1)begin //显示密码还是原码if(c2)beginchoose=0;endelseif(c3)beginchoose=1;endelsebeginchoose=2;endendalways @(*)begin //显示case(choose)0:case(clk_cnt[14:13])2’b00:begin flag=num_ge1;end2'b01:begin flag=num_shi1;end2’b10:begin flag=num_bai1;end2’b11:begin flag=num_qian1;enddefault begin flag=0;endendcase1:case(clk_cnt[14:13])2'b00:begin flag=num_ge2;end2’b01:begin flag=num_shi2;end2’b10:begin flag=num_bai2;end2’b11:begin flag=num_qian2;enddefault begin flag=0;endendcase2:if(panduan==1)begin flag=4'ha;endelseif(panduan==0)begin flag=4’hf;endelsebegin flag=0;endendcaseendalways @(posedge c1 or posedge clr)begin //判断if(clr)beginpanduan=2;endelseif(num_ge1==num_ge2)if(num_shi1==num_shi2)if(num_bai1==num_bai2)if(num_qian1==num_qian2)beginpanduan=1;endelse begin panduan=0;endelse begin panduan=0;endelse begin panduan=0;endelse begin panduan=0;endendset a1(.flag(flag),。

密码报警锁实验报告(3篇)

密码报警锁实验报告(3篇)

第1篇一、实验目的1. 了解密码报警锁的基本原理和设计方法。

2. 掌握密码报警锁的硬件电路设计和软件编程。

3. 通过实验,验证密码报警锁的功能和性能。

二、实验原理密码报警锁是一种结合了密码识别和报警功能的电子锁。

其基本原理如下:1. 用户输入密码:当用户需要开锁时,通过键盘输入预设的密码。

2. 密码识别:系统对输入的密码进行识别,判断是否与预设密码一致。

3. 开锁:若密码正确,则通过继电器控制锁具开启;若密码错误,则系统发出报警信号。

4. 报警:当密码连续输入错误达到预设次数时,系统发出声光报警信号。

三、实验器材1. 实验箱:包含AT89C51单片机、键盘、继电器、蜂鸣器、LED灯、电源等。

2. 仿真软件:Proteus。

四、实验步骤1. 硬件电路设计(1)根据实验要求,设计密码报警锁的硬件电路图。

(2)使用Proteus软件进行电路仿真,验证电路的正确性。

2. 软件编程(1)编写密码报警锁的软件程序,实现密码识别、开锁、报警等功能。

(2)使用Proteus软件进行程序仿真,验证程序的正确性。

3. 硬件调试(1)将设计好的电路焊接成实体电路。

(2)将编写好的程序烧录到单片机中。

(3)进行硬件调试,验证密码报警锁的功能和性能。

4. 功能测试(1)输入正确密码,验证开锁功能。

(2)输入错误密码,验证报警功能。

五、实验结果与分析1. 硬件电路设计经过Proteus仿真,电路设计符合预期,能够实现密码报警锁的基本功能。

2. 软件编程经过Proteus仿真,软件程序运行正常,能够实现密码识别、开锁、报警等功能。

3. 硬件调试经过硬件调试,密码报警锁能够实现预设功能,性能稳定。

4. 功能测试(1)输入正确密码,锁具开启,验证开锁功能。

(2)输入错误密码,系统发出报警信号,验证报警功能。

六、实验总结本次实验成功设计并实现了密码报警锁。

通过实验,掌握了密码报警锁的基本原理、硬件电路设计和软件编程方法。

实验过程中,提高了动手能力和问题解决能力。

密码锁单片机实习报告

密码锁单片机实习报告

一、前言随着科技的不断发展,单片机技术在各个领域得到了广泛的应用。

密码锁作为一种安全可靠的开锁方式,也逐渐成为了人们生活中不可或缺的一部分。

本报告主要介绍了我在单片机实习期间,基于51单片机设计的电子密码锁的过程和实践。

二、实习目的和意义本次实习的目的是学习和掌握单片机原理及应用,提高自己的动手能力和创新能力。

通过设计电子密码锁,了解并掌握单片机在实际应用中的电路设计、编程和调试技巧。

此外,电子密码锁在生活中的应用广泛,具有较高的实用价值,可以为人们提供便捷、安全的生活环境。

三、实习内容1. 电路设计本次实习的电子密码锁主要由51单片机、4x4矩阵键盘、LCD1602液晶显示屏、AT24C02存储模块、报警系统和继电器等组成。

电路设计过程中,首先对各个模块进行选型,然后绘制原理图,最后搭建实物电路。

2. 编程设计根据电路设计,编写相应的程序代码,实现密码的输入、存储、比较和报警等功能。

程序设计过程中,采用C语言进行编程,通过Keil软件进行编译和调试。

3. 系统调试将编写好的程序烧录到单片机中,对整个系统进行调试。

调试过程中,检查各个模块是否正常工作,并对可能出现的问题进行排查和优化。

四、实习过程1. 电路设计首先,根据实习要求,选用AT89C52型51单片机作为核心控制器。

然后,设计4x4矩阵键盘,用于密码的输入。

接着,选用LCD1602液晶显示屏,显示密码输入界面和开锁状态。

为了实现密码的存储,选用了AT24C02存储模块。

最后,设计报警系统和继电器,实现密码错误报警和开锁功能。

2. 编程设计根据电路设计,编写相应的程序代码。

首先,实现矩阵键盘扫描函数,用于检测按键输入。

然后,编写密码存储和读取函数,将输入的密码存储到AT24C02模块中,并在下次开机时读取。

接下来,实现密码比较函数,判断输入的密码是否正确。

最后,编写报警和开锁函数,当密码错误时发出报警,正确时驱动继电器开锁。

3. 系统调试将编写好的程序烧录到单片机中,对整个系统进行调试。

智能电子密码锁实训报告

智能电子密码锁实训报告

一、引言随着科技的发展,人们对生活品质和安全性的要求越来越高。

电子密码锁作为一种新型锁具,以其安全性高、操作方便、易于管理等特点,在家庭、企事业单位等领域得到了广泛应用。

本实训报告旨在通过设计和实现一款智能电子密码锁,提高学生的实际动手能力,培养学生的创新思维和团队合作精神。

二、实训目标1. 掌握电子密码锁的基本原理和设计方法。

2. 学会使用单片机、密码学、传感器等相关技术。

3. 提高学生的动手能力和团队协作能力。

4. 培养学生的创新思维和实际应用能力。

三、实训内容1. 硬件设计(1)主控芯片:选用AT89S51单片机作为主控芯片,负责控制整个系统的工作。

(2)密码存储:使用E2PROM AT24C02作为数据存储器,存储密码信息。

(3)输入设备:设计一个4×4键盘,用户通过键盘输入密码。

(4)输出设备:使用蜂鸣器作为报警提示,同时使用LED灯显示开锁状态。

(5)传感器:选用红外传感器作为防夹手功能,检测用户是否夹手。

2. 软件设计(1)密码输入与验证:设计密码输入和验证模块,当用户输入正确密码时,LED 灯亮起,蜂鸣器不响;当用户输入错误密码时,蜂鸣器响,提示用户密码错误。

(2)密码修改:设计密码修改模块,允许用户修改密码。

(3)报警提示:当用户连续3次输入错误密码时,系统自动进入报警状态,蜂鸣器持续响,提示用户。

(4)防夹手功能:当用户夹手时,红外传感器检测到障碍物,蜂鸣器响,提示用户松手。

3. 仿真与测试(1)使用Altium Designer19绘制原理图,完成电路设计。

(2)使用KEIL5软件编写控制程序,实现密码输入、验证、修改、报警提示等功能。

(3)使用protues8.7软件进行仿真,验证电路和程序的正确性。

(4)搭建实物电路,进行实际测试,确保系统稳定可靠。

四、实训成果1. 设计并实现了一款基于单片机的智能电子密码锁。

2. 系统具有密码输入、验证、修改、报警提示、防夹手等功能。

电子密码锁课程设计报告[1]1

电子密码锁课程设计报告[1]1

数字电子密码锁课程设计报告课程名称: 数字电子技术基础设计题目: 数字密码锁班级: 08自动化(2)班**: ******: **目录一、设计目的 (1)二、技术指标 (1)1.基本功能 (1)2.增加功能 (1)三、总体设计方案 (1)1.第一方案 (1)2.第二方案 (2)3.第三方案 (2)4.设计思路 (2)四、元件清单 (2)五、电路框图 (2)六、单元电路的设计 (3)1.密码输入模块 (3)2.密码修改模块 (4)3.密码检验模块 (4)4.开锁模块 (5)5.报警模块 (5)6.音频方波信号模块 (6)7、系统总图 (6)七、总结与体会 (8)1.成品评测 (8)2.制作体会 (8)3.制作回顾 (8)八、参考文献 (8)一、设计目的1.巩固和加深对电子电路基本知识的理解, 提高综合运用本课程所学知识的能力。

2、培养根据设计需要选学参考书籍, 查阅相关手册、图表和文献资料的自学能力。

3.通过电路方案的分析、论证和比较, 设计计算和选取元器件、电路组装、调试和检测等环节, 初步掌握简单实用电路的分析方法和工程设计方法。

4、学会简单电路的实验调试和性能指标的测试方法, 提高学生动手能力和进行数字电子电路实验的基本技能。

二、技术指标1.基本功能1).设计一个数字锁, 每把锁都有其预先设定好的(四位二进制数)开锁密码, 在一个开锁控制信号作用下用该密码可以打开锁;2).开锁时, 其预先设定好的(四位二进制数)代码与(四位二进制代码)开锁密码信号相符, 且开锁控制信号有效时, 锁打开;3).若不符, 电路将发出声, 光报警信号;4).不开锁时, 锁关闭。

2.增加功能开锁密码位数, 声报警信号扩音等。

三、总体设计方案1.第一方案用JK触发器和双联开关组成, 要按顺序输入密码, 但其密码修改电路机械化, 且开关过多, 连线较多, 操作较繁琐。

2.第二方案用74HC573锁存器为密码设定电路和修改电路, 这方案可以便捷地设定密码和修改密码, 但密码的输入要用到8个控制开关且密码输入不分顺序。

密码锁实验报告

密码锁实验报告

密码锁实验报告密码锁实验报告引言:密码锁是一种常见的安全设备,它通过输入正确的密码才能打开,保护了我们的财产和隐私。

为了深入了解密码锁的原理和安全性,我们进行了一项实验,以探索密码锁的工作原理、破解方法以及可能存在的安全隐患。

实验目的:1.了解密码锁的工作原理;2.探索密码锁的安全性;3.尝试破解密码锁,分析其安全隐患。

实验材料和方法:1.密码锁:我们选择了市场上一种常见的电子密码锁作为实验对象;2.密码锁说明书:用于了解密码锁的操作方法和技术参数;3.计算机:用于记录实验过程和分析数据;4.密码破解工具:用于尝试破解密码锁。

实验过程:1.了解密码锁的工作原理:通过阅读密码锁说明书,我们了解到密码锁是通过输入正确的密码来解锁的。

密码锁内部有一个密码验证模块,当输入的密码与设定的密码一致时,密码锁会打开。

密码验证模块一般采用加密算法,确保密码的安全性。

2.探索密码锁的安全性:为了测试密码锁的安全性,我们分别设置了几组不同的密码,并尝试通过不同的方法破解密码锁。

首先,我们尝试了常见的暴力破解方法,即通过不断尝试所有可能的密码组合来解锁密码锁。

然而,由于密码锁的密码长度和复杂度限制,我们发现暴力破解几乎不可能成功。

接着,我们尝试了一些密码破解工具,如字典攻击和蛮力破解,但同样没有取得成功。

3.分析密码锁的安全隐患:尽管我们没有成功破解密码锁,但我们发现一些可能存在的安全隐患。

首先,密码锁的密码验证模块可能存在漏洞,如密码验证算法的不安全性或密码存储的不安全性。

其次,密码锁的物理结构可能存在弱点,如易受到撬锁或钥匙复制的攻击。

这些安全隐患可能导致密码锁的被破解或绕过,从而威胁到我们的财产和隐私安全。

结论:通过本次实验,我们对密码锁的工作原理和安全性有了更深入的了解。

密码锁作为一种常见的安全设备,虽然在一定程度上保护了我们的财产和隐私,但仍然存在一些安全隐患。

为了提高密码锁的安全性,我们建议密码锁制造商加强密码验证算法的安全性、改进密码存储方式,并加强物理结构的防护措施。

数字密码锁的实训报告

数字密码锁的实训报告

一、项目背景随着科技的不断发展,人们对安全性的要求越来越高。

传统的机械锁由于其构造简单,容易被撬,安全性较差。

为了提高锁的安全性,电子密码锁应运而生。

电子密码锁通过数字密码技术,实现了高安全性的锁具,广泛应用于家庭、企事业单位、银行等场所。

本实训项目旨在通过设计、制作和调试数字密码锁,了解电子密码锁的工作原理,提高学生的实践能力和创新能力。

二、实训目的1. 熟悉电子密码锁的工作原理和设计方法;2. 掌握数字电路、单片机等电子技术的基本知识和应用;3. 培养学生的实践能力和创新能力;4. 提高学生对电子产品的安全性和可靠性的认识。

三、实训内容1. 硬件设计(1)密码键盘设计:设计一个4x4的键盘矩阵,实现10个有效密码按键和一个确定键;(2)单片机设计:选择STC51单片机作为主控芯片,实现密码的存储、比较和输出控制;(3)显示模块设计:选用LCD液晶显示屏,显示密码输入状态、解锁成功或失败等信息;(4)驱动电路设计:设计驱动电路,实现对LCD显示屏、蜂鸣器等外围设备的控制。

2. 软件设计(1)密码输入程序:实现用户输入密码,并对输入的密码进行校验;(2)密码存储程序:将用户设置的密码存储在单片机的EEPROM中;(3)解锁控制程序:当输入密码正确时,控制继电器动作,打开锁具;当输入密码错误时,蜂鸣器发出报警声;(4)LCD显示程序:显示密码输入状态、解锁成功或失败等信息。

3. 调试与测试(1)硬件调试:连接电路,检查电路连接是否正确,排除硬件故障;(2)软件调试:编写程序,进行编译、下载,观察程序运行状态,调试程序错误;(3)整体调试:将硬件和软件结合起来,进行整体调试,确保数字密码锁功能正常。

四、实训结果与分析1. 硬件设计结果(1)密码键盘设计:完成4x4键盘矩阵,实现10个有效密码按键和一个确定键;(2)单片机设计:完成STC51单片机的编程,实现密码的存储、比较和输出控制;(3)显示模块设计:完成LCD液晶显示屏的编程,显示密码输入状态、解锁成功或失败等信息;(4)驱动电路设计:完成驱动电路的连接,实现对LCD显示屏、蜂鸣器等外围设备的控制。

【精编范文】密码锁实验报告word版本 (9页)

【精编范文】密码锁实验报告word版本 (9页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==密码锁实验报告篇一:电子密码锁设计报告电子技术课程设计题目名称:电子密码锁重庆大学电气工程学院201X年6月电子密码锁摘要:本文的电子密码锁是利用数字电子技术中基于JK触发器的锁存电路实现主电路的密码的修改和检测功能,再通过555定时器和一些基本的门电路实现对时间和执行信号的控制。

其中介绍了此次课程设计的电路设计思路、原理电路图,仿真等。

通过这次电子锁的设计来获得到与理论分析相符合的实验数据,验证理论和电路分析的正确性,完成此次课程设计任务一.设计内容及要求锁是人们生活中的常用物品,本题要求用电子元器件设计一个密码锁的控制电路,当输入正确代码时,输出开锁信号以推动执行机构工作(例如:利用继电器使电磁铁吸合拉动物件),并用红灯亮、绿灯熄灭表示关锁,用绿灯亮、红灯熄灭表示开锁; 1.在锁的控制电路中储存一个可以修改的4位代码,当开锁按钮开关(可设置成6位至8位,其中实际有效为4位,其余为虚设)的输入代码等于储存代码时,进入开锁状态而使锁打开;2.从第一个按钮触动后的5秒内若未将锁打开,则电路自动复位并进入自锁状态(自锁时间20秒),使之无法再打开,并由扬声器发出持续20秒的报警信号,由显示电路显示剩余自锁时间。

当连续输入3次错误密码时,系统锁定15分钟,锁定时间内禁止输入密码,同时由显示电路显示剩余锁定时间。

二.总体方案原理框图方案一:以AT89C2051为核心的单片机控制方案;AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版与Intel MCS-51系列单片机的指令和输出管脚相兼容。

由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。

实验报告四位数电子密码锁

实验报告四位数电子密码锁

四位数电子密码锁一,实验目的1.学习查找相关资料,并对小型项目开发有一定的认识;2.掌握能进行模块化设计的能力;3.学会对各部分电路,进行讨论、说明与仿真验证,最后在整合起来。

二,硬件要求1、拨位开关。

2、FPGA主芯片:EP1K30QC208。

3、LED显示模块。

4、4*4键盘。

5、七段数码管三,实验原理通过对4×4键盘进行扫描,然后获取其键值,并对其进行编码,从而进行按键的识别,并将相应的按键值进行显示。

键盘扫描的实现过程如下:对于4×4键盘,通常连接为4行、4列,因此要识别按键,只需要知道是哪一行和哪一列即可,为了完成这一识别过程,我们的思想是,首先固定输出4行为高电平,然后输出4列为低电平,在读入输出的4行的值,通常高电平会被低电平拉低,如果读入的4行均为高电平,那么肯定没有按键按下,否则,如果读入的4行有一位为低电平,那么对应的该行肯定有一个按键按下,这样便可以获取到按键的行值。

同理,获取列值也是如此,先输出4列为高电平,然后在输出4行为低电平,再读入列值,如果其中有哪一位为低电平,那么肯定对应的那一列有按键按下。

获取到行值和列值以后,组合成一个8位的数据,根据实现不同的编码在对每个按键进行匹配。

两功能键:在开锁状态时,一个用于清除数字,一个用于激活电锁。

在上锁状态,一个用于清除,一个用于解除电锁。

四、实验内容及步骤1、编写4*4数字密码锁的VHDL代码。

2、用MaxPlusII对其进行编译仿真。

3、在仿真确定无误后,选择芯片ACEX1K EP1K30QC208。

4、给芯片进行管脚绑定,在此进行编译。

5、根据自己绑定的管脚,在实验箱上对键盘接口、显示接口和FPGA之间进行正确连线。

6、给目标板下载代码,在4×4键盘输入键值,观看实验结果。

五、程序代码及说明LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL ;USE IEEE.STD_LOGIC_UNSIGNED.ALL ;LIBRARY altera; ----这是利用库编译成的去拌电路。

智能密码锁实训报告总结

智能密码锁实训报告总结

一、实训背景随着社会的发展,人们对安全的需求越来越高。

传统的机械锁由于构造简单,容易受到撬锁、破坏等攻击,安全性能较低。

为了提高安全性能,智能密码锁应运而生。

本实训项目旨在通过学习智能密码锁的设计与实现,提高学生的实践能力,培养创新精神。

二、实训目的1. 了解智能密码锁的工作原理和组成;2. 掌握智能密码锁的硬件电路设计和软件编程;3. 学会使用智能密码锁进行实际应用;4. 培养学生的团队合作和创新能力。

三、实训内容1. 智能密码锁概述智能密码锁是一种集密码、指纹、刷卡等多种开锁方式于一体的安全门锁。

它具有以下特点:(1)安全性高:采用密码、指纹、刷卡等多种开锁方式,防止他人非法入侵;(2)方便快捷:用户可以通过手机、指纹、密码等方式快速开锁;(3)易于管理:可通过网络远程监控和管理门锁状态。

2. 智能密码锁硬件电路设计智能密码锁的硬件电路主要包括以下部分:(1)微控制器:负责控制整个门锁的运行,如STC89C52单片机;(2)显示屏:用于显示密码、指纹等信息,如LCD1602显示屏;(3)键盘:用于输入密码、指纹等信息,如矩阵键盘;(4)指纹识别模块:用于指纹识别,如指纹识别模块;(5)门锁驱动电路:用于控制门锁的开关,如继电器驱动电路。

3. 智能密码锁软件编程智能密码锁的软件编程主要包括以下部分:(1)主程序:负责整个门锁的运行,包括初始化、按键扫描、指纹识别、密码校验、门锁控制等;(2)子程序:负责实现具体功能,如按键扫描、指纹识别、密码校验、门锁控制等。

4. 智能密码锁实际应用本实训项目采用STC89C52单片机作为核心控制器,通过C语言进行编程。

具体实现过程如下:(1)初始化:设置单片机的工作模式、中断、定时器等;(2)按键扫描:扫描键盘按键,获取用户输入的密码或指纹信息;(3)指纹识别:通过指纹识别模块识别用户指纹,并与预设指纹进行比对;(4)密码校验:将用户输入的密码与预设密码进行比对;(5)门锁控制:根据比对结果,控制门锁的开关。

电子密码锁实习报告

电子密码锁实习报告

一、实习背景随着社会的发展,人们对安全性的要求越来越高。

传统的机械锁因其构造简单、易被撬开等问题,已无法满足现代生活的需求。

电子密码锁作为一种新型锁具,具有安全性高、操作方便等优点,逐渐成为人们生活中的重要组成部分。

为了提高自己的实际操作能力,我参加了电子密码锁的实习项目。

二、实习目的1. 了解电子密码锁的工作原理和设计方法。

2. 掌握电子密码锁的硬件电路和软件编程。

3. 提高自己的动手能力和团队协作能力。

三、实习内容1. 电子密码锁的硬件电路设计(1)选择合适的微控制器:本实习项目采用STM32微控制器作为核心处理单元,因其具有高性能、低功耗等特点。

(2)设计键盘输入电路:本电路采用4x4矩阵键盘,通过扫描键盘矩阵,实现密码输入。

(3)设计密码存储电路:采用EEPROM存储密码,具有断电保护功能。

(4)设计报警电路:当密码输入错误时,通过蜂鸣器发出报警信号。

(5)设计显示电路:采用LCD液晶显示屏,显示密码输入状态和错误次数。

2. 电子密码锁的软件编程(1)编写键盘扫描程序:通过扫描键盘矩阵,获取按键信息。

(2)编写密码存储程序:将输入的密码存储到EEPROM中。

(3)编写密码比对程序:将输入的密码与存储的密码进行比对,判断是否正确。

(4)编写显示程序:根据密码输入状态和错误次数,在LCD上显示相关信息。

(5)编写报警程序:当密码输入错误时,通过蜂鸣器发出报警信号。

3. 实验验证(1)搭建实验平台:将设计的硬件电路和软件程序进行集成,搭建实验平台。

(2)测试功能:对电子密码锁的各项功能进行测试,包括密码输入、密码存储、密码比对、报警、显示等。

(3)分析测试结果:根据测试结果,对电子密码锁的性能进行评估。

四、实习心得1. 通过本次实习,我对电子密码锁的工作原理和设计方法有了更深入的了解。

2. 在硬件电路设计过程中,我学会了如何选择合适的元器件,如何进行电路布局和布线。

3. 在软件编程过程中,我掌握了C语言编程技巧,提高了自己的编程能力。

电子密码锁报告

电子密码锁报告

电子密码锁报告
电子密码锁是近年来越来越普遍的安全保护设备。

它是用来代替传统锁具的电子装置,可以通过特定的密码或者指纹识别,来切换锁的开关状态。

因为电子密码锁不需要传统物理钥匙或者锁孔,它避免了一些传统锁具不安全或者容易失窃的弱点,也节省了我们带着一把或者多把钥匙的问题。

乍一看,电子密码锁似乎非常安全和方便。

然而实际上它也有一些可能存在的安全风险。

对于固定密码的电子密码锁,一旦密码被利用或暴露,锁就被破解。

在实际情况下,许多电子密码锁采取比较简单的密码,让人可以轻易猜测或者尝试。

因此,密码强度非常关键。

对于动态密码的电子密码锁,如果手机或者电子设备被安装了恶意软件,攻击者可以截获动态密码并模拟用户进行解锁。

因此,在使用动态密码的电子密码锁时,建议安装杀毒插件并且避免使用任何公共Wi-Fi。

指纹识别作为电子密码锁一种常见的识别方法,也存在一些风险。

指纹识别具有一定的误识别率,特别对于老人和小孩,因为指纹易受到伤痕和变化,可能会无法识别或者识别错误。

同时,一些攻击者也可以使用3D打印技术打印出受害者指纹,或采集指纹数据进行识别,来破解锁。

在购买电子密码锁的时候,需要注意一些品牌和产品的质量。

也建议大家多听取用户的反馈,或者寻找权威安全专家对于产品的评测和审查。

总体来说,电子密码锁相比传统的锁具有更多的优势和安全性。

然而,用户需要注意密码强度、网络安全和产品质量等方面。

当这些因素保证之后,电子密码锁可以更好的为我们的生活提供便利和安全。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

密码锁实验报告一,实验目的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引脚结构。

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

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

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

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

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

这是前期准备工作。

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

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

第四部分是软件画图部分:设计好电路后进行画图,包括电路图和仿真图的绘制。

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

第六部分是硬件实现部分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。

最后进行功能扩展,在已经正确的设计基础上,添加额外的功能!五,实验要求实现A.电路设计1. 整体设计此次设计主要是应用单片机来设计电子密码锁,硬件部分主要分以下电路模块:显示电路用8个共阴数码管显示输入的密码,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。

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

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

电路的总体设计框架如下:B.程序设计B. 程序总体设计本实验用汇编程序完成.结合电路图,程序设计的整体思路为:以下为在该工作方式下模式选择的按键方式,步骤如下:1.各模块(CPU,数码管,跑马灯,键盘)接好线2.第1到10个键代表0—9这十个数字3.进行密码的设置。

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

然后按下第十二个键(重置密码键),即完成了密码的设置(此时数码管是不会亮的)4.随意输入6个数,组成新“密码”,然后按下第10个键(确认键)。

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

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

若密码不正确,则红灯亮3秒,且在这三秒内按下任何数字键无效,按下一个数字键后,会重新计时红灯再亮三秒,三秒后,才能重新输入密码5.另外,第11个键是删除键,可进行数字的删除,重新输入B.2.3主程序主程序主要对按键进行扫描,以及判断定时和闹铃时间是否已到,若到则调用相关程序,该段程序如下:#include<reg52.h>#define uint unsigned int#define uchar unsigned charlong int shu=1,shu1,aa=0,password;uchar k=0,key=0,bz=0,dk=0,num2;uchar codetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0};long int num,temp,num1;void init();void display();void delay(uint z) //延时函数{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void keyscan();void main(){init();while(1){keyscan();display();}}void init() //初始化函数{num=17;P1=0xff;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=0;} //键盘扫描函数void keyscan(){P3=0xfe;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;k++;bz++;switch(temp){case 0xee:num=0;break;case 0xde:num=1;break;case 0xbe:num=2;break;case 0x7e:num=3;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xfd;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;k++;bz++;switch(temp){case 0xed:num=4;break;case 0xdd:num=5;break;case 0xbd:num=6;break;case 0x7d:num=7;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xfb;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;switch(temp){case 0xeb:num=8,k++,bz++;break;case 0xdb:num=9,k++,bz++;break;case 0xbb:num=10,num2=10;break;case 0x7b:num=11;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xf7;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;switch(temp){case 0xe7:num=12;break;case 0xd7:num=13;break;case 0xb7:num=14;break;case 0x77:num=15;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}if(key==0) //每输入一个数,执行一次{if(shu==k){dk=k;shu++;if(num<10) //只可以输入0--9num1=10*num1+num; //num1即为输入的密码的数值(由于程序的问题,密码的第一位不可以为零)}}if(num2==10) //确认键(接下来进行密码的对比){shu1=num1; //将输入数字赋给shu1if(shu1==password) //输入密码正确,执行下面语句{TR0=1; //开定时器if(aa<=20) //绿灯亮一秒P1=0x7f; //具体是不是绿灯亮需根据自己的跑马灯调整elseP1=0xff; //一秒后熄灭}else //密码输入错误,则执行下面语句{TR0=1; //开启定时器if(aa<=60){key=1; //禁止输入P1=0xfb; //红灯亮if(dk==k) //再次禁止输入{aa=0; //重新计时,红灯亮三秒TH0=(65536-50000)/256;TL0=(65536-50000)%256;dk=99; //使dk不等于k跳出此if语句}}elseP1=0xff; //大于3秒后,灯全灭key=0; //可以重新输入密码}}if(num==11) //删除键{num=20;bz--;num1=num1/10;num2=0;key=0;}if(num==13) //重设密码{password=num1;num1=0;num2=0;bz=0;}}void timer0() interrupt 1 //定时器{TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;}void display() //显示程序{if(bz==0) //没有输入时,数码管全熄灭{P0=0x00;P2=0xff;}if(bz==1) //输入一位时,一个数码管亮{P0=0xff;P2=0xfe;delay(5);}if(bz==2) //输入两位时,两个数码管亮{P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);}if(bz==3) //*********** {P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);}if(bz==4) //**************** {P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;delay(5);P0=0xff;P2=0xf7;delay(5);}if(bz==5){P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);P0=0xff;P2=0xef;delay(5);}if(bz==6)P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);P0=0xff;P2=0xef;delay(5);P0=0xff;P2=0xdf;delay(5); }if(bz==7){P0=0xff;P2=0xfe;delay(5);P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);P0=0xff;P2=0xef;delay(5);P0=0xff;P2=0xdf;delay(5);P0=0xff;P2=0xbf;delay(5); }if(bz==8) {P0=0xff;P2=0xfe;delay(5);P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);P0=0xff;P2=0xef;delay(5);P0=0xff;P2=0xdf;delay(5);P0=0xff;P2=0xbf;delay(5);P0=0xff;P2=0x7f;delay(5);}} C. 程序调试及仿真本程序通过Keil单片机开发平台实现程序的编译,链接,生成HEX文件。

相关文档
最新文档