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

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

?? i2c.c

?? LED控制
?? C
字號:
#include	<pic.h>
#include	"..\inc\include.h"
#include	"..\lib\I2C.h"

#define	LED			RB0
#define	LED1		RB0
#define	LED2		RB1
#define	LED3		RB2

#define	SCL			RC3
#define	SDA			RC4


void I2C_Init(void)
{
	TRISC3 =0;	//SCL output
	TRISC4 =0;	//SDA output
	
	SCL = 1;
	SDA = 1;
	
	SSPCON &= ~(0x0F);	
	SSPCON |= 0x08;	//I2C Master mode, clock = FOSC/(4 * (SSPADD + 1))
	/*
	SSPM3 =1;	//master mode
	SSPM2 =0;
	SSPM1 =0;
	SSPM0 =0;*/
	SMP = 1;		//100KHz
	CKE = 0;		//not smbus
	SSPADD = 0x13;	//100KHz 
	SSPEN = 1;	//enable I2C
	
}

// ========= read 1 byte data from 24LC256 (15 bit word address) ==============
unsigned char EEPROM_ReadByte(unsigned int Addr, unsigned char *DataBuf)
{
   	unsigned char cnt=0;

	while((SSPCON2 & 0x1F) || RW ){		//if not in idle mode, reinitial the serial bus
		SSPEN = 0;
		NOP();
		SCL = 1;
		SDA = 1;
		NOP();
		SSPEN = 1;						
	}	

	SEN = 1;            				//send the start condition
  	while(SEN);     
  	SSPIF = 0;
  	SSPBUF = 0b10100000;				//send control byte
  	while(!SSPIF); 
	
	while(ACKSTAT){ 					//if return no ACK, resend the start bit and control byte
		RSEN = 1;           			//send the restart condition
		while(RSEN);
	  	SSPIF = 0;
	  	SSPBUF = 0b10100000;			//send control byte
	  	while(!SSPIF); 
		if(cnt++>200) return NACK;		//repeat 200 times
	}
  	
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	SSPBUF = (unsigned char)(Addr>>8);	//send high address
	while(!SSPIF);
    
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	SSPBUF = (unsigned char)Addr;		//send low address
	while(!SSPIF);
    
    if(ACKSTAT) return NACK;  
	RSEN = 1;           				//send the restart condition
	while(RSEN);
	
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	SSPBUF = 0b10100001;				//send control byte
	while(!SSPIF);
    
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	RCEN = 1;       					//enable master for 1 byte reception???
	//while(RCEN);	//Automatically cleared by hardware 
	while(!SSPIF);
	//if(!RCEN) LED1 = 1;
    
	ACKDT = 1;
	ACKEN = 1;          				//send NACK
	while (ACKEN ==1); 
	
	PEN = 1;            				//send the stop condition
	while(PEN);

  	*DataBuf = SSPBUF;					//return byte data wanted to read
  	return NOERR;
}

// ========= write 1 byte data to 24LC256 (15 bit word address) ===============
unsigned char EEPROM_WriteByte(unsigned int Addr, unsigned char cData)
{
  	unsigned char cnt=0;
  	while((SSPCON2 & 0x1F) || RW ){		//if not in idle mode, reinitial the serial bus
		SSPEN = 0;
		NOP();
		SCL = 1;
		SDA = 1;
		NOP();
		SSPEN = 1;						
	}	
	
	SEN = 1;            				//send the start condition
  	while(SEN);     
  	SSPIF = 0;
  	SSPBUF = 0b10100000;				//send control byte
  	while(!SSPIF); 
	
	while(ACKSTAT){ 					//if return no ACK, resend the start bit and control byte
		RSEN = 1;           			//send the restart condition
		while(RSEN);
	  	SSPIF = 0;
	  	SSPBUF = 0b10100000;			//send control byte
	  	while(!SSPIF); 
		if(cnt++>200) return NACK;		//repeat 200 times
	}
    
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	SSPBUF = (unsigned char)(Addr>>8);	//send high address
	while(!SSPIF);
    
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	SSPBUF = (unsigned char)Addr;		//send low address
	while(!SSPIF);
    
    if(ACKSTAT) return NACK;  	
	SSPIF = 0;
	SSPBUF = cData;						//send data that want to be write
	while(!SSPIF);
		
	PEN = 1;							//send the stop condition
	while(PEN); 
	
  	return NOERR;  	
}

// ========= read 1 byte data from 24LC01/02 (7/8 bit word address) ==============
unsigned char EEPROM_ReadByte1(unsigned char Addr, unsigned char *DataBuf)
{
   	unsigned char cnt=0;

	while((SSPCON2 & 0x1F) || RW ){		//if not in idle mode, reinitial the serial bus
		SSPEN = 0;
		NOP();
		SCL = 1;
		SDA = 1;
		NOP();
		SSPEN = 1;						
	}	

	SEN = 1;            				//send the start condition
  	while(SEN);     
  	SSPIF = 0;
  	SSPBUF = 0b10100000;				//send control byte, write
  	while(!SSPIF); 
	
	while(ACKSTAT){ 					//if return no ACK, resend the start bit and control byte
		RSEN = 1;           			//send the restart condition
		while(RSEN);
	  	SSPIF = 0;
	  	SSPBUF = 0b10100000;			//send control byte
	  	while(!SSPIF); 
	  	NOP();
	  	NOP();
	  	NOP();
		if(cnt++>200) return NACK;		//repeat 200 times
	}
  	
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	SSPBUF = Addr;						//send word address
	while(!SSPIF);
    
    if(ACKSTAT) return NACK;  
	RSEN = 1;           				//send the restart condition
	while(RSEN);
	
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	SSPBUF = 0b10100001;				//send control byte, read
	while(!SSPIF);
    
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	RCEN = 1;       					//enable master for 1 byte reception???
	//while(RCEN);	//Automatically cleared by hardware 
	while(!SSPIF);
	//if(!RCEN) LED1 = 1;
    
	ACKDT = 1;
	ACKEN = 1;          				//send NACK
	while (ACKEN ==1); 
	
	PEN = 1;            				//send the stop condition
	while(PEN);

  	*DataBuf = SSPBUF;					//return byte data wanted to read
  	return NOERR;
}

// ========= write 1 byte data to 24LC01/02 (7/8 bit word address) ===============
unsigned char EEPROM_WriteByte1(unsigned char Addr, unsigned char cData)
{
  	unsigned char cnt=0;
  	while((SSPCON2 & 0x1F) || RW ){		//if not in idle mode, reinitial the serial bus
		SSPEN = 0;
		NOP();
		SCL = 1;
		SDA = 1;
		NOP();
		SSPEN = 1;						
	}	
	
	SEN = 1;            				//send the start condition
  	while(SEN);     
  	SSPIF = 0;
  	SSPBUF = 0b10100000;				//send control byte
  	while(!SSPIF); 
	
	while(ACKSTAT){ 					//if return no ACK, resend the start bit and control byte
		RSEN = 1;           			//send the restart condition
		while(RSEN);
	  	SSPIF = 0;
	  	SSPBUF = 0b10100000;			//send control byte
	  	while(!SSPIF); 
		if(cnt++>200) return NACK;		//repeat 200 times
	}
    
    if(ACKSTAT) return NACK;  
	SSPIF = 0;
	SSPBUF = Addr;						//send word address
	while(!SSPIF);
    
    if(ACKSTAT) return NACK;  	
	SSPIF = 0;
	SSPBUF = cData;						//send data that want to be write
	while(!SSPIF);
		
	PEN = 1;							//send the stop condition
	while(PEN); 
	
  	return NOERR;  	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲高清免费在线| 亚洲一线二线三线久久久| 欧美肥妇毛茸茸| 欧美性一级生活| 一本色道久久综合狠狠躁的推荐| 国产成人午夜精品5599| 国产在线看一区| 国产精品99久久久久| 国产麻豆一精品一av一免费| 久久成人av少妇免费| 韩国一区二区三区| 国产精品自拍三区| av成人动漫在线观看| 91视频91自| 欧美三级在线播放| 日韩美女一区二区三区| 337p日本欧洲亚洲大胆色噜噜| 精品日韩欧美在线| 中文av字幕一区| 亚洲欧美视频在线观看视频| 亚洲丰满少妇videoshd| 捆绑变态av一区二区三区| 国产乱妇无码大片在线观看| 91色在线porny| 欧美性感一区二区三区| 精品日韩欧美一区二区| 国产精品免费视频观看| 亚洲国产日韩在线一区模特| 日本不卡一二三区黄网| 成人动漫精品一区二区| 欧美精品在线观看播放| 国产日韩在线不卡| 一个色综合av| 国产乱码精品一品二品| 欧美亚洲禁片免费| 久久综合色8888| 亚洲制服欧美中文字幕中文字幕| 麻豆精品国产传媒mv男同| 99精品欧美一区| 欧美一级理论性理论a| 国产精品免费观看视频| 全国精品久久少妇| 色网站国产精品| 欧美精品一区二区在线播放| 亚洲精品一卡二卡| 国产精品18久久久久久久久久久久 | 2014亚洲片线观看视频免费| 国产喷白浆一区二区三区| 亚洲综合丝袜美腿| 激情综合一区二区三区| 在线观看国产精品网站| 久久精品水蜜桃av综合天堂| 亚洲一区二区3| 成人自拍视频在线观看| 日韩午夜激情视频| 亚洲精品va在线观看| 韩国理伦片一区二区三区在线播放| 91在线视频在线| 亚洲精品一区二区三区蜜桃下载| 午夜日韩在线观看| 色婷婷精品大视频在线蜜桃视频| 久久久www成人免费毛片麻豆 | 亚洲国产综合色| 懂色av一区二区夜夜嗨| 精品国产一区二区三区久久久蜜月 | 国产精品国产三级国产aⅴ入口| 欧美aaa在线| 欧美日本国产视频| 一区二区免费视频| 91精彩视频在线| 国产精品精品国产色婷婷| 国产盗摄精品一区二区三区在线| 日韩欧美一区二区视频| 美女久久久精品| 91麻豆精品久久久久蜜臀| 午夜视黄欧洲亚洲| 欧美精品在欧美一区二区少妇| 亚洲一区二区三区中文字幕| 91福利视频网站| 18成人在线视频| 91免费视频大全| 一区二区三区在线视频观看| 91网上在线视频| 亚洲综合免费观看高清完整版 | 国产999精品久久| 久久嫩草精品久久久精品一| 久久99精品网久久| 久久久影视传媒| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 久久综合狠狠综合久久激情 | 成人免费的视频| 亚洲欧美另类小说| 在线观看91视频| 午夜精彩视频在线观看不卡| 3751色影院一区二区三区| 免费在线一区观看| 国产亚洲一本大道中文在线| 波多野结衣中文字幕一区 | 日韩电影在线观看电影| 欧美一级欧美三级| 国产精选一区二区三区| 亚洲天堂精品视频| 欧美日韩夫妻久久| 久久99精品一区二区三区 | 综合久久久久久| 欧美日韩精品欧美日韩精品| 久久精品国产精品亚洲精品| 国产欧美日韩综合| 色综合 综合色| 日韩av中文字幕一区二区| 国产亚洲欧美在线| 一本高清dvd不卡在线观看 | 久久国产精品免费| 欧美国产视频在线| 欧美日韩国产123区| 国产成人精品www牛牛影视| 亚洲欧美一区二区不卡| 日韩欧美自拍偷拍| 91啪亚洲精品| 麻豆国产一区二区| 亚洲制服丝袜一区| 国产欧美日韩麻豆91| 欧美日韩国产欧美日美国产精品| 国产一区二区免费视频| 亚洲专区一二三| 欧美国产国产综合| 欧美tickling网站挠脚心| 色999日韩国产欧美一区二区| 久久精品国产亚洲5555| 亚洲自拍与偷拍| 国产日韩视频一区二区三区| 欧美一级日韩一级| 欧美午夜一区二区三区| 高清不卡一区二区在线| 日本欧美在线观看| 亚洲一区二区免费视频| 日韩一区日韩二区| 久久久久久久综合色一本| 欧美人牲a欧美精品| 色天天综合色天天久久| 丁香婷婷综合激情五月色| 麻豆免费看一区二区三区| 亚洲成人一区在线| 伊人开心综合网| 1000部国产精品成人观看| 久久久久国产精品免费免费搜索| 欧美蜜桃一区二区三区 | 亚洲国产精品精华液网站| 国产精品视频一区二区三区不卡| 日韩欧美区一区二| 制服丝袜亚洲精品中文字幕| 欧美吞精做爰啪啪高潮| 99久久精品国产麻豆演员表| www.亚洲色图| 成人精品视频.| 成人精品国产福利| 福利视频网站一区二区三区| 国产精一区二区三区| 国产在线精品视频| 国产精品一级在线| 丁香五精品蜜臀久久久久99网站| 国产成人精品免费在线| 国产在线视频精品一区| 国产麻豆午夜三级精品| 国产成人在线视频播放| 成人免费看的视频| 99这里都是精品| 色哟哟精品一区| 欧美网站一区二区| 欧美一级午夜免费电影| 精品久久99ma| 欧美国产成人在线| 一区二区三区在线视频播放| 香蕉乱码成人久久天堂爱免费| 亚洲成人精品影院| 日本美女一区二区| 国产成人在线色| 91美女福利视频| 欧美三电影在线| 精品久久久久久无| 国产精品的网站| 亚洲一级二级三级| 美女一区二区视频| 国产不卡视频一区二区三区| 91香蕉视频在线| 91精品国产一区二区三区| 国产欧美日韩亚州综合 | 免费高清在线一区| 成人av中文字幕| 欧美日韩精品一区二区三区蜜桃| 日韩精品一区二区三区视频| 亚洲国产精品二十页| 亚洲国产精品天堂| 精品一区二区三区在线播放视频| 国产91精品精华液一区二区三区 | 日韩欧美一二区| 成人免费在线视频| 青青草一区二区三区| 99vv1com这只有精品| 欧美videossexotv100|