您的位置:首页 > 其它

PIC1947单片机EEPROM读写子程序处理

2017-10-16 14:26 239 查看
PIC系统单片机的EEPROM的整个处理机制是相类似的,主要是由写保存处理操作和读数据处理操作两个操作组成。

读操作处理步骤:

1.等待上次读操作完成

2.获取要读取的数据的单元地址给EEADRL寄存器

3.将EEPGD位和CFGS位清零

4.启动读操作控制位RD

5.等待本次读操作完成

6.将该单元地址中对应的数据返回

为了防止芯片在一瞬间无法获取到数据,需要给芯片一定的时间来稳定获取数据。因此需要第1步和第5步的等待处理步骤。

unsigned char EEPROM_ReadByte(unsigned char address)
{
do{
;
}while(RD);

EEADRL = address;

EEPGD = 0;
CFGS = 0;

RD = 1;

while(RD);

return EEDATL;
}
写操作处理步骤:
1.等待上次写操作完成
2.获取要写入的数据的单元地址给EEADRL寄存器
3.将要写入的数据内容赋给EEDATL寄存器
4.将EEPGD位清零
5.使能写操作WREN位
6.依次将数据0x55和0xAA写入到EECON2寄存器中
7.启动写操作控制位WR
8.等待本次写操作完成
9.将WREN位清零在这需要注意的是WREN位是在使用写操作之前必须要置1的,完成写操作后需要软件将其清零。
最主要的是需要将EEIF中断标志位在完成写操作后清零。
void EEPROM_WriteByte(unsigned char address,unsigned char data)
{
do
{
;
}while(WR);

EEADRL = address;
EEDATL = data;

WREN = 1;

EECON2 = 0x55;
EECON2 = 0xAA;

WR = 1;

while(WR);

if(EEIF == 1)
{
EEIF = 0;
}

WREN = 0;
}








                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  单片机