/************************************************** *描述:eeprom寫(xiě)一個(gè)字節(jié)數(shù)據(jù) *參數(shù):address-地址(十六進(jìn)制) data-數(shù)據(jù) **************************************************/ void eeprom_write(uchar address,uchar data) { //等待上一次寫(xiě)操作結(jié)束 while(EECR & (1 << EEPE)); //設(shè)置編程模式 EECR = (0 << EEPM1) | (0 << EEPM0); //設(shè)置地址和數(shù)據(jù)寄存器 EEARL = address; EEDR = data; //置位EEMPE EECR |= (1 << EEMPE); //置位EEPE,啟動(dòng)寫(xiě)操作 EECR |= (1 << EEPE); }
/************************************************** *描述:eeprom讀一個(gè)字節(jié)數(shù)據(jù) *參數(shù):address-地址(十六進(jìn)制) data-數(shù)據(jù) **************************************************/ uchar eeprom_read(uchar address) { //等待上一次寫(xiě)操作結(jié)束 while(EECR & (1 << EEPE)); //設(shè)置地址寄存器 EEARL = address; //設(shè)置EERE啟動(dòng)讀操作 EECR |= (1 << EERE); return(EEDR); }
|