ATMEL89C系列51单片机加密原理
ATMEL89C系列51单片机加密原理
ATMEL89C系列是ATMEL51单片机典型的低功耗,高性能CMOS8位微控制器,也是OTPMCU,采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统,芯片内集成了RAM和Flash存储单元,功能强大的ATMELAT89C 系列微处理器可提供许多高性价比的应用场合。
致芯科技最具实力的芯片解密、IC解密、单片机解密等解密服务机构,致芯科技拥有多年的解密服务经验和超高水平的解密技术,一直从客户利益出发,为每位客户提供最科学最合理最低成本的解密方案与解密服务,深受客户的信赖与喜爱。
51类单片机在完成三级加密之后采用烧坏加密锁定位,不破坏其它部分,不占用单片机任何资源。
加密锁定位被烧坏后不再具有擦除特性。
一旦用OTP 模式加密后,单片机片内的加密位和程序存储器内的数据就不能被再次擦除。
ATMEL89C系列51单片机特点:
1.内部含Flash存储器
因此在系统的开发过程中可以十分容易进行程序的修改,这就大大缩短了系统的开发周期。
同时,在系统工作过程中,能有效地保存一些数据信息,即使外界电源损坏也不影响到信息的保存。
2.和80C51插座兼容
89C系列单片机的引脚是和80C51一样的,所以,当用89C系列单片机取代80C51时,可以直接进行代换。
这时,不管采用40引脚亦或44引脚的产品,只要用相同引脚的89C系列单片机取代80C51的单片机即可。
3.静态时钟方式
89C系列单片机采用静态时钟方式,所以可以节省电能,这对于降低便携式产品的功耗十分有用。
4.错误编程亦无废品产生
一般的OTP产品,一旦错误编程就成了废品。
而89C系列单片机内部采用了Flash存储器,所以,错误编程之后仍可以重新编程,直到正确为止,故不存在废品。
5.可进行反复系统试验
用89C系列单片机设计的系统,可以反复进行系统试验;每次试验可以编入不同的程序,这样可以保证用户的系统设计达到最优。
而且随用户的需要和发展,还可以进行修改,使系统不断能追随用户的最新要求。
AT89C 系列单片机的解密与加密技术
AT89C系列单片机的解密与加密技术北京中青世纪科技发展公司(101300) 徐 晖 周湘峻摘 要:首次公开了A T89C系列单片机的解密原理,同时介绍了两种新的不可破解的加密方法,彻底解决了A T89C系列单片机的加密问题。
关键词:A T89C系列单片机 加密 解密 加密锁定位 A T89C系列单片机已在我国推广应用4年多,它与M CS51完全兼容,使我国的绝大多数单片机开发人员都能用它展开设计,原使用80C31、87C51、8751的产品和开发工具都可直接适用89C51等单片机。
以上的优点使越来越的工程师采用A T89C系列单片机设计制作从小到大的各种产品、系统。
然而,由于A T89C系列单片机在加密锁的设计上存在缺陷,使用A TM EL公司提供的标准加密方法不能对用户程序实施有效的保护。
使那些需要对程序保密的用户不敢使用A T89C系列单片机,从而阻碍了它的进一步推广应用。
我公司曾在1995年初开发出低价位的BCQ2 A T89C编程器,对A T89C系列单片机的推广应用起到了较大的促进作用(详见《电子技术应用》1995年第9期)。
在96年初又应客户要求首家开发了专用的A T89C单片机自动解密器,能对加密的A T89C全系列单片机自动、完全解密。
1 原有的加密、解密方案A T89C系列单片机的加密步骤:(1)通过总线把程序写入片内程序存储器。
(2)写入加密锁定位, A T89C51 52为3个(即所谓一、二、三级加密), A T89C1051 2051为2个(即所谓一、二级加密)。
写入锁定位后单片机将禁止对片内程序存储器进行校验操作,同时禁止使用M OV C指令访问片内程序存储器。
以达到保护片内程序不能被非法读出的目的。
在BCQ2A T89编程器等烧写工具上可以自动完成上述各级加密。
但是,A T89C系列单片机内部程序擦除操作时序设计上并不合理,使在擦除片内程序之前可以首先擦除加密锁定位。
基于AT89C51的数字密码锁设计与实现
基于AT89C51的数字密码锁设计与实现摘要:为了满足多种场合的安防需要,设计了一款数字密码锁。
密码锁以AT89C51为核心,实现对其几个输入输出模块的状态控制,进而实现密码锁相应功能。
用户可通过硬件电路中的矩阵键盘进行密码输入,密码重置,密码存储等操作。
操作过程可以在数码管上直观显示。
通过proteus仿真,能够实现预期功能,该密码锁具有较广泛的应用价值。
关键词:AT89C51、矩阵键盘、数码管显示、状态机0 引言随着科学技术的发展和人们生活水平的提高,安保工作变得尤为重要[[1]]。
数字密码锁具有安全性高、价格便宜、耗电少、使用灵活等优点[[2]]。
使用过程中,通过输入密码来控制驱动电路,从而控制外围电路,实现开锁,关锁。
本文采用AT89C5I单片机作为密码锁核心控制元件,其结构简单,使用方便,价格便宜[[3]],可以持续稳定工作。
数字密码锁成品电路可用于单元门禁等多个公众场合。
1 数字密码锁系统架构本系统以AT89C51单片机(包含复位电路和晶振电路)为核心,外围配有矩阵键盘,七段数码管等接口和显示电路,实现开锁过程中的数字显示,以及错误报警等功能。
本系统可以实现多位密码的设置、存贮。
系统架构图如图1所示:图1:数字密码锁系统架构图具体功能如下:通过矩阵键盘输入密码,如果输入正确密码,驱动电路将锁打开,指示灯点亮,整个过程数码管会显示相应数字。
如果输入错误密码,蜂鸣器将发出错误警报。
2 硬件设计2.1 单片机最小系统采用AT89C51单片机(含有晶振、上电复位电路)作为核心控制元件,实现对输入信号的采集,以及对外围电路的控制。
2.2 矩阵键盘采用4*4矩阵键盘。
其中十个按键实现0~9十个数字输入,可连续输入多位密码。
左下角按键按下,可进行密码重新设定。
新密码录入完成,按下右下角按键,将密码保存。
键盘采用程序控制扫描方式[[4]],这样对CPU工作影响小,只使用8条行列信号线(P1口)就可以实现对按键信号的动态扫描输入。
基于AT89c5单片机控制电子密码锁精品
基于AT89c51单片机控制电子密码锁目录第1章绪论 (3)1.1 课题的介绍 (3)1.2 本课题设计的研究现状 (3)第2章密码锁设计方案 (4)第3章硬件设计 (6)3.1单片机简介 (6)3.2内部时钟电路 (10)3.3 手动复位电路 (10)3.4 键盘接口电路方案的确定 (11)3.5数码管数码显示电路方案的确定 (12)3.6 CT7447介绍 (14)3.7 74L138译码器的运用 (15)3.8密码存储电路方案的确定 (17)3.9 电路原理图 (18)第4章电子密码锁软件设计 (19)4.1程序功能 (19)4.2程序框图 (19)4.3系统程序 (24)第5章软、硬件调试 (31)5.1硬件调试 (31)5.2软件调试方法 (31)第6章总结与体会 (32)附录:元器件清单 (33)参考文献 (33)基于单片机控制电子密码锁摘要根据有关资料介绍,电子密码锁的研究从上世纪30年代就开始了,在某些特殊场所就有所应用。
研究这种锁的初衷,是提高锁具的安全性,因为电子密码锁的密匙量极大,可以和机械锁配合,避免因钥匙被仿制而出现的问题。
在安全性极高的前提下,它的另一个特点——无需钥匙。
密码锁还有指纹锁、卡片锁、磁卡锁,生物锁等等。
但能谈得上实用一些或者大众化一些的还是按键式电子密码锁。
这是一种操作方式类似于按键电话机的电子锁,通过键盘上的数码按键一次输入依组密码,如果密码与内部已约定的密码相同,则输出一个信号,以驱动电磁铁或小马达将门打开,完成一个开锁过程。
本论文从电子密码锁系统的功能,硬件电路设计,软件设计分别论述这一系统。
通过使用单片机80C51作为控制核心,连接外部存储器93C46,实现密码断电保存,通过七段数码管显示,制作一种密码锁。
该锁具有开锁、解密、修改、保存密码、用户密码等基本的密码锁功能,还具有调电数码提示等功能。
关键词:单片机;密码;密码锁第1章绪论1.1课题的介绍密码锁是锁的一种,开启时用的是一系列的数字或符号。
AT89C51单片机结构和原理
AT89C51单片机结构和原理一、结构1.CPUAT89C51采用了MCS-51指令集架构。
它拥有一个8位的累加器(A)和一个8位的状态字寄存器(PSW),以及一组8位的通用寄存器(R0~R7)。
它还包含若干片内部特殊功能寄存器(SFR),用于控制和通信。
2.存储器(1)程序存储器:程序存储器用于存储用户编写的程序代码,它的容量为64KB,可以存储16位的指令。
程序存储器采用闪存技术,可擦写和重新编程。
(2)数据存储器:数据存储器用于存储程序运行中的各种数据,包括RAM和ROM两种类型。
- RAM(Random Access Memory):AT89C51具有128字节的RAM空间,用于存储临时变量和数据。
- ROM(Read Only Memory):AT89C51拥有4KB的ROM空间,用于存储常量和只读数据。
3.计时/计数器4.I/O口二、原理1.时钟2.中断AT89C51单片机支持两种类型的中断:外部中断和定时器/计数器中断。
外部中断可以由外部设备触发,如按键等;定时器/计数器中断可以由定时器溢出或计数到达指定值时触发。
中断允许在程序执行的任何时候跳转到一个中断服务程序并执行完后返回。
3.I/O口4.程序执行(1)取指令:CPU从程序存储器中读取指令,并将其存储在指令寄存器IR中。
(2)译码:CPU根据IR中的指令,识别出需要执行的操作,并将该操作传递给相应的功能单元。
(3)执行:根据译码结果,通过ALU(算术逻辑单元)对数据进行运算和逻辑操作。
(4)更新:将执行结果存储在目标寄存器或内存中,并更新状态字寄存器PSW。
总结:AT89C51单片机是一种经典的8位单片机,它的结构主要包括CPU、存储器、计时/计数器和I/O口。
它采用闪存技术的程序存储器、RAM和ROM的数据存储器,具有时钟、中断、I/O口和程序执行的原理。
AT89C51单片机广泛应用于各种嵌入式系统中,具有强大的功能和灵活的扩展性。
51单片机的加密与解密 - 单片机
51单片机的加密与解密 - 单片机51 单片机的加密与解密单片机在当今的电子技术领域,单片机的应用无处不在。
51 单片机作为一种经典的单片机类型,因其简单易用、性价比高而被广泛采用。
然而,随着其应用的普及,51 单片机的加密与解密问题也逐渐引起了人们的关注。
首先,我们来了解一下为什么要对 51 单片机进行加密。
在许多实际应用中,单片机内部运行的程序往往包含了开发者的核心技术、商业机密或者独特的算法。
如果这些程序被未经授权的人员读取和复制,可能会导致知识产权的侵犯、商业竞争的不公平,甚至可能对产品的安全性和稳定性造成威胁。
因此,为了保护开发者的权益和产品的安全性,对 51 单片机进行加密是非常必要的。
那么,常见的 51 单片机加密方法有哪些呢?一种常见的方法是代码混淆。
通过对程序代码进行复杂的变换和重组,使得代码难以理解和分析。
比如,将关键的变量名、函数名进行重命名,使用复杂的控制流结构等。
这样,即使攻击者获取了代码,也很难理清程序的逻辑和功能。
另一种方法是使用硬件加密模块。
一些 51 单片机芯片本身就提供了硬件加密的功能,例如加密锁、加密密钥存储等。
通过在程序中使用这些硬件加密模块,可以增加破解的难度。
还有一种加密方式是对程序进行加密存储。
将程序在存储时进行加密,只有在单片机运行时通过特定的解密算法进行解密后才能执行。
这样,即使存储介质被读取,攻击者得到的也是加密后的乱码。
然而,尽管有了这些加密手段,51 单片机的解密仍然是可能的。
解密的动机通常是为了获取他人的技术成果用于非法复制或者破解产品限制。
常见的 51 单片机解密方法主要包括以下几种。
逆向工程是一种常见的解密手段。
攻击者通过对单片机的硬件进行分析,包括芯片的引脚、内部电路等,尝试推断出程序的运行方式和存储结构。
此外,通过软件分析也是一种方法。
利用专业的工具对单片机的运行状态进行监测和分析,尝试找出加密算法的漏洞或者获取解密的关键信息。
还有一种比较暴力的方法是通过物理手段破解。
AT89C51单片机不可破解的加密方法 - 单片机
AT89C51单片机不可破解的加密方法 - 单片机单片机解密简单就是擦除单片机片内的加密锁定位。
由于AT89C系列单片机擦除操作时序设计上的不合理。
使在擦除片内程序之前首先擦除加密锁定位成为可能。
AT89C系列单片机擦除操作的时序为:擦除开始----擦除操作硬件初始化(10微秒)----擦除加密锁定位(50----200微秒)---擦除片内程序存储器内的数据(10毫秒)-----擦除结束。
如果用程序监控擦除过程,一旦加密锁定位被擦除就终止擦除操作,停止进一步擦除片内程序存储器,加过密的单片机就变成没加密的单片机了。
片内程序可通过总线被读出。
对于AT89C系列单片机有两种不可破解的加密方法。
一、永久性地破坏单片机的加密位的加密方法。
简称OTP加密模式。
二、永久性地破坏单片机的数据总线的加密方法。
简称烧总线加密模式。
AT89C系列单片机OTP加密模式原理这种编程加密算法烧坏加密锁定位(把芯片内的硅片击穿),面不破坏其它部分,不占用单片机任何资源。
加密锁定位被烧坏后不再具有擦除特性,89C51/52/55有3个加密位进一步增加了加密的可靠性。
一旦用OTP模式加密后,单片机片内的加密位和程序存储器内的数据就不能被再次擦除,89C51/52/55单片机就好象变成了一次性编程的OTP型单片机一样。
如果用户程序长度大于89C51单片机片内存储器的容量,也可使用OPT模式做加密,具体方法如下:1、按常规扩展一片大容量程序存储器,如27C512(64K)。
2、把关键的程序部分安排在程序的前4K中。
3、把整个程序写入27C512,再把27C512的前4K填充为0。
4、把程序的前4K固化到AT89C51中,用OPT模式做加密。
5、把单片机的EA脚接高电平。
这样程序的前4K在单片机内部运行,后60K在片外运行。
盗版者无法读出程序的前4K程序,即使知道后60K也无济于事。
AT89C系列单片机炼总线加密模式原理因为单片机片内的程序代码最终都要通过数据总线读出,如果指导单片机的数据总线的其中一条线永久性地破坏,解密者即使擦除了加密位,也无法读出片内的程序的正确代码。
基于AT89C51型单片机电子密码锁的设计
基于AT89C51型单片机电子密码锁的设计摘要:我们的生活中,锁时一种常见的生活用品,从普通的钥匙锁到保险箱的密码锁,锁给我们的生活带来了极大地便利。
但机械式密码锁体积比较庞大不便在其他小地方使用,这时体积小而且方便快捷的密码锁就为我们解决了这个问题。
本文介绍了一个由AT89C51单片机为核心的数字电子密码锁,该密码锁通过适当的程序实现了对密码的认证的过程,通过液晶显示器显示输入过程,实现人机对话的友好界面,当输入的密码为已设定好的密码时,电子锁将会自动打开,否则系统将会提醒再次重新输入,当三次输入的密码错误系统自动报警。
在输入过程中,可通过功能键修改输入数字,具有重新输入密码的功能,方便修改误输入的数字关键词:电子密码锁,密码检验,自动报警,单片机,液晶显示目录1.目的意义 (1)2.国内外发展 (2)3.设计内容及要求 (3)4.系统的设计 (4)4.1系统设计结构图 (4)4.2系统的工作原理及说明 (4)5.系统硬件设计 (5)5.1复位以及振荡电路 (5)5.2 3X4矩阵键盘 (5)5.3报警蜂鸣器 (6)5.4液晶显示电路 (6)5.5串口输入电路图 (7)6.程序流程图 (8)7.原理图 (8)8调试与仿真 (9)9.程序 (13)10.收获与展望 (24)11对本科意见 (25)12期望成绩 (25)1.目的意义经过了一个学期单片机的的学习,通过本次课程设计,了解电子锁的基本工作原理,通过对已学习的AT89C51型单片机,熟悉AT89C51并行接口的各种工作方式和应用,并且掌握AT89C51计数器/定时器的工作方式和应用编程外部中断的方法,以及对液晶显示问题的解决。
掌握单片机的设计步骤方法,继而达到能设计单片机实际应用的目的。
2国内外进展情况目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。
at89c51原理
at89c51原理AT89C51是一款经典的8位单片机,被广泛应用于各种嵌入式系统中。
它是由美国Atmel公司研发的,采用MCS-51指令集架构。
本文将从AT89C51的原理和特点进行阐述,介绍其在嵌入式系统中的应用。
AT89C51的核心是一块基于CMOS工艺的8位CPU,它拥有4KB 的Flash存储器、128B的RAM和32个I/O口。
该单片机还具备丰富的外设资源,包括定时器、串行通信接口、中断控制器等。
这些特点使得AT89C51成为一款功能强大且灵活可扩展的单片机。
AT89C51的工作原理是基于冯·诺依曼体系结构,它通过存储器中的指令来控制各个外设的操作。
当程序启动时,CPU从Flash存储器中读取指令并执行,从而实现各种功能。
在程序运行过程中,可以通过中断控制器来处理外部事件的响应,提高系统的实时性和可靠性。
AT89C51的编程方式灵活多样,可以通过编程器将程序下载到Flash存储器中。
编程器将程序存储在Flash存储器的不同地址中,CPU根据程序计数器读取指令并执行。
这种方式方便了程序的更新和维护,同时也提高了开发效率。
AT89C51的应用非常广泛,特别是在嵌入式系统中。
它可以用于家电控制、工业自动化、车载电子等领域。
在家电控制方面,AT89C51可以实现对电视、空调、洗衣机等设备的控制和管理;在工业自动化方面,AT89C51可以实现对生产线的控制和监控;在车载电子方面,AT89C51可以实现对车辆的控制和信息处理。
除了以上应用,AT89C51还可以用于物联网设备的开发。
物联网设备需要实现与互联网的通信和数据处理,而AT89C51正好具备串行通信接口和强大的计算能力。
通过与传感器、无线模块等外设的结合,AT89C51可以实现物联网设备的智能控制和数据传输。
AT89C51作为一款经典的8位单片机,具备强大的功能和灵活的编程方式。
它在嵌入式系统中的应用非常广泛,可以实现各种控制和数据处理的功能。
基于单片机AT89C51密码锁.doc
项目密码锁一、项目描述数字密码锁实现知道开锁密码即可开锁的功能。
在输入密码正确后,还可以修改密码,在输入密码的过程中,不显示密码,只显示无规律的提示某位密码是否输入完毕,防止了密码的泄漏,大大加强了密码锁的保密性。
开锁代码为8位二进制数,当输入代码的位数和位值与锁内给定的密码一致,且按规定程序开锁时,方可开锁,并点亮开锁指示灯。
否则系统进入“错误”状态,并发出提示信号。
开锁程序由设计者确定,并锁内给定的密码是可调的,且预置方便,保密性好。
二、项目目的本项目系统实现了输入密码正确后,小灯亮,错误不亮;2、正确修改密码后,小灯不亮,错误不亮;3、输入错误密码,小灯不亮;4、按下*后,输入密码归重新开始。
三、系统设计3.1系统框图图1 系统框图3.2学习情景实际上数字密码锁的功能较多,本项目仅介绍一部分,具体操作如下:1.用绿色发光二极管的亮与灭来表示密码的输入是否正确。
(若密码正确则亮,否则不亮)。
2.显示器采用1602点阵字符LCD。
3.采用4*3矩阵非编码键盘,键值见下表。
表1 4*3矩阵的非编码键盘键值程序控制:①开机显示如下图:图1 开机显示画面②密码输入:在上图状态显示下输入数字0~9即可;密码按键图如下:图2 密码按键盘密码长度为8个字符(默认为12345678,可在程序中修改)在密码输入LCD上显示“*”如图3图示,输入完毕后按‘#’键确定。
若正确则绿色指示灯亮50ms 表示开门,若不正确则出现如图4图所示画面,此时按“*”键则可返回图 1 所示的画面。
图3 密码输入显示正确提示图4 密码输入不正确提示四、硬件设计4.1 电路原理图图2 密码锁电路原理图五、软件设计#include <reg51.h>#define unchar unsigned char#define unint unsigned intsbit RS = P3^0;sbit RW = P3^1;sbit E = P3^4;sbit LED1 = P3^6;unchar code L1[]= "PASS WORD";unchar code L21[]= " " ;unchar code L23[]= "ERROR!!! " ;unchar mima1[8]="12345678";unchar mima2[8];unchar *PTR;unchar CH;unchar n;unchar HSM, LJC, keyvalue;unchar tmp;unchar CNT = 0;void delayXms( unint x );void lcd_init( void );void write_ir( void );void write_dr( unchar *ch, unchar n );void write_dr1( unchar ch );unchar keyscan( void );void mm_cmp( void );void main( void ){LED1 = 0;lcd_init( );while( 1 ){tmp = keyscan( );switch( tmp ){case 0x11:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '1';write_dr1( CH );}break;case 0x21:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '2';write_dr1( CH );}break;case 0x41:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '3';write_dr1( CH );}break;case 0x12:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '4';write_dr1( CH );}break;case 0x22:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '5';write_dr1( CH );}break;case 0x42:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '6';write_dr1( CH );}break;case 0x14:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '7';write_dr1( CH );}break;case 0x24:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '8';write_dr1( CH );}break;case 0x44:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '9';write_dr1( CH );}break;case 0x18:CNT = 0;P1 = 0xc0;write_ir( );PTR = &L21;n=16;write_dr( PTR, n );P1 = 0xc0;write_ir( );break;case 0x28:CNT++;if( CNT==9 ){CNT = 0;break;}else{CH = '*';mima2[CNT-1] = '0';write_dr1( CH );}break;case 0x48:mm_cmp( );break;default: LED1 = 0;}delayXms( 1 );}}void delayXms( unint x ){unint y,z;for( ; x>0; x-- )for( y=4; y>0; y-- )for( z=250; z>0; z--);}void lcd_init( void ){P1 = 0x01;write_ir( );P1 = 0x38;write_ir( );P1 = 0x0c;write_ir( );P1 = 0x06;write_ir( );P1 = 0x83;write_ir( );PTR = &L1;n=10;write_dr( PTR, n );P1 = 0x0f;write_ir( );P1 = 0xc0;write_ir( );}void write_ir( void ){RS = 0;RW = 0;E = 0;delayXms( 50 );E = 1;}void write_dr( unchar *ch, unchar n ){unchar i;for( i=0; i<n; i++ ){P1 = *(ch+i);RS = 1;RW = 0;E = 0;delayXms( 50 );E = 1;}}unchar keyscan( void ){P2 = 0xf0;LJC = P2&0xf0;if( LJC != 0xf0 ){delayXms( 10 );LJC = P2&0xf0;if( LJC != 0xf0 ){HSM = 0xfe;while((HSM&0x10)!=0){P2 = HSM;LJC = P2&0xf0;if( LJC != 0xf0 ){keyvalue = ( ~HSM )+( ~(LJC|0x0f) );return( keyvalue );}else HSM = (HSM<<1)|0x01;}}}return( 0x00 );}void write_dr1( unchar x ){P1 = x;RS = 1;RW = 0;E = 0;delayXms( 50 );E = 1;}void mm_cmp( void ){unchar x;bit flag = 1;for( x=0; x<8; x++ ){if( mima1[x]==mima2[x] ) continue;else{flag = 0;break;}}if( flag ){LED1 = 1;delayXms( 50 );}else{P1 = 0xc0;write_ir( );PTR = &L23;n=16;write_dr( PTR, n );P1 = 0xc8;write_ir( );}}。
基于AT89C51单片机的密码锁设计
基于AT89C51单片机的密码锁设计摘要:前使用的电子密码锁大部分是基于单片机技术,以单片机为主要器件,其编码器与解码器的生成为软件方式。
本系统由AT89C51单片机系统(主要是AT89C51单片机最小系统)、4×4矩阵键盘、LCD1602显示和报警系统等组成,具有设置、修改六位用户密码、超次报警、超次锁定、密码错误报警等功能(本设计由P0口控制LCD显示,密码正确显示password ok!密码错误显示password error!超过三次输入错误自动锁定。
由P1口控制矩阵键盘含有0-9数字键和A-F功能键。
)。
除上述基本的密码锁功能外,依据实际的情况还可以添加遥控功能。
本系统成本低廉,功能实用。
关键词:单片机;密码锁;单片机设计;电子锁Electronic Lock Design with 51 Serires Single Chip ControllerAbstract:At present the use of electronic locks are mostly based on microprocessor, main devices MCU, the encoder and decoder built into software.SCM system from the system(Mainly AT89C51 microcontroller minimum system), 4×4 Matrix keyboard, LCD display and alarm system, With the settings, modify the eight user password, Ultra alarm, Ultra Lock, Password error alarm and other functions(P0 port to control the design of the LCD display, Password correctly display password ok!Password error display password error! For more than three times to enter the error automatically lock. The P1 port control keyboard matrix containing the number keys 0-9 and A-F function keys). The system cost-effective, practical functionkeywords:singlechip;cryptogram lock;singlechip design; electronics lock.目录1 绪论 (1)1.1 背景 (1)1.2 电子锁 (1)1.3 电子密码锁的特点 (1)1.4 电子密码锁的的发展趋势 (1)2 总体方案 (2)2.1 系统结构 (2)2.2 总体方案比较与论证 (3)2.3各方案比较显示方案的选择 (3)3 硬件设计 (5)3.1 单片机AT89C51简介 (5)3.2 输入键盘 (5)3.3 显示部分 (6)3.4 震荡电路 (7)4 软件设计 (7)4.1 软件设计方案 (7)4.2 软件设计总流程图 (8)4.3 具体功能软件实施 (8)4.3.1 键盘扫描 (8)4.3.2 密码修改 (11)5 调试 (12)5.1 调试前的准备 (12)5.2 硬件调试 (12)5.2.1 液晶显示模块的硬件调试 (12)5.2.2 按键测试 (13)5.3 软件调试 (13)5.4 调试心得 (14)总结 (15)参考文献 (16)致谢 (17)附录 (18)附录一、硬件原理图 (18)附录二、源程序 (18)1 绪论1.1 背景随着社会物质财富的日益增长,安全防盗已成为社会问题。
