單片機(jī)數(shù)據(jù)存儲(chǔ)器RAM的擴(kuò)展實(shí)例
RAM是用來(lái)存放各種數(shù)據(jù)的,MCS-51系列8位單片機(jī)內(nèi)部有128 B RAM存儲(chǔ)器,CPU對(duì)內(nèi)部RAM具有豐富的操作指令。但是,當(dāng)單片機(jī)用于實(shí)時(shí)數(shù)據(jù)采集或處理大批量數(shù)據(jù)時(shí),僅靠片內(nèi)提供的RAM是遠(yuǎn)遠(yuǎn)不夠的。此時(shí),我們可以利用單片機(jī)的擴(kuò)展功能,擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器。
常用的外部數(shù)據(jù)存儲(chǔ)器有靜態(tài)RAM(Static Random Access Memory—SRAM)和動(dòng)態(tài)RAM(Dynamic Random Access Memory—DRAM)兩種。前者讀/寫(xiě)速度高,一般都是8位寬度,易于擴(kuò)展,且大多數(shù)與相同容量的EPROM引腳兼容,有利于印刷板電路設(shè)計(jì),使用方便;缺點(diǎn)是集成度低,成本高,功耗大。后者集成度高,成本低,功耗相對(duì)較低;缺點(diǎn)是需要增加一個(gè)刷新電路,附加另外的成本。
MCS-51單片機(jī)擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器的地址線也是由P0口和P2口提供的,因此最大尋址范圍為64 KB(0000H~FFFFH)。
一般情況下,SRAM用于僅需要小于64 KB數(shù)據(jù)存儲(chǔ)器的小系統(tǒng),DRAM經(jīng)常用于需要大于64 KB的大系統(tǒng)。
實(shí)例:在一單片機(jī)應(yīng)用系統(tǒng)中擴(kuò)展2 KB靜態(tài)RAM。
芯片選擇
單片機(jī)擴(kuò)展數(shù)據(jù)存儲(chǔ)器常用的靜態(tài)RAM芯片有6116(2K×8位)、6264(8K×8位)、62256(32K×8位)等。根據(jù)題目容量的要求,我們選用SRAM 6116。
6116的管腳與EPROM 2716管腳兼容,管腳如圖所示
硬件電路
單片機(jī)與6116的硬件連接如圖所示。
連線說(shuō)明
6116與單片機(jī)的連線如下:
地址線:A0~A10連接單片機(jī)地址總線的A0~A10,即P0.0~P0.7、P2.0、P2.1、P2.2共11根。
數(shù)據(jù)線:I/O0~I(xiàn)/O7連接單片機(jī)的數(shù)據(jù)線,即P0.0~P0.7。
控制線:CE片選端連接單片機(jī)的P2.7,即單片機(jī)地址總線的最高位A15;OE讀允許線連接單片機(jī)的讀數(shù)據(jù)存儲(chǔ)器控制線RD;寫(xiě)允許線WE連接單片機(jī)的寫(xiě)數(shù)據(jù)存儲(chǔ)器控制線WR。
片外RAM地址范圍的確定及使用
按照上圖的連線,片選端直接與某一地址線P2.7相連,這種擴(kuò)展方法稱(chēng)為線選法。顯然,只有P2.7=0,才能夠選中該片6116,故其地址范圍確定如下:
如果與6116無(wú)關(guān)的管腳取0,那么,6116的地址范圍是0000H~07FFH;如果與6116無(wú)關(guān)的管腳取1,那么,6116的地址范圍是7800H~7FFFH。
單片機(jī)對(duì)RAM的讀寫(xiě)除了可以如下指令:
MOVX @DPTR,A ;64 KB內(nèi)寫(xiě)入數(shù)據(jù)
MOVX A,@DPTR ;64 KB內(nèi)讀取數(shù)據(jù)
外,還可以使用以下對(duì)低256 B的讀寫(xiě)指令:
MOVX @Ri,A ;低256 B內(nèi)寫(xiě)入數(shù)據(jù)
MOVXA,@Ri ;低256 B內(nèi)讀取數(shù)據(jù)
編輯:admin 最后修改時(shí)間:2018-05-19