通过串口输入 R 、W 进行控制程序读写IIC设备。波特率9600bps,晶振115200HZ。
main.c
/*----------------------------------------------- IIC编程 1 编写:Louis 邮箱:kaly.liu@163.com 日期:2015.06.01 改动:通过串口命令R/W,控制EEPROM的读R写W。并从串口提示。改进:添加对页读写功能 晶振:11.0592MHZ NOTE:*通过实測发现。AT24C02能够连续写入16BYTE字节。并且地址要连续的两个页。就是0~15,16~31,。。。 ------------------------------------------------*/ #include <REG52.H> #include<string.h> #include"uart.h" #include "iic.h" sbit WP=P1^0; sbit LED7=P1^7; unsigned char idata temp[8]; unsigned char rxnum; unsigned char flag2; unsigned char EEPROM_WR_FLAG=0; code const char str1[] = "The string is 来自单片机! "; code const char str2[] = "Author: louis "; //const 限定一个变量不同意被改变。在一定程度上提高程序安全性和可靠性 //code 存储区间为 程序存储区 /***************函数声明*******************/ void InitUART(void); void SendOneByte(uint8); void SendrStr(uint8 *ptr); void main(void) { unsigned char Control,*p1,*p2; unsigned char buf1[]="The first page!!The second page!The third page!!"; /* 发送缓冲区 */ unsigned char idata buf2[49]; /* 接收缓冲区 */ unsigned char Length; unsigned int addr ,i=0; /* 24Cxx片内地址 */ WP=0; // P4SW|= 0x10; LED7=1; InitUART(); while(str2[i]!='