新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 51單片機(jī)訪問(wèn)大容量存儲(chǔ)器的實(shí)現(xiàn)

51單片機(jī)訪問(wèn)大容量存儲(chǔ)器的實(shí)現(xiàn)

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

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

51單片機(jī)訪問(wèn)大容量存儲(chǔ)器的實(shí)現(xiàn)
51單片機(jī)訪問(wèn)大容量存儲(chǔ)器的實(shí)現(xiàn)

2.2 外部數(shù)據(jù)存儲(chǔ)采用大容量存貯芯片,分段使用

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

51單片機(jī)訪問(wèn)大容量存儲(chǔ)器的實(shí)現(xiàn)
51單片機(jī)訪問(wèn)大容量存儲(chǔ)器的實(shí)現(xiàn)

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

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

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

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




評(píng)論


相關(guān)推薦

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

關(guān)閉