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