單片機內部存儲器的使用研究
由于87C196MC單片機的OTPROM只能完成從“1”到“O”的編程,而87C196MC單片機的程序從2000H開(kāi)始執行,因此可以在程序從2000H執行一小段后進(jìn)行跳轉,例如首先跳至4100H(對應的機器碼為E79C1F)再存儲程序的其他部分。下一次使用時(shí),把機器碼E79C1F改為E79C1E(對應地址為4000H),程序則跳至4000H開(kāi)始執行,4100H以后的程序段不再執行。再下一次使用時(shí),把
這種方法中,單片機87C196MC的引腳EA接高電平。它適用于程序簡(jiǎn)短且沒(méi)有擴展外部存儲器,只有內部存儲器可用的情況。
2.2片內、外編程操作方法
如果內部存儲器容量不夠或因為其他方面需要,要求擴展外部存儲器時(shí),當然可以選擇容量較大的外部存儲器,而不使用內部存儲器,但這樣一來(lái),程序的保密性將難以實(shí)現,而且浪費了單片機內部的存儲器空間。使用內、外結合的方法既可以滿(mǎn)足容量需求,叉能方便的實(shí)現加密操作。
鑒于87C196MC單片機的程序從2000H開(kāi)始執行,將單片機87C196MC的引腳麗置“1”,那么單片機程序將從內部2000H開(kāi)始執行??梢栽诔绦驈?000H執行一小段后(根據實(shí)際需要任意設定)進(jìn)行跳轉,此處與片內跳轉的操作有所不同,它將直接跳出單片機87C196MC片內OTPROM的2000H~5FFFH單元的范圍。當命令被執行時(shí),會(huì )自動(dòng)轉入外部存儲器的地址范圍內,例如:LJMP8000H,其中8000H是外部存儲器的地址入口,這樣就從片內存儲器轉入到外部存儲器了??梢酝ㄟ^(guò)修改外部存儲器(可重復擦寫(xiě))的程序來(lái)進(jìn)行程序的調試,非常方便。當然,如果需要從外部存儲器轉入內部存儲器時(shí),操作方法是類(lèi)似的。
結 語(yǔ)
本文詳細分析介紹了兩種可以實(shí)現可重復編程的單片機的使用方法,而且這兩種方法可以推廣至其他任何帶有0TPROM的單片機編程,編程的思路完全相同,具體實(shí)驗證實(shí)了這兩種方法具有切實(shí)可行性。
評論