色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>IC資料>IC中文資料>24c512/24c256的讀寫程序

24c512/24c256的讀寫程序

2008-08-13 | rar | 666 | 次下載 | 10積分

資料介紹


#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 個字節到 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個字節
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位 一個字節 數據
unsigned char shin(void)
{
? int i;
? unsigned char temp;
? unsigned char Mask;

? SDAEN &= ~SDA;????????????????? // make SDA an input
? temp =0;

//讀8位數據
? 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字節 14-15bit Word Address!!!
//**********************************************************************
//? 讀取N 個字節 到RAM
//? 參數說明: number 讀取的個數,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;
}

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1如何正確測試電源的紋波
  2. 0.36 MB   |  2次下載  |  免費
  3. 2550W充電機原理圖
  4. 0.13 MB   |  2次下載  |  6 積分
  5. 3USB的PD快充協議電壓誘騙控制器FS312A中文手冊
  6. 1.51 MB   |  2次下載  |  免費
  7. 4USB的PD和OC快充協議電壓誘騙控制器FS312B中文手冊
  8. 1.35 MB   |  1次下載  |  免費
  9. 5USB Type_C PD快充協議智能觸發芯片FS8025B應用手冊
  10. 1.48 MB   |  1次下載  |  免費
  11. 6基于三相二電平PFC和隔離DC-DC轉換器的11kW雙向電池充電器
  12. 618.10 KB  |  1次下載  |  免費
  13. 7THS4541RGT EVM用戶指南
  14. 1.22MB   |  次下載  |  免費
  15. 8熱電偶換算算法
  16. 0.01 MB   |  次下載  |  1 積分

本月

  1. 1使用單片機實現七人表決器的程序和仿真資料免費下載
  2. 2.96 MB   |  44次下載  |  免費
  3. 23314A函數發生器維修手冊
  4. 16.30 MB   |  31次下載  |  免費
  5. 3美的電磁爐維修手冊大全
  6. 1.56 MB   |  22次下載  |  5 積分
  7. 4使用TL431設計電源
  8. 0.67 MB   |  8次下載  |  免費
  9. 5感應筆電路圖
  10. 0.06 MB   |  8次下載  |  免費
  11. 6LZC3106G高性能諧振控制器中文手冊
  12. 1.29 MB   |  7次下載  |  1 積分
  13. 7Keysight B1500A 半導體器件分析儀用戶手冊、說明書 (中文)
  14. 19.00 MB  |  5次下載  |  免費
  15. 8SMD LED選型手冊 貼片燈珠
  16. 5.47 MB   |  5次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935119次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233084次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73807次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65987次下載  |  10 積分
主站蜘蛛池模板: 九九热视频免费观看| 肉肉描写很细致的黄文| 亚洲一级特黄| 久久精品国产首叶| 综合久久伊人| 日韩AV片无码一区二区三区不卡 | 麻豆久久婷婷五月国产| caoporen超碰在线视频| 神马伦理2019影院不卡片| 好吊射视频988gaocom| 99re6热这里在线精品视频| 色多多深夜福利免费观看| 国产一区免费在线观看| 91精品视频网站| 羞羞麻豆国产精品1区2区3区| 久久热在线视频精品店| 高h 纯肉文| 中俄两军在日本海等上空战略巡航| 秋霞电影午夜伦午夜| 果冻传媒APP免费网站在线观看| 99国内偷揿国产精品人妻| 亚洲 成人网| 欧美GAY猛男GAYA片18禁| 国产亚洲一区二区三区啪| xxxxx69hd杨幂| 又黄又爽又无遮挡在线观看免费 | 午夜一级视频| 男人吃奶摸下弄进去好爽| 国产精品一区二区亚瑟不卡| 97人视频国产在线观看 | 91成品视频| 亚洲AV怡红院AV男人的天堂| 欧美性情video sexo视频| 久草在线在线精品观看| 国产精品色吧国产精品| WWW婷婷AV久久久影片| 野花香在线观看免费高清播放视频| 日本黄色官网| 奶水四溅54p| 久久九九精品国产自在现线拍| 国产免费不卡|