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

📄 读eeprom.c

📁 单片机C源程序+HEX文件。配合实验板。需要的话加Q:394011495.并注明。
💻 C
字号:
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit scl=P2^0;
sbit sda=P2^1;
sbit beep=P3^4;
sbit rclk=P1^4;
sbit srclk=P1^7;
sbit ser=P1^5;
uint i;
uchar k,j;

void delay()
{;;}
void init()		  // 初始化
{
	sda=1;
	delay();
	scl=1;
	delay();
	k=0xff;
	for(i=0;i<8;i++)
	{
		srclk=0;
		k=k<<1;
		ser=CY;
		srclk=1;
	}
	k=0x00;
	for(i=0;i<8;i++)
	{
		srclk=0;
		k=k<<1;
		ser=CY;
		srclk=1;
	}
	rclk=0;
	rclk=1;
}
void start()			//开始信号
{
	
	sda=1;
	delay();
	scl=1;
	delay();
	sda=0;
	delay();

}

void stop()					  //结束信号
{	
	sda=0;
	delay();
	scl=1;
	delay();	
	sda=1;
	delay();
}

void ack()			 //响应信号
{
	uchar i;
	scl=1;
	delay();
	while((sda==1)&&(i<200))
		i++;
	scl=0;
	delay();	
}
uchar read_type()				 //读数据
{
	uchar k,i,j;
	scl=0;
	delay();
	sda=1;
	delay();
	for(i=0;i<8;i++)
	{
		scl=1;
		delay();
		k=k<<1;
		j=sda;
		k=k|j;
		scl=0;
		delay();
	}
	return k;
}

void write_type(uchar date)			//写数据
{
	uchar k,i;
	k=date;
	for(i=0;i<8;i++)
	{
		k=k<<1;
		scl=0;
		delay();
		sda=CY;
		delay();
		scl=1;
		delay();
	}
	scl=0;
	delay();
	sda=1;
	delay();
}
void main()
{
	init();
	start();
	write_type(0xa0);
	ack();
	write_type(1);
	ack();
	start();
	write_type(0xa1);		 //读操作
	ack();
	k=read_type();
	stop();
	j=0x00;
	for(i=0;i<8;i++)
	{
		srclk=0;
		j=j<<1;
		ser=CY;
		srclk=1;
	}
	for(i=0;i<8;i++)
	{
		srclk=0;
		k=k<<1;
		ser=CY;
		srclk=1;
	}
	rclk=0;
	rclk=1;
	while(1);
	

}

⌨️ 快捷键说明

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