历史上的今天
返回首页

历史上的今天

今天是:2025年03月08日(星期六)

2021年03月08日 | AT89C51单片机解密原理

2021-03-08 来源:eefocus

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系列单片机炼总线加密模式原理因为单片机片内的程序代码最终都要通过数据总线读出,如果指导单片机的数据总线的其中一条线永久性地破坏,解密者即使擦除了加密位,也无法读出片内的程序的正确代码。89C1051/2051的数据总线为P1口烧总线模式烧坏89C2051的P1.0端口,原程序代码为02H、01H、00H。读出的数据则为03H,01H,00H。其中最低位始终为1,读出的程序代码显然为错码。这种加密模式用于加密89C1051/2051单片机。缺点是占用单片机的资源。开发设计人员在设计单片机硬件系统时只要预留出口线P1.0不用,以后就可用烧总线模式对单片机加密。


推荐阅读

史海拾趣

浙江凡华(FANHAR)公司的发展小趣事

对于计数型10键键盘编码译码显示电路,网友可能会有多个方面的问题,以下是一些常见问题及其回答:

一、设计基础与原理

问题1:计数型10键键盘编码译码显示电路的基本组成是什么?

回答:计数型10键键盘编码译码显示电路主要由三部分组成:键盘编码电路、译码电路和显示电路。键盘编码电路负责将按键的输入转换为对应的编码信号;译码电路则将该编码信号还原为可识别的信息或数据;最后,显示电路将译码后的信息以可视化的方式呈现出来。

问题2:编码和译码在数字电路中的作用是什么?

回答:编码是将信息或数据转换为二进制代码的过程,以便在数字系统中进行监测、控制、传输等操作。而译码则是编码的逆过程,即将二进制代码还原为原始的信息或数据,以便进行显示或进一步处理。在计数型10键键盘编码译码显示电路中,编码和译码是实现按键输入到显示输出的关键步骤。

二、技术实现细节

问题3:如何实现10键键盘的编码?

回答:实现10键键盘的编码通常可以采用优先编码器。优先编码器能够识别多个输入信号中的最高优先级信号,并将其转换为对应的编码输出。在10键键盘中,可以将10个按键的输入信号接入优先编码器的输入端,通过编码器的内部逻辑处理,得到按键对应的编码输出。

问题4:译码器如何选择以满足显示需求?

回答:译码器的选择应根据显示需求来确定。对于计数型10键键盘编码译码显示电路,如果显示的是十进制数字,则应选择能够处理十进制数的译码器,如74LS48等。此外,还需要考虑译码器的输入位数、输出类型(如共阳极或共阴极)以及驱动能力等因素,以确保译码器能够满足显示电路的要求。

问题5:显示电路如何设计以兼容不同显示器?

回答:显示电路的设计应兼顾译码器、驱动器和显示器三部分。首先,根据译码器的输出选择合适的驱动器来驱动显示器。驱动器的选择应考虑显示器的类型(如七段数码管、LED点阵等)、工作电压和电流等因素。其次,根据显示器的特性设计显示电路,包括确定显示方式(如静态显示或动态显示)、设置显示亮度等。最后,通过连接译码器、驱动器和显示器,实现按键输入到显示输出的完整电路。

三、常见问题与解决方案

问题6:如何解决按键冲突问题?

回答:按键冲突是指多个按键同时按下时,电路无法正确识别所有按键的状态。在计数型10键键盘编码译码显示电路中,可以通过采用优先编码器来避免按键冲突问题。因为优先编码器能够识别最高优先级的按键信号,并忽略其他低优先级的按键信号。此外,还可以通过软件算法来进一步处理按键冲突问题,如设置按键去抖动时间、检测按键按下和释放的时间差等。

问题7:如何提高电路的抗干扰能力?

回答:提高电路的抗干扰能力可以从多个方面入手。首先,选择具有良好抗干扰性能的元器件和电路布局方式;其次,在电路设计中加入滤波、去耦等电路来抑制干扰信号;最后,通过软件算法来识别和排除干扰信号的影响。此外,还可以采用屏蔽、接地等外部措施来进一步提高电路的抗干扰能力。

以上是对计数型10键键盘编码译码显示电路中网友可能提出的问题及其回答的总结。在实际应用中,还需要根据具体需求和条件进行灵活调整和优化。

Alpha Semiconductor公司的发展小趣事

随着技术的不断积累和市场的变化,Alpha Semiconductor于1988年开始为OEM厂家设计定制产品。这一转型是公司发展历程中的重要一步,它使得Alpha Semiconductor能够更深入地了解客户需求,提供更加贴合市场需求的产品解决方案。通过不断的创新和改进,Alpha Semiconductor逐渐在半导体市场中树立了良好的口碑。

Communications公司的发展小趣事

在全球化的大背景下,一家名为“全球通信”的公司积极实施国际化发展战略,成功拓展了海外市场。他们不仅将产品和技术推向全球,还积极参与国际标准和规范的制定,提升了公司在国际通信行业的影响力。

通过与海外企业的合作与交流,“全球通信”不断吸收国际先进技术和管理经验,提升了自身的竞争力。同时,他们还积极参与国际公益事业,树立了良好的企业形象。

宜源科技(ETERNAL)公司的发展小趣事

随着国内市场的饱和,宜源科技公司积极寻求海外市场的发展机会。公司加强与国际知名企业的合作,共同开发新产品,拓展市场份额。同时,宜源科技还积极参加国际展会和论坛,提升品牌知名度和影响力。通过不懈的努力,宜源科技的产品已经成功进入多个国家和地区,实现了国际化发展。

China Semiconductor Corp公司的发展小趣事

为了进一步提升竞争力,CSC开始着手进行产业链整合。公司通过与上下游企业的深度合作,形成了紧密的产业链协同关系。这不仅降低了生产成本,提高了生产效率,还使得CSC能够更好地把握市场动态和技术趋势,为公司的持续发展提供了有力保障。

硕颉(BITEK)公司的发展小趣事

为了持续提升产品质量和客户满意度,硕颉科技于2005年通过了ISO9001质量管理体系认证。这一认证标志着公司在质量管理方面达到了国际标准,也进一步提升了公司的行业地位和竞争力。通过实施严格的质量管理体系,硕颉科技确保了产品从设计、研发到销售的每一个环节都符合高质量标准,为客户提供了可靠的产品和服务。

这些故事只是硕颉科技发展历程中的一部分,它们共同展示了公司在电子行业中不断壮大、创新发展的历程。未来,硕颉科技将继续秉承创新、质量、服务的理念,不断推出更多优质产品,拓展更广阔的市场空间,为电子行业的发展贡献更多力量。

问答坊 | AI 解惑

矢量控制,电机定子磁路初始值计算

工程上,怎样计算,有做低压变频器的吗?…

查看全部问答>

有关PLL的小问题

QUARTUS II里面锁相环PLL怎么不能设为10M以下的,而且11M,13M为什么也不能啊。。。…

查看全部问答>

这两句打印信息是什么搞的,查找不到啊?

DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\\BuiltIn\\AFD). Driver cannot be unloaded. USB enable interrutp DeviceFolder::LoadDevice!Enumerate Found deprecated load instructions at (Drivers\ ...…

查看全部问答>

系统挂起问题

我有两个问题想请教各位 1.为何我点击‘开始’-‘挂起’后,屏幕的背景灯一直不灭?如何才能使屏幕在点击‘挂起’后就能关闭? 2.我在外部设置了一个按键,按下它则系统进入挂起,再按则被唤醒,该功能已做通,为何我点‘开始’中的‘挂起’后无 ...…

查看全部问答>

PB 5错误信息 Too much data space used by DLL's in MODULES section

Error: Too much data space used by DLL\'s in MODULES section   Current usage = 28032k, Maximum usage = 26624k.   Reduce DLL usage or move some DLL\'s into the FILES section. 能否增大这个 max usage??…

查看全部问答>

在CE下ISA驱动封装的DLL用注册吗?

我使的是PC104是威盛的芯片组在上面做的ISA卡的驱动DLL我已经把它加载进NK了,问下ISA驱动的DLL用修改platform.reg才能使用吗?…

查看全部问答>

如何在WinCE上播放midi文件

定制系统后,用WinCE上自带的播放器只能播放mp3,wma等格式的音频,但是我需要在WinCE上播放出midi格式的文件来。求教高手们,应该怎么办呢?…

查看全部问答>

CAN总线的分布式运动控制

                                        ...…

查看全部问答>

关于CAN数据包的接收处理

我的应用是这样的,使用CAN中断接收数据包,如果第一个数据包发来后进入了中断,但我的程序还没来得急把数据包里的8字节读出来,第二个数据包又来了,把第一个数据包冲掉怎么办? 有什么好的办法处理这个问题?     ...…

查看全部问答>

05.17【每日一问】:电信日一天

    5.17是世界电信日。     随着电报的发明,信息的传递方便、快捷起来,人类也因此进入了电信时代。为使电报发挥更大的作用,1865年5月17日,法国、德国、俄国、意大利、奥地利等20多个国家在法国巴黎签订了 ...…

查看全部问答>