国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

OTPROM型單片機內內部存儲器的使用研究

發布時間:2010-9-16 10:15    發布者:conniede
關鍵詞: OTPROM , 存儲器 , 單片機
隨著變頻調速以及微機控制技術的發展,適應電機控制的Intel 8XC196MC系列單片機應用越來越廣泛。

與80C196MC相比,87C196MC單片機帶有16 KB的OTPROM(One Tline Programmable Read-Only Memory),可以進行片內編程操作,而且可以增強加密功能。對于普通的控制系統來說,其存儲容量足夠大,不必再使用外部擴展存儲器。然而87C196MC單片機的OTPROM存在一個缺點:不可擦除,也就是說只能編程一次,不能實現重復編程,不利于大量普及使用。

當程序從仿真器移植到單片機的OTPROM時,并不能保證程序的一次成功性,由于單片機的不可擦除性,若程序脫機一次就使用一片單片機,顯然將造成巨大的資源浪費。另一方面,對于復雜系統,16KB的OTPROM容量如果不夠,則需要采用擴展外部存儲器,為了保證有效實現加密功能,應保留一部分程序在片內OTPROM,此時便涉及到單片機內、外存儲器的銜接問題。

本文針對Intel 87C196MC單片機內部存儲器的不可擦除性,對兩種情況下的使用問題提供了可以有效實現重復編程的方法,并可以推廣至其他任何帶有OTPROM的單片機系列的編程應用中。

1 87C196MC單片機內部存儲器的編程方式

Intel 87C196MC單片機支持三種編程方式:自動編程方式(使87C196MC單片機不用EPROM編程器即可從外部EPROM對自己編程)、從機編程方式(給外部EPROM編程器提供了一個標準接口)和實時編程方式(運行中編程方式,可以在軟件控制下實時對單個EPROM單元編程)。和其他方式不同,實時編程可以在不進入全EPROM編程方式下完成。

對于Intel 87C196MC單片機的OTPROM只能編程,不能擦除,但在編程時可以驗證是否已確實編程。對0TPROM可以采用2種編程方法:在從機編程方式下或在專門的OTPROM編程方式下編程。OTPROM為87C196MC單片機提供了輔助的存儲器保護手段,它可以禁止總線控制器執行外部取指周期,若企圖把一個外部地址裝載到PC寄存器,芯片將復位。這種自動復位功能對跑飛的代碼也提供了一種額外的恢復手段。使用時應根據實際需要采取不同的編程方式。

2 87C196MC單片機內部存儲器的重復編程方法

單片機87C196MC的EA引腳(外部訪問允許端,87C196MC PLCC84-36腳)用來控制訪問內部存儲器或外部存儲器。當EA=O時,所有訪問都是對片外存儲器的;當EA=1時,對2000H~5FFFH單元的訪問都是對片內OTPROM/ROM的。編程方式下,EA=12.5 V。由于復位時EA的電平被鎖存,難以通過外部硬件電路來實現程序空間的選擇。這里通過應用程序語句來控制程序地址范圍,相當于EA的電平變化作用。本文主要應用了Intel匯編語言的長跳轉指令UMP來實現控制訪問內、外存儲器的功能,下面介紹兩種常用的方法。

2.1 片內編程操作方法

所謂87C196MC單片機OTPROM的不可擦除性,實質上是不可實現從“0”到“1”的編程,而只能完成從“1”到“O”的編程。以下通過簡單的程序實例來介紹這種方法。

LJMP NEXTl
CSEG AT2600H
NEXTl:……  ;

上述語句實際上代表的是LJMP2600H.其機器碼為E79C04,當地址2600H變化時,得到一組對應的機器碼,通過對這一組機器碼進行分析,就可以得到該方法的原理,如表1所列。


機器碼E79C04的后兩個字節代表了匯編程序語句中的地址(04代表了2600H,14代表了3600H……)。當一個字節從4位全是“1”變成4位全是“O”,且每次只有一個“l”變為“0”時,可以有多種不同的變法,如表2所列。


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

這種方法中,單片機87C196MC的引腳EA接高電平。它適用于程序簡短且沒有擴展外部存儲器,只有內部存儲器可用的情況。

2.2 片內、外編程操作方法

如果內部存儲器容量不夠或因為其他方面需要,要求擴展外部存儲器時,當然可以選擇容量較大的外部存儲器,而不使用內部存儲器,但這樣一來,程序的保密性將難以實現,而且浪費了單片機內部的存儲器空間。使用內、外結合的方法既可以滿足容量需求,叉能方便的實現加密操作。

鑒于87C196MC單片機的程序從2000H開始執行,將單片機87C196MC的引腳麗置“1”,那么單片機程序將從內部2000H開始執行。可以在程序從2000H執行一小段后(根據實際需要任意設定)進行跳轉,此處與片內跳轉的操作有所不同,它將直接跳出單片機87C196MC片內OTPROM的2000H~5FFFH單元的范圍。當命令被執行時,會自動轉入外部存儲器的地址范圍內,例如:LJMP8000H,其中8000H是外部存儲器的地址入口,這樣就從片內存儲器轉入到外部存儲器了。可以通過修改外部存儲器(可重復擦寫)的程序來進行程序的調試,非常方便。當然,如果需要從外部存儲器轉入內部存儲器時,操作方法是類似的。

3 結 語

本文詳細分析介紹了兩種可以實現可重復編程的單片機的使用方法,而且這兩種方法可以推廣至其他任何帶有0TPROM的單片機編程,編程的思路完全相同,具體實驗證實了這兩種方法具有切實可行性。
本文地址:http://m.qingdxww.cn/thread-27019-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 五月月色开心婷婷久久合 | 国产精品9999久久久久 | 欧美日韩中文国产 | 亚洲国产韩国一区二区 | 99在线观看 | 亚洲日韩男人网在线 | 特黄aaaaaa久久片 | 91无套极品外围在线播放 | 国产视频一区在线观看 | 欧美激情一级欧美精品 | 欧美福利视频导航 | 91精品国产一区二区三区左线 | 欧美日韩一区二区高清视 | 性生生活三级视频观看 | 欧美精品无需播放器在线观看 | 精品精品国产自在香蕉网 | 视频一区二区在线观看 | 国产网站在线播放 | 男人的亚洲天堂 | 成人欧美网站免费 | 羞羞视频官网 | 欧美日韩国产在线一区 | 久久香蕉国产精品一区二区三 | 香蕉视频在线播放 | 亚洲成人网在线播放 | 国产精品中文字幕在线观看 | 国产精品视频1区 | 一级毛片视频在线 | 日本成人免费在线观看 | 调教圈| 日韩一级片在线免费观看 | 五月婷婷综合色 | 日韩黑丝 | 男女做爽爽视频免费观看 | 亚洲欧美专区精品久久 | 日韩草逼 | 免费看片污 | 操摸| 色五月在线视频 | 成人亚欧网站在线观看 | 亚洲毛片在线播放 |