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

📄 main.c

📁 i2c协议实现
💻 C
字号:
#include "reg51x.h"
#include "tab.h"
#include <stdio.h>
#include <intrins.h>
//#include "ioprot.h"
#include "78e65.h"
#include "i2c.h"
Initialize78E65();
OSAUX_RAM_EN(char data temp);
#define AT24C16_bank0 0xA0                       // 24c16 write addr bank 0
#define AT24C16_bank1 0xA2                       // 24c16 write addr bank 1
#define AT24C16_bank2 0xA4                       // 24c16 write addr bank 2
#define AT24C16_bank3 0xA6                       // 24c16 write addr bank 3
#define AT24C16_bank4 0xA8                       // 24c16 write addr bank 4
#define AT24C16_bank5 0xAA                       // 24c16 write addr bank 5 
#define AT24C16_bank6 0xAC                       // 24c16 write addr bank 6
#define AT24C16_bank7 0xAE                       // 24c16 write addr bank 7


void main(void){
	uchar i;
	uchar txdata[9]={0x12,0x34,0x56,0x78,0x90,0x11,0X12,0X13,0X14};
	Initialize78E65();
	PCON = SMOD;
	SCON=UARTMODE1+UARTREN+UARTTI;
	TMOD=TIME1MODE2;
	TH1=230;
	TR1=1;
	OSAUX_RAM_EN(1);// EXT ROM EN (Xdata)
	i2c_write_block(AT24C16_bank2,05, 9, &txdata);
	i2c_write_block(AT24C16_bank7,05, 9, &txdata);
	for(i=0;i<9;i++){
		txdata[i]=0;
		}
	i2c_read_block(AT24C16_bank2,05, 9, &txdata);
	printf("\nrxbank2\n");
	for(i=0;i<9;i++){
		printf("%bx,",txdata[i]);
		txdata[i]=0;
		}
	printf("\n");
	i2c_read_block(AT24C16_bank7,05, 9, &txdata);
	printf("\nrxbank7\n");
	for(i=0;i<9;i++){
		printf("%bx,",txdata[i]);
		txdata[i]=0;
		}	
	while(1);
}

⌨️ 快捷键说明

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