⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 r24c02.c

📁 lyd-sy-5100单片机开发板的示例程序 分为C语言版本和ASM汇编版本。其他牌子的板子也可以使用其C语言版本。
💻 C
字号:
/*******************************************************************************
*  标题:  启东微芯LJD-SY-5100单片机开发系统演示程序            
*  文件:  R24C02.c                                                            
*  日期:  2005-7-4                                                             
*  版本:  1.0                                                                  
*  作者:  启东微芯                                             
*  网站: http://www.ljd-2008.com 
********************************************************************************
*  描述:                                                                       *
*         读24C02的00H~07H到CPU的RAM的31H~38H单元                              *     
*                                                                              *
*                                                                              *
********************************************************************************
* 【版权】 Copyright(C)启东微芯 http://www.ljd-2008.com    All Rights Reserved *          
* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!                  *
*******************************************************************************/
#include  <reg51.h>                         /*=== 头文件包含 ===*/
#include  <absacc.h>
#include  <intrins.h>

#define  uchar  unsigned  char
#define  uint  unsigned  int

sbit  SCL=P1^0; 
sbit  SDA=P1^1;

sbit     a_7=ACC^7;
sbit     a_0=ACC^0;


uchar r_byte();
void w_byte(uchar by);
void start();
void stop24();

main()
{  
   uchar i;
   uchar datay[0x40];
   
   start();
   w_byte(0xa0);
   w_byte(datay[0]);

   for(i=0;i<0x8;i++)
     {
	    start();
       	w_byte(0xa1);
	    datay[i]=r_byte();
     }
   stop24();
}
void w_byte(uchar by)
{
  uchar i;
  _nop_();
  ACC=by;
  for(i=0;i<8;i++)
     {
	    SCL=0;
	    SDA=a_7;
	    ACC=ACC<<1;
	    SCL=1;
     }
	  _nop_();
	  SCL=0;
	  _nop_();
	  SCL=1;
	  while(SDA);
	  SCL=0;
	  _nop_();
}
uchar r_byte()
{
  uchar i;
  _nop_();
  for(i=0;i<8;i++)
     {
	    SCL=0;
		_nop_();
		SCL=1;
		_nop_();
	    a_0=SDA;
	    ACC=ACC<<1;
     }
	  SCL=0;
	  _nop_();
	  SDA=1;
	  _nop_();
	  SCL=1;
	  return ACC;
}
void start()
{
  SCL=0;
  _nop_();
  SDA=1;
  _nop_();
  SCL=1;
  _nop_();
  SDA=0;
  _nop_();
  SCL=0;
}
void stop24()
{
  SCL=0;
  _nop_();
  SDA=0;
  _nop_();
  SCL=1;
  _nop_();
  SDA=1;
  _nop_();
  SCL=0;
}

⌨️ 快捷键说明

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