<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          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ò) 收藏
          隨著變頻調(diào)速以及微機(jī)控制技術(shù)的發(fā)展,適應(yīng)的Intel 8XC196MC系列應(yīng)用越來(lái)越廣泛。

          與80C196MC相比,87C196MC帶有16 KB的OTPROM(One Tline Programmable Read-Only Memory),可以進(jìn)行片內(nèi)編程操作,而且可以增強(qiáng)加密功能。對(duì)于普通的控制系統(tǒng)來(lái)說(shuō),其存儲(chǔ)容量足夠大,不必再使用外部擴(kuò)展存儲(chǔ)器。然而87C196MC的OTPROM存在一個(gè)缺點(diǎn):不可擦除,也就是說(shuō)只能編程一次,不能實(shí)現(xiàn)重復(fù)編程,不利于大量普及使用。

          當(dāng)程序從仿真器移植到單片機(jī)的OTPROM時(shí),并不能保證程序的一次成功性,由于單片機(jī)的不可擦除性,若程序脫機(jī)一次就使用一片單片機(jī),顯然將造成巨大的資源浪費(fèi)。另一方面,對(duì)于復(fù)雜系統(tǒng),16KB的O
          TPROM容量如果不夠,則需要采用擴(kuò)展外部存儲(chǔ)器,為了保證有效實(shí)現(xiàn)加密功能,應(yīng)保留一部分程序在片內(nèi)OTPROM,此時(shí)便涉及到單片機(jī)內(nèi)、外存儲(chǔ)器的銜接問(wèn)題。

          本文針對(duì)Intel 87C196MC單片機(jī)的不可擦除性,對(duì)兩種情況下的使用問(wèn)題提供了可以有效實(shí)現(xiàn)重復(fù)編程的方法,并可以推廣至其他任何帶有OTPROM的單片機(jī)系列的編程應(yīng)用中。

          1 87C196MC單片機(jī)的編程方式

          Intel 87C196MC單片機(jī)支持三種編程方式:自動(dòng)編程方式(使87C196MC單片機(jī)不用EPROM編程器即可從外部EPROM對(duì)自己編程)、從機(jī)編程方式(給外部EPROM編程器提供了一個(gè)標(biāo)準(zhǔn)接口)和實(shí)時(shí)編程方式(運(yùn)行中編程方式,可以在軟件控制下實(shí)時(shí)對(duì)單個(gè)EPROM單元編程)。和其他方式不同,實(shí)時(shí)編程可以在不進(jìn)入全EPROM編程方式下完成。

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

          2 87C196MC單片機(jī)的重復(fù)編程方法

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

          2.1片內(nèi)編程操作方法

          所謂87C196MC單片機(jī)OTPROM的不可擦除性,實(shí)質(zhì)上是不可實(shí)現(xiàn)從“0”到“1”的編程,而只能完成從“1”到“O”的編程。以下通過(guò)簡(jiǎn)單的程序?qū)嵗齺?lái)介紹這種方法。

          LJMP NEXTl
          CSEG AT 2600H
          NEXTl:……
          上述語(yǔ)句實(shí)際上代表的是LJMP2600H.其機(jī)器碼為E79C04,當(dāng)?shù)刂?600H變化時(shí),得到一組對(duì)應(yīng)的機(jī)器碼,通過(guò)對(duì)這一組機(jī)器碼進(jìn)行分析,就可以得到該方法的原理,如表1所列。

          程序?qū)?yīng)機(jī)器碼表


          機(jī)器碼E79C04的后兩個(gè)字節(jié)代表了匯編程序語(yǔ)句中的地址(04代表了2600H,14代表了3600H……)。當(dāng)一個(gè)字節(jié)從4位全是“1”變成4位全是“O”,且每次只有一個(gè)“l(fā)”變?yōu)椤?”時(shí),可以有多種不同的變法,如表2所列。

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

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();