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

📄 iic_1.h

📁 模块化的i2c总线接口驱动程序!!!!!!!!!!!!
💻 H
字号:
/*         File Name: IIC_1.h 
    	   Created by 倔强草 
           Date: 2009-02-05
站在网友的肩上whzhou2007@163.com
同道中人make friends with me:QQ 384925493    
*/
#define uchar unsigned char
sbit SDA=P1^5;
sbit SCL=P1^4;

/*延时*/
void delay()
{;;}

void delay1(uchar z)
{
	uchar x,y;
	for(x=z;x>0;x--)
	for(y=100;y>0;y--);	
}   

void init()		//初始化
{
	SCL=1;
	delay();
	SDA=1;
	delay();
}
void start()	    //启动信号
{
	SDA=1;
	delay();
	SCL=1;
	delay();
	SDA=0;
	delay();
}
void stop()		//停止信号
{
	SDA=0;
	delay();
	SCL=1;
	delay();
	SDA=1;
	delay();
}
void respons()		//回应信号
{
	uchar i=0;SCL=1;delay();
while((SDA==1)&&(i<255))i++;
	SCL=0;delay();}
void writebyte(uchar date)//	写一个字节
{
	uchar i,temp;
	temp=date;
	for(i=0;i<8;i++)
	{
		temp=temp<<1;
		SCL=0;
		delay();
		SDA=CY;
		delay();
		SCL=1;
		delay();	
	}
	SCL=0;
	delay();
	SDA=1;
	delay();
}
uchar readbyte()
//读一个字节
{
	uchar i,j,k;
	SCL=0;
	delay();
	SDA=1;
	for(i=0;i<8;i++)
	{
		SCL=1;
		delay();
		if(SDA==1)
		  j=1;
		else
		  j=0;
		k=(k<<1)|j;
		SCL=0;
		delay();
	}
	delay();
	return k;
}
void write_add(uchar address,uchar info)
//指定地址写一个字节数据
{
	start();
	writebyte(0xa0);
	respons();
	writebyte(address);
	respons();
	writebyte(info);
	respons();
	stop();
}

uchar read_add(uchar address)
//指定地址读一个字节数据
{
	uchar dd;
	start();
	writebyte(0xa0);
	respons();
	writebyte(address);
	respons();
	start();
	writebyte(0xa1);
	respons();
	dd=readbyte();
	stop();
	return dd;
}

⌨️ 快捷键说明

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