pic_eeprom.c

来自「PIC单片机读内部EEPROM的子程序。」· C语言 代码 · 共 59 行

C
59
字号
//********************************************************************************
//********************************************************************************
//     pic16f917
//********************************************************************************
unsigned char read_eeprom(unsigned char);
void write_eeprom(unsigned char,unsigned char);
void write_work();
//********************************************************************************

//********************************************************************************
unsigned char read_eeprom(unsigned char addr)
{
     unsigned char num;
     do{;}
     while(RD==1);                        //上一次读操作是否完成
     EEADR=addr;                            //EEPROM地址为00H
     EEPGD=0;                            //指向EEPROM数据储存器
     RD=1;                                //开始读
     do{;}
     while(RD==1);                        //等待读操作完成
     num=EEDATA;                            //读出
     return(num);                        //返回读出的数
}
//********************************************************************************
void write_work()
{
     if((write_dt&0x1) == 0x1)
     {
          write_eeprom(0,sdy_dt);
     }
     if((write_dt&0x2) == 0x2)
     {
          write_eeprom(1,sdy_set);
     }
     if((write_dt&0x4) == 0x4)
     {
          write_eeprom(2,power_dt);
     }
     write_dt=0;
}
//********************************************************************************
void write_eeprom(unsigned char addr,unsigned char data)
{
     do{;}
     while(WR==1);                        //上一次写操作是否完成
     EEADR=addr;                            //EEPROM地址
     EEDATA=data;                        //准备写入EEPROM的数据
     EEPGD=0;                            //指向EEPROM数据储存器
     WREN=1;                                //使能写操作
     EECON2=0x55;                        //设置通用参数
     EECON2=0xAA;                        //设置通用参数
     WR=1;                                //开始写
     do{;}
     while(WR==1);                        //等待写操作完成
     WREN=0;                                //禁止写操作
}
//********************************************************************************
//********************************************************************************

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?