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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器

          單片機(jī)中程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器

          作者: 時(shí)間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
          1. 程序存儲(chǔ)器是用于存放是系統(tǒng)工作的應(yīng)用程序及一些不需改變的數(shù)據(jù)常數(shù)的,程序?qū)懭氤绦虼鎯?chǔ)器后,單片機(jī)系統(tǒng)只能讀取程序指令使系統(tǒng)運(yùn)行,而不能再進(jìn)行改寫,且系統(tǒng)掉電后,程序不會(huì)丟失。因此,程序存儲(chǔ)器是ROM(Read Only Memory),即只讀存儲(chǔ)器。 數(shù)據(jù)存儲(chǔ)器是用于存放程序運(yùn)行的中間處理數(shù)據(jù)的,可隨程序運(yùn)行而隨時(shí)寫入或讀出數(shù)據(jù)存儲(chǔ)器的內(nèi)容,當(dāng)系統(tǒng)掉電時(shí),數(shù)據(jù)全部會(huì)丟失。因此,數(shù)據(jù)存儲(chǔ)器是RAM(Random Accese Memory),即可隨機(jī)讀寫的存儲(chǔ)器。
          EEPROM和FLASH基本都是非易失性存儲(chǔ)器。EEPROM應(yīng)屬于數(shù)據(jù)存儲(chǔ)器,但是它制造工藝和FLASH更近似。FLASH是用于存儲(chǔ)程序代碼的,有些場(chǎng)合也可能用它來保存數(shù)據(jù),當(dāng)然前提是該單片機(jī)的FLASH工藝是可以自寫的(運(yùn)行中可擦寫),但要注意FLASH的擦寫次數(shù)通常小于一萬次,而且通常FLASH只能按塊擦除。EEPROM不能用來存程序,通常單片機(jī)的指令尋址不能到這個(gè)區(qū)域。EEPROM的擦寫次數(shù)應(yīng)有百萬次,而且可以按字節(jié)擦寫。
          2.因?yàn)槌绦虼鎯?chǔ)器和數(shù)據(jù)存儲(chǔ)器是獨(dú)立編址的,訪問的時(shí)候可以采用不同的指令和不同的選通信號(hào)來區(qū)分。

          第一,單片機(jī)采用三總線結(jié)構(gòu)傳遞數(shù)據(jù)。地址總線、數(shù)據(jù)總線、控制總線。傳遞數(shù)據(jù)的過程是先尋址,再傳遞數(shù)據(jù)。即先送一個(gè)地址信息(由微處理器向總線寫一個(gè)地址信息),由寄存器(也可能是程序存儲(chǔ)器,也可能是數(shù)據(jù)存儲(chǔ)器)根據(jù)這個(gè)地址,把微處理器要讀取的數(shù)據(jù)寫到總線上,微處理器再讀取這個(gè)數(shù)據(jù)。整個(gè)過程由控制總線控制。所以每次讀的數(shù)據(jù)是針對(duì)那個(gè)地址對(duì)應(yīng)的寄存器操作的,不會(huì)發(fā)生混亂。寫數(shù)據(jù)時(shí)一樣,先尋址,再寫數(shù)據(jù),數(shù)據(jù)就寫入剛才尋址時(shí)的地址對(duì)應(yīng)的那個(gè)寄存器里去了。 第二、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器有不同的選通信號(hào),在一個(gè)指令周期里,是不同的時(shí)間選通的,所以不會(huì)混亂。 第三。選通的引腳不同。拿片外數(shù)據(jù)存儲(chǔ)器來說,是P3的第6和第7引腳做選通信號(hào),程序存儲(chǔ)器是PSEN做選通信號(hào),他們接在各自器件的選通引腳上,所以不會(huì)混亂。 第四,指令不同。拿匯編指令來說。MOV是程序存儲(chǔ)器傳遞數(shù)據(jù)用,MOVX是數(shù)據(jù)存儲(chǔ)器傳遞數(shù)據(jù)用(對(duì)片外而言)。 總之,記住三總線傳遞的方式,先尋址,再傳數(shù),由控制總線控制,這個(gè)模式,你就容易理解這個(gè)了。 單片機(jī)的p2和p0分別傳遞地址的高八位和低八位。同時(shí)p0還傳遞數(shù)據(jù)。在時(shí)序信號(hào)的ALE高電平期間,鎖定地址信息。/PSEN是選通程序存儲(chǔ)器的。在/PSEN低電平期間是向程序存儲(chǔ)器傳遞程序代碼,/WR和/RD是選通數(shù)據(jù)存儲(chǔ)器的,即在/WR和/RD(p3的六腳和七腳)低電平期間把數(shù)據(jù)傳遞給數(shù)據(jù)寄存器。而/PSEN和/WR及/RD是在不同時(shí)間變?yōu)榈碗娖降?,沒有重疊的部分。也就是說,當(dāng)/WR及/RD變成低電平時(shí),/PSEN已經(jīng)恢復(fù)高電平了,由P0口傳出的數(shù)據(jù)信息當(dāng)然只會(huì)傳到數(shù)據(jù)存儲(chǔ)器里,因?yàn)槌绦虼鎯?chǔ)器已經(jīng)不再處于選通狀態(tài)了??!從表面看,都是從p0口傳出的,但因?yàn)檫x通器件的時(shí)間不同而不會(huì)發(fā)生混亂。當(dāng)然我說的是片外程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的的情況,其實(shí)對(duì)片內(nèi)也一樣,還是三總線的這種控制方式,使它們?cè)诓煌臅r(shí)間被選通,而不至于發(fā)生沖突。 看看單片機(jī)的一個(gè)電路圖。你會(huì)發(fā)現(xiàn)p0既跟74LS373連,又跟8155或8255或鍵盤或數(shù)模轉(zhuǎn)換器等等連。而8155或8255或鍵盤或數(shù)模轉(zhuǎn)換器等等對(duì)單片機(jī)而言是當(dāng)做數(shù)據(jù)存儲(chǔ)器處理的。74LS373連的多半是程序存儲(chǔ)器。那么p0送出的信號(hào)不是兩者都接受了嗎?注意看ALE接74LS373的G接口,鎖存地址用,PSEN有時(shí)用有時(shí)不用。WR和RD接數(shù)據(jù)存儲(chǔ)器的選通接口。因?yàn)閃R和RD跟ALE的信號(hào)在時(shí)間上沒有重疊部分,所以p0的信號(hào)不會(huì)被程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器同時(shí)收到。

          本文引用地址:http://www.ex-cimer.com/article/201611/315859.htm


          評(píng)論


          技術(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); })();