單片機內的Flash與EEPROM作用及區別
單片機運行時的數據都存在於 RAM(隨機存儲器中,在掉電后RAM中的數據是無法保存的,那么怎樣使數據在掉電后不喪失呢 ?這就需要使用EEPROM或 FLASHROM等存儲器來實現。在STC單片機中內置了 EEPROM(其實是采用IAP技術讀寫內部FLASH來實現EEPROM,這樣就節省了片外資源,使用起來也更加方便。下面就詳細介紹STC單片機內置EEPROM及其使用方法。
flash是用來放程序的,可以稱之為程序存儲器 ,可以擦出寫入但是根本都是整個扇區進行的.
一般來說單片機里的flash都用於存放運行代碼,在運行過程中不能改;EEPROM是用來保存用戶數據,
運行過程中可以改變,比方一個時鍾的鬧鈴時間初始化設定為 12:00,后來在運行中改為 6:00,這是保存在EEPROM里,不怕掉電,就算重新上電也不需要重新調整到 6:00
FLASH和EEPROM的最大區別是FLASH按扇區操作,EEPROM那么按字節操作,二者尋址方法不同,存儲單元的結構也不同,FLASH的電路結構較簡單,同樣容量占芯片面積較小,本錢自然比EEPROM低,因而適合用作程序存儲器,EEPROM那么更多的用作非易失的數據存儲器。當然用FLASH做數據存儲器也行,但操作比EEPROM麻煩的多,所以更“人性化〞的MCU設計會集成FLASH和EEPROM兩種非易失性存儲器,而廉價型設計往往只有FLASH。
EEPROM:電可擦除可編程只讀存儲器 ,Flash的操作特性完全符合EEPROM的定義,屬EEPROM無疑
Flash的特點是結構簡單,同樣工藝和同樣晶元面積下可以得到更高容量且大數據量下的操作速度更快,但缺點是操作過程麻煩,特別是在小數據量反復重寫時,所以在MCU中Flash結構適於不需頻繁改寫的程序存儲器。隨着ISP、IAP的流行,特別是在程序存儲地址空間和數據存儲地址空間重疊的MCU系中,現在越來越多的MCU生產商用支持IAP的程序存儲器來模擬EEPROM對應的數據存儲器,這是低本錢下實現非易失數據存儲器的一種變通方法。
