📄 r24c02.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 + -