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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機下程序RAM, ROM ,F(xiàn)lash

          單片機下程序RAM, ROM ,F(xiàn)lash

          作者: 時間:2013-12-02 來源:網(wǎng)絡(luò) 收藏

          8K的flash是有8*1024個字節(jié),一條指令可能有1~4個機器碼,即1~4個字節(jié),其中1~2機器碼的指令使用最為頻繁,所以這樣算,大約可以寫4000~8000條指令。一般的應(yīng)用是寫不到這么多的指令的。但是用于存儲其他數(shù)據(jù),例如漢字,數(shù)字點陣代碼可能會超出預(yù)算。對于真的不夠用的情況,建議樓主直接買塊大容量的片。擴(kuò)充flash不是很可取,增加了系統(tǒng)的不穩(wěn)定因素,又提升了板的面積,布線難度。假如真的要擴(kuò)容,可以有很多辦法。擴(kuò)展EEP(現(xiàn)常用256K~1M),或擴(kuò)展基于SPI總線的flash memory(主流32M~128M),此兩個總線驅(qū)動程序簡單,方便擴(kuò)展。

          FLASH主要用作程序存貯器,就是替代以前的,最大的有有點是降低了芯片的成本并且可以做到電擦寫,目前市場上的FALSH壽命相差比較大,擦寫次數(shù)從1000~10萬的都有,但存儲時間可以保證40年,在選用時要注意.還有一些廉價的為了集成可掉電的數(shù)據(jù)存儲器,沒有選用價格昂貴的EEP,而用FALSH來做的,但要注意其壽命最多就10萬次,而且擦寫不能字節(jié)擦寫,這要注意使用的場合其壽命是否滿足要求.

          是數(shù)據(jù)存儲器,跟計算機里面的內(nèi)存差不多,主要是用來存放程序運行中的過程數(shù)據(jù),掉電后就會丟失之前的數(shù)據(jù),所以程序在上電時需要進(jìn)行初始化,否則上電后的數(shù)據(jù)是一個隨機數(shù),可能導(dǎo)致程序奔潰.

          ROM就是程序存儲器,掉電后數(shù)據(jù)不會丟失,但在程序運行過程中其數(shù)據(jù)不會改變.早期的單片機的ROM因為擦寫修改麻煩,價格昂貴或者價格低廉的OTP型無法修改數(shù)據(jù)等原因已經(jīng)被現(xiàn)在的FLASH存儲器替代了.因為FLASH的擦寫很容易,現(xiàn)在的部分單片機支持在線內(nèi)部編程,通過特定的程序執(zhí)行方式可以修改FALSH的內(nèi)容,而實現(xiàn)在線修改程序存儲器.這與上面說的程序存儲器的內(nèi)容在運行的時候不可被改變是不沖突的,因為在程序正常運行時,其內(nèi)容不會改變,只工作在只讀狀態(tài)下的.

          51單片機相關(guān)文章:51單片機教程


          單片機相關(guān)文章:單片機教程


          單片機相關(guān)文章:單片機視頻教程


          單片機相關(guān)文章:單片機工作原理


          存儲器相關(guān)文章:存儲器原理




          關(guān)鍵詞: 單片機 RAM ROM Flash

          評論


          相關(guān)推薦

          技術(shù)專區(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); })();