微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机—IIC—EEPROM(CAT24WCXX)—03

51单片机—IIC—EEPROM(CAT24WCXX)—03

时间:11-25 来源:互联网 点击:

数据放入ACC
;每发送一个字节筪掉用一次CACK(检测应答子程序),取应答位
WRBYTE:
MOVR0,#08H
WLP:
RLCA
JCWR_1
SJMPWR_0
WLP1:
DJNZR0,WLP
NOP
RET
WR_1: ;发送1
SETBSDA
NOP
SETBSCL
NOP
NOP
NOP
NOP
NOP
CLRSCL
SJMPWLP1
WR_0: ;发送0
CLRSDA
NOP
SETBSCL
NOP
NOP
NOP
NOP
NOP
CLRSCL
SJMPWLP1

然后就是c文件:

void send_byte(uchar c)
{
uchar bit_cnt;
for(bit_cnt=0;bit_cnt<8;bit_cnt++)//循环传送8位
{
if((c //取当前发送位
sda=1;
else
sda=0;
_nop_();
scl=1;//发送到数据线上
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
scl=0;
}
IIC_ack();
}

~~~~~~~~~接收子程序

汇编:

;读出的值再ACC中
;每取一个字节要发送一个应达或者非应答信号(要知道你读取就成了从机,就要发送一个信号告诉主机)
RDBYTE:
MOVR0,#08H
RLP:
SETBSDA
NOP
CLRSCL;置时钟线为低电平,准备接收数据
NOP
NOP
NOP
NOP
NOP
SETBSCL
NOP
MOVC,SDA;读取数据位
RLCA;进行数据位的处理
NOP
DJNZR0,RLP;没有到8位,再来一次
RET

c代码:

//返回接收的8位数据
uchar rec_byte()
{
uchar temp;
uchar bit_cnt;
temp=0;
sda=1; //置数据线为输入方式
for(bit_cnt=0;bit_cnt<8;bit_cnt++)
{
_nop_();
scl=0; //置时钟线为低电平,准备接收数据
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
scl=1;
_nop_();
_nop_();
temp<=1;
if(sda==1)//接收当前数据位,接收内容放入temp中
temp+=1;
_nop_();
_nop_();
}
scl=0;
_nop_();
_nop_();
return(temp);
}

好了,下面的就好说了~~~~哎。。。累死了

IIC总线的读写操作主要是三个(主要的表格与时序图自己可以在网上搜的~~一搜一大片,我也就不要再赘述了)

(1)当前地址读

该操作将从所选期间的当前地址读,读的字节数不指定

(2)指定单元读

该操作将从指定所选期间指定地址读,读的字节数不指定

(4)指定字节写(不说了,一看就明白了)

二、IIC总线EEPROM芯片与单片机的接口

1.串行EEPROM电路CAT24WCXX概述

美国CATALYST公司出品的CAT24WCXX 是一个1-256K位的支持I2C总线数据传送协议的串行CMOS E2PROM,可用电擦除,可编程自定时写周期(包括自动擦除时间不超过10ms,典型时间为5ms)的。串行E2PROM一般具有两种写入方式,一种是字节写入方式,还有另一种页写入方式。允许在一个写周期内同时对1个字节到一页的若干字节的编程写入,1页的大小取决于芯片内页寄存器的大小。其中,CAT24WC01具有8字节数据的页面写能力,CAT24WC02/04/08/16具有16字节数据的页面写能力,CAT24WC32/64具有32字节数据的页面写能力,CAT24WC128/256具有64字节数据的页面写能力。美国CALAYST公司先进的CMOS技术实质上是降低了器件的功耗,可在电源电压低到1.8V的条件下工作,等待电流和额定电流分别为0和3mA。该系列器件提高商业级、工业级、汽车级芯片。CALAYST公司特有的噪声保护施密特触发输入技术和ESD最小达到2000V,从而保证CAT24WCXX系列E2PROM有极强的干扰下数据不丢失,因此CAT24WCXX系列E2PROM在汽车电子及电度表、水表、煤气表中得到了广泛的话应用(个人感觉这些应用还是对自己有很大用途,可以好好看看,对自己那是相当的有帮助)。(下面的表格看看~~)



(注意页写,还要注意一个MCU上可以扩展的数量,后面有介绍为什么可以扩展这么多,其实就是因为要用到页写,呵呵,别的就不用太注意了)

2.CAT24WCXX的引脚

CAT24WCXX系列E2PROM提供标准的8脚DIP封装和8脚表面安装的SOIC封装。
CAT24WC01/02/04/08/16/32/64、CAT24WC128、CAT24WC256管脚排列图分别为如图1(1)、(2)、(3)所示,其管脚功能描述如表2所示。





(这里我就不怎么说了吧,你懂得,用过芯片的人都懂得

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top