欢迎光临MCUWAY! 本站网名:单片机之路  永久域名:www.mcuway.com

设为首页

加入收藏

电子基础 初学MCU 单片机类型 MCU程序 MCU应用 设计软件 测控电路 技术论坛
 您现在的位置: 单片机之路 >> 单片机程序 >> 单片机源码 >> 文章正文

24C02 的 C 控制程序

24C02的C控制程序

#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);

}

普通文章28课:单片机音乐汇编程序设计
普通文章27课:单片机的一些基本概念
普通文章26课:单片机矩阵式键盘接口技术
普通文章51单片机教程(从原理开始基于汇编)
普通文章1课:单片机概述
普通文章2课:8051单片机引脚介绍
普通文章3课:单片机存储器结构结构分析
普通文章4课:第一个单片机小程序
普通文章5课:单片机延时程序分析
普通文章6课:单片机并行口结构
普通文章7课:单片机的特殊功能寄存器
普通文章8课:单片机寻址方式与指令系统
普通文章9课:单片机数据传递类指令
普通文章10课:单片机数据传送类指令
普通文章11课:单片机算术运算指令
普通文章12课:单片机逻辑运算类指令
普通文章13课:单片机逻辑与或异或指令祥解
普通文章14课:单片机条件转移指令
普通文章15课:单片机位操作指令
普通文章16课:单片机定时器与计数器
普通文章17课:单片机定时器/计数器的方式控制
普通文章18课:单片机的中断系统
普通文章19课:单片机定时器、中断试验
普通文章20课:单片机定时/计数器实验
普通文章21课:单片机串行口介绍

  • 上一篇文章:
  • 下一篇文章:
  • 更多精彩内容>>>

    普通文章电流单位
    普通文章功率单位
    普通文章什么是达林顿管?
    普通文章晶闸管的作用与原理

    学习单片机的必经之路——单片机之路,永久域名:www.mcuway.com