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

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

?? iic.h

?? c8051f單片機的實例
?? 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一区二区三区免费野_久草精品视频
欧美日韩亚洲丝袜制服| 亚洲视频在线一区| 日韩伦理av电影| 国产美女一区二区三区| 欧美日韩亚洲综合一区| 亚洲天堂a在线| av不卡在线播放| 中文无字幕一区二区三区| 理论片日本一区| 91精品国产综合久久福利软件 | 国产麻豆精品95视频| 欧美三级视频在线观看| 亚洲欧洲成人自拍| 成人app下载| 国产欧美精品国产国产专区| 久久99国产乱子伦精品免费| 欧美福利电影网| 日韩电影免费在线看| 欧美三级视频在线播放| 亚洲黄网站在线观看| 97se亚洲国产综合自在线不卡| 国产网红主播福利一区二区| 国产伦精品一区二区三区视频青涩| 日韩精品一区二区三区视频 | 一二三四社区欧美黄| 成人高清免费观看| 国产精品午夜春色av| 成人18视频在线播放| 中文字幕一区日韩精品欧美| av影院午夜一区| 亚洲欧美色综合| 91麻豆.com| 亚洲 欧美综合在线网络| 欧美在线高清视频| 石原莉奈在线亚洲二区| 日韩午夜av电影| 国内欧美视频一区二区| 国产欧美日韩另类一区| 91首页免费视频| 一区二区三区免费网站| 555www色欧美视频| 激情小说亚洲一区| 久久嫩草精品久久久久| av不卡免费在线观看| 有码一区二区三区| 欧美一级在线免费| 成人毛片视频在线观看| 一区2区3区在线看| 日韩欧美国产精品| 成人晚上爱看视频| 亚洲综合色成人| 精品剧情在线观看| 91在线观看成人| 亚洲国产一区二区视频| 精品日韩一区二区三区免费视频| 国产精品一二三| 亚洲一区二区偷拍精品| 26uuu欧美| 欧美性视频一区二区三区| 蜜桃视频第一区免费观看| 中文字幕精品一区| 欧美一区二区三区视频在线观看 | 青青草成人在线观看| 国产亚洲精久久久久久| 欧美性色aⅴ视频一区日韩精品| 青青草原综合久久大伊人精品| 欧美韩日一区二区三区四区| 欧美精品在欧美一区二区少妇| 不卡av在线免费观看| 午夜激情一区二区三区| 国产精品久久久久久久久快鸭 | 制服丝袜亚洲色图| 国产夫妻精品视频| 日韩国产欧美在线播放| 国产精品福利在线播放| 精品国产成人系列| 69精品人人人人| 欧美a级一区二区| 日韩一区在线看| 精品对白一区国产伦| 欧美午夜寂寞影院| 播五月开心婷婷综合| 久久福利视频一区二区| 亚洲午夜视频在线| 国产精品久久精品日日| 精品久久五月天| 欧美丰满嫩嫩电影| 在线欧美小视频| jlzzjlzz国产精品久久| 美国一区二区三区在线播放| 亚洲综合一区二区三区| 国产精品九色蝌蚪自拍| 久久久www成人免费毛片麻豆 | 欧美日本精品一区二区三区| 波波电影院一区二区三区| 九一久久久久久| 麻豆国产精品官网| 琪琪久久久久日韩精品| 亚洲.国产.中文慕字在线| 亚洲综合自拍偷拍| 亚洲乱码中文字幕综合| 国产精品久久久久天堂| 国产精品国产三级国产普通话三级 | 国产精品亚洲专一区二区三区| 日本怡春院一区二区| 亚洲福利一区二区| 亚洲福利视频一区| 亚欧色一区w666天堂| 亚洲在线成人精品| 亚洲高清免费视频| 婷婷开心久久网| 日韩国产高清在线| 日韩av一级电影| 蜜臀av性久久久久蜜臀aⅴ四虎 | 成人av在线资源网| 欧洲日韩一区二区三区| 91在线视频观看| 91久久精品国产91性色tv| 91福利在线看| 欧美精品高清视频| 欧美大尺度电影在线| 精品国产91洋老外米糕| 日本一区二区三区dvd视频在线| 欧美激情综合五月色丁香小说| 国产精品网站导航| 夜夜夜精品看看| 亚洲高清在线精品| 日日摸夜夜添夜夜添亚洲女人| 久久精品国产久精国产爱| 国产成人综合在线| 91一区一区三区| 欧美精品日韩综合在线| 精品免费日韩av| 国产精品久久精品日日| 亚洲国产aⅴ成人精品无吗| 看电视剧不卡顿的网站| 高清久久久久久| 欧美日韩一区二区三区视频| 日韩视频一区二区三区在线播放| 久久精品人人爽人人爽| 依依成人精品视频| 久久激五月天综合精品| jlzzjlzz国产精品久久| 欧美日韩成人综合| 日本一区二区三区电影| 亚洲国产乱码最新视频| 国产精品一区二区男女羞羞无遮挡 | 亚洲欧美一区二区不卡| 日本伊人色综合网| 不卡一区二区在线| 宅男在线国产精品| 中文字幕亚洲不卡| 捆绑紧缚一区二区三区视频| 99精品热视频| 欧美成人a∨高清免费观看| 日韩理论在线观看| 国产在线视频一区二区三区| 精品1区2区3区| 国产欧美综合在线| 免费观看在线色综合| 色噜噜久久综合| 国产日本一区二区| 伦理电影国产精品| 欧美亚洲日本国产| 一区二区中文视频| 国产精品系列在线播放| 911精品国产一区二区在线| **网站欧美大片在线观看| 久久成人久久爱| 91麻豆精品国产91久久久资源速度| 一区二区三区四区不卡在线| 国产福利一区二区三区视频| 欧美一级久久久久久久大片| 一区二区三区四区五区视频在线观看 | 欧美国产日韩在线观看| 美女视频黄a大片欧美| 欧美精品日韩综合在线| 成人欧美一区二区三区白人| 国产一区二区精品久久| 精品三级av在线| 免费在线观看成人| 欧美丰满少妇xxxbbb| 五月婷婷另类国产| 在线观看日韩高清av| 一区二区三区在线观看视频 | 欧美一区二区三区成人| 亚洲丶国产丶欧美一区二区三区| 91在线免费视频观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美日韩国产在线观看| 亚洲欧美偷拍卡通变态| 91美女在线视频| 亚洲欧美日韩中文字幕一区二区三区| 成人夜色视频网站在线观看| 国产视频一区在线播放| 成人网在线免费视频| 国产精品女主播av| 91碰在线视频| 一区二区不卡在线播放| 欧美唯美清纯偷拍|