當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]本文針對(duì)Intel 87C196MC單片機(jī)內(nèi)部存儲(chǔ)器的不可擦除性,對(duì)兩種情況下的使用問題提供了可以有效實(shí)現(xiàn)重復(fù)編程的方法,并可以推廣至其他任何帶有OTPROM的單片機(jī)系列的編程應(yīng)用中。

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

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

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

1 87C196MC單片機(jī)內(nèi)部存儲(chǔ)器的編程方式
    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ī)編程方式下或在專門的OTPROM編程方式下編程。OTPROM為87C196MC單片機(jī)提供了輔助的存儲(chǔ)器保護(hù)手段,它可以禁止總線控制器執(zhí)行外部取指周期,若企圖把一個(gè)外部地址裝載到PC寄存器,芯片將復(fù)位。這種自動(dòng)復(fù)位功能對(duì)跑飛的代碼也提供了一種額外的恢復(fù)手段。使用時(shí)應(yīng)根據(jù)實(shí)際需要采取不同的編程方式。

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

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

    所謂87C196MC單片機(jī)OTPROM的不可擦除性,實(shí)質(zhì)上是不可實(shí)現(xiàn)從“0”到“1”的編程,而只能完成從“1”到“O”的編程。以下通過簡(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ī)器碼,通過對(duì)這一組機(jī)器碼進(jìn)行分析,就可以得到該方法的原理,如表1所列。

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


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

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

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

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

    鑒于87C196MC單片機(jī)的程序從2000H開始執(zhí)行,將單片機(jī)87C196MC的引腳麗置“1”,那么單片機(jī)程序?qū)膬?nèi)部2000H開始執(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ǔ)器了??梢酝ㄟ^修改外部存儲(chǔ)器(可重復(fù)擦寫)的程序來(lái)進(jìn)行程序的調(diào)試,非常方便。當(dāng)然,如果需要從外部存儲(chǔ)器轉(zhuǎn)入內(nèi)部存儲(chǔ)器時(shí),操作方法是類似的。

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉