第1页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共9页/******************************************************************时序,还是时序在模拟时序时不能出错*写一个字节数据是AT24C02自动才生一个应答,我们只要检测到就行。。然后发送下一字节*读一个字节后我们要写另一个应答通知AT24C02,。它接收我们的信号才会发下一个字节,不然我们不能进行连读******************************************************************/#include#include#include//P1为流水灯。。。实验用来显示数据是否能够正常读写//实验板上A0A1A2全部接地而且SDASCL没有接上拉电阻#defineSDAP2_0#defineSCLP2_1#defineW_slave0XA0#defineR_slave0xa1typedefunsignedcharuchar;typedefunsignedintuint;bitack=0;ucharcodestr_1[]={0x01,0x02,0x03,0x30,0x35,0x36,0x37,0x38,0x39,0x30};ucharget_str_1[8];/*******************************************AT24C02初始化*******************************************/voidAT24C02_Init(void);/********************************************AT24C02起动*********************************************/staticvoidAT24C02_Start();/********************************************AT24C02停止*__nop_()为一个单指令周期*11.0592MHZ一个单指令周期为1.08us********************************************/staticvoidAT24C02_End();/******************************************写应答******************************************/staticvoidAT24C02_Write_ACK();/****************************************读应答第2页共9页第1页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共9页****************************************/staticvoidAT24C02_Read_ACK();/****************************************发送一个字节****************************************/staticvoidAT24C02_Send_Char(ucharch);/****************************************接送一个字节****************************************/staticucharAT24C02_Get_Char();/****************************************AT24C02延时****************************************/staticvoidflash(void);/****************************************发关一个字节*****************************************/staticvoidAT24C02_Write_One(ucharaddress,uchardat);/*****************************************接收一个字节*****************************************/staticucharAT24C02_Read_One(ucharaddress);/*****************************************连续写N个字节*****************************************/voidAT24C02_Write_Str(ucharaddress,uchar*str,ucharnum);/******************************************************连读N个字节*****************************************************/voidAT24C02_Read_Str(ucharaddress,uchar*str,ucharnum);/****************************************MAIN()**********************************************/voidmain(void){//uchartample=0x00;ucharx=0;//uchar*_str;AT24C02_Init();//AT24C02_Write_One(0x20,0xa0);//test....写后立即读写需要时间延时,我这里用最小的1ms可以,比//delay1ms(1);//这更小的还没有进行测试,但是没有延时读取失败。第3页共9页第2页共9页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共9页//while(1)AT24C02_Write_Str(0x00,str_1,8);delay1ms(100);AT24C02_Read_Str(0x00,get_str_1,8);while(x++<8){P1=get_str_1[x];delay1ms(600);}P1=0X55;while(1);}/********************************************AT24C02起动*__nop_()为一个单指令周期*11.0592MHZ一个单指令周期为1.08us********************************************/staticvoidAT24C02_Start(){SDA=1;flash();SCL=1;flash();SDA=0;flash();SCL=0;flash()...