資料介紹
#include "msp430x13x.h"
?? ??
void nop(void)
{
? _NOP();
? _NOP();
? _NOP();
}
void start(void)?? ??
{
? SCLEN &= (~(SDA+SCL));?
? _NOP();
? _NOP();
? _NOP();?
? SDAEN |= SDA; ??
? SCLEN |= SCL;??? ??
? return;
}
void stop(void)
{
? SDAEN |= SDA;???????? ?
? SCLEN &= (~SCL);??
? SDAEN &= (~SDA);??
? return;
}
unsigned char ControlByte(int AddressByte)
{
? unsigned char temp;
? _BIC_SR(0X0001);??//CLEAR SR 'C'
? temp = (char)(AddressByte>>8);
? temp <<= 1 ;
? temp &= 0X0E;
? temp += Code;
? return temp;
}
int shout( unsigned char data )?
{
?unsigned char mask,i,temp;
?unsigned char Value;
?Value = data;
?mask=0X80;
?for (i=0;i<=7;i++){
????? temp = (Value & mask);???????
????? if( temp !=0 ){??
????????? SDAEN &=? (~SDA);?
????????? SCLEN &=? (~SCL);?
???????? if( !( SDAIN & SDA ) ){
??????????? return 1;
????????? }
????? }
????? else {
??????? SDAEN |= SDA ; ??
??????? SCLEN &= (~SCL);?
????? }
???
??? mask>>=1;
??? SCLEN |= SCL; ???
?}
? SDAEN &= (~SDA);
? SCLEN &= (~SCL);
? if ( !(SDAIN & SDA )){
???? // return 1;
? }
?
? SCLEN |= SCL;
? return 0;
}
// 寫 Number 個(gè)字節(jié)到 E2 中
int WriteBlock(int number,unsigned char *dataadr,unsigned char *e2adr)
{
? unsigned char *p1;
? int i;
? unsigned char temp;
? unsigned int aaa;
? //unsigned char *temp1;
?
? _DINT();???
? SDADAT &= (~(SCL+SDA));?
? ????
? start();?????????????????????
? aaa = (int)(e2adr );
? temp = ControlByte(aaa);
? shout(temp);
? shout( (int)(e2adr));
? p1 = dataadr;
? for (i=1;i<=8;i++) {
???? shout(*p1);
???? p1++;
? }
? stop();?
? _EINT();?
?
//Write a block use the address and back..
?return 0;????????? ???//if error return 1? right return 0
}
// 寫N * 8個(gè)字節(jié)
int WriteN8Byte(int Number)
{
? unsigned char *e2adr,*dataadr;
? unsigned int i,j;
//int WriteBlock(int number,unsigned char *dataadr,unsigned char *e2adr)
? dataadr = (char*)0x200;
? e2adr = (char*)0x00;
? for( i=1;i<=Number;i++){
?
??? WriteBlock(8,dataadr,e2adr);
??? dataadr += 8;?
??? e2adr += 8;???
??? for (j=0;j<=3333;j++);???????????
???
? }
? return 0;
}
//; Clock out an acknowledge bit (low).
//; SCL expected low on entry. Return with SCL, SDA low.
void Ack(void)
{
? SDAEN |= SDA;
? SCLEN &= ~SCL;
? SCLEN |= SCL;
?
}
//; Clock out a negative acknowledge bit (high).
//; SCL expected low on entry. Return with SCL low, SDA high.
void Nak(void)
{
? SDAEN &= ~SDA;??????????????????? //; NAK bit
? SCLEN &= ~SCL;??????????????????? //; raise clock
? SCLEN |= SCL;???????????????????? //; drop clock
}
//由E2 中 讀8位 一個(gè)字節(jié) 數(shù)據(jù)
unsigned char shin(void)
{
? int i;
? unsigned char temp;
? unsigned char Mask;
? SDAEN &= ~SDA;????????????????? // make SDA an input
? temp =0;
//讀8位數(shù)據(jù)
? for( i=1;i<=8;i++) {
???
??? SCLEN &= ~SCL;??????????????? //SCL = H
??? Mask = 0;
??? if (SDAIN &SDA)
????? Mask = 1;
??? else
????? Mask =0;
//??? Mask = SDAIN & SDA;
??? Mask <<= (8 - i);
??? temp ^= Mask;
??? SCLEN |= SCL;???
? }
? return temp;
?}
// 24c256 512 頁 64字節(jié) 14-15bit Word Address!!!
//**********************************************************************
//? 讀取N 個(gè)字節(jié) 到RAM 中
//? 參數(shù)說明: number 讀取的個(gè)數(shù),dataadr,讀到RAM 的地址?e2adr,E2地址
//**********************************************************************
int? ReadNByte(int number,unsigned char *dataadr,unsigned char *e2adr)
{
?int? i;?????????????
?unsigned char *p;?
?unsigned char temp;?????????????
?unsigned char temp1;
?
? _DINT(); ??
?SDADAT &= (~(SCL+SDA));
?
?p=dataadr;???
?start();???
? temp = ControlByte((int)(e2adr ));
? shout(temp);????
?
? shout((int)(e2adr ));????????
? start();
? temp |= 0X01;??????????
? shout(temp);?????????
? temp1=0;
? for (i=1;i<=number;i++){??????????????
??? temp1 = shin();
??? *p++ = temp1;
??? Ack();
? }
?Nak();
?stop();
?_EINT();
?return 0;
}
- stm32單片機(jī)讀寫EEPROM AT24C512
- AT24C01和24C256串行EEPROM的中文數(shù)據(jù)手冊(cè)免費(fèi)下載 26次下載
- 模擬IIC讀寫總結(jié)之a(chǎn)t24c512讀寫程序 93次下載
- Proteus之24C256開啟次數(shù)統(tǒng)計(jì) 0次下載
- 24c128/24c256 pdf datasheet
- 24C256中文資料,24C256中文數(shù)據(jù)資料
- 24c16/24c08/24c04中文資料
- 24c02/24c01/24c04讀寫程序
- 24c32/24c16/24c08讀寫程序
- 24c512中文資料下載
- at24c64讀寫程序
- AT24C32/AT24C56讀寫程序
- AT24C02/AT24C04/AT24C08/AT24C1
- at24c01程序(讀寫程序)
- at24c16 c程序
- AT28C256 EEPROM芯片簡(jiǎn)單介紹 1573次閱讀
- 通過IIC總線讀寫AT24C512存儲(chǔ)器 1797次閱讀
- AT24C04芯片驅(qū)動(dòng)程序原理 1827次閱讀
- 微雪電子EEPROM存儲(chǔ)模塊AT24C簡(jiǎn)介 2242次閱讀
- AT24C系列芯片的驅(qū)動(dòng)設(shè)計(jì) 4613次閱讀
- AT89S52單片機(jī)并行端口模擬I2C總線協(xié)議讀寫AT24C04的設(shè)計(jì) 2583次閱讀
- 如何使用單片機(jī)模擬讀寫24C01EEPROM數(shù)據(jù) 5054次閱讀
- 如何利用AVR單片機(jī)實(shí)現(xiàn)AT24C256的數(shù)據(jù)高速穩(wěn)定的讀取 2888次閱讀
- 如何采用C51單片機(jī)讀寫CAT24C32 2514次閱讀
- at24c04中文資料匯總(at24c04引腳圖及功能_工作原理及電路圖) 7.9w次閱讀
- C51讀寫AT24C04源代碼及AT24C04測(cè)試程序 1.6w次閱讀
- 單片機(jī)STC12C5A60S2控制AT24C04的程序(C語言) 7432次閱讀
- AT24C256介紹_AT24C256燒錄的完整程序 1.2w次閱讀
- 單片機(jī)之IIC--AT24C256的讀寫程序 1.4w次閱讀
- 讀寫24LCxx系列的EEPROM的實(shí)例程序 2210次閱讀
下載排行
本周
- 1如何正確測(cè)試電源的紋波
- 0.36 MB | 2次下載 | 免費(fèi)
- 2550W充電機(jī)原理圖
- 0.13 MB | 2次下載 | 6 積分
- 3USB的PD快充協(xié)議電壓誘騙控制器FS312A中文手冊(cè)
- 1.51 MB | 2次下載 | 免費(fèi)
- 4USB的PD和OC快充協(xié)議電壓誘騙控制器FS312B中文手冊(cè)
- 1.35 MB | 1次下載 | 免費(fèi)
- 5USB Type_C PD快充協(xié)議智能觸發(fā)芯片F(xiàn)S8025B應(yīng)用手冊(cè)
- 1.48 MB | 1次下載 | 免費(fèi)
- 6基于三相二電平PFC和隔離DC-DC轉(zhuǎn)換器的11kW雙向電池充電器
- 618.10 KB | 1次下載 | 免費(fèi)
- 7THS4541RGT EVM用戶指南
- 1.22MB | 次下載 | 免費(fèi)
- 8熱電偶換算算法
- 0.01 MB | 次下載 | 1 積分
本月
- 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 23314A函數(shù)發(fā)生器維修手冊(cè)
- 16.30 MB | 31次下載 | 免費(fèi)
- 3美的電磁爐維修手冊(cè)大全
- 1.56 MB | 22次下載 | 5 積分
- 4使用TL431設(shè)計(jì)電源
- 0.67 MB | 8次下載 | 免費(fèi)
- 5感應(yīng)筆電路圖
- 0.06 MB | 8次下載 | 免費(fèi)
- 6LZC3106G高性能諧振控制器中文手冊(cè)
- 1.29 MB | 7次下載 | 1 積分
- 7Keysight B1500A 半導(dǎo)體器件分析儀用戶手冊(cè)、說明書 (中文)
- 19.00 MB | 5次下載 | 免費(fèi)
- 8SMD LED選型手冊(cè) 貼片燈珠
- 5.47 MB | 5次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評(píng)論
查看更多