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

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

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

  电子密码锁通常使用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转换实现

  单片机控制继电器 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。 很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。 控制继电器是一种自动电器,它适用于远距离接通和分断交、直流小容量控制电路,并在电力驱动系统中供控制、保护及信号转换用。控制继

  控制继电器详解 /

  本文主要是关于51单片机和52单片机的相关介绍,并着重对51单片机和52单片机进行了相近的对比分析。 51单片机 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8004单片机,后来随着Flash rom技术的发展,8004单片机取得了长足的进展,成为应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。很多公司都有51系列的兼容机型推出,今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。需要注意的是51系列的单片机一般不具备自编程能力。 功能 ·8位CPU·4kb

  74LS164串转并实验 本实验是用74LS164把输入的串行数转换成并行数输出,74LS164为串行输入并行输出移位寄存器,其引脚图及功能如下: A、B:串行输入端; QA~QH:并行输出端; CLR:清零端,低电平有效; CLK:时钟脉冲输入端,上升沿有效。 实验采用单片机串行工作方式0和P1端口两种方式串行输出数据。串行口工作方式0时,数据为8位,从RXD端输出,TXD端输出移位信号,其波特率固定为Fosc/12。在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将状态寄存器的TI位置1,TI必须由软件清零。 串行口工作方式0数据/时钟是自动移位输出,用P1端口输出数据时,要编程位移数据,每输出一个

  的串并转换(串转并\串进并出) /

  安装好keil 5 mdk 之后,从keil官网下载 c51v960.exe, 具体操作步骤 1.进入官网 2 3.点击C51之后,会让填写一个个人信息,没啥障碍,正常填写就好了,填写好之后就会出现下面的界面,点击下载就好了 4. 下载之后,运行,安装路径选择原来 keil5 MDK的安装路径 安装完毕之后就大功告成了

  操作步骤 /

  01 单片机内部结构分析 我们来思考一个问题,当我们在编程器中把一条指令写进单片机内部,然后取下单片机,单片机就可以执行这条指令,那么这条指令一定保存在单片机的某个地方,并且这个地方在单片机掉电后依然可以保持这条指令不会丢失,这是个什么地方呢?这个地方就是单片机内部的只读存储器即 ROM(READ ONLY MEMORY)。为什么称它为只读存储器呢?刚才我们不是明明把两个数字写进去了吗?原来在 89C51 中的 ROM 是一种电可擦除的 ROM,称为 FLASH ROM,刚才我们是用的编程器,在特殊的条件下由外部设备对 ROM 进行写的操作,在单片机正常工作条件下,只能从那面读,不能把数据写进去,所以我们还是把它称为 ROM。

  1 引 言 倒计时系统的任务, 就是对某一设定日期进行倒数, 并在显示屏显示当前至设定日期的时间, 以增强人们的关注度和紧迫感。开发实践表明: 以时钟芯片DS12C887为时钟模块、单片机AT89C51为控制模块的高精度倒计时系统具有精度高、能够长时间连续稳定地工作、使用方便的特点, 可较好满足实际需要。系统的硬件设计和软件设计如下。 2 系统的硬件设计 系统的控制模块由AT89C51单片机构成, 用于完成对串行口控制器的初始化和数据读写, 并对接收的各种数据进行识别、转储及显示。时钟芯片DS12C887提供高精度的年、月、日、时、分、秒时间,校准后直接与单片机相连。倒计时显示模块由LED数码管, 74HC595芯片和74L

  为控制核心的低成本高精度倒计时系统设计 /

  wince中长按触摸屏会出现一个圆圈动画,之后产生鼠标右键消息。 小弟想请教一下各位大虾们:怎样更换掉这个圆圈动画?谢谢长按右键消息的圆圈动画怎么替换掉?

  小熊派华为物联网操作系统LiteOS裸机驱动移植02-LCD驱动移植及使用

  1.LCD裸机驱动小熊派开发板使用的LCD屏幕为1.3寸的TFT彩屏,色彩深度16bit,分辨率240*240,使用SPI接口与MCU之间通信。 2.移植LCD裸机驱动到LiteOS 复制裸机驱动文件到LiteOS工程LCD的底层是使用SPI驱动的,那么除了STM32CubeMX生成的spi.h和spi.c文件,还需要自己在此基础上手写LCD屏幕的驱动文件。

  有没有人不加OS,成功驱动wifi芯片88w8686的比如说用stm32等处理器有没有人不加OS,成功驱动wifi芯片88w8686

  新一轮毕业生招聘季节即将到来,今年就业形势依然严峻。用人单位不仅要求大学生学习成绩好、在校表现好,还要求各方面的综合能力强,因此—— 毕业生比拼职业技能 2009年的校园招聘大战已初露端倪,一家知名人才网站招聘总监表示:“围绕优秀高校毕业生展开的人才争夺战日趋白热化,进校时间表似乎每年都在前移”。可以肯定的是,11月的校园招聘必将烽烟四起,毕业生之间对有限职位的“厮杀”也将更加惨烈。专家对此认为,是否具备充足的“职业筹码”将逐渐成为大学生们求职获胜的关键。 调查显示,46

  本文介绍,由于倒装芯片在下一代产品中的不断增长,避免芯片的偏斜是很有必要的。 问题 在电子工业的许多领域,都将倒装芯片结合到新产品中,呈现增长的规律。因此,必须理解许许多多的设计、材料、工艺和设备有关的变量,以保证该技术成功地实施和生存。例如,裸芯片的处理与贴装产生了通常在标准的表面贴装装配中不会遇到的新挑战。有一个顾客最近问,“我们看到在我们得倒装芯片装配工艺中偏斜芯片的数量在增加-什么可能会造成这个问题,我们如何纠正它?” 问题的解决 芯片偏斜是一个当处理

  最近TI培训上线了一大波儿新课,到底先学哪个,可难坏了选择强迫症患者们。在琳琅满目的高质量课程中,依然有四门能够脱颖而出,显得熠熠生辉~视频以接地气儿的应用领域、贴心细致的内容、高可操作性的指导、种类丰富的方案俘获了网友的心,成为最近新课中最叫座的课程。那当然要在这里分享给大家~本次介绍的四门课程是关于消费电子设计方案的,涉及的应用有:智能音箱、电动自行车、电视、TWS耳机、LED灯,都是与我们日常生活息息相关的电子产品,所以是非常

  (宋雪松)

  物联网技术与实践:基于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

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