pic 16 f690 pic 16 f1947 eeprom 实例 与区别

发布者:ziyunting最新更新时间:2020-03-12 来源: eefocus关键字:pic  f690  f1947  eeprom 手机看文章 扫描二维码
随时随地手机看文章

void WriteEE(unsigned char adds,unsigned char data)        

{

while(WR==1);                         //上一次写操作是否完成

EEADR=adds;                          //EEPROM地址

EEDAT=data;                      //准备写入EEPROM的数据

EEPGD=0;                              //指向EEPROM数据储存器

CFGS=0;  //指向EEPROM数据储存器

WREN=1;                               //使能写操作

        GIE=0;                                //禁止中断                               

        EECON2=0x55;                          

        EECON2=0xAA;                          //EEPROM解锁

        WR=1; 

        GIE=1;                                //开始写

        while(WR==1);                         //等待写操作完成

        if(EEIF==1)

        EEIF=0;             

        WREN=0;                               //禁止写操作

}


unsigned char ReadEE(unsigned char adds) 

{

    unsigned char num;

    while(RD==1);                        //上一次读操作是否完成

    EEADR=adds;               //EEPROM地址为00H

    EEPGD=0;                             //指向EEPROM数据储存器

CFGS=0; //指向EEPROM数据储存器

    RD=1;                                //开始读

    while(RD==1);                        //等待读操作完成

    num=EEDAT;                          //读出

    return(num);                         //返回读出的数

}


void write_eeprom(unsigned char data, unsigned char add )

{

//while(WR==1);    

      EEADR=add; 

      EEDAT=data;  //欲写入之数据

      EEPGD=0x00;  //操作数据EEPROM区

      WREN=0x01;   //使能写操作

      GIE=0x00;    //禁止中断

      EECON2=0x55; 

      EECON2=0xAA;

      WR=0x01;

      GIE=0x01;

     // delay(0x02); 

      while(WR==1); 

        if(EEIF==1)

        EEIF=0;          

        WREN=0x00;  

}

unsigned char read_eeprom(unsigned add)

{ unsigned char num;

while(RD==1);  

EEADR=add;     //寻址地址

      EEPGD=0x00;  //操作数据EEPROM区

      RD=0x01;     //启动读操作

    //  return EEDAT;

        while(RD==1);                        //等待读操作完成

    num=EEDAT;                          //读出

    return(num);   

}


初始化


__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

__EEPROM_DATA(0,0,0,0,0,0,0,0);

关键字:pic  f690  f1947  eeprom 引用地址:pic 16 f690 pic 16 f1947 eeprom 实例 与区别

上一篇:基于PIC的led点阵(验证版)
下一篇:PIC16F + PICC9.50 学习笔记(一)

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved