//===写入数据 = 16bit=======================
void EEPROM_W16(char addH, unsigned int xx){
char HH,LL;
LL=(char)xx; xx=xx>>8; HH=(char)xx;
#asm("cli")
while(EECR.1){} // 等待EEWE 位变为零
EEAR=addH; //EEPROM 地址写入EEAR
EEDR=HH; //新的EEPROM 数据写入EEDR
EECR=0x04; // EEMWE=1; EEWE=0 //EEPROM 写允许
EECR=EECR|0x02; // EEWE=1; //EEPROM 写入
while(EECR.1){} // 等待EEWE 位变为零
delay_ms(10);
addH++; // 地址再加两位
EEAR=addH; //EEPROM 地址写入EEAR
EEDR=LL; //新的EEPROM 数据写入EEDR
EECR=0x04; // EEMWE=1; EEWE=0 //EEPROM 写允许
EECR=EECR|0x02; // EEWE=1; //EEPROM 写入
while(EECR.1){} // 等待EEWE 位变为零
delay_ms(10);
EECR=0x00;
#asm("sei")
}
// 读 EEPROM 数据 ====16 bit=======================================
unsigned int EEPROM_R16(unsigned char addH){
unsigned int MM;
unsigned char HH,LL;
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载