新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)內(nèi)部存儲(chǔ)器的使用研究

單片機(jī)內(nèi)部存儲(chǔ)器的使用研究

作者: 時(shí)間:2013-09-30 來(lái)源:網(wǎng)絡(luò) 收藏

字節(jié)變化方法表


由于87C196MC的OTPROM只能完成從“1”到“O”的編程,而87C196MC的程序從2000H開(kāi)始執(zhí)行,因此可以在程序從2000H執(zhí)行一小段后進(jìn)行跳轉(zhuǎn),例如首先跳至4100H(對(duì)應(yīng)的機(jī)器碼為E79C1F)再存儲(chǔ)程序的其他部分。下一次使用時(shí),把機(jī)器碼E79C1F改為E79C1E(對(duì)應(yīng)地址為4000H),程序則跳至4000H開(kāi)始執(zhí)行,4100H以后的程序段不再執(zhí)行。再下一次使用時(shí),把
機(jī)器碼E79C1E改為E79C1c(對(duì)應(yīng)地址為3A00H),程序則跳至3A00H開(kāi)始執(zhí)行,4000H以后的程序段不再執(zhí)行,以此類(lèi)推(即機(jī)器碼的最后一個(gè)字節(jié)變化為F→E→c,對(duì)應(yīng)表2中第一組的變化),即可以重復(fù)使用同一片進(jìn)行多次編程操作。

這種方法中,單片機(jī)87C196MC的引腳EA接高電平。它適用于程序簡(jiǎn)短且沒(méi)有擴(kuò)展外部存儲(chǔ)器,只有可用的情況。

2.2片內(nèi)、外編程操作方法

如果容量不夠或因?yàn)槠渌矫嫘枰?,要求擴(kuò)展外部存儲(chǔ)器時(shí),當(dāng)然可以選擇容量較大的外部存儲(chǔ)器,而不使用,但這樣一來(lái),程序的保密性將難以實(shí)現(xiàn),而且浪費(fèi)了單片機(jī)內(nèi)部的存儲(chǔ)器空間。使用內(nèi)、外結(jié)合的方法既可以滿(mǎn)足容量需求,叉能方便的實(shí)現(xiàn)加密操作。

鑒于87C196MC單片機(jī)的程序從2000H開(kāi)始執(zhí)行,將單片機(jī)87C196MC的引腳麗置“1”,那么單片機(jī)程序?qū)膬?nèi)部2000H開(kāi)始執(zhí)行??梢栽诔绦驈?000H執(zhí)行一小段后(根據(jù)實(shí)際需要任意設(shè)定)進(jìn)行跳轉(zhuǎn),此處與片內(nèi)跳轉(zhuǎn)的操作有所不同,它將直接跳出單片機(jī)87C196MC片內(nèi)OTPROM的2000H~5FFFH單元的范圍。當(dāng)命令被執(zhí)行時(shí),會(huì)自動(dòng)轉(zhuǎn)入外部存儲(chǔ)器的地址范圍內(nèi),例如:LJMP8000H,其中8000H是外部存儲(chǔ)器的地址入口,這樣就從片內(nèi)存儲(chǔ)器轉(zhuǎn)入到外部存儲(chǔ)器了??梢酝ㄟ^(guò)修改外部存儲(chǔ)器(可重復(fù)擦寫(xiě))的程序來(lái)進(jìn)行程序的調(diào)試,非常方便。當(dāng)然,如果需要從外部存儲(chǔ)器轉(zhuǎn)入內(nèi)部存儲(chǔ)器時(shí),操作方法是類(lèi)似的。

結(jié) 語(yǔ)

本文詳細(xì)分析介紹了兩種可以實(shí)現(xiàn)可重復(fù)編程的單片機(jī)的使用方法,而且這兩種方法可以推廣至其他任何帶有0TPROM的單片機(jī)編程,編程的思路完全相同,具體實(shí)驗(yàn)證實(shí)了這兩種方法具有切實(shí)可行性。

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉