以STC89C52单片机为核心的电子密码锁设计

发布时间:186 阅读次数:186

  电子密码锁是现代生活中常用的加密工具。它克服了机械式密码锁密码量少、安全性能差的缺点,尤其是微控制器的智能电子密码锁;不仅具有电子密码锁的功能”还可引人智能化管理功能,从而使密码锁具有更离的安全性和可靠性。

  电子密码锁通常使用ARM和单片机控制,单片机相对ARM实现较为简单,功能较为完善,因此使用单片机控制较多。用单片机控制的窖码锁常使用汇编语言编写程序,显示器多数用数码管。而本文所介绍的电子密犸锁使用移植性及可读性强的高级语言C语言编写,便于修改和增减功能蚤同时采用显示清楚,功率消耗小而且寿命长的1602 液晶显示器,显示更加直观,使用更加方便。从经济实用的角度出发,采用STC89C52单片机设计出一种具有密码设置、报警和防止多次试探密码功能的电子密码锁,通过Protues软件成功地进行了仿线、系统工作原理

  本系统以STC89C52单片机为核心,使用4X4矩阵键盘作为数据输人方式,驱动1602显示器提示程序运行过程和*的步骤。本系统的密码判断过程如下:

  当使用者输人6位密码后按下BESURE键,单片机通过密码逐个比较,如果输入的6位蜜码和设定的密码完全相同,那么能成功驱动*模拟灯将锁打开。若输入6位密码与设定的密码不相同,按下BESURE键后,模拟灯不亮,可以按BACK键重新输入。由于输入密码过程中难免输入失误,如果密码输错,可直接攒下BACK键重新输入,但是系统不允许无限次地按BACK 键,以免密码被套用,当3次密码输入都错误,单片机将驱动蜂鸣器报警。并且本系统输入密码还有呓间限制,在规定的时阍内没有将正确密码输入也会报警。修改密码功能如下:当密码输人正确后,按下SET键可新设置密码。每设定一位新密码,单片机将其送给EPROM,当6位新密码都输入完毕,系统将自动回到程序开始,重新读取密码并保存,使用者需输人新的密码才能将锁打开。

  2.1硬件支持使用的元器件有:核心芯片STC89C52、存储芯片AT24C02、液晶显示1602、矩阵键盘、报警蜂鸣器、独立按键(摸拟门的开关)、发光二极管(模拟锁的开关)和三极管(放大电流)。

  本系统软件包插主程序模块、甯码比较判断模块、修改密码模块、键盘扫描模块、液晶显示模块及定时程序等模块。系统程序流程如图1所示。

  主租序主要用于定义全局变量,给全局变量赋初值,初始化EPROM,启动定时器以及从AT24C02中读取密码, 为整个程序提供数据。

  该模块的功能是将键盘输入的密码利用IF语句与设定的密码进行逐个比较,若密码完全正确则*;若不正确,则按下BACK键,重新输入密码,每按下BACK键一次,输人次数将自加1,当3}fi都出错则报警。

  在窖码输入正确情况下,可以按下SET对密码进行重新设置,每设定一位就将密码送给AT24C02存储起来,当设置6位密码完毕后,系统将自动跳到程序开始,调用新设置的辚码。STC89C52向AT24C02写入密码子程序:

  该模块具备功能有:逐列扫描键盘确实被按键的具体位置、判断键盘上有无键按下、消除抖动、判断闭合的键是否释放等功能。

  本模块用于对密码输入时间控制。在程序运行时首先对定时器进行了初始化,从按下PUT IN键开始,系统开始计时,当输入的时间达到规定的时间将立即报警。

  此模块包括液晶初始化、命令的输入、显示数据的输入。其中命令 用于控制液晶状态是否显示光标,光标是否闪烁,是否清除原来数据以及显示的具体位置。数据显示主要是将要显示的信息安需要准时显示出来。

  为了方便程序高度。本文采用了 Protues 仿线是个系统的核心,编写的程序以二进制的文件导入其中;U2为AT24C02,第5和第6个引脚分别与单片机的P1.2和P1.3相连;LCD1为1602液晶显示器,引脚连接如图2所示;独立按键DOOR,当门关上为键按下状态;D1为模拟*灯,当密码正确,按下BESURE键D1将亮;BUZ1为蜂鸣器报警。当程序编写好并导入到单片机里后,按下图2最下面的开始按钮,1602液晶显示器将提示密码锁的运行状态,系统开始工作。

  当电源开启后,1602液晶显示Welcome欢迎界面,当按下PUT IN键后,显示器显示PUT IN CODES提示使用输入密码,如图3所示。几秒后液晶显示器上提示将自动消失。此进可输入正确密码,且密码输入时显示*而不会将输入的数据显示出来。当输入密码完毕后,按下BESURE键,如果输入的密码正确D1将亮(D1作为*的模拟开关)。若密码错误,可以按下BACK键,程序将跳到loop(开始界面),重新输入密码,同时输入次数将增加一次。当3次都输入错误则自动报警,并且输入密码的时间必须在规定时间完成,否则也会报警。

  在密码输入正确后,按下SET键可对密码进行重新设置,液晶显示器显示SET CODS。同样几秒后提示将自动消失,此时开始重设密码。在密码设定过程中会将设定的数字显示出来,每输入一位密码需按下YES键确定,当设置的密码达到6位将自动回到启动界面。

  (1)成功仿线液晶显示,密码*,密码设置,防止多次试探,报警等功能。(2)采用C语言编写程序,具有很强的移植性,为系统增减和修改带了方便。

  关键字:编辑:什么鱼 引用地址:以STC89C52单片机为核心的电子密码锁设计上一篇:51单片机串口通信编程下一篇:基于AT89CX051的A/D转换实现

  自嵌入式系统开发以来,很长时间都采用前后台系统软件设计模式:主程序为一个无限循环,单任务顺序执行。通过设置一个或多个中断来处理异步事件。 这种系统对于简单的应用是可以的,但对于实时性要求比较高的、处理任务较多的应用,就会暴露出实时性差、系统可靠性低、稳定性差等缺点。 μC/OS-II 是一种基于优先级的抢占式多任务实时操作系统, 包含了实时内核、任务管理、时间管理、任务间通信同步(信号量,邮箱,消息 队列)和内存管理等功能。它可以使各个任务独立工作,互不干涉,很容易实现准时而且无误执行,使实时应用程序的设计和扩展变得容易,使应用程序的设计过程大为减化。而且它内核源代码公开,可移植性强,为编程人员提供了很好的一个软件平台。通

  上运行 /

  工业生产中过程控制是流量测量与仪表应用的一大领域,流量与温度、压力和物位一起统称为过程控制中的四大参数,人们通过这些参数对生产过程进行监视与控制。对流体流量进行正确测量和调节是保证生产过程安全经济运行、提高产品质量、降低物质消耗、提高经济效益、实现科学管理的基础。流量的检测和控制在化工、能源电力、冶金、石油等领域应用广泛。 系统工作原理 系统的工作原理是流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将模拟电信号转化为离散信号,传给单片机。单片机软件系统根据事先的设定值对采集的信息进行处理,输出离散的控制信号。DA转换器将离散的控制信号转化为模拟电量。通过模拟电量来控制阀门的动作,从而调节流量,实现流量的精确控制

  的流量控制系统设计 /

  基于P89C51RD2和FPGA的信号延时模块主要用在传输时钟信号、数字同步信号等对信号延迟有高要求的点对点传输系统中,它可对多路信号进行单独的适当延时调整。造成信号的延迟原因有:不同的传输线路、信号处理时间不同以及器件速度存在差异等。无论何种原因,延时模块可以对输入的已存在有延时积累的信号进行不同精度、不同范围的延时量调节,使信号到达终端后相对延迟时间符合要求。由于利用了可编程器件FPGA和增强型单片机,延时模块不仅能较好地实现其功能,而且实现了系统的模块化和微型化,利于模块在系统中的使用和模块的二次开发。 系统结构及硬件设计 系统结构框图如图1。其硬件结构比较简单,主要由单片机P89C51RD、RS-232/TTL接口电路

  和FPGA实现系统中可延时调节模块的设计 /

  强烈建议用户尽可能不要考虑外扩程序存储器,如果非扩不可,可以仿照下图所示电路进行扩展 图中P0口输出外部ROM的低8位地址信号,P2口输出高8位地址信号;ALE端输出地址锁存信号,/PSEN输出程序存储器输出使能信号。 两个模块 P89V51RD2单片机内部有64K用户ROM区和8K BOOT ROM区两个模块两个模块在物理上是分开的,尽管地址重合,但一般不会发生冲突。 用户程序存储区P89V51RD2内部有64KFLASH ROM,不需要用户再进行ROM扩展地址范围:0000H~FFFFH其内部分配和其他51系列单片机是相同的Flash ROM可以反复擦除和下载程序。 擦除和编程的方法 并行编程器ISP (在系统

  进行ROM扩展 /

  气体传感器是一种能将气体种类及其与浓度有关的信息转换成电气信号的装置。根据这些电气信号的强弱就可以获得与待测气体在环境中存在情况有关的信息,从而可以进行检测、监控、报警。 本设计采用酒精传感器、甲烷传感器、一氧化碳传感器等多种气体传感器组成传感器阵列,通过传感器阵列能把气体中的特定成分检测出来,并将其转化为电信号,然后采用ADC0809 将传感器输出的模拟信号转换为数字信号,运用AT89C51 进行数据处理和计算,并通过LED 显示气体种类和浓度信息,实现了对多种气体的识别和检测。 1 硬件电路设计 本设计硬件电路由数据采集、数据转换、数据处理、结果显示和报警等部分组成,涉及的芯片有AD0809 模数转换芯片、AT89C5

  进行多气体检测系统设计的实例 /

  在我们步入单片机学习时,大部分人接触的第一款单片机,是国产的STC单片机STC89C51,而最最容易让人忽视的,是单片机的晶振电路部分选用的晶振。 为什么这么说呢? 因为有的STC开发板,有的选用的晶振为11.0592MHz,有的则是是选用12MH。 这两个晶振相差不到1MHz,也同样能够为我们的单片机提供所需的时钟频率。 那么,既然都能让我们单片机正常工作,那为啥不做成一样的呢? 我们又应该如何选择它们呢? 接下来为大家解答! (1)11.0592MHz晶振 在STC89C51单片机中,该晶振主要用于精准的生成串口的波特率值9600,我们的波特率计算公式如下: TH1 = TL1 = 256 - 晶振值/12/2/16/

  中晶振的选用 /

  基于2812实现rs485和rs232的串口通信源程序基于2812实现rs485和rs232的串口通信源程序(转载)

  嵌入式系统无所不在,那么,那么开发嵌入式系统都需要哪些技术基础呢?请看下图: 下面按照专业学科单独说明。《计算机基础》主要内容是了解计算机结构及功能,对计算机系统有一个全方位的认识。比如计算机发展史、应用史、系统组成、专业概念、进制基础、软件种类、硬件种类、常用操作技能等等,这些都是后续学习过程的基础;《模拟与数字电路》从事嵌入式控制系统开发,就不可避免的与硬件电路打交道。掌握重要的、常用的概念与电路原理是必须的。但话又说回来了,现今在

  本书对现有和未来的汽车电子系统进行了全面概述。突出了汽车领域的需求,以及科技和商业模式的显著特点,包括车载信息系统架构、多方开发过程(子系统集成,生产线管理等)、软件工程方法、嵌入式通信、安全性和可靠性评估(审定,核查和测试)等内容这本书的作者有的是工业领先的专家,有的是处于汽车领域前沿的行业研究机构人员。对汽车电子通信领域的研究人员和技术人员有很好的参考价值

  诸如WiFi,ZigBee和蓝牙等无线网络技术适用于物联网(IoT)的消费者应用,但许多工业和其他物联网应用需要在这些技术可以处理的范围内运行。传统上,蜂窝和卫星机器对机器(M2M)技术填补了这一空白,但成本,功耗和可扩展性问题使得这些选择对未来的吸引力降低。许多低功耗广域网(LP-WAN)替代方案已经出现,需要开发人员仔细考虑,以寻求解决这些广泛的物联网应用。广域物联网技术的用途很多。停车资源,交通控制,公用事业监控和配电控制以及环境监控等公民基础设施系统只是一

  在网上看了一个制作MP3的电路图,遇到一个耳机的问题。 电路图里面有两个耳机底座,接法不同,如图所示。我不明白为什么需要两个,我猜测是一个用来输入、一个用来输出,不知道理解的对不对。 关于3.5mm耳机底座不同接法的问题

  (宋雪松)

  物联网技术与实践:基于ARM Cortex-M0技术 (李佳 华清远见)

  设计的电赛论文文档资料+源代码及部分硬件PCB文件

  Definitive Guide to Arm Cortex-M23 and Cortex-M33 Processors

  报名直播赢【风扇、背包】|德州仪器全新CC2340无线 MCU,助力低功耗蓝牙应用

  【下载】STM32WB基于Custom Template实现客户定制BLE私有协议

  【课程】STM32 & X-Cube-TouchGFX GUI开发实践

  【新品】STM32H5-Arm® Cortex®-M33 内核,主频高达250MHz,提升性能与信息安全性

  【新品】STM32MP13X-支持Linux、RTOS和Bare Metal应用,新一代通用工业级MPU

  【新品】Arm® Cortex®-M33处理器内核,运行频率160 MHz,基于Armv8-M架构并带有TrustZone®

  STM32Cube.AI开发者云:只需四个步骤,轻松将AI集成到MCU

  晶心科技和 IAR携手助力奕力科技加速开发其符合ISO 26262标准的TDDI SoC ILI6600A

  ACM8629单声道100W/立体声50W内置DSP音频算法的I2S数字输入D类功放IC解决方案

  车载无线充电研究:大功率充电方案引领,2026年搭载量超过1000万台

  造个车,一起驶向诗和远方!学习 TI 汽车参考设计,参加技能小测试赢好礼!

  ADI和\西北模电王\邀您一起下载研读《新概念模拟电路》系列第一本电子书《晶体管》

  PIC单片机AVR单片机ARM单片机嵌入式系统汽车电子消费电子数据处理视频教程电子百科其他技术STM32MSP430单片机资源下载单片机习题与教程词云: