网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

C语言编写的 24C02程序

    #define uchar unsigned char

    #define uint unsigned int

    #include <reg52.h>

    #include <stdio.h>

    #include <absacc.h>

    sbit scl=P3^5; //24c02 SCL

    sbit sda=P3^4; //24c02 SDA

    sbit DOG=P1^7; //看门狗

    uchar x24c02_read(uchar address); //从24c02的地址address中读取一个字节数据

    void x24c02_write(uchar address,uchar info); //向24c02的address地址中写入一字节数据info

    void x24c02_init(); //24c02初始化子程序

    void delay1(uchar x);

    void flash();

    void x24c01_init();

    void start();

    void stop();

    void writex(uchar j);

    uchar readx();

    void clock();

    void delay1(uchar x)

    {

    uint i;

    for(i=0;i<x;i++);

    DOG=~DOG;

    }

    void flash()

    {

    uchar u;

    DOG=~DOG;

    }

    void x24c02_init()

    {

    scl=1; flash(); sda=1; flash();

    }

    void start()

    {

    sda=1; flash(); scl=1; flash(); sda=0; flash(); scl=0; flash();

    }

    void stop()

    {

    sda=0; flash(); scl=1; flash(); sda=1; flash();

    }

    void writex(uchar j)

    {

    uchar i,temp;

    temp=j;

    for (i=0;i<8;i++){

    temp=temp<<1; scl=0; flash(); sda=CY; flash(); scl=1; flash();

    }

    scl=0; flash(); sda=1; flash();

    }

    uchar readx()

    {

    uchar i,j,k=0;

    scl=0; flash(); sda=1;

    for (i=0;i<8;i++){

    flash(); scl=1; flash();

    if (sda==1) j=1;

    else j=0;

    k=(k<<1)|j; scl=0;

    }

    flash(); return(k);

    }

    void clock()

    {

    uchar i=0;

    scl=1; flash();

    while ((sda==1)&&(i<255))i++;

    scl=0; flash();

    }

    uchar x24c02_read(uchar address)

    {

    uchar i;

    start(); writex(0xa0);

    clock(); writex(address);

    clock(); start();

    writex(0xa1); clock();

    i=readx(); stop();

    delay1(10);

    return(i);

    }

    void x24c02_write(uchar address,uchar info)

    {

    EA=0;

    start(); writex(0xa0);

    clock(); writex(address);

    clock(); writex(info);

    clock(); stop();

    EA=1;

    delay1(50);

    }

热门搜索:02B5000JF LS606M ULTRABLOK ADS1013IDGSR PS-615-HG TLM626SA PS3612 2320351 2856087 SBB830-QTY10 2838319 B30-7100-PCB RS1215-RA SPS-615-HG PS120406 B10-8000-PCB ADS1013IDGSR PS240406 01M1002SFC2 RS1215-20 2838228 PS6020 02M5000JF 2839648 02T0500JF
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质