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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iic.h

?? c8051單片機(jī)源程序
?? 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虛擬數(shù)據(jù)線
sbit VSCL=P1^6;//iic虛擬時(shí)鐘線
bit error0,ftemp;
bdata uchar bitdata;//定義到BDATA區(qū),在移位操作時(shí)可方便實(shí)現(xiàn)位尋址
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){//產(chǎn)生iic位起始信號(幀起始),具體可參見iic總線或SMBUS總線
	VSDA=1;
	VSCL=1;
	delay1us();
	VSDA=0;
	delay1us();
	VSCL=0;
}
void iicstop(void){//產(chǎn)生iic位停止信號(幀結(jié)尾)
	VSDA=0;
	VSCL=1;
	delay1us();
	VSDA=1;
	delay1us();
}
void mack(void){//主機(jī)應(yīng)答ACK信號,即單片機(jī)對操作對象的應(yīng)答信號
	VSDA=0;
	VSCL=1;
	delay1us();
	VSCL=0;
}
void mnack(void){//主機(jī)不應(yīng)答NACK信號,一般用于讀控制時(shí),告知對象產(chǎn)生幀結(jié)尾
	VSDA=1;
	VSCL=1;
	delay1us();
	VSCL=0;
}
void cack(void){//查詢從機(jī)應(yīng)答信號,若從機(jī)應(yīng)答,則error0(全局變量)返回0,從機(jī)不應(yīng)答,
//則返回1
	VSDA=1;
	VSCL=1;
	_nop_();
	error0=0;
	ftemp=VSDA;
	if(ftemp)
		error0=1;
	VSCL=0;
}
void wrbyt(uchar data0){//一字節(jié)寫操作,先發(fā)送高位
	idata uchar i;
	bitdata=data0;//巧用bitdata處于BDATA區(qū),能位尋址
	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){//一字節(jié)讀操作
	idata uchar i;
	for(i=0;i<7;i++){
		VSDA=1;
		VSCL=1;
		bd0=VSDA;//讀操作時(shí),位流中高字節(jié)在前,所以巧用左移可獲取數(shù)據(jù)
		bitdata<<=1;
		VSCL=0;
	}
	VSDA=1;
	VSCL=1;
	bd0=VSDA;
	VSCL=0;	
	return bitdata;
}
void flashwa(uchar adrh,uchar adrl){//對EEPROM寫存儲地址操作
restart:
	iicstart();//產(chǎn)生位起始
	wrbyt(flashadw);//寫設(shè)備地址
	cack();//檢查從機(jī)應(yīng)答情況
	if(error0)
		goto restart;//從機(jī)沒應(yīng)答則重發(fā)
	wrbyt(adrh);//寫入存儲高字節(jié)地址
	cack();
	if(error0)
			goto restart;
	wrbyt(adrl);//寫入存儲第字節(jié)地址
		cack();
	if(error0){
		iicstop();
		goto restart;
	}//注意地址寫完后,沒有寫位結(jié)束,因而EEPROM一直處于寫入模式
	
}
void flashwb(uchar dataw, bit end){//對EEPROM寫入數(shù)據(jù)操作
//end控制是否產(chǎn)生位停止,停止當(dāng)前幀,若bit=1,則產(chǎn)生位停止
//若bit=0,則當(dāng)前幀沒有結(jié)束,可繼續(xù)寫入地址,適用于頁操作模式
//值得注意的是要考慮數(shù)據(jù)是否寫入過多,要控制EEPROM換頁操作
//換頁之前要確保已經(jīng)產(chǎn)生位停止操作,否則調(diào)用flashwa()寫地址無效
		wrbyt(dataw);
		cack();
		if(end)
			iicstop();
}
uchar flashra(uchar adrh,uchar adrl,bit end){//讀EEPROM地址為adrh-adrl的數(shù)據(jù),且返回值為
//讀取的數(shù)據(jù)值存在內(nèi)在bug,若設(shè)備沒有相應(yīng),則一直處于重發(fā)狀態(tài),相
//當(dāng)于死機(jī),對寫操作也存在此bug若單數(shù)據(jù)讀,則end為1,若多數(shù)據(jù)讀,end為0
	uchar i;
	restart:
	iicstart();
	wrbyt(flashadw);//寫入設(shè)備地址+寫控制
	cack();
	if(error0)
		goto restart;
	wrbyt(adrh);//寫入存儲高字節(jié)地址
	cack();
	if(error0){
		iicstop();
		goto restart;
	}
	wrbyt(adrl);//寫入存儲低字節(jié)地址
	cack();
	if(error0){
		iicstop();//產(chǎn)生位停止
		goto restart;
	}
	//以上代碼實(shí)質(zhì)上可以直接調(diào)用flashwa(adrh,adrl);不過重寫一遍避免了調(diào)用函數(shù)時(shí)
	//參數(shù)傳遞,執(zhí)行效率更高
	restart2:
	iicstart();//寫完地址,重新發(fā)送起始位
	wrbyt(flashadr);//寫入設(shè)備地址+讀控制
	cack();
	if(error0)
		goto restart2;
	i=rdbyt();//讀取數(shù)據(jù)
	if(end){
			mnack();//若當(dāng)前讀取為最后一個(gè)數(shù)據(jù),則發(fā)送NACK給從機(jī),并產(chǎn)生位停止
			iicstop();
	}
	else
		mack();//當(dāng)前讀取不是最后一個(gè)數(shù)據(jù),發(fā)送ACK給從機(jī)
	return i;
}
uchar flashrb(bit end){//在多字節(jié)讀取模式下,繼續(xù)讀取數(shù)據(jù),若end為1,
//則當(dāng)前操作為最后一個(gè)讀取值
	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(){//修改該函數(shù)可以修改對IIC操作的時(shí)鐘頻率
	uchar tt;
	for(tt=0;tt<3;tt++);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机精品视频线观看86| 欧美一级精品大片| 欧美乱妇23p| 国产精品久久久久久妇女6080| 午夜日韩在线观看| 国产成人自拍网| 日韩一级片在线观看| 亚洲一区二区3| 92精品国产成人观看免费 | 麻豆国产精品官网| 欧美图区在线视频| 亚洲黄色免费电影| 成人黄色国产精品网站大全在线免费观看| 正在播放亚洲一区| 日日摸夜夜添夜夜添亚洲女人| 99久久精品99国产精品 | 日韩精品一区二区三区视频播放| 亚洲狼人国产精品| 不卡av在线免费观看| 久久久久久久久久久久久久久99| 精品在线亚洲视频| 日韩一级在线观看| 免费在线观看一区| 日韩欧美不卡在线观看视频| 天天操天天综合网| 欧美一区欧美二区| 丝袜美腿高跟呻吟高潮一区| 欧美体内she精高潮| 亚洲成a人片在线不卡一二三区| 精品视频色一区| 亚洲成a人v欧美综合天堂下载| 欧美日韩国产美| 日本在线不卡一区| 精品国产伦理网| 国产一区二区三区综合| 久久精品一区二区三区不卡牛牛| 国产在线视频精品一区| 亚洲国产精品成人综合色在线婷婷| 国产精品影视在线观看| 国产欧美精品一区| 色噜噜夜夜夜综合网| 亚洲成人一二三| 日韩欧美一级特黄在线播放| 韩国理伦片一区二区三区在线播放| 久久婷婷久久一区二区三区| 成人综合激情网| 一区二区不卡在线视频 午夜欧美不卡在| 日本高清成人免费播放| 日本成人在线不卡视频| 26uuu国产在线精品一区二区| 国产精品白丝jk白祙喷水网站 | 成人午夜在线视频| 亚洲人成人一区二区在线观看| 在线免费亚洲电影| 美日韩一区二区| 亚洲国产高清在线| 91福利社在线观看| 国产呦精品一区二区三区网站 | 欧美激情一区二区| 日本精品一区二区三区高清| 老司机精品视频线观看86| 日本一区二区三区四区在线视频| 一本到三区不卡视频| 日本欧美大码aⅴ在线播放| 亚洲国产高清在线| 日韩亚洲欧美一区二区三区| 成人性色生活片免费看爆迷你毛片| 一区二区视频在线看| 日韩欧美aaaaaa| 在线免费精品视频| 国产麻豆视频一区| 天天操天天综合网| 国产精品二三区| 欧美xxxxxxxx| 欧美综合一区二区三区| 国产福利一区在线观看| 免费观看在线色综合| 亚洲色图一区二区| 久久久久综合网| 8x福利精品第一导航| 99精品在线观看视频| 国产在线精品一区二区三区不卡 | 欧美日本国产视频| 99re热这里只有精品视频| 久久电影网站中文字幕| 亚洲一区中文日韩| 中文字幕中文在线不卡住| 日韩欧美在线网站| 678五月天丁香亚洲综合网| av在线不卡电影| 国产成人在线视频播放| 蜜乳av一区二区| 日日欢夜夜爽一区| 亚洲福利电影网| 一级中文字幕一区二区| 国产精品精品国产色婷婷| 久久毛片高清国产| 337p亚洲精品色噜噜| 欧美影视一区在线| 色综合久久中文综合久久97 | 国产一区二区三区免费观看 | 亚洲一区二区三区自拍| 亚洲美女免费在线| 亚洲欧美日韩国产手机在线| 国产精品免费丝袜| 国产精品视频第一区| 久久久三级国产网站| 国产亚洲va综合人人澡精品| 久久先锋影音av鲁色资源网| www国产成人| 久久这里只有精品首页| 国产无一区二区| 中国av一区二区三区| 中文字幕中文字幕一区二区| 亚洲色图色小说| 亚洲午夜在线电影| 亚洲一区二区美女| 日本中文一区二区三区| 国产在线国偷精品免费看| 国产精品一区二区三区四区 | 欧美军同video69gay| 91精品国产入口| www成人在线观看| 亚洲国产精品黑人久久久| 自拍视频在线观看一区二区| 一个色综合网站| 午夜不卡av免费| 韩国成人福利片在线播放| 成人一区在线观看| 日本韩国欧美在线| 日韩欧美中文字幕公布| 国产欧美日韩三区| 一区二区三区中文在线| 青草av.久久免费一区| 国产美女一区二区| 欧美自拍偷拍一区| 日韩欧美一区在线观看| 中文子幕无线码一区tr| 亚洲黄一区二区三区| 蜜臀av一区二区在线免费观看| 激情欧美日韩一区二区| 成+人+亚洲+综合天堂| 欧美日韩国产综合久久| 欧美精品一区二区三区蜜臀| 国产精品私人自拍| 午夜成人在线视频| 不卡影院免费观看| 4438成人网| 国产精品动漫网站| 蜜桃视频一区二区三区| 91亚洲精品乱码久久久久久蜜桃| 这里只有精品电影| 国产精品成人免费精品自在线观看| 五月天欧美精品| 99国产精品国产精品毛片| 日韩一区二区视频在线观看| 国产精品福利av| 极品少妇xxxx偷拍精品少妇| 色婷婷久久久久swag精品| 国产婷婷色一区二区三区在线| 亚洲一区二区av在线| 成人黄动漫网站免费app| 91精品国产综合久久香蕉麻豆| 欧美激情在线观看视频免费| 日韩中文字幕亚洲一区二区va在线| thepron国产精品| 2019国产精品| 麻豆成人av在线| 欧美亚洲高清一区二区三区不卡| 国产亚洲短视频| 久久99精品国产91久久来源| 欧美三片在线视频观看| 国产精品女人毛片| 国产成人免费视频| 26uuu国产电影一区二区| 欧美aa在线视频| 欧美日韩亚洲综合在线| 国产精品系列在线| 懂色av中文一区二区三区 | 欧美浪妇xxxx高跟鞋交| 一区二区在线免费观看| kk眼镜猥琐国模调教系列一区二区| 精品av综合导航| 老鸭窝一区二区久久精品| 91麻豆精品国产91久久久更新时间| 亚洲精选免费视频| 色综合久久六月婷婷中文字幕| 国产精品久久免费看| 风间由美一区二区三区在线观看| 精品动漫一区二区三区在线观看| 毛片av一区二区| 日韩一区二区电影网| 免费精品99久久国产综合精品| 欧美片网站yy| 日韩精品一级中文字幕精品视频免费观看 | 亚洲高清视频的网址| 色综合天天综合网天天看片| 中文字幕在线不卡视频| jizzjizzjizz欧美| 亚洲欧美另类小说视频|