单片机密码锁设计
单片机电子密码锁设计
![单片机电子密码锁设计](https://img.taocdn.com/s3/m/45d62dd2690203d8ce2f0066f5335a8102d266dd.png)
单片机电子密码锁设计一、设计背景随着科技的不断发展,传统的机械锁已经不能满足人们对于安全性和便捷性的需求。
电子密码锁具有保密性好、操作方便等优点,逐渐取代了传统机械锁。
单片机作为一种集成度高、功能强大的微控制器,为电子密码锁的设计提供了良好的硬件基础。
二、系统总体设计本电子密码锁系统主要由单片机控制模块、键盘输入模块、显示模块、存储模块和开锁控制模块等部分组成。
单片机控制模块是整个系统的核心,负责处理输入信息、控制各个模块的工作以及进行密码的验证和存储。
键盘输入模块用于用户输入密码,通常采用 4×4 矩阵键盘,可实现数字 0 9 以及确认、取消等功能按键的输入。
显示模块用于显示系统的相关信息,如输入的密码、提示信息等。
常见的显示方式有液晶显示屏(LCD)和数码管显示。
存储模块用于存储设置的密码,以便系统在断电后仍能保存密码信息。
EEPROM 存储器具有掉电不丢失数据的特点,适合用于密码存储。
开锁控制模块在密码验证通过后,控制电磁锁或电机等执行机构完成开锁动作。
三、硬件设计1、单片机选型选择一款合适的单片机是系统设计的关键。
常用的单片机有 51 系列、STM32 系列等。
51 系列单片机价格低廉、开发简单,适合本设计的需求。
2、键盘接口电路采用行列式扫描的方式实现 4×4 矩阵键盘的接口电路。
通过单片机的 I/O 口依次扫描行线和列线,判断按键的按下状态。
3、显示电路如果选择液晶显示屏(LCD),则需要通过单片机的并行接口或串行接口与 LCD 控制器进行通信,实现字符和图形的显示。
数码管显示则相对简单,通过单片机控制数码管的段选和位选信号即可。
4、存储电路EEPROM 存储器通过 I2C 总线与单片机连接,单片机通过发送特定的指令和数据来实现对 EEPROM 的读写操作。
5、开锁控制电路使用继电器或三极管驱动电磁锁或电机,单片机输出高电平或低电平来控制开锁电路的通断。
四、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机内部资源的初始化、显示模块的初始化、存储模块的初始化等。
单片机电子密码锁设计 -
![单片机电子密码锁设计 -](https://img.taocdn.com/s3/m/38203e0f90c69ec3d5bb75ad.png)
目录第一章引言 (1)1.1设计背景 (1)1.2课题设计目标 (1)第二章系统方案论证 (2)2.1 主控部分的选择 (2)2.2 密码输入方式的选择 (2)第三章系统总体设计及主要芯片介绍 (3)3.1 系统总体设计 (3)3.2 主要芯片介绍 (4)3.2.1 主控芯片STC12C5A60S2简介 (4)3.2.2 密码存储部分E2PROM (5)3.2.3 LCD1602显示器 (6)第四章单元电路设计 (8)4.1主控电路(CPU) (8)4.2 键盘输入模块 (8)4.3 密码存储 (9)4.4 复位部分 (9)4.5 晶振部分 (10)4.6 显示模块 (10)4.7 报警部分 (11)4.8 开锁部分 (12)第五章系统软件设计 (13)5.1系统主程序 (13)5.2 初始化及按键识别 (15)5.3 改密修改 (15)第六章系统调试与测试 (17)6.1 系统调试 (17)6.1.1密码输入: (17)6.1.2密码修改: (18)6. 2 系统调试过程中出现的错误及改正方法 (19)第七章元器件清单 (20)第八章总结 (21)参考文献 (22)附录 (23)个人总结........................................... 错误!未定义书签。
第一章引言1.1 设计背景随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。
而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。
传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。
另外,如:宾馆、办公大楼、仓库、保险柜等,由于装修施工等人住时也要把原有的锁胆更换,况且钥匙随身携带也诸多便。
随着单片机的问世,出现了带微处理器的密码锁,它除具有电子密码锁的功能外,还引入了智能化、科技化等功能。
从而使密码锁具有很高的安全性、可靠性。
51单片机四位密码锁课程设计
![51单片机四位密码锁课程设计](https://img.taocdn.com/s3/m/1714cbc7b8d528ea81c758f5f61fb7360b4c2bf3.png)
51单片机四位密码锁课程设计51单片机四位密码锁是一种常见的电子锁,它使用51单片机作为控制核心,通过输入四位密码来控制锁的开关。
本文将介绍关于51单片机四位密码锁的课程设计。
我们需要明确设计的目标和要求。
本设计的主要目标是实现一个四位密码锁系统,并且需要满足以下要求:1.能够输入四位数字密码。
2.密码输入正确时,能够解锁并输出解锁信号。
3.密码输入错误时,不能解锁。
4.能够重置密码。
接下来,我们将详细介绍设计的步骤和实现。
1.硬件设计:在硬件设计方面,我们需要准备以下器件:- 51单片机-数码管显示模块-按键模块-继电器模块-电源模块2.软件设计:在软件设计方面,我们需要编写51单片机的程序,通过编程实现密码锁的功能。
以下是设计的主要步骤:-初始化:设置输入输出引脚,并初始化时钟和数码管显示。
-输入密码:设计密码输入的函数,通过按键模块获取用户输入的密码。
-检验密码:设计密码检验的函数,将用户输入的密码与预设的密码进行比对。
-解锁信号:如果密码输入正确,输出解锁信号,通过继电器控制开关,实现解锁。
-密码错误:如果密码输入错误,通过数码管显示密码错误的提示信息。
-重置密码:设计密码重置的函数,将新设置的密码保存。
3.程序流程:根据以上设计的步骤,我们可以得到以下主要的程序流程:-初始化引脚和时钟。
-设置初始密码。
-进入主程序循环。
-接收用户输入的密码。
-检验密码是否正确。
-如果密码正确,显示解锁信号并控制继电器解锁。
-如果密码错误,显示密码错误信息。
-进入下一次循环。
4.调试和测试:完成程序编写后,我们需要进行调试和测试。
在测试过程中,我们需要输入正确和错误的密码进行验证,检查程序是否能够正常运行,并且能够正确判断和处理用户输入的情况。
5.优化改进:如果在测试中发现问题或不足之处,我们可以对程序进行优化和改进。
例如,可以增加密码输入的最大尝试次数,增加延时等待时间,增加密码保护等功能。
总结:通过对51单片机四位密码锁的课程设计,我们学习了如何使用51单片机编写程序,实现密码锁的功能。
单片机密码锁设计
![单片机密码锁设计](https://img.taocdn.com/s3/m/994fffa7f705cc17552709f3.png)
单片机密码锁设计工作过程1.按键设置6位密码,输入密码,通过单片机判断,若密码正确,通过则锁打开,显示open!2.首次使用时输入:131420,对密码进行初始化,当显示:initpassword,证明密码初始化完成,此时的密码为:000000。
设计思想(1)本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示*号。
(2)设计开锁密码位六位密码的电子密码锁。
(3)能够LCD显示在密码正确时显示open!,密码错误时显示ERROR,输入密码时显示initpassword。
(4)实现输入密码错误超过限定的三次电子密码锁定。
(5)4×4的矩阵键盘其中包括0-9的数字键和A-D的功能键(6)本产品具备报警功能,当输入密码错误时蜂鸣器响并且LED灯亮。
(7)密码可以由用户自己修改设定(只支持6位密码),修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作自锁开关说明自锁开关电路中起到电源的开关作用,常开的其中一脚接DC电源插口电源脚,常开的另一脚接电路的VCC自锁开关原理图自锁开关硬件图上拉电阻介绍其实排阻就是由8个电阻组成的,其中一端全部接在一起,103为8个10K电阻,102为8个1K电阻,他们在电路中起到“上拉”的作用,又称上拉电阻。
上拉就是将不确定的信号通过一个电阻嵌位在高电平,电阻同时起限流作用,下拉同理.上拉是对器件注入电流,下拉是输出电流,弱强只是上拉电阻的阻值不同,没有什么严格区分,对于非集电极(或漏极)开路输出型电路(如普通门电路)提升电流和电压的能力是有限的,上拉电阻的功能主要是为集电极开路输出型电路输出电流通道。
上拉,就是把电位拉高,比如拉到VCC下拉,就是把电压拉低,拉到GND一般就是刚上电的时候,端口电压不稳定,为了让他稳定为高或低,就会用到上拉或下拉电阻。
有些芯片内部集成了上拉电阻(如单片机的P1、2、3口),所以外部就不用上拉电阻了。
但是有一些开漏的(如单片机的P0口),外部必须加上拉电阻。
单片机指纹密码锁毕业设计
![单片机指纹密码锁毕业设计](https://img.taocdn.com/s3/m/fa619bd2541810a6f524ccbff121dd36a32dc4f9.png)
单片机指纹密码锁毕业设计1. 什么是单片机指纹密码锁单片机指纹密码锁是一种电子门锁系统,它使用集成在单片机芯片上的指纹识别技术和密码输入功能,实现对门锁的访问控制。
用户可以通过输入正确的密码或者将指纹与已注册的指纹进行比对来解锁门锁。
这种锁具有高安全性和方便性,适用于各种需要保护的场所,如家庭、办公室和商店等。
2. 单片机指纹密码锁的工作原理是什么单片机指纹密码锁的工作原理主要分为三个部分:指纹模块、密码输入模块和控制模块。
指纹模块负责采集和存储用户的指纹信息。
当用户将手指放在指纹传感器上时,指纹模块会对指纹进行扫描并提取关键特征信息。
然后,它会将提取的特征信息与已存储的指纹模板进行比对,以确定是否匹配。
如果匹配成功,指纹模块会发送信号给控制模块,表示门锁可以解锁。
密码输入模块负责接收用户输入的密码。
用户可以通过键盘或者其他输入设备输入密码。
密码输入模块将接收到的密码与事先存储的正确密码进行比对,如果匹配成功,则发送信号给控制模块。
控制模块是单片机芯片,它负责整个单片机指纹密码锁系统的逻辑控制。
当控制模块接收到指纹模块或者密码输入模块发送的解锁信号后,它会打开电磁锁或者其他解锁机制,让用户能够进入被保护的区域。
3. 单片机指纹密码锁的优点是什么单片机指纹密码锁具有以下几个优点:首先,安全性高。
通过指纹识别技术,单片机指纹密码锁可以准确地识别用户的指纹,大大降低了被非法进入的风险。
同时,密码输入模块也可以提供备用的解锁方式,增加了安全性。
其次,方便性高。
用户只需要将手指放在指纹传感器上或者输入正确的密码,即可快速解锁门锁。
相比传统的钥匙锁,单片机指纹密码锁更加方便快捷。
另外,可靠性强。
单片机指纹密码锁采用先进的技术和稳定的电子元件,具有较高的可靠性和耐用性。
它可以抵御一些常见的攻击手段,如暴力破解密码等。
最后,可扩展性好。
单片机指纹密码锁可以通过与其他安全系统集成,如门禁系统或监控系统,提供更全面的安全保障。
单片机课程设计密码锁设计
![单片机课程设计密码锁设计](https://img.taocdn.com/s3/m/5912e34953d380eb6294dd88d0d233d4b14e3f85.png)
单片机课程设计密码锁设计在当今社会,安全问题越来越受到人们的重视,密码锁作为一种常见的安全防护设备,在保护个人财产和隐私方面发挥着重要作用。
本次单片机课程设计的任务就是设计一款基于单片机的密码锁。
一、设计要求本次设计的密码锁需要具备以下功能: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 初始化等。
单片机密码锁设计(汇编语言 )带原理图电路图(带注释)
![单片机密码锁设计(汇编语言 )带原理图电路图(带注释)](https://img.taocdn.com/s3/m/80e32302866fb84ae45c8da9.png)
电子密码锁功能描述:适合毕业设计,基于51内核开发版的电子密码锁主控板,可以掉电存储,修改密码,密码错误3次报警且锁定键盘,有门铃功能等等在p2^0口接一个低电平驱动继电器(淘宝价5元左右),继电器接一个电控锁(淘宝价格18元左右)最后的连接不清楚或者过程中不懂的我们会全程帮助***************部分源代码/*模块名称:主函数*//*模块功能:程序入口*///************************************************************ ************************************************************* ***********void main(void)//主函数{//AT24C04_WritePage(); //密码初始化(只需使用一次写入初始密码)System_init(); //系统初始化while(1){if(keyboard==0) //如果密码错误三次则锁定键盘{KeyDown(); //按键检测}keysend(); //数据传递lcdxianshi(); //输入显示sure(); //密码认证condition_delete(); //按键清除new_password(); //密码修改Add_Function(); //附功能函数}}附件内容包括:整个电路设计原理图和PCB源文件,用A D软件打开;C语言源程序(有详细的中文注释);proteus电路仿真;。
单片机电子密码锁设计方案
![单片机电子密码锁设计方案](https://img.taocdn.com/s3/m/6d5d3a660975f46526d3e156.png)
3.7 报警电路
报警部分由瓷压电发声装置及外围电路组成,加电后不发声,当有键按下时,“叮”声,每按一下,发声一次,密码正确时,不发声直接开锁,当密码输入错误时,单片机的P2.1引脚为低电平,三极管T3导喇叭发出噪鸣声报警。见图3-7。
图3-7 报警电路原理图
3.8 开锁电路
通过单片机开锁执行机构,电路驱动电磁锁吸合,从而达到开锁的目的。其原理见图3-8。
2.2 方案论证
方案一:采用的数字电路虽然原理简单,但是组建时电路复杂,系统成本高,体积大,功耗大且扩展性能不强。
方案二:采用单片机为核心控制,实现起来也较为容易,体积小,耗能低。同时单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级。
2.3 方案选择
电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。
密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。
2.1.2 方案二
本方案采用一种是用以80C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图2-2所示。
如图4-3为密码设置流程图,开始按下设置键,输入旧密码,如果错误累计三次,进行报警程序。如果输入正确,可以修改密码,确认后再次输入新密码,如果两次输入一样,则输入成功。如果两次输入的新密码不一样,则修改密码失败,重新返回设置新密码。
图4-3 密码设置流程图
4.4 开锁软件设计
如图4-4开锁流程图,开始时按开锁键,输入密码,如果输入正确,则开锁成功。如果输入错误累计达到三次,则执行报警程序。
单片机密码锁设计带原理图电路图
![单片机密码锁设计带原理图电路图](https://img.taocdn.com/s3/m/47c35966ec3a87c24128c4b7.png)
单片机密码锁设计(汇编语言-)带原理图电路图-2016(总14页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--单片机密码锁设计(汇编语言)带原理图电路图什么是密码锁电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
硬件设计基于AT89C51为核心的单片机控制的电子密码锁设计。
本设计能完成开锁,修改密码,密码错误报警,LCD显示密码等基本的密码锁功能。
设计的电路框如图1。
电路的功能单元设计1.单片机AT89C51组成基本框图单片机引脚介绍P0:P0口是一个漏极开路的8位双向I/O口。
在访问片外存储器时P0分时提供低8位地址线和8位双向数据线。
当不接片外存储器或不扩展I/O口时,P0可作为一个通用输入/输出口。
P0口作输入口使用时,应先向口锁存器写“1”,P0口作输出口时,需接上拉电阻。
P1:P1口是一个内部提供上拉电阻的8位双向I/O口,因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”。
P2:P2口也是一个内部提供上拉电阻的8位双向I/O口,在访问片外存储器时,输出高8位地址。
P3:P3口除了一般的准双向通用I/O口外,还有第二功能。
VCC:+5V电源VSS:接地 ALE:地址锁存器控制信号。
在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。
此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。
/PSEN:外部程序存储器读选通信号。
在读外部ROM时,/PSEN有效(低电平),以实现外部ROM单元的读操作。
/EA:访问程序存储控制信号。
当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器;当/EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。
51单片机设计电子锁密码锁含代码
![51单片机设计电子锁密码锁含代码](https://img.taocdn.com/s3/m/04b0d210650e52ea551898fb.png)
电子锁设计报告一,实验目的1. 学习8051定时器时间计时处理,键盘扫描及LED数码管显示的设计方法。
2. 设计任务及要求利用实验平台上8个LED数码管,设计带有报警功能的可掉电保存的电子密码锁。
3.通过本次实验,加强对所学知识的理解,增强编程能力及实践能力。
二,实验要求A.基本要求:1:用4×4矩阵键盘组成0-9数字键及确认键和删除键。
2:可以自行设定或删除8位密码,能够掉电保存。
3:用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。
4:自由发挥其他功能.5:要求有单片机硬件系统框图,电路原理图,软件流程图B.拓展部分:无三,实验基本原理单片机密码锁是集计算机技术、电子技术、数字密码技术为一体的机电一体化高科技产品,具有安全性高,使用方便等优点。
本系统考虑到单片机密码锁成本及体积因素,在设计单片机密码锁部分时,以AT89S52单片机为核心,24C04、LED等构成外围电路。
本系统单片机密码锁硬件部分结构简单、成本低,软件部分使用电子加密提高锁的安全性,具有比较好的市场前景。
同时,由于本电子密码锁可以实现掉电保存,而且可以自行设计或者删除8位密码,所以具有较高的实用价值。
本密码锁采用5位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用绿色led 发光二极管亮一秒钟做为提示,若密码不正确,禁止按键输入3秒,同时用红色led 发光二极管亮三秒钟做为提示;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。
此项功能方便用户使用。
单片机应用之密码锁设计介绍课件
![单片机应用之密码锁设计介绍课件](https://img.taocdn.com/s3/m/2650d15edcccda38376baf1ffc4ffe473368fde3.png)
密码锁在公共 安全领域的应 用可以有效提 高安全水平, 降低安全风险。
密码锁的发展趋势
智能化趋势
密码锁将更加智能化,
01
具备更多的功能,如指
纹识别、面部识别等。
密码锁将更加安全,采
02 用更高级的加密算法,
防止黑客攻击。
密码锁将更加便捷,支
03
持远程控制、手机APP
管理等功能。
密码锁将更加节能,采
单片机应用之密码锁 设计介绍课件
演讲人
目录
01. 密码锁设计原理 02. 密码锁的设计步骤 03. 密码锁的应用场景 04. 密码锁的发展趋势
密码锁设计原理
密码锁的工作原理
01
密码输入:用 户输入密码, 密码锁接收并 处理密码信息
02
密码验证:密码 锁将输入的密码 与存储的密码进 行比对,验证密 码是否正确
02
显示模块:设计显 示密码和提示信息 的电路,如LED、 LCD等
03
06
通信模块:设计通 信电路,如USB、 串口等,用于与计 算机通信和调试
05
电源模块:设计电 源电路,为整个系 统提供稳定的电源
04
控制模块:设计控 制密码锁开锁和解 锁的电路,如继电 器、电机驱动等
软件编写与调试
01 编写密码锁程序:根据
密码锁的应用场景
家庭安全
保护家庭财产:防止盗窃、抢 劫等犯罪行为
保护家庭成员:防止儿童、老 人等家庭成员受到意外伤害
保护隐私:防止个人信息泄露, 保护个人隐私
提高生活质量:提供便捷、安 全的家庭环境,提高生活质量Fra bibliotek企业安全
保护企业机密信 息:防止商业机 密泄露
保护企业知识产 权:防止知识产 权被侵犯
单片机密码锁课程设计
![单片机密码锁课程设计](https://img.taocdn.com/s3/m/f7d1b732a55177232f60ddccda38376bae1fe007.png)
单片机密码锁课程设计一、课程目标知识目标:1. 学生能够理解单片机的基本原理,掌握密码锁设计的硬件组成和工作原理。
2. 学生能够运用C语言编写简单的程序,实现密码锁的功能。
3. 学生了解密码锁的安全性,掌握基本的安全防护措施。
技能目标:1. 学生能够独立完成单片机密码锁的硬件连接,具备实际操作能力。
2. 学生能够运用所学知识,编写和调试程序,实现密码锁的开锁和关锁功能。
3. 学生能够通过小组合作,分析问题,解决问题,提高团队协作能力。
情感态度价值观目标:1. 学生培养对单片机及电子制作的兴趣,激发创新精神。
2. 学生树立安全意识,认识到技术在实际应用中的重要性。
3. 学生在团队协作中,学会尊重他人,提高沟通表达能力。
课程性质:本课程为实践性课程,结合理论知识,培养学生的动手操作能力和实际应用能力。
学生特点:学生处于初中阶段,对新鲜事物充满好奇,具备一定的逻辑思维能力,但实践经验不足。
教学要求:教师需注重理论与实践相结合,引导学生主动探究,关注学生的个体差异,提高学生的实践操作能力。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
1. 理论知识:- 单片机原理与结构:介绍单片机的基本组成、工作原理及功能。
- C语言基础:讲解C语言的基本语法、数据类型、运算符、控制结构等。
- 密码锁原理:分析密码锁的硬件组成、工作原理及安全性。
2. 实践操作:- 硬件连接:指导学生完成单片机、键盘、显示模块等硬件的连接。
- 程序编写:教授学生编写密码锁程序,实现开锁、关锁等功能。
- 调试与优化:引导学生分析程序运行过程中出现的问题,并进行调试和优化。
3. 教学大纲:- 第一周:单片机原理与结构学习,C语言基础学习。
- 第二周:密码锁原理学习,讨论密码锁的安全性。
- 第三周:硬件连接,小组合作进行程序编写。
- 第四周:程序调试与优化,总结与反思。
4. 教材章节:- 单片机原理与结构:教材第1章。
- C语言基础:教材第2章。
单片机6位密码锁利用课程设计
![单片机6位密码锁利用课程设计](https://img.taocdn.com/s3/m/cd44304f773231126edb6f1aff00bed5b9f37380.png)
一、概述在当今信息化时代,密码锁已成为人们生活中常见的安全防护设备。
传统机械密码锁随着科技的发展逐渐被电子密码锁所取代,而单片机密码锁作为一种新型密码锁产品,在市场上也逐渐受到了人们的关注。
二、单片机密码锁的基本原理1. 密码输入模块单片机密码锁的核心部件之一是密码输入模块,其作用是接收用户输入的密码。
密码输入模块一般包括数字按钮和确认按钮,用户通过按压数字按钮输入密码,再按下确认按钮确认密码。
2. 单片机控制模块单片机控制模块是密码锁的控制中枢,负责接收密码输入模块的信号,进行密码验证和控制开关锁操作。
单片机控制模块的设计与开发是密码锁制作中的关键环节。
3. 电子锁控制模块电子锁控制模块是单片机密码锁的另一个重要部件,它根据单片机控制模块的指令来控制锁的开合,保障密码锁的安全可靠性。
三、单片机密码锁的设计与制作步骤1. 准备材料与工具制作单片机密码锁首先需要准备好所需的电子元件和工具,包括单片机、数字按钮、确认按钮、电子锁等。
2. 确定系统框图与电路设计在确定材料与工具后,需要进行系统框图的设计和电路的布线,确保各个部件之间的连接合理、稳定。
3. 编写程序编写密码锁的控制程序是密码锁制作中不可或缺的一环,程序的编写需要保证密码的输入、验证和锁的开合操作都能正常进行。
4. 硬件搭建硬件搭建是密码锁制作的最后一步,包括电路的焊接、连接和整体外壳的安装等工作。
四、单片机密码锁的实现效果与测试单片机密码锁制作完成后,需要进行实际的效果与功能测试,确保密码锁的各项功能都能正常运行并且安全可靠。
五、单片机密码锁的应用前景与发展趋势单片机密码锁具有设计简单、可靠性高、安全性好等优点,未来在家庭、企业等领域的应用前景广阔。
随着科技的不断进步,单片机密码锁在功能上将会不断完善,应用范围也将会进一步扩大。
六、结论单片机6位密码锁的设计与制作是一项挑战性的课程设计项目,通过该项目的设计与制作,学生不仅能够加深对单片机原理及应用的理解,还可以提高动手能力和创新能力。
基于单片机的电子密码锁设计
![基于单片机的电子密码锁设计](https://img.taocdn.com/s3/m/6e8efd8cc0c708a1284ac850ad02de80d5d80615.png)
基于单片机的电子密码锁设计一、电子密码锁的工作原理电子密码锁主要由输入模块、控制模块、存储模块和执行模块组成。
用户通过输入模块(如键盘)输入密码,控制模块(单片机)对输入的密码进行处理和判断,并与存储模块中预先设定的密码进行比对。
如果输入密码正确,控制模块将向执行模块发送开锁指令,实现开锁;如果输入密码错误,则执行相应的错误处理操作,如报警、锁定等。
二、硬件设计(一)单片机的选择在本设计中,选用了_____型号的单片机。
该单片机具有性能稳定、功耗低、接口丰富等优点,能够满足电子密码锁的控制需求。
(二)输入模块输入模块采用了矩阵键盘,通过行列扫描的方式获取用户输入的密码。
矩阵键盘具有按键数量多、占用端口少的特点,能够有效节省单片机的资源。
(三)存储模块为了存储预设的密码,选用了_____型号的EEPROM芯片。
EEPROM具有掉电不丢失数据的特性,能够保证密码的安全性和可靠性。
(四)显示模块为了给用户提供反馈信息,使用了_____型号的液晶显示屏。
可以显示开锁状态、输入错误提示等信息。
(五)执行模块执行模块包括电磁锁和报警装置。
当输入密码正确时,单片机控制电磁锁打开;当输入密码错误次数超过设定值时,启动报警装置。
三、软件设计(一)主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、EEPROM读取预设密码等。
然后进入密码输入等待状态,当检测到有按键输入时,进行密码处理和判断,并根据判断结果执行相应的操作。
(二)密码输入处理在密码输入过程中,对输入的按键进行去抖处理,防止误判。
同时,对输入的密码进行加密处理,提高密码的安全性。
(三)密码比对将输入的密码与存储在EEPROM中的预设密码进行比对。
比对过程中,采用逐位比较的方式,确保密码的准确性。
(四)错误处理当输入密码错误时,记录错误次数。
如果错误次数超过设定值,则启动报警装置,并锁定键盘一段时间,防止暴力破解。
四、系统调试与测试(一)硬件调试首先检查电路连接是否正确,有无短路、断路等情况。
基于单片机的数字密码锁毕业设计
![基于单片机的数字密码锁毕业设计](https://img.taocdn.com/s3/m/0678f127dcccda38376baf1ffc4ffe473368fdf2.png)
基于单片机的数字密码锁毕业设计简介本文档介绍了基于单片机的数字密码锁的毕业设计。
数字密码锁是一种常见的电子锁,由一组数字按钮和控制电路组成,用户可以使用预设的数字密码来解锁。
本毕业设计通过使用单片机控制电路,实现了一个简单而可靠的数字密码锁系统。
设计目标本毕业设计的目标是设计并实现一个基于单片机的数字密码锁系统,具体要求如下:1.可以设置和修改数字密码。
2.包含输入数字密码、解锁成功和解锁失败等状态指示。
3.具备密码保护功能,连续3次错误输入将触发报警。
4.低功耗设计,使用电池供电。
系统组成基于单片机的数字密码锁系统由以下几个主要部分组成:1.单片机控制电路:负责控制整个系统的工作。
2.数字按钮组:用于输入密码。
3.显示屏:用于显示状态指示和密码输入。
4.报警器:在密码错误次数达到一定次数后触发警报。
下面将逐一介绍这几个部分的原理和设计。
单片机控制电路本设计中选择了常用的ATmega328P单片机作为控制核心。
ATmega328P是一款功能强大的8位微控制器,具备多个GPIO引脚、I2C接口和EEPROM存储器,适合应用在本数字密码锁系统中。
控制电路主要负责以下几个任务:1.按钮输入检测:通过GPIO引脚读取用户输入的密码。
2.软件逻辑控制:根据用户的输入和预设密码,判断是否解锁成功。
3.状态指示:通过GPIO引脚控制显示屏上的状态指示灯。
数字按钮组数字按钮组由多个数字按钮组成,每个按钮分别对应数字0-9。
用户通过按下不同的按钮来输入密码。
按钮组的原理比较简单,每个按钮与GPIO引脚相连,按下按钮时,相应的GPIO引脚会变为低电平。
显示屏显示屏用于显示数字密码的输入状态和解锁结果。
对于本设计,可以选择使用数码管或者液晶显示屏。
数码管相对简单,通过GPIO引脚控制不同段来显示数字或字符。
而液晶显示屏则需要驱动芯片来实现显示。
报警器报警器用于报警功能。
在用户连续3次输入错误密码后,控制电路会触发报警器,发出声音或者闪烁指示灯来提示用户。
基于单片机的指纹密码锁系统设计
![基于单片机的指纹密码锁系统设计](https://img.taocdn.com/s3/m/0e798fa6afaad1f34693daef5ef7ba0d4a736da2.png)
参考内容
基于单片机的指纹密码锁是一种集成了生物识别技术和嵌入式系统技术的安 全装置。它通过采集并比对指纹信息来决定是否授予访问权限。这种密码锁具有 很高的安全性和便捷性,因此在家庭、办公场所、工业等领域得到了广泛应用。
指纹密码锁的发展可以追溯到20世纪90年代,当时人们开始研究生物识别技 术在安全领域的应用。随着科技的发展和人们安全意识的提高,指纹密码锁逐渐 普及。现在,指纹密码锁已经成为市场上的主流产品,需求量不断增长。
指纹密码锁是一种利用指纹识别技术来控制锁的开启与关闭的设备。它通过 采集用户的指纹信息并存储在芯片中,在开锁时进行比对,以判断是否为合法用 户。单片机作为控制核心,负责处理指纹信息、控制开关门等操作。
设计指纹密码锁的主要步骤包括硬件设计和软件设计。硬件设计主要包括指 纹采集模块、控制开关和报警模块等的设计。软件设计主要涉及指纹信息的采集、 存储和比对等操作。具体步骤如下:
1、选取合适的单片机作为控制核心,例如STM32系列单片机。
2、安装指纹采集模块,并连接单片机。该模块可采用光学或电容式指纹识 别技术。
3、设计控制开关,连接单片机,实现通过单片机的控制进行开关门操作。 4、添加报警模块,如遇到非法入侵,通过单片机控制触发报警系统。
5、在单片机中编写控制程序,实现指纹信息的采集、存储和比对等功能。
总之,基于单片机的指纹密码锁是一种非常实用的安全装置,具有很高的安 全性和便捷性。随着科技的不断进步和应用场景的不断扩展,我们有理由相信它 将成为未来安全领域的重要发展方向。
参考内容二
在当今社会,随着科技的不断发展,人们对于自身财产的安全性越来越重视。 其中,门锁作为保护家庭或重要场所的第一道防线,历来受到广泛。传统门锁存 在被钥匙遗忘、复制钥匙等风险,因此,指纹密码锁作为一种新兴的安全防护设 备,逐渐进入人们的视野。本次演示将介绍一种基于单片机的指纹密码锁的设计。
基于单片机AT89S52单片机的密码锁设计
![基于单片机AT89S52单片机的密码锁设计](https://img.taocdn.com/s3/m/68d1b7aff80f76c66137ee06eff9aef8941e4831.png)
基于单片机AT89S52单片机的密码锁设计一、系统总体设计方案本密码锁系统主要由 AT89S52 单片机、矩阵键盘、液晶显示屏(LCD)、存储芯片、报警模块和开锁电路等组成。
用户通过矩阵键盘输入密码,单片机对输入的密码进行处理和判断,并将结果显示在LCD 屏上。
如果输入的密码正确,单片机控制开锁电路打开锁具;如果密码错误,系统会发出报警信号,并记录错误次数。
当错误次数超过设定值时,系统将锁定一段时间,以防止非法入侵。
二、硬件设计1、单片机最小系统AT89S52 单片机是整个系统的核心,它负责控制和协调各个模块的工作。
单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,复位电路用于系统的初始化和异常情况下的复位操作。
2、矩阵键盘矩阵键盘用于输入密码,采用 4×4 的矩阵式键盘布局,共 16 个按键,分别代表数字 0-9、确认键和删除键等。
通过扫描键盘的行和列,可以确定用户按下的按键值,并将其传输给单片机进行处理。
3、液晶显示屏(LCD)LCD 显示屏用于显示系统的工作状态和提示信息,如输入密码、密码正确、密码错误等。
本系统选用 1602 液晶显示屏,它具有体积小、功耗低、显示内容丰富等优点。
4、存储芯片存储芯片用于存储密码信息,选用 EEPROM 芯片 AT24C02。
EEPROM 具有掉电不丢失数据的特点,可以保证密码信息的安全性和可靠性。
5、报警模块报警模块由蜂鸣器和发光二极管组成,当密码输入错误次数超过设定值时,蜂鸣器发出报警声音,发光二极管闪烁,以提醒用户和起到威慑作用。
6、开锁电路开锁电路由继电器和电磁锁组成,当单片机判断输入的密码正确时,输出控制信号使继电器闭合,从而接通电磁锁的电源,打开锁具。
三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机端口初始化、LCD 初始化、存储芯片初始化等。
然后进入密码输入等待状态,当用户按下按键时,读取按键值并进行相应的处理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 引言设计目的随着电子技术的发展,各类电子产品应运而生,电子密码锁就是其中之一。
电子密码锁就是通过键盘输入一组密码完成开锁过程。
研究这种锁的初衷,就是为提高锁的安全性。
目前,国内自行研制开发的电子锁,应用还不广泛。
国内的不少企业也引进了世界上先进的技术,发展前景非常可观。
希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。
设计要求本次课程设计要求使我们能够掌握并且实际运用课本知识。
通过利用所学的电子技术知识正确分析并设计电路, 将适当电路运用到实际电路中, 将课本知识转化为实际能力。
设计方法(1)系能够从键盘中输入密码,并相应地在显示器上显示, *;能够判断密码是否正确,正确则开锁,错误则输出相应信息。
(2)密码由程序直接设定,不可用户自己设定。
(3)具有自动报警功能。
密码不正确,相应红灯亮,蜂鸣器发出报警声来提示。
(4)具有手动复位功能。
2 设计方案及原理系统总体设计根据以上分析,本次电子密码锁设计的主要重点是以下几个部分:4x3 矩阵键盘设计、LCD 信息显示和密码的比较和处理。
当然,除了这几个部分外还有报警等功能模块。
其中矩阵键盘用于输入数字密码和进行各种功能的实现。
由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路是报警。
系统整体框图如图 1 所示。
本设计硬件资源分配~用于LCD 液晶显示作用。
、用于蜂鸣器和报警灯的控制。
用于开锁电路的控制。
~用于键盘电路的控制。
~用于LCD 显示模块的控制端口的控制。
3 硬件设计芯片选择本次设计采用AT89C51 贴片芯片,AT89C51是一个低电压,高性能CMOS 8 位单片机,通过用Keil 软件编写程序,然后装到单片机里面去,然后让它对整个系统进行信息的处理,如可以让它处理矩阵键盘传过来的信息,并根据编好的程序来确定哪个按键按下,并处理相应按键对应的功能,然后把相应的信息反应到单片机的各个引脚,来实现按键实现的现象,如:显示是否开启锁,报警等。
AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器128 字节内部RAM,32 个I/O 口线两个16 位定时/计数器,一个5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51 可降至0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU 的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89C51 的引脚图如图2 所示。
单片机最小系统设计单片机最小系统就是指能使单片机工作的最少的器件构成的系统。
因为单片机已经包含了数据存储器和程序存储器,所以只要在其外部加上时钟电路和复位电路就可以构成单片机最小系统。
(1)单片机工作需要晶振给CPU提供频率,时钟电路就是给单片机提供晶振频率的电路。
图 3 是时钟电路的PROTEUS 仿真图。
单片机允许的振荡晶体可在~24MHz之间选择,一般为,电容C2,C3的取值对振荡频率输出的稳定性、大小及振荡电路起振速度有一定的影响,可在20~100pF之间选择,典型值位30pF(2)计算机每次开始工作,CPU和系统中的其他部件都必须要有一个确定的初值,即复位状态。
图4是单片机复位电路仿真图。
单片机RST引脚是高电平有效。
单片机在上电瞬间C1充电,RST引脚端出现正脉冲,只要RST断保持两个机械周期(大约10ms)以上的高电平,单片机就能复位。
在单片机工作后,如果还想再次复位,只需按下开关,单片机就能重新变成复位状态。
当晶体振荡频率为12MHz时,RC的典型值为C=10μF,R=Ω。
矩阵键盘设计一组键或者一个键盘,需要通过接口电路和CPU相连接,CPU可以采用查询接口或者中断的方式了解有没有键被按下,并检查是哪个键被按下。
无论是查询方式还是中断方式都要用到单片机的I/O口。
由于单片机I/O口较少的原因,当系统中需要用到较多按键时,为了能够更合理更有效地利用单片机的I/O口,一般采用矩阵键盘的方式来实现多按键的功能。
图 5 是4x3 矩阵键盘在PROTEUS 中的电路原理仿真图。
矩阵键盘又叫做行列式键盘。
行列式键盘的硬件结构比较简单,由行输出口和列输出口构成行列式键盘,按键设置在行、列交点上。
只有当键被按下时相应的行和列才能相连。
如此,只要检测行和列是否相连就可以知道是否有键按下。
由于按键设置在行、列线交点上,行、列分别连接到按键开关的两端,平时无键按下时,行线处于高电平,假设列线为低电平,当有键按下时,按下的键就会将相应的行和列连通,使得对应的行线被列线拉低,也变为低电平。
这就是识别矩阵键盘是否有键被按下的关键。
当确定有键被按下时,通过逐行扫描,读出I/O口的值可以知道哪一行的值被改变了,被改变了的行即是被按下的按键所在行。
同时,由于每个键都有它的行值和列值,行值和列值得组合就是这个按键的编码,当算法一定时,每个按键的编码是固定的,且各个按键的编码互不相同,所有通过读I/O的值还能具体知道是哪一个键被按下,这样就实现了键盘的识别。
LCD显示模块设计LCD1602是一种字符型液晶显示器,是一种专门用于显示字母、数字、符号等的点阵式液晶显示器。
LCD1602的显示容量为16x2个字符(可以显示2行,每行显示16个字符),芯片工作电压为~,工作电流为(),模块最佳工作电压是。
LCD1602具有16个引脚。
在LCD1602的有关设计中,主要是通过编写程序控制LCD1602的4、5、6引脚来实现数据或者指令的写入和执行,再通过数据或者指令的写入和执行来进一步实现LCD1602的显示功能。
查资料了解在仿真库中用lm016l代替LCD602图6是PROTEUS 中显示模块的仿真图。
由于LCD要正常工作必须提供足够的电流,因此在实际应用为了保证显示器能够正常工作,应在数据端口接一上拉电阻,不过此次仿真就没有另外加上拉电阻。
报警模块、开锁模块以及表示模块开锁模块用继电器带一个LED管代替电磁锁。
电路如图7所示;报警模块用蜂鸣器表示,电路如图8所示;表示模块用发光二极管表示开锁与否。
硬件连接图根据电路原理,在PROTEUS中画出各功能模块的仿真图,各个功能模块验证正确后,将所有模块集合到一个电路设计图中,画出具有所有功能的总体硬件仿真图。
在设计过程中,采用单片机AT89C51作为主控芯片,结合键盘输入、显示电路、报警电路、开锁电路、时钟电路、晶振电路,利用合理的连线接成硬件连接图,在Proteus软件平台上选中合适的AT89C51芯片,LCD显示器,键盘,以及其它电子元件,接成电路。
设计原理系统工作时,用户通过按键输入 6 位密码,单片机将输入密码与设定密码进行比较,若密码正确,则相应绿灯闪烁,同时发出开锁信号,将门打开,系统不报警;若密码不正确,则相应的红灯亮闪烁,同时蜂鸣器发出报警声音。
4 软件设计程序设计C 语言编程,源程序清单如附录1 所示。
程序流程图流程图如图4。
5 系统仿真及实际调试仿真图仿真结果密码正确,LCD 显示器显示“open”,绿灯亮。
仿真图如附录 2 所示。
问题分析电源、晶振电路和复位电路都无异常,LCD 显示时出现问题:(1)刚开始蜂鸣器声音太小几乎听不清楚,后来加了一个三极管放大后声音变大。
(2)接通电源开门灯和报警电路就会工作,分析原因是单片机刚开始各个管脚输出低电平。
(3)开锁电路完成后继电器不吸起,后来经过调试加三极管等等方法后实现了继电器吸起LED 灯亮。
6 总结本次设计,采用单片机AT89C51 作为主控芯片,结合外围的键盘输入、显示、报警、开锁等电路,用 C 语言编写主控芯片的控制程序,设计了一款具有报警功能的电子密码锁。
对于本次单片机课程设计,我觉得十分有意义且很有必要。
课堂上,我们大多数接触的仅仅是专业课的理论知识,如何去锻炼我们的实践能力如何把我们所学的专业基础课理论知识运用到实践中去呢像此次课程设计就为我们提供了良好的实践平台。
过程中我发现了很多问题,看似很简单的电路,要动手把它给设计出来,是很难的一件事,主要原因是我没有经常动手设计过电路,还有资料的查找也是一大难题,这就要求我在以后的学习中,应该注意到这一点,更重要的是我要学会把从书本中学到的知识和实际的电路联系起来,这不论是对我以后就业还是学习,都会起到很大的促进和帮助,我相信,通过这次的毕业设计,在以后的学习中我会更加努力,力争把这门课学好,学精。
同时,通过本次毕业设计,巩固了我学习过的专业知识,也使我们把理论与实践从真正意义。
另外,通过这两周对电子密码锁的研究和学习,我认为本次设计中使用的这种键盘输入密码的方式可以进行改革。
在越来越高科技化的今天,遥控控制显的愈发重要,今后的电子密码锁应该具有以红外技术或无线电技术为辅助的密码按键输入远程交互技术,这样就能远程输入密码完成操作。
也可以放弃传统的按键输入密码模式,借助传感器技术运用声控来实现密码输入,又或者使用人脸识别技术,或者用户指纹识别技术代替传统的按键输入,这些都可以使开锁的时间更短更方便,同时使锁更安全。
最后也感谢指导老师这两周对我课设中存在的问题进行详细的解答与帮助。
参考文献[1] 谢自美.电子线路设计实验测试[M]. 武汉:华中理工大学出版社,1992.[2] 刘湘涛.江世明.单片机原理与应用[M]. 北京:电子工业出版社,2006.[3] 李光才.单片机课程设计实例指导[M]. 北京:北京航空航天大学出版社,2004.[4] 王思明等编著.单片机原理及应用系统设计.北京:科学出版社,2012.附录 1 源程序#include<>#include<>#define uchar unsigned charsbit rs=P1^0; //寄存器选择位将rs 定义为的引脚sbit rw=P1^1; //读写选择位将rw定义为的引脚sbit en=P1^2; //使能信号位将en定义为的引脚sbit ledg=P2^0;sbit ledr=P2^1;sbit relay=P1^4;sbit buzz=P1^5;char table0[]="error";char table1[]="open";char table2[]="password:"; //inttemp,ch,m0,m1,p,n0,n1,n2,n3,n4,n5;void delay(int z){int x,c;for(x=z;x>0;x--) for(c=100;c>0;c--); }keyscan(){temp=P1&0xf0; P1=0xfe;delay(1);temp=P1&0xf0; while(temp!=0xf0) { switch(temp) {case 0xe0:ch='7'; break;case 0xd0:ch='8'; break;case 0xb0:ch='9'; break;default:ch=p; break;}while(temp!=0xf0) {temp=P1;temp=temp&0xf0; }}P1=0xfd;delay(1);temp=P1&0xf0; while(temp!=0xf0) {switch(temp) {case 0xe0:ch='4'; break;case 0xd0:ch='5'; break;case 0xb0:ch='6'; break;default:ch=p; break;}while(temp!=0xf0){ temp=P1;temp=temp&0xf0;}}P1=0xfb;delay(1);temp=P1&0xf0;while(temp!=0xf0){switch(temp){case 0xe0:ch='1';break;case 0xd0:ch='2';break;case 0xb0:ch='3';break;default:ch=p;break;}while(temp!=0xf0){temp=P1;temp=temp&0xf0;}}P1=0xf7;delay(1);temp=P1&0xf0;while(temp!=0xf0){switch(temp){case 0xe0:ch='A';break; case 0xd0:ch='0';break; case 0xb0:ch='B';break; default:ch=p;break;}while(temp!=0xf0){temp=P1; temp=temp&0xf0; }return ch;}void wcom(uchar com){ rs=0;P0=com;delay(1); //写命令延时可以为1en=1;delay(1); //写命令延时可以为1en=0;}void wdat(uchar dat){rs=1;P0=dat;delay(1); //此处写数据延时可以为1en=1; delay(4); //此处写数据延时至少为 4en=0;}void init(){en=0;wcom(0x38);wcom(0x0c);wcom(0x06);wcom(0x01);}void error(){char m2;wcom(0xc6);for(m2=0;m2<5;m2++){wdat(table0[m2]);}}void open(){char m2;wcom(0xc6);for(m2=0;m2<4;m2++)wdat(table1[m2]);}}void pass(){char m2;wcom(0x80);for(m2=0;m2<9;m2++) {wdat(table2[m2]);}}change(int m){delay(500);wcom(m);wdat('*');}main(){rw=0;ledg=0;ledr=0;relay=0;buzz=0;init();delay(5);pass();wcom(0x89);while(keyscan()==p) {delay(3);keyscan();}wdat(keyscan());n0=keyscan(); change(0x89);delay(10);ch=p;while(keyscan()==p) {delay(3);keyscan();wdat(keyscan());n1=keyscan();change(0x8a);ch=p;while(keyscan()==p){delay(3);keyscan();}wdat(keyscan());n2=keyscan();change(0x8b);ch=p;while(keyscan()==p){delay(3);keyscan();}wdat(keyscan());n3=keyscan();change(0x8c);ch=p;while(keyscan()==p){delay(3);keyscan();}wdat(keyscan());n4=keyscan();change(0x8d);ch=p;while(keyscan()==p){delay(3);keyscan();}wdat(keyscan());n5=keyscan();change(0x8e);if(n0=='2'&&n1=='0'&&n2=='1'&&n3= ='4'&&n4=='1'&&n5=='9'){int m3=1;open();relay=1;delay(3000);relay=0;while(m3){int m4,m5;ledg=0;for(m4=200;m4>0;m4--){keyscan();if(keyscan()=='A'){m4=0;m3=0;}} ledg=1;if(m3!=0){for(m5=200;m5>0;m5--){keyscan();if(keyscan()=='A'){m3=0;}}}}}else{ledr=1;error();buzz=1;delay(5000);}} 精心搜集整理,只为你的需要。