單片機(jī)的片內(nèi)存儲器跟片外存儲器的詳解
來源:宇芯有限公司 日期:2017-12-04 14:57:23
存儲器是單片機(jī)的又一個(gè)重要組成部分,下圖展示了一種存儲容量為256個(gè)單元的存儲器結(jié)構(gòu)示意圖。其中每個(gè)存儲單元對應(yīng)一個(gè)地址,256個(gè)單元共有256個(gè)地址,用兩位16進(jìn)制數(shù)表示,即存儲器的地址(00H~FFH)。存儲器中每個(gè)存儲單元可存放一個(gè)八位二進(jìn)制信息,一般用兩位16進(jìn)制數(shù)來表示,這就是存儲器的內(nèi)容。存儲器的存儲單元地址和存儲單元的內(nèi)容是不同的兩個(gè)概念,不能混淆。
早期,用于分辨片內(nèi)存儲器還是片外存儲器是根據(jù):他們是不是在同一塊集成電路芯片上,來區(qū)分的。數(shù)據(jù)存儲器的傳送指令,也有區(qū)別:片內(nèi)傳送,使用MOV,涉及片外了,就要用MOVX指令。
但是,隨著科學(xué)技術(shù)的發(fā)展,有些單片機(jī)芯片在同一塊芯片上,還集成了少量的“片外存儲器”,針對這些存儲單元操作,就必須使用MOVX指令。這樣一來,無論是片內(nèi)還是片外,區(qū)分的方法應(yīng)該是使用什么指令,而不是看是不是分離成兩塊芯片。
片內(nèi)是單片機(jī)內(nèi)部的,片外是單片機(jī)外部的,也就是其他芯片的,不過現(xiàn)在的有些單片機(jī)的片外RAM也整合到單片機(jī)內(nèi)部了,但名字還是叫片外
所有運(yùn)行的程序都需要從外存儲器調(diào)入內(nèi)存中才能被CPU處理而內(nèi)存中的程序和數(shù)據(jù)在沒有點(diǎn)的情況下不能保存,只有保存到外存儲器中。內(nèi)存儲器相當(dāng)于內(nèi)存,外存儲器相當(dāng)于硬盤。 總之,外存儲器是存儲程序和數(shù)據(jù)的,而內(nèi)存知識在程序運(yùn)行是暫時(shí)存放程序和數(shù)據(jù)
程序存儲器通過(/EA) /Vpp引腳選擇。若(/EA) =0,則允許使用片內(nèi)ROM;若 (/EA)=1則允許使用片外ROM。
數(shù)據(jù)存儲器通過指令區(qū)分:訪問片內(nèi)RAM采用MOV指令,訪問片外RAM采用MOVX指令。
單片機(jī)的存儲器的按功能分為RAM和ROM,RAM常用作寄存器和數(shù)據(jù)存儲器,ROM都用作程序存儲器,片內(nèi)和片外沒什么差別,通常都是片內(nèi)不夠用,片外擴(kuò)充,當(dāng)然,單片機(jī)的特殊寄存器(用作運(yùn)算或設(shè)置單片機(jī)功能)一定在片內(nèi),而且也是不能擴(kuò)充的。
標(biāo)準(zhǔn)mcs-51單片機(jī)內(nèi)部都有內(nèi)部數(shù)據(jù)存儲器,容量128~256bytes;部分型號有程序存儲器(分為PROM、EPROM和EEPROM三種),容量為4~8kBytes;由于內(nèi)數(shù)據(jù)存儲器很小,運(yùn)行較復(fù)雜一點(diǎn)的程序時(shí)一般需要擴(kuò)展外部數(shù)據(jù)存儲器,也就是增加一片RAM芯片,最初使用HM6116,后來用6264.若僅僅擴(kuò)展一片RAM,可以直接用多余引腳來控制,不需要其他芯片,缺點(diǎn)是編程比較麻煩。
經(jīng)過30年的科技進(jìn)步,目前的mcs-51兼容芯片功能有了很大的增強(qiáng),除了內(nèi)部數(shù)據(jù)存儲器沒有變化外,芯片內(nèi)部大都集成了較大容量的FLASH ROM,部分信號還集成了2~12kBytes的擴(kuò)展存儲器,其中擴(kuò)展存儲器需要按照外部數(shù)據(jù)存儲器訪問。
關(guān)鍵詞:
單片機(jī) RAM
上一篇:
內(nèi)存價(jià)格明年依舊持續(xù)維持高位
宇芯有限公司自成立以來,我們專注于代理國內(nèi)外各大知名品牌的半導(dǎo)體元器件,代理品牌有NETSOL、JSC、everspin、來?xiàng)頛yontek、ISSI、CYPRESS等多個(gè)品牌總代理資質(zhì),主要產(chǎn)品線為sram、mram、psram等其他存儲器芯片,致力于為客戶提供具有競爭優(yōu)勢的產(chǎn)品,是一家專業(yè)提供存儲方案解決商。