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

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

?? iic.h

?? C8051F040單片機開發與C語言編程例子
?? H
字號:
//虛擬iic操作
//iic.h
#include "REG52s.H"
#include "intrins.h"
#define numlen 5
#define flashadw 0xa0//定義操作對象的寫地址
#define flashadr 0xa1//定義操作對象讀地址
typedef unsigned char uchar;
typedef unsigned int uint;
sbit VSDA=P1^7;//iic虛擬數據線
sbit VSCL=P1^6;//iic虛擬時鐘線
bit error0,ftemp;
bdata uchar bitdata;//定義到BDATA區,在移位操作時可方便實現位尋址
sbit bd7=bitdata^7;//bitdata.7,即最高位
sbit bd0=bitdata^0;//bitdata.0,即最低位
void iicstart(void);
void iicstop(void);
void mack(void);
void mnack(void);
void cack(void);
void wrbyt(uchar data0);
uchar rdbyt(void);
void delay1ms(uint time);
void config(void);
uchar flashrb(bit end);
uchar flashra(uchar adrh,uchar adrl,bit end);
void flashwa(uchar adrh,uchar adrl);
void flashwb(uchar dataw, bit end);
void delay1us();
void iicstart(void){//產生iic位起始信號(幀起始),具體可參見iic總線或SMBUS總線
	VSDA=1;
	VSCL=1;
	delay1us();
	VSDA=0;
	delay1us();
	VSCL=0;
}
void iicstop(void){//產生iic位停止信號(幀結尾)
	VSDA=0;
	VSCL=1;
	delay1us();
	VSDA=1;
	delay1us();
}
void mack(void){//主機應答ACK信號,即單片機對操作對象的應答信號
	VSDA=0;
	VSCL=1;
	delay1us();
	VSCL=0;
}
void mnack(void){//主機不應答NACK信號,一般用于讀控制時,告知對象產生幀結尾
	VSDA=1;
	VSCL=1;
	delay1us();
	VSCL=0;
}
void cack(void){//查詢從機應答信號,若從機應答,則error0(全局變量)返回0,從機不應答,
//則返回1
	VSDA=1;
	VSCL=1;
	_nop_();
	error0=0;
	ftemp=VSDA;
	if(ftemp)
		error0=1;
	VSCL=0;
}
void wrbyt(uchar data0){//一字節寫操作,先發送高位
	idata uchar i;
	bitdata=data0;//巧用bitdata處于BDATA區,能位尋址
	for(i=0;i<8;i++){
		if(bd7){
			VSDA=1;
			VSCL=1;
			delay1us();
			VSCL=0;
			}
		else{
			VSDA=0;
			VSCL=1;
			delay1us();
			VSCL=0;
			}
		bitdata<<=1;
	}
}
uchar rdbyt(void){//一字節讀操作
	idata uchar i;
	for(i=0;i<7;i++){
		VSDA=1;
		VSCL=1;
		bd0=VSDA;//讀操作時,位流中高字節在前,所以巧用左移可獲取數據
		bitdata<<=1;
		VSCL=0;
	}
	VSDA=1;
	VSCL=1;
	bd0=VSDA;
	VSCL=0;	
	return bitdata;
}
void flashwa(uchar adrh,uchar adrl){//對EEPROM寫存儲地址操作
restart:
	iicstart();//產生位起始
	wrbyt(flashadw);//寫設備地址
	cack();//檢查從機應答情況
	if(error0)
		goto restart;//從機沒應答則重發
	wrbyt(adrh);//寫入存儲高字節地址
	cack();
	if(error0)
			goto restart;
	wrbyt(adrl);//寫入存儲第字節地址
		cack();
	if(error0){
		iicstop();
		goto restart;
	}//注意地址寫完后,沒有寫位結束,因而EEPROM一直處于寫入模式
	
}
void flashwb(uchar dataw, bit end){//對EEPROM寫入數據操作
//end控制是否產生位停止,停止當前幀,若bit=1,則產生位停止
//若bit=0,則當前幀沒有結束,可繼續寫入地址,適用于頁操作模式
//值得注意的是要考慮數據是否寫入過多,要控制EEPROM換頁操作
//換頁之前要確保已經產生位停止操作,否則調用flashwa()寫地址無效
		wrbyt(dataw);
		cack();
		if(end)
			iicstop();
}
uchar flashra(uchar adrh,uchar adrl,bit end){//讀EEPROM地址為adrh-adrl的數據,且返回值為
//讀取的數據值存在內在bug,若設備沒有相應,則一直處于重發狀態,相
//當于死機,對寫操作也存在此bug若單數據讀,則end為1,若多數據讀,end為0
	uchar i;
	restart:
	iicstart();
	wrbyt(flashadw);//寫入設備地址+寫控制
	cack();
	if(error0)
		goto restart;
	wrbyt(adrh);//寫入存儲高字節地址
	cack();
	if(error0){
		iicstop();
		goto restart;
	}
	wrbyt(adrl);//寫入存儲低字節地址
	cack();
	if(error0){
		iicstop();//產生位停止
		goto restart;
	}
	//以上代碼實質上可以直接調用flashwa(adrh,adrl);不過重寫一遍避免了調用函數時
	//參數傳遞,執行效率更高
	restart2:
	iicstart();//寫完地址,重新發送起始位
	wrbyt(flashadr);//寫入設備地址+讀控制
	cack();
	if(error0)
		goto restart2;
	i=rdbyt();//讀取數據
	if(end){
			mnack();//若當前讀取為最后一個數據,則發送NACK給從機,并產生位停止
			iicstop();
	}
	else
		mack();//當前讀取不是最后一個數據,發送ACK給從機
	return i;
}
uchar flashrb(bit end){//在多字節讀取模式下,繼續讀取數據,若end為1,
//則當前操作為最后一個讀取值
	uchar i;
	i=rdbyt();
	if(end){
			mnack();
			iicstop();
	}
	else
		mack();
	return i;
}
void delay1ms(uint time){//延遲1ms
	uint ii;
	uint jj;
	for (ii=0;ii<time;ii++){
		for(jj=0;jj<300;jj++);
	}
}	
void config (void) {//可以不用
	AUXR=0x1a;
}   //End of config
void delay1us(){//修改該函數可以修改對IIC操作的時鐘頻率
	uchar tt;
	for(tt=0;tt<3;tt++);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线一区二区综合免费视频| 国产99久久久国产精品免费看| 久久精品男人天堂av| 欧洲中文字幕精品| 国产福利精品导航| 日本不卡的三区四区五区| 国产精品久久午夜夜伦鲁鲁| 日韩欧美色综合| 日本精品裸体写真集在线观看| 黑人巨大精品欧美一区| 婷婷开心久久网| 亚洲欧美日本韩国| 国产日韩成人精品| 久久色.com| 精品视频在线免费看| 99视频精品免费视频| 国产一区二区美女诱惑| 男女男精品网站| 亚洲一区二区三区中文字幕在线| 国产精品美女一区二区三区 | 国产精品卡一卡二| 日韩欧美国产系列| 宅男噜噜噜66一区二区66| 91麻豆产精品久久久久久| 国产成人免费视频网站高清观看视频| 日韩福利电影在线| 午夜精品久久久久久久久久| 亚洲综合小说图片| 亚洲精品国产高清久久伦理二区| 国产农村妇女毛片精品久久麻豆| 欧美v亚洲v综合ⅴ国产v| 欧美日韩在线一区二区| 在线看日韩精品电影| 91麻豆免费观看| 91污片在线观看| av影院午夜一区| 91丨porny丨国产入口| 成人福利视频在线看| 成人视屏免费看| 成人av在线资源网| 99久久国产综合色|国产精品| 国产999精品久久久久久| 国产精品一区专区| 韩国精品免费视频| 丁香亚洲综合激情啪啪综合| 国产不卡视频一区二区三区| 成人免费三级在线| 91亚洲男人天堂| 欧美日韩一区视频| 欧美美女一区二区在线观看| 欧美肥妇free| 精品日韩av一区二区| www激情久久| 国产色综合一区| 最新久久zyz资源站| 亚洲综合一区在线| 蜜臀久久久99精品久久久久久| 国内一区二区视频| 高潮精品一区videoshd| av亚洲精华国产精华精华| 色狠狠桃花综合| 欧美男男青年gay1069videost| 911精品产国品一二三产区| 日韩一区二区三区视频在线| 亚洲精品一线二线三线无人区| 国产欧美一区二区精品忘忧草| 亚洲图片激情小说| 亚洲444eee在线观看| 九九在线精品视频| 成人黄动漫网站免费app| 色综合天天综合网天天狠天天| 欧美日韩视频在线观看一区二区三区 | 欧美一二三四区在线| 亚洲男人天堂av| 日韩在线卡一卡二| 国产麻豆一精品一av一免费 | 国产欧美精品区一区二区三区| 中文字幕一区二区三区在线不卡| 亚洲一区二区四区蜜桃| 久久电影网电视剧免费观看| 成人看片黄a免费看在线| 欧美午夜不卡在线观看免费| 精品国产一区二区三区久久久蜜月 | 久久久精品黄色| 亚洲乱码国产乱码精品精98午夜| 丝袜亚洲另类丝袜在线| 国产精品亚洲成人| 欧美日韩精品电影| 国产亚洲精品bt天堂精选| 亚洲乱码国产乱码精品精98午夜| 麻豆精品国产91久久久久久| av高清久久久| 精品少妇一区二区三区日产乱码 | 久久久噜噜噜久噜久久综合| 一区二区三区欧美视频| 国产永久精品大片wwwapp| 欧美午夜精品免费| 久久香蕉国产线看观看99| 亚洲一卡二卡三卡四卡| 国产成人福利片| 日韩一区二区三区在线| 一区二区三区免费看视频| 国产精品456| 日韩欧美一区二区久久婷婷| 亚洲日本丝袜连裤袜办公室| 狠狠狠色丁香婷婷综合激情| 在线不卡a资源高清| 日韩毛片一二三区| 国产一区在线观看麻豆| 91精品国产高清一区二区三区 | 国模大尺度一区二区三区| 在线视频国内自拍亚洲视频| 国产欧美精品一区二区色综合| 久久精品国产色蜜蜜麻豆| 欧美人牲a欧美精品| 亚洲黄色录像片| 91亚洲精品久久久蜜桃网站| 国产精品乱人伦| 国产精品一区二区在线看| 欧美电影免费提供在线观看| 亚洲国产综合色| 欧美日韩综合色| 一区二区三区波多野结衣在线观看| 懂色av噜噜一区二区三区av| 久久婷婷综合激情| 国产一区二区三区电影在线观看| 91精品国产综合久久久久| 亚洲成人免费观看| 欧美一区二区三区播放老司机| 亚洲一区在线看| 91成人免费在线视频| 亚洲视频资源在线| www.日韩精品| 国产精品不卡一区| eeuss国产一区二区三区| 国产精品视频yy9299一区| 成人国产精品视频| 国产精品成人一区二区艾草| 成人a级免费电影| 亚洲视频一二三区| 91精彩视频在线| 亚洲成a天堂v人片| 91精品国产一区二区三区蜜臀 | 亚洲一二三区不卡| 欧美日韩精品欧美日韩精品| 婷婷成人激情在线网| 欧美日韩国产美女| 日本不卡视频在线观看| 欧美一区二区三区在线观看| 久久精品国产网站| 久久久久国产精品人| 国产成人亚洲精品青草天美 | 精品亚洲免费视频| 国产日韩av一区| 91色婷婷久久久久合中文| 一二三四社区欧美黄| 欧美美女直播网站| 激情综合网av| 国产精品女主播av| 欧美三级中文字| 欧美aⅴ一区二区三区视频| 欧美成人三级在线| 成人国产一区二区三区精品| 一区二区三区色| 日韩欧美激情四射| 成人午夜碰碰视频| 亚洲一本大道在线| 精品国产亚洲在线| 99re这里只有精品首页| 亚洲成a人在线观看| 国产午夜精品美女毛片视频| 日本乱码高清不卡字幕| 美女一区二区在线观看| 国产精品麻豆视频| 3d成人动漫网站| 国产iv一区二区三区| 一区二区三区影院| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 日韩免费高清av| 成人免费高清在线| 亚洲福利一区二区| 国产欧美一区二区精品久导航 | 精品亚洲成a人| 最新不卡av在线| 日韩写真欧美这视频| 成人三级伦理片| 日韩va欧美va亚洲va久久| 国产精品福利在线播放| 欧美一级精品大片| 91小视频在线| 韩国在线一区二区| 亚洲在线视频一区| 国产日产亚洲精品系列| 3d动漫精品啪啪1区2区免费| 99精品久久只有精品| 韩国v欧美v日本v亚洲v| 国产中文字幕一区| 亚洲一区二区欧美| 中文字幕第一区| 日韩欧美成人一区|