久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 51單片機—IIC—EEPROM(CAT24WCXX)—03

51單片機—IIC—EEPROM(CAT24WCXX)—03

作者: 時間:2016-11-25 來源:網絡 收藏

4.IIC的總線讀寫操作

先介紹一下在IIC讀寫一個字節的數據~~~這樣以后說起來就方便了

發送字節子程序:

先是asm文件形式:

;字節數據放入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上可以擴展的數量,后面有介紹為什么可以擴展這么多,其實就是因為要用到頁寫,呵呵,別的就不用太注意了)



關鍵詞: 51單片機IICEEPRO

評論


技術專區

關閉