單片機ROM最初不能編輯,出場的程序不可更改,不靈活。后來出現了PROM,可以自己寫入程序一次,但是要是錯了,只能換一片。隨著不斷改進,終于出現了多次可擦寫的EPROM,每次把擦除的芯片拿到紫外線上照一下即可。歷史的車輪不斷前進,偉大的EEPROM出現了,拯救了一大批程序員,終于可以隨意的修改ROM中的內容了。
單片機IC芯片EEPROM的全稱是“電可擦除可編程只讀存儲器”,即Electrically Erasable Programmable Read-Only Memory。是相對于紫外擦除的rom來講的。
如今已經存在多種單片機IC芯片EEPROM的變種,變成了一類存儲器的統稱。
狹義的單片機IC芯片EEPROM:
這種rom的特點是可以隨機訪問和修改任何一個字節,可以往每個bit中寫入0或者1。這是最傳統的一種EEPROM,掉電后數據不丟失,可以保存100年,可以擦寫100w次。具有較高的可靠性,但是電路復雜/成本也高。因此目前的EEPROM都是幾十千字節到幾百千字節的,絕少有超過512K的。
單片機IC芯片Flash:
Flash屬于廣義的EEPROM,因為它也是電擦除的ROM。但是為了區別于一般的按字節為單位的擦寫的EEPROM,我們都叫它Flash。
既然兩者差不多,為什么單片機中還要既有Flash又有EEPROM呢?
通常,單片機里的Flash都用于存放運行代碼,在運行過程中不能改;EEPROM是用來保存用戶數據,運行過程中可以改變,比如一個時鐘的鬧鈴時間初始化設定為12:00,后來在運行中改為6:00,這是保存在EEPROM里,不怕掉電,就算重新上電也不需要重新調整到6:00。
最大區別是其實是:單片機IC芯片FLASH按扇區操作,單片機IC芯片EEPROM則按字節操作,二者尋址方法不同,存儲單元的結構也不同,FLASH的電路結構較簡單,同樣容量占芯片面積較小,成本自然比EEPROM低,因而適合用作程序存儲器,EEPROM則更多的用作非易失的數據存儲器。當然用FLASH做數據存儲器也行,但操作比EEPROM麻煩的多,所以更“人性化”的集成電路MCU設計會集成FLASH和EEPROM兩種非易失性存儲器,而廉價型設計往往只有 FLASH,早期可電擦寫型集成電路MCU則都是EEPRM結構,現在已基本上停產了。深圳英銳恩推出的EN系列單片機IC芯片產品基本都是帶EEPROM和Flash,可免費燒錄,提供技術支持。