新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 89C51的加密位有什么功能

89C51的加密位有什么功能

作者: 時(shí)間:2012-06-29 來源:網(wǎng)絡(luò) 收藏

有3個(gè)LB1、LB2、LB3。通過軟件編程可定義三個(gè)的狀態(tài)以獲得一些附加的功能:
———————————————————————————
LB1LB2LB3|功能
———————————————————————————
UUU|沒有程序保密功能
———————————————————————————
PUU|禁止從外部程序存儲(chǔ)器中執(zhí)行MOVC指令
|讀取內(nèi)部程序存儲(chǔ)器的內(nèi)容
———————————————————————————
PPU|除上述功能外,還禁止程序校驗(yàn)
———————————————————————————
PPP|除上述功能外,還禁止外部執(zhí)行
———————————————————————————
U:表示未編程
P:表示編程


AT89C系列單片機(jī)解密原理
[轉(zhuǎn)載>]


單片機(jī)解密簡單就是擦除單片機(jī)片內(nèi)的加密鎖定位。由于AT89C系列單片機(jī)擦除操作時(shí)序設(shè)計(jì)上的不合理。使在擦除片內(nèi)程序之前首先擦除加密鎖定位成為可能。AT89C系列單片機(jī)擦除操作的時(shí)序?yàn)椋翰脸_始---->擦除操作硬件初始化(10微秒)---->擦除加密鎖定位(50----200微秒)--->擦除片內(nèi)程序存儲(chǔ)器內(nèi)的數(shù)據(jù)(10毫秒)----->擦除結(jié)束。如果用程序監(jiān)控擦除過程,一旦加密鎖定位被擦除就終止擦除操作,停止進(jìn)一步擦除片內(nèi)程序存儲(chǔ)器,加過密的單片機(jī)就變成沒加密的單片機(jī)了。片內(nèi)程序可通過總線被讀出。對于AT89C系列單片機(jī)有兩種不可破解的加密方法。

一、永久性地破壞單片機(jī)的的加密方法。簡稱OTP加密模式。
二、永久性地破壞單片機(jī)的數(shù)據(jù)總線的加密方法。簡稱燒總線加密模式。


AT89C系列單片機(jī)OTP加密模式原理

這種編程加密算法燒壞加密鎖定位(把芯片內(nèi)的硅片擊穿),面不破壞其它部分,不占用單片機(jī)任何資源。加密鎖定位被燒壞后不再具有擦除特性,/52/55有3個(gè)加密位進(jìn)一步增加了加密的可靠性。一旦用加密后,單片機(jī)片內(nèi)的加密位和程序存儲(chǔ)器內(nèi)的數(shù)據(jù)就不能被再次擦除,/52/55單片機(jī)就好象變成了一次性編程的OTP型單片機(jī)一樣。如果用戶程序長度大于89C51單片機(jī)片內(nèi)存儲(chǔ)器的容量,也可使用OPT模式做加密,具體方法如下:
1、按常規(guī)擴(kuò)展一片大容量程序存儲(chǔ)器,如27C512(64K)。
2、把關(guān)鍵的程序部分安排在程序的前4K中。
3、把整個(gè)程序?qū)懭?7C512,再把27C512的前4K填充為0。
4、把程序的前4K固化到AT89C51中,用OPT模式做加密。
5、把單片機(jī)的EA腳接高電平。
這樣程序的前4K在單片機(jī)內(nèi)部運(yùn)行,后60K在片外運(yùn)行。盜版者無法讀出程序的前4K程序,即使知道后60K也無濟(jì)于事。

AT89C系列單片機(jī)煉總線加密模式原理

因?yàn)閱纹瑱C(jī)片內(nèi)的程序代碼最終都要通過數(shù)據(jù)總線讀出,如果指導(dǎo)單片機(jī)的數(shù)據(jù)總線的其中一條線永久性地破壞,解密者即使擦除了加密位,也無法讀出片內(nèi)的程序的正確代碼。89C1051/2051的數(shù)據(jù)總線為P1口燒總線模式燒壞89C2051的P1.0端口,原程序代碼為02H、01H、00H。讀出的數(shù)據(jù)則為03H,01H,00H。其中最低位始終為1,讀出的程序代碼顯然為錯(cuò)碼。這種加密模式用于加密89C1051/2051單片機(jī)。缺點(diǎn)是占用單片機(jī)的資源。開發(fā)設(shè)計(jì)人員在設(shè)計(jì)單片機(jī)硬件系統(tǒng)時(shí)只要預(yù)留出口線P1.0不用,以后就可用燒總線模式對單片機(jī)加密。



關(guān)鍵詞: 89C51 加密位 OTP模式

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉