/************************************************** *描述:eeprom写一个字节数据 *参数:address-地址(十六进制) data-数据 **************************************************/ void eeprom_write(uchar address,uchar data) { //等待上一次写操作结束 while(EECR & (1 << EEPE)); //设置编程模式 EECR = (0 << EEPM1) | (0 << EEPM0); //设置地址和数据寄存器 EEARL = address; EEDR = data; //置位EEMPE EECR |= (1 << EEMPE); //置位EEPE,启动写操作 EECR |= (1 << EEPE); }
/************************************************** *描述:eeprom读一个字节数据 *参数:address-地址(十六进制) data-数据 **************************************************/ uchar eeprom_read(uchar address) { //等待上一次写操作结束 while(EECR & (1 << EEPE)); //设置地址寄存器 EEARL = address; //设置EERE启动读操作 EECR |= (1 << EERE); return(EEDR); }
|