51單片機(jī)片外擴(kuò)展RAM
一.概述
普通51單片機(jī)可以片外擴(kuò)展ROM和RAM各64K字節(jié)的空間,在實(shí)際應(yīng)用中很少擴(kuò)展外部ROM,一般都是擴(kuò)展RAM,因?yàn)槠胀?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/51單片機(jī)">51單片機(jī)的內(nèi)部RAM實(shí)在太少,只有128-256字節(jié),處理數(shù)據(jù)量較大時(shí)往往不夠用。而片外擴(kuò)展RAM需要占用P0口、P2口和P3.6、P3.7,消耗了18個(gè)IO口,導(dǎo)致IO口又不夠用。為了解決以上矛盾,大容量的51單片機(jī)(增強(qiáng)型51單片機(jī))應(yīng)運(yùn)而生,這種單片機(jī)一般內(nèi)置1K-16K的RAM和16K-64K的ROM,價(jià)格也相對(duì)昂貴。在某些情況下,用普通51單片機(jī)通過(guò)片外擴(kuò)展RAM要比直接使用增強(qiáng)型51單片機(jī)更能節(jié)約成本。所以,學(xué)習(xí)51單片機(jī)片外擴(kuò)展RAM是很有必要的。
二.電路設(shè)計(jì)
在WSF-51DB開發(fā)板上,擴(kuò)展了32K RAM(HM62256B),地址鎖存芯片用74HC573。如果片外擴(kuò)展RAM,P0口作為數(shù)據(jù)和地址低字節(jié)的復(fù)用端口,不需要加上拉排阻,當(dāng)然,加上拉排阻也沒(méi)有影響。需要注意的是,當(dāng)使用片外擴(kuò)展RAM時(shí),P0口和P2口最好不要接有其他資源。訪問(wèn)外部擴(kuò)展的32K RAM只用到15根地址線,所以用P2.7作為地址鎖存器74HC573的使能引腳和HM62256B的片選。如下圖,為了減少交叉連線,74HC573作了向下翻轉(zhuǎn),看起來(lái)有些別扭。
三.軟件設(shè)計(jì)
/***************************************************
*程序名稱: 51單片機(jī)片外擴(kuò)展RAM測(cè)試
*程序功能: 把數(shù)據(jù)寫入片外RAM,再?gòu)钠釸AM讀取數(shù)據(jù),點(diǎn)亮P1口的8個(gè)LED
*開發(fā)工具:WSF-51DB開發(fā)板
* MCU型號(hào):AT89S52-24PU
*時(shí)鐘頻率:12MHZ
*程序作者: 吳師傅
*版權(quán)說(shuō)明:吳師傅版權(quán)所有,轉(zhuǎn)載請(qǐng)注明來(lái)源地址和作者。
**************************************************/
#i nclude
#i nclude //包含片外存儲(chǔ)空間絕對(duì)地址訪問(wèn)函數(shù):XBYTE[]
sbit oe=P2^7;//片外RAM芯片片選和地址鎖存器74HC573使能
unsigned char code ramdata[100]= //定義100個(gè)數(shù)據(jù)
評(píng)論