EEPROM: 單片機(jī)內(nèi)部可用軟件讀寫的數(shù)據(jù)存儲(chǔ)空間,掉電后數(shù)據(jù)不丟失,可擦寫10萬次。
ATmega16 內(nèi)部有512字節(jié)的EEPROM數(shù)據(jù)空間,地址空間由0-511,由EEPROM地址寄存器EEAR指定,數(shù)據(jù)寄存器EEDR用于存儲(chǔ)要讀寫的數(shù)據(jù)。
寫操作步驟:
一、 查詢上一個(gè)數(shù)據(jù)是否寫完: while (EECR&(1< 二、 將要寫如數(shù)據(jù)的地址送到EEAR: EEAR=address(范圍0-0x1ff) ; 三、 把要寫入的數(shù)據(jù)送到EEDR: EEDR=data; 四、 主機(jī)寫入允許: EECR|=(1< 五、 啟動(dòng)寫入: EECR|=(1< 讀操作步驟: 一、等待上一個(gè)數(shù)據(jù)寫完: while(EECR&(1< 二、指定要讀出數(shù)據(jù)的地址: EEAR=adress; 三、 使能讀 : EECR|=(1< 四、 從EEDR中讀取數(shù)據(jù): data=EEDR;