• 大小: 3KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: 其他
  • 标签: 24C08  

资源简介

24C08驱动程

资源截图

代码片段和文件信息


//I2C总线与2404芯片实验主要时序程序
/*本程序以P3.7位sda,以P3.6为scl,所用芯片为AT2404*/
#include
#include
#define uchar unsigned char
#define uint unsigned int
void delay1ms(uint k);  //延时程序.........1
void delay5us(void);//.....................2
void Start(void);       //启动程序.........3
void Stop(void);   //停止程序..............4
void Ack(void);    //应答信号程序..........5
void Send(uchar Data);//发送字节程序.......6
uchar Read(void); //读取1字节程序..........7
void WriteToRom(uchar Data[]uchar Adduchar Num);//把Data[]Num个数发送到以Add为起始地址中...8
void ReadFromRom(uchar Data[]uchar Adduchar Num);//读以Add为起始地址的Num个数读取到数组Data[]中..9
sbit sda=P3^7;
sbit scl=P3^6;
/////////
void main()
{ uint i;
 uchar a[8]={0xfe0xfd0xfb0xf70xef0xdf0xbf0x7f};
//uchar a[8]={0x110x220x330x440x550x660x770x88};
 uchar b[]={00000000};
 WriteToRom(a08);//写入数据
 delay1ms(100);//必须加延时
 ReadFromRom(b08);//读出
 while(1)
 {for(i=0;i<8;i++){P0=b[i];
       delay1ms(400);
         }
 }
}

//////////////
void delay1ms(uint k)   //延时程序
{k=k*125;
 while(--k);
}
///////////////
void delay5us(void)//5us延时
{_nop_();_nop_();
 _nop_();_nop_();
 }
 ////////////////
void Start(void)//启动程序
{sda=1;
 scl=1;delay5us();//1到0
 sda=0;delay5us();
 scl=0;
}
v

评论

共有 条评论