亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? i2c_fram_driver_for_fm24c04 .txt

?? 這個程序是用C語言寫的基于I2C接口的驅(qū)動程序源代碼
?? TXT
字號:
評:驅(qū)動程序?qū)τ谒械蔫F電系列I2C FRAM都是適用的,只是容量、電平(3V和5V)的不同,驅(qū)動程序是針對51MCU的,但對其他MCU只要稍微修改就可使用。

       在存貯數(shù)據(jù)量不大,而且讀寫次數(shù)頻繁時,可選擇I2C FRAM。

//THIS CODE WAS DESIGNED TO DEMONSTRATE HOW THE FM24C04/FM24C04A SERIAL FRAM COULD 
//BE INTERFACED TO THE 8051 MICROCONTROLLER. THE INTERFACE USES 2 LINES 
//FROM PORT 2 (P2.7 AND P2.6) TO COMMUNICATE. 
//THE CODE SHOWN DEMONSTRATES A 'RANDOM READ' AND 'BYTE WRITE'. THE OTHER *
//MODES OF OPERATION CAN BE CREATED BY EXPANDING UPON THESE ROUTINES.
//深圳市華胄科技有限公司
//the first date writed:2003-11-20
//email:gaoqiang@huazhoucn.com
//by:tiger
//=============================
#i nclude<reg52.h>
#i nclude<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define IIC_READ 0XA1    //定義讀指令
#define IIC_WRITE 0XA0   //定義寫指令
#define NOP _nop_()
//#define SDA INT0
//#define SCL T0
//==============================
uchar idata buff[32]; //save the byte read out  form iic device in test operation
uchar idata readbuff[32];//測試數(shù)組,暫存寫入讀出數(shù)據(jù)
//uchar writebuff[32];
//===============================
sbit SDA=P1^4;//P2^7; //THE SDA BIT IS PORT 2 BIT 7
sbit SCL=P1^7;//P2^6; //THE SCL BIT IS PORT 2 BIT 6
//sbit WP=P2^5;
//sbit test=P1^0;
//===============================
//define a bit_operation byte to use in shift operation
//use this mode can achieve high operation speed 
uchar bdata bbyte;//定義位操作用數(shù)組,采用此方法可提高位操作速度
sbit a0=bbyte^0;
sbit a1=bbyte^1;
sbit a2=bbyte^2;
sbit a3=bbyte^3;
sbit a4=bbyte^4;
sbit a5=bbyte^5;
sbit a6=bbyte^6;
sbit a7=bbyte^7;
//========================================
bit IFACK; //record the SDA state to confirn if ACK has happened 
bit NO_ACK; //no ack flag
bit BUS_FAULT; //bus fault flag
//========================================
//FUNCTION:ROUTES TO PROVIDE A START SIGNAL
void start(void)
{
 SCL=0;SDA=1;SCL=1;SDA=0;SCL=0;
}
//=======================================
//FUNCTION:ROUTES TO PROVIDE A STOP SIGNAL
void stop(void)
{
 SCL=0;SDA=0;SCL=1;SDA=1;SCL=0;
}
//=====================================
//FUNCTION:ROUTES TO PROVIDE ACK SINGAL
void ack(void)
{
 SCL=0;SDA=0;SCL=1;SCL=0;
}
//=====================================
//FUNCTION:ROUTES TO RELEASE THE SDA TO RECEIVE A ACK SIGNAL 
//              OR TO PROVIDE A NO_ACK SIGNAL
//type=1等待應答信號
//type=0 產(chǎn)生無應答信號
void nack(uchar type)
{
 SCL=0;SDA=1;SCL=1;IFACK=SDA; SCL=0;
 if(type)
 {
  if(IFACK)//如果無應答信號,則置標志位NO_ACK,程序中止
  { 
   NO_ACK=1;//用戶可以加入自己的異常處理程序
   //while(1);
  }
  else NO_ACK=0;
 }
}
//=======================================================
//FUNCTION:THE IIC DEVICE SHIFT OUT A BYTE  TO THE MASTER
uchar  inbyte(void) {//從IIC器件中讀出數(shù)據(jù)
 SDA=1;
 SCL=1;a7=SDA;SCL=0;
 SCL=1;a6=SDA;SCL=0;
 SCL=1;a5=SDA;SCL=0;
 SCL=1;a4=SDA;SCL=0;
 SCL=1;a3=SDA;SCL=0;
 SCL=1;a2=SDA;SCL=0;
 SCL=1;a1=SDA;SCL=0;
 SCL=1;a0=SDA;SCL=0;
 return(bbyte);
}
//=======================================================
//FUNCTION:THE IIC DEVICE SHIFT IN A BYTE FROM THE MASTER 
void outbyte(uchar outdata) {//將數(shù)據(jù)寫放IIC器件
 bbyte=outdata;
 SDA=a7;SCL=1;SCL=0;
 SDA=a6;SCL=1;SCL=0;
 SDA=a5;SCL=1;SCL=0;
 SDA=a4;SCL=1;SCL=0;
 SDA=a3;SCL=1;SCL=0;
 SDA=a2;SCL=1;SCL=0;
 SDA=a1;SCL=1;SCL=0;
 SDA=a0;SCL=1;SCL=0;
}
//======================================================
//FUNCTION:BYTE WRITE.  'add'     THE WRITE ADDRESS, 'wbyte'   THE DATA WANT TO WRITE
void writebyte(uint add,uchar wbyte)//add為寫入地址,wbyte為寫入數(shù)據(jù)
{
 uchar temph,templ;
 temph=(uchar)(add/256);
 templ=(uchar)(add%256);
 start();    //開始信號
 outbyte(IIC_WRITE);   //寫命令
 nack(1);   //等待應答
 outbyte(temph);  //寫地址
 nack(1);   //等待應答
 outbyte(templ);  //寫地址
 nack(1);
 outbyte(wbyte);   //寫數(shù)據(jù)
 nack(1);   //等待應答
 stop();    //停止信號
}
//=====================================================
//FUNCTION:RANDOM READ.'add' IS THE ADDRESS WANT TO READ
uchar readbyte (uint add)//add為讀地址
{
 uchar temp,temph,templ; 
 temph=(uchar)(add/256);
 templ=(uchar)(add%256);
 start();   //開始信號
 outbyte(IIC_WRITE);   //寫命令
 nack(1);   //等待應答
 outbyte(temph);  //寫地址
 nack(1);   //等待應答
 outbyte(templ);  //寫地址
 nack(1);
 start();   //開始信號
 outbyte(IIC_READ);   //讀命令
 nack(1);   //等待應答
 temp=inbyte();   //讀數(shù)據(jù)
 nack(0);   //無應答
 stop();    //停止信號
 return(temp);
}
//=================================================
//連寫函數(shù)
//add為讀起始地址,ptr數(shù)據(jù)保存指針,writelen為寫入數(shù)據(jù)長度
void writebyteseq(uint add,uchar *ptr,uint writelen)
{
 //uchar temp;
 uchar temph,templ;
 uint i;
 temph=(uchar)(add/256);
 templ=(uchar)(add%256);
 start();   
 outbyte(IIC_WRITE);  
 nack(1);  
 outbyte(temph);
 nack(1);
 outbyte(templ);
 nack(1);
 for(i=0;i<writelen;i++)
 {
  outbyte(*(ptr+i));
  nack(1);
 }
 stop(); 
}
//=================================================
//連讀函數(shù)
//add為讀起始地址,ptr數(shù)據(jù)保存指針,writelen為讀出數(shù)據(jù)長度
void readbyteseq(uint add,uchar *ptr,uint readlen)
{
 uchar temph,templ;
 uint i;
 temph=(uchar)(add/256);
 templ=(uchar)(add%256);
 start();
 outbyte(IIC_WRITE);
 nack(1);
 outbyte(temph);
 nack(1);
 outbyte(templ);
 nack(1);
 start();
 outbyte(IIC_READ);
 nack(1);
 for(i=0;i<readlen-1;i++)
 {
  *(ptr+i)=inbyte();
  ack();
  
 }
 *(ptr+readlen-1)=inbyte();
 nack(0);
 stop();
}
//=======================================================
//THIS IS A TEST OPERATION 
void main(void)
{
 uchar i;
 uchar j=0;
 //WP=0;
 while(1)
 {
  if(j++>255){j=0;}
  for(i=0;i<32;i++) readbuff[i]=j;
  writebyteseq(0, readbuff, 32);
  for(i=0;i<32;i++) readbuff[i]=0;
  readbyteseq(0,readbuff,32);
  //for(i=0;i<32;i++)
   //writebyte(i,i);
  for(i=0;i<32;i++) 
   buff[i]=readbyte(i);
  i=0; 
 }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产精品免费| 精品免费一区二区三区| 国产电影一区在线| 麻豆国产欧美日韩综合精品二区| 国产精品乱码一区二区三区软件| 欧美成人精品二区三区99精品| 日本道精品一区二区三区| 不卡高清视频专区| 成人午夜视频免费看| 国产精品 日产精品 欧美精品| 天堂va蜜桃一区二区三区 | 99re这里只有精品首页| 成人高清伦理免费影院在线观看| 国产一区二区看久久| 久久99在线观看| 狂野欧美性猛交blacked| 男人的j进女人的j一区| 日本特黄久久久高潮| 美腿丝袜亚洲综合| 国产在线一区观看| 国产精品一区二区久久精品爱涩| 精品中文av资源站在线观看| 另类小说一区二区三区| 国产在线视频一区二区| 国产精品亚洲视频| 97久久精品人人做人人爽50路| 97久久久精品综合88久久| 色av综合在线| 4438x成人网最大色成网站| 精品少妇一区二区三区视频免付费 | 日韩美女视频一区二区| 亚洲伊人伊色伊影伊综合网| 国产精品免费观看视频| 欧美另类一区二区三区| 久久午夜羞羞影院免费观看| 亚洲午夜久久久久| 成人av在线影院| 日韩一区二区三区观看| 精品国产电影一区二区| 国产亚洲成年网址在线观看| 中文字幕av不卡| 一区二区三区日韩精品| 亚洲v中文字幕| 青青草97国产精品免费观看无弹窗版 | 另类成人小视频在线| 国产剧情一区二区三区| 不卡的av电影在线观看| 亚洲国产精品av| 亚洲综合色区另类av| 国内精品嫩模私拍在线| 在线视频综合导航| 国产欧美一区二区精品秋霞影院| 91精品国产福利在线观看| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲国产精品一区二区www| 色视频欧美一区二区三区| 日韩一区二区影院| 国产精品美女久久久久av爽李琼| 日韩电影一二三区| 一本久道中文字幕精品亚洲嫩| 久久精品一区二区三区四区| 亚洲国产成人高清精品| 一本久道久久综合中文字幕| 国产午夜三级一区二区三| 免费高清在线视频一区·| 在线一区二区三区| 亚洲日本青草视频在线怡红院| 激情图片小说一区| 久久天堂av综合合色蜜桃网| 精品一区二区三区影院在线午夜| 蜜臀久久99精品久久久久久9| 北条麻妃国产九九精品视频| 亚洲人快播电影网| 久久黄色级2电影| 欧美在线一区二区三区| 亚洲电影在线免费观看| 欧美一区二区在线免费观看| 久热成人在线视频| 国产精品久久毛片| 欧洲精品一区二区三区在线观看| 香蕉成人伊视频在线观看| 日韩一级片网站| 国产一区啦啦啦在线观看| 97久久久精品综合88久久| 国产欧美精品国产国产专区| 国产精品综合久久| 国产亚洲美州欧州综合国| 国产精品一区二区在线观看不卡| 欧美一级片在线观看| 蜜桃免费网站一区二区三区| 欧美一区二区精品在线| 另类欧美日韩国产在线| 日韩免费在线观看| 国产伦精品一区二区三区免费迷 | 欧美美女bb生活片| 日本美女一区二区三区视频| 欧美v国产在线一区二区三区| 久久精品国产99国产| 国产午夜精品理论片a级大结局| 国产一区二区电影| 亚洲欧美日韩在线播放| 欧美在线小视频| 男人的天堂亚洲一区| 国产亲近乱来精品视频| av资源站一区| 日韩高清一级片| 国产色产综合色产在线视频 | 99久久婷婷国产| 丝袜美腿亚洲综合| 久久九九久久九九| 在线视频国内自拍亚洲视频| 美腿丝袜亚洲三区| 中文字幕一区二区三中文字幕| 色综合天天狠狠| 久久狠狠亚洲综合| 亚洲黄色小视频| 欧美成人vr18sexvr| 色综合天天综合色综合av | 亚洲乱码国产乱码精品精可以看| 欧美日本免费一区二区三区| 国内不卡的二区三区中文字幕 | 久久久亚洲精华液精华液精华液| 99久久777色| 国产一区二区三区四区在线观看| 亚洲猫色日本管| 欧美zozozo| 欧美日韩免费一区二区三区 | 久久久精品黄色| 69av一区二区三区| 91美女精品福利| 国产99一区视频免费 | 亚洲免费在线电影| 国产天堂亚洲国产碰碰| 欧美一区二区三区啪啪| 91影院在线观看| 国产91高潮流白浆在线麻豆| 日本大胆欧美人术艺术动态| 亚洲综合视频在线| 国产精品嫩草99a| 久久久精品tv| 精品久久一区二区三区| 69久久99精品久久久久婷婷| 欧美午夜精品一区| 欧美影院精品一区| 欧美优质美女网站| 在线视频中文字幕一区二区| 色激情天天射综合网| 色猫猫国产区一区二在线视频| 成人av网址在线| 91在线精品一区二区| 99热精品一区二区| 色综合网站在线| 欧美日韩一二区| 日韩欧美成人激情| 精品国产一区二区三区av性色| 欧美一二区视频| 国产成人精品亚洲午夜麻豆| 日韩高清不卡一区二区三区| 婷婷开心久久网| 另类小说视频一区二区| 国产一区二区中文字幕| 国产91清纯白嫩初高中在线观看 | 成人福利视频网站| 97se亚洲国产综合自在线 | 成人午夜电影久久影院| 成人免费视频网站在线观看| 91亚洲男人天堂| 4438x成人网最大色成网站| 精品三级在线观看| 国产精品久久三区| 肉肉av福利一精品导航| 日韩高清在线一区| 成人美女在线视频| 欧洲精品一区二区三区在线观看| 欧美一级在线观看| 国产精品丝袜一区| 天堂成人国产精品一区| 国产麻豆成人传媒免费观看| 色婷婷av一区二区三区gif | 精品国内片67194| 中文字幕亚洲一区二区av在线| 亚洲一区二区美女| 国产一区二区视频在线播放| 一本大道久久a久久综合婷婷 | 精品国产一区二区精华| 成人欧美一区二区三区在线播放| 石原莉奈在线亚洲三区| 国产1区2区3区精品美女| 欧美天堂亚洲电影院在线播放| 精品国产污污免费网站入口 | 国产米奇在线777精品观看| 欧美中文字幕一区| 国产日韩亚洲欧美综合| 日日欢夜夜爽一区| 在线日韩一区二区| 国产蜜臀97一区二区三区| 奇米影视一区二区三区| 欧美午夜一区二区三区免费大片| 中文字幕国产精品一区二区| 青青草国产成人av片免费|