色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

          第一,單片機(jī)采用三總線結(jié)構(gòu)傳遞數(shù)據(jù)。地址總線、數(shù)據(jù)總線、控制總線。傳遞數(shù)據(jù)的過(guò)程是先尋址,再傳遞數(shù)據(jù)。即先送一個(gè)地址信息(由微處理器向總線寫(xiě)一個(gè)地址信息),由寄存器(也可能是程序存儲(chǔ)器,也可能是數(shù)據(jù)存儲(chǔ)器)根據(jù)這個(gè)地址,把微處理器要讀取的數(shù)據(jù)寫(xiě)到總線上,微處理器再讀取這個(gè)數(shù)據(jù)。整個(gè)過(guò)程由控制總線控制。所以每次讀的數(shù)據(jù)是針對(duì)那個(gè)地址對(duì)應(yīng)的寄存器操作的,不會(huì)發(fā)生混亂。寫(xiě)數(shù)據(jù)時(shí)一樣,先尋址,再寫(xiě)數(shù)據(jù),數(shù)據(jù)就寫(xiě)入剛才尋址時(shí)的地址對(duì)應(yīng)的那個(gè)寄存器里去了。 第二、程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器有不同的選通信號(hào),在一個(gè)指令周期里,是不同的時(shí)間選通的,所以不會(huì)混亂。 第三。選通的引腳不同。拿片外數(shù)據(jù)存儲(chǔ)器來(lái)說(shuō),是P3的第6和第7引腳做選通信號(hào),程序存儲(chǔ)器是PSEN做選通信號(hào),他們接在各自器件的選通引腳上,所以不會(huì)混亂。 第四,指令不同。拿匯編指令來(lái)說(shuō)。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)榈碗娖降模瑳](méi)有重疊的部分。也就是說(shuō),當(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)然我說(shuō)的是片外程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器的的情況,其實(shí)對(duì)片內(nèi)也一樣,還是三總線的這種控制方式,使它們?cè)诓煌臅r(shí)間被選通,而不至于發(fā)生沖突。 看看單片機(jī)的一個(gè)電路圖。你會(huì)發(fā)現(xiàn)p0既跟74LS373連,又跟8155或8255或鍵盤(pán)或數(shù)模轉(zhuǎn)換器等等連。而8155或8255或鍵盤(pán)或數(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í)間上沒(méi)有重疊部分,所以p0的信號(hào)不會(huì)被程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器同時(shí)收到。

          本文引用地址:http://cafeforensic.com/article/201611/315859.htm


          評(píng)論


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

          關(guān)閉