單片機(jī)就是個小計(jì)算機(jī),大計(jì)算機(jī)少不了的數(shù)據(jù)存儲系統(tǒng),單片機(jī)一樣有,而且往往和CPU集成在一起,更加顯得小巧靈活。直到90年代初,國內(nèi)容易得到的單片機(jī)就是8031:不帶存儲器的芯片,要想工作,還必須外加RAM和ROM,單片機(jī)成了3片機(jī)。現(xiàn)在不同了,大的小的又是51,又是AVR又是STC,還有什么430,PIC等等,都各說各的好,可是誰也不敢說“我不要存儲器”。 數(shù)據(jù)存儲器ram 這是個可以隨時存取數(shù)據(jù)的一塊存儲器,也就是可以讀(取)也可以寫(存)的存儲器,簡稱ram。 現(xiàn)在的單片機(jī)里面使用的ram,屬于靜態(tài)RAM或SRAM,這個和電腦用的內(nèi)存條有所不同。只要你把數(shù)據(jù)寫入SRAM后,不斷電或者不清除掉,這個數(shù)據(jù)就一直保存在那里。 電腦用的是動態(tài)ram,要不斷給它加刷新脈沖才能保存數(shù)據(jù)。因?yàn)閱纹瑱C(jī)處理的信息量比電腦小很多,所以它帶的RAM也比較少:從完全不帶、帶128、256、...1K、2K,到4K,比ROM少多了。因?yàn)閷?shí)際上ram只是作為數(shù)據(jù)臨時存放的地方,除非進(jìn)行圖像處理需要存放大量的數(shù)據(jù)外。一般對于執(zhí)行較簡單任務(wù)的單片機(jī),有這么多也夠用,如果實(shí)在不夠用也只能采取外加SRAM來擴(kuò)展。 為了對RAM單元存取8位二進(jìn)制數(shù),當(dāng)然也得和ROM一樣用“地址”來標(biāo)示它的具體位置。假如某單片機(jī)有1K(1024)RAM,它的地址也是從0000到1024,或16進(jìn)制數(shù)的0000H到03FFH。可見,和ROM的地址是一樣的。 ram在單片機(jī)里的用途 ram在單片機(jī)里的用途,主要是存放臨時數(shù)據(jù)。例如用單片機(jī)測溫,每秒測1次,顯示1分鐘的平均值(1分鐘更新一次):我們先通過傳感器、放大電路、A/D轉(zhuǎn)換,把溫度這個模擬量轉(zhuǎn)變?yōu)槌杀壤亩M(jìn)制數(shù),然后每秒鐘1次把數(shù)字量通過輸入口順序存入到單片機(jī)的RAM中,然后對他們進(jìn)行兩兩求和再平均的計(jì)算,最后的數(shù)值顯示出來,然后把這60個存儲單元統(tǒng)統(tǒng)寫0清除舊數(shù)據(jù),下次又是如此循環(huán)進(jìn)行。 |
現(xiàn)在的單片機(jī)里面使用的ram,屬于靜態(tài)RAM或SRAM,這個和電腦用的內(nèi)存條有所不同。只要你把數(shù)據(jù)寫入SRAM后,不斷電或者不清除掉,這個數(shù)據(jù)就一直保存在那里。 |