没有合适的资源?快使用搜索试试~ 我知道了~
以前写的归还于在C8051F310上面运行的EPPROM(AT2402)读写代码
资源推荐
资源详情
资源评论
/////////////////////////////////////
// Generated Initialization File //
/////////////////////////////////////
#include "C8051F310.h"
// Peripheral specific initialization functions,
// Called from the Init_Device() function
void PCA_Init()
{
PCA0MD &= ~0x40;
PCA0MD = 0x00;
}
void Port_IO_Init()
{
XBR1 = 0x40;
}
void Oscillator_Init()
{
P2MDOUT = 0x04;
OSCICN = 0x83;
}
// Initialization function for device,
// Call Init_Device() from your main program
void Init_Device(void)
{
PCA_Init();
Port_IO_Init();
Oscillator_Init();
// Generated Initialization File //
/////////////////////////////////////
#include "C8051F310.h"
// Peripheral specific initialization functions,
// Called from the Init_Device() function
void PCA_Init()
{
PCA0MD &= ~0x40;
PCA0MD = 0x00;
}
void Port_IO_Init()
{
XBR1 = 0x40;
}
void Oscillator_Init()
{
P2MDOUT = 0x04;
OSCICN = 0x83;
}
// Initialization function for device,
// Call Init_Device() from your main program
void Init_Device(void)
{
PCA_Init();
Port_IO_Init();
Oscillator_Init();
}
#include <intrins.h>
typedef unsigned char uchar;
#define WRITE24C02 0xA0 //10100000,器件地址,写操作
#define READ24C02 0xA1 //10100001,器件地址,读操作
sbit SDA=P2^0;//数据传输(不推挽)
sbit SCL=P2^1;//时钟(不推挽)
sbit TEST=P2^2; //硬件写保护控制引脚高电平时只读不写
sbit LED=P3^4;
void I2C_start(void); //函数功能:产生启动信号
void I2C_stop(void); //函数功能:产生停止信号
void I2C_send_ack(void); //函数功能:发送ACK(确认)信号
bit TestAck(); //函数功能:检查AT24C02的ACK信号
void I2C_write_byte(uchar); //函数功能:向AT24C02写入一个字节
uchar I2C_read_byte(void); //函数功能:从AT24C02读出一个字节
void AT24C02_write(uchar,uchar *,uchar); //函数功能:向AT24C02连续写入若干字节
void AT24C02_read(uchar *,uchar);//函数功能:从AT24C02连续读出若干字节
void F_AT24C02_read(void);//////最终读取函数//////
void F_AT24C02_write(void);/////////最终写入函数////////
void delay_ms(uchar); //函数功能:延时
int buffer1[8]={11,2,3,4,5,6,7,8}; //要写入的数据
int buffer2[8];
void F_NOP_(void)//用于修正不同晶振的延时
{
int a=2;
while(a--);
} //读出的数据存放地址
void I2C_start(void) //产生启动信号
{
#include <intrins.h>
typedef unsigned char uchar;
#define WRITE24C02 0xA0 //10100000,器件地址,写操作
#define READ24C02 0xA1 //10100001,器件地址,读操作
sbit SDA=P2^0;//数据传输(不推挽)
sbit SCL=P2^1;//时钟(不推挽)
sbit TEST=P2^2; //硬件写保护控制引脚高电平时只读不写
sbit LED=P3^4;
void I2C_start(void); //函数功能:产生启动信号
void I2C_stop(void); //函数功能:产生停止信号
void I2C_send_ack(void); //函数功能:发送ACK(确认)信号
bit TestAck(); //函数功能:检查AT24C02的ACK信号
void I2C_write_byte(uchar); //函数功能:向AT24C02写入一个字节
uchar I2C_read_byte(void); //函数功能:从AT24C02读出一个字节
void AT24C02_write(uchar,uchar *,uchar); //函数功能:向AT24C02连续写入若干字节
void AT24C02_read(uchar *,uchar);//函数功能:从AT24C02连续读出若干字节
void F_AT24C02_read(void);//////最终读取函数//////
void F_AT24C02_write(void);/////////最终写入函数////////
void delay_ms(uchar); //函数功能:延时
int buffer1[8]={11,2,3,4,5,6,7,8}; //要写入的数据
int buffer2[8];
void F_NOP_(void)//用于修正不同晶振的延时
{
int a=2;
while(a--);
} //读出的数据存放地址
void I2C_start(void) //产生启动信号
{
剩余5页未读,继续阅读
资源评论
CALL_COURAGE
- 粉丝: 1
- 资源: 10
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功