<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 51單片機訪(fǎng)問(wèn)大容量存儲器的實(shí)現

51單片機訪(fǎng)問(wèn)大容量存儲器的實(shí)現

作者: 時(shí)間:2012-10-12 來(lái)源:網(wǎng)絡(luò ) 收藏

1 引言
  MCS-51系列單片機有著(zhù)優(yōu)越的性?xún)r(jià)比,因此應用面寬,使用量也非常大;然而它只有16位地址線(xiàn),最大能訪(fǎng)問(wèn)的存儲空間為64K,且擴展接口與存儲器,擴展接口會(huì )占用大量的地址空間,致使該系列單片機在數據量大的數據采集系統中,存儲空間明顯不足。
  筆者最近在開(kāi)發(fā)一數據采集系統時(shí),經(jīng)分析、探索,找到了解決的辦法。
2 使用的原理
2.1 使擴展接口不占用單片機的存儲地址空間
  由于MCS-的擴展接口與存儲器,采用常規的方法擴展接口時(shí)會(huì )占用大量的地址空間,而多數應用系統均會(huì )要求擴展接口(本例有七段LED的段輸出口、位輸出口、鍵盤(pán)口各一個(gè)),為此,使擴展接口不占用單片機的存儲地址空間對于要求大容量數據存儲器的系統是必要的。
  如圖1,用P1口的一位,只要確保寫(xiě)數據到顯示的段口時(shí),使用一空余(或專(zhuān)門(mén)預留)的地址(如0000H),即可使擴展接口不占用單片機的存儲地址空間且不會(huì )相互干擾、發(fā)生沖突,同時(shí)還可保證有足夠的響應速度。

51單片機訪(fǎng)問(wèn)大容量存儲器的實(shí)現
51單片機訪(fǎng)問(wèn)大容量存儲器的實(shí)現

2.2 外部數據存儲采用大容量存貯芯片,分段使用

如圖示,MCS-51的16位地址線(xiàn)作為存儲芯片的低位地址,可訪(fǎng)問(wèn)64K的存儲空間(作為一段);再用P1口的D1、D0位作為存儲芯片的高位地址(段地址),則可把存儲器分為4段,最大訪(fǎng)問(wèn)能力可達256K(見(jiàn)下表),若使用更多的位,則訪(fǎng)問(wèn)能力可更大。編程時(shí)只要確保高位地址(A16~A19)在訪(fǎng)問(wèn)存儲芯片的指令執行前確定,即可實(shí)現存儲芯片全部空間的訪(fǎng)問(wèn)。

51單片機訪(fǎng)問(wèn)大容量存儲器的實(shí)現
51單片機訪(fǎng)問(wèn)大容量存儲器的實(shí)現

3 編程實(shí)現
3.1 訪(fǎng)問(wèn)擴展接口   
...
CLR P1.7
MOV DPTR,#0000H ??;專(zhuān)門(mén)預留的一個(gè)地址MOV A,?。ATA1
MOVX  ?。繢PTR,A ??;數據輸出到顯示的段口SETB   P1.7
MOV A,#DATA2MOVX@DPTR,A ??;數據輸出到顯示的位口  
...

SETB P1.7
MOV DPTR,#0000H ??;專(zhuān)門(mén)預留的一個(gè)單  元地址
MOVX A,@DPTR   ??;讀鍵盤(pán)口數據到ACC  
...

3.2 訪(fǎng)問(wèn)存儲器
程序中要訪(fǎng)問(wèn)存儲器時(shí),只需按如下順序編寫(xiě)程序即可:設定片選(CLR P1.7);設定存儲器的段位置;用MOVX讀寫(xiě)存儲器

例:  
...
CLR  P3.0 ??;使存儲芯片的片選有效CLR P1.0
CLR P1.1 ??;選取0FFFFH~00000H存儲區間MO DPTR,#ADDR1
MOV  A,#DATA1 ??;數據寫(xiě)到ADDR1單元MOVX@DPTR,AMOV DPTR,#ADDR2
 MOVX A,@DPTR ??;讀ADDR2單元的數據到A
4 結束語(yǔ)
  使用本方法可輕易地為MCS-擴展大容量的數據存儲器,這對于數據量大的數據采集系統有著(zhù)非常大的意義。




評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>