网站首页
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);

    }

热门搜索:RS-1215 B40-8000-PCB 2986122 1553DBPCB BT137S-500E SUPER6OMNI B TLP825 TLP712B 2858030 SBB1602-1 BTS410F2E6327 02M5000JF 2866569 TLP404 ADS1013IDGSR RBC11A BSV17-16 PS240406 ADS1013IDGSR 02B5000JF PS4816 LCR2400 PS-415-HG-OEM SS7415-15 PDU12IEC
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质