色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美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. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  11次下載  |  免費
  5. 3嵌入式linux-聊天程序設計
  6. 0.60 MB  |  3次下載  |  免費
  7. 4DIY動手組裝LED電子顯示屏
  8. 0.98 MB  |  3次下載  |  免費
  9. 5基于FPGA的C8051F單片機開發板設計
  10. 0.70 MB  |  2次下載  |  免費
  11. 651單片機窗簾控制器仿真程序
  12. 1.93 MB  |  2次下載  |  免費
  13. 751單片機PM2.5檢測系統程序
  14. 0.83 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191186次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 麻豆成人久久精品二区三区网站| 被免费网站在线视频| 欧美z000z猪| 国语对白嫖老妇胖老太| 4虎影院午夜在线观看| 亚洲国产日韩欧美高清片a| 秋秋影视午夜福利高清| 免费国产成人高清在线观看视频| 精品久久电影网| 国产偷抇久久精品A片蜜臀AV| 东北成人社区| qvod在线观看| 99日精品欧美国产| 777久久人妻少妇嫩草AV蜜桃| 亚洲成人国产| 无套暴躁白丝秘书| 我强进了老师身体在线观看| 肉伦禁忌小说np| 日韩一级精品久久久久| 日本国产黄色片| 日本真人啪啪试看30秒| 青青娱乐网| 日韩中文字幕亚洲无线码| 日本另类xxxx| 乳色吐息未增删樱花ED在线观看| 日韩精品亚洲专区在线影院| 青苹果乐园在线观看电视剧| 千禧金瓶梅 快播| 色戒未删减版在线观看完整| 台湾佬休闲中性娱乐网| 国产精品久久vr专区| yellow在线观看免费高清的日本| bbwvideos欧美老妇| 草民电影网午夜伦理电影网| 岛国在线无码免费观| 国产精品一区二区在线观看| 国产人妻XXXX精品HD电影| 精品无码久久久久久国产百度| 久久国产精品麻豆AV影视| 母乳女神春日もな| 日本XXXXZZX片免费观看|