基于AVR單片機(jī)中的EEPROM和FLASH的區(qū)別及使用方法解析_第1頁
基于AVR單片機(jī)中的EEPROM和FLASH的區(qū)別及使用方法解析_第2頁
基于AVR單片機(jī)中的EEPROM和FLASH的區(qū)別及使用方法解析_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

基于AVR單片機(jī)中的EEPROM和FLASH的區(qū)別及使用方法解析1.EEPROM介紹ElectricallyErasableProgrammableReadOnlyMemory電氣可拭除可編程只讀存儲(chǔ)器發(fā)展過程:ROM–》PROM–》EPROM–》EEPROM2.EEPROM和FLASH的區(qū)別2.1使用上的區(qū)別FLASH用于存放程序,在程序運(yùn)行過程中不能更改。我們編寫的程序是燒錄到FLASH中的;RAM用作程序運(yùn)行時(shí)的數(shù)據(jù)存儲(chǔ)器;EEPROM用于存放數(shù)據(jù),是用來保存掉電后用戶不希望丟的數(shù)據(jù),開機(jī)時(shí)用到的參數(shù)。運(yùn)行過程中可以改變。FLASH是用于存儲(chǔ)程序代碼的,有些場合也可能用它來保存數(shù)據(jù),當(dāng)然前提是該單片機(jī)的FLASH工藝是可以自寫的(運(yùn)行中可擦寫),但要注意FLASH的擦寫次數(shù)通常小于一萬次,而且通常FLASH只能按塊擦除。EEPROM不能用來存程序,通常單片機(jī)的指令尋址不能到這個(gè)區(qū)域。EEPROM的擦寫次數(shù)應(yīng)有百萬次,而且可以按字節(jié)擦寫。EEPROM在一個(gè)PAGE內(nèi)是可以任意寫的,F(xiàn)LSAH則必須先擦除成BLANK,然后再寫入,而一般沒有單字節(jié)擦除的功能,至少一個(gè)扇區(qū)擦除。2.2結(jié)構(gòu)上的區(qū)別EEPROM和FLASH都是非易失性存儲(chǔ)器。FLASH的全稱是FLASHEEPROM,但跟常規(guī)EEPROM的操作方法不同。FLASH和EEPROM的最大區(qū)別是FLASH按扇區(qū)操作,EEPROM則按字節(jié)操作,二者尋址方法不同,存儲(chǔ)單元的結(jié)構(gòu)也不同,F(xiàn)LASH的電路結(jié)構(gòu)較簡單,同樣容量占芯片面積較小,成本自然比EEPROM低,因而適合用作程序存儲(chǔ)器,EEPROM則更多的用作非易失的數(shù)據(jù)存儲(chǔ)器。當(dāng)然用FLASH做數(shù)據(jù)存儲(chǔ)器也行,但操作比EEPROM麻煩的多,所以更“人性化”的MCU設(shè)計(jì)會(huì)集成FLASH和EEPROM兩種非易失性存儲(chǔ)器,而廉價(jià)型設(shè)計(jì)往往只有FLASH,早期可電擦寫型MCU則都是EEPRM結(jié)構(gòu),現(xiàn)在已基本上停產(chǎn)了。3.EEPROM的使用方法AVRGCC里面自帶有EEPROM讀寫函數(shù)。使用時(shí)需包含頭文件#include,部分讀寫函數(shù)如下:#defineeeprom_is_ready()bit_is_clear(EECR,EEWE)//檢測EEPROM是否準(zhǔn)備好。OK返回1(返回EEWE位)#defineeeprom_busy_wait()do{}while(!eeprom_is_ready())//等待EEPROM操作完成externuint8_teeprom_read_byte(constuint8_t*addr);//讀取指定地址的一個(gè)字節(jié)8bit的EEPROM數(shù)據(jù)externuint16_teeprom_read_word(constuint16_t*addr);//讀取指定地址的一個(gè)字16bit的EEPROM數(shù)據(jù)externvoideeprom_read_block(void*buf,constvoid*addr,size_tn);//讀取由指定地址開始的指定長度的EEPROM數(shù)據(jù)externvoideeprom_write_byte(uint8_t*addr,uint8_tval);//向指定地址寫入一個(gè)字節(jié)8bit的EEPROM數(shù)據(jù)externvoideeprom_write_word(uint16_t*addr,uint16_tval);//向指定地址寫入一個(gè)字16bit的EEPROM數(shù)據(jù)通過串口向單片機(jī)發(fā)送配置命令,單片機(jī)收到指令后,利用函數(shù)write_EEPROM_c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論