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

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

?? slave873.c

?? pic16 i2c slave (picc)
?? C
字號:
#include	<pic.H>
#include    "delay.h"

#define		IDLE			0
#define		WAIT_START 		1
#define		START_RECIEV	2
#define		RECIVE			3
#define		NEXT_BYTE		4
#define     ACK             5
#define     WAIT_STOP       6

#define     SCL		RA3
#define     SDA     RA2
#define     SCL_DIR		TRISA0
#define     SDA_DIR     TRISA1

#define     INPUT		1
#define     OUTPUT      0
unsigned char I2C_STAT,Bptr,BitCount,adress,t0cnt,ft,ft1;
unsigned char B[4];
bit t0flag,turboflag;

unsigned char cont_mode,flash_mode,flash_time,pwr_mode;
//eeprom adress
#define 	CONT_ADR	0
#define     FLASH_ADR   1
#define     TIME_ADR    2
//controls
#define     SET_CONT	0x10
#define     SET_FLASH   0x20
#define     SET_TIME    0x30
#define     OFF         0x40
#define     ON          0x50
#define     TURBO       0x60	
//*********************************
#define     READ_CONT   0x10
#define     READ_FLASH  0x20
#define     READ_TIME   0x30

 	

bit I2C_CMD,NEW_TASK;
void I2CLOOP(void);
#define			READ	1
#define         WRITE   0

__CONFIG  ( MCLREN & UNPROTECT & WDTDIS & PWRTEN & INTIO & LVPDIS  & BORDIS); 
//__CONFIG  ( UNPROTECT & WDTDIS & PWRTEN  & LVPDIS  & BOREN & XT); 

#define     FCPU     4000000
#define     FPWM	 20000
#define 	PERIOD	 1/FPWM
#define     PR2VAL   50//PERIOD*FCPU/4
#define     DUTY    10



void interrupt isr(void)
{
	if(INTE && INTF)
	{
		INTF=0;
		if (!turboflag)
		{  
			while (!RB0)
			{}
		}
		else
		{
		RC3 = 1;
		for (ft = 0;ft < flash_time;ft ++)
		{
			for (ft1 = 0;ft1 < 0xf0;ft1++)
			{
			#asm
			nop
			nop
			nop
			nop
			nop
			nop
			nop
			nop
			nop
			nop
			nop
			#endasm
			}
		}
		RC3 = 0;
		}

		
	}
	if (T0IE && T0IF)
	{
	T0IF = 0;
	TMR0 = 100;//200us interrupt
	t0flag = 1;
	t0cnt++;
	if (t0cnt > 100) 
	{

		t0cnt = 0;
	}
	}

	
}

void EESAVE(unsigned char adrr,unsigned char data)
{
	EEADR = adrr;
	EEDATA = data;
//	EEPGD = 0;
	WREN = 1;
	GIE = 0;
	EECON2 = 0x55;
	EECON2 = 0xaa;
	WR = 1;
	GIE = 1;
	WREN = 0;
	while (WR)
	{
	}
}

unsigned char EEREAD(unsigned char adrr)
{
	EEADR = adrr;
//	EEPGD = 0;
	RD = 1;
	return EEDATA;
}
void I2CLOOP(void)
{
	switch (I2C_STAT)
	{
		case IDLE:
			if ((SCL) && (SDA)) 
			{
			I2C_STAT = WAIT_START;
			Bptr = 0;
			BitCount = 0;
			}
			break;
		case WAIT_START:
			if ((SCL) && (!SDA)) 
			{
			I2C_STAT = START_RECIEV;
			}
			break;
		case START_RECIEV:
			if (!SCL) 
			{
			I2C_STAT = RECIVE;
			}
			if ((SDA) && (SCL))
			{
			I2C_STAT = IDLE;
			}
			break;
		case RECIVE:
			if (SCL) 
			{
				if (BitCount++ == 8) 
				{
					I2C_STAT = ACK;
				}
				else
				{ 
					I2C_STAT = NEXT_BYTE;
         			B[Bptr] <<= 1;
					if	(SDA) B[Bptr]+=0x01; 
					if (BitCount == 8)
					{
						if ((B[0] & 0x0e) == adress)
						{
							if (B[0] & 0x80) I2C_CMD = READ;
							else
							{
								I2C_CMD = WRITE;
							}
							SDA = 0;
	//						SDA_DIR = OUTPUT;  temporary down
							RA3 = 0;
						}
						else
						{
							I2C_STAT = IDLE;
						}	
					}
				}
			}
			break;
		case NEXT_BYTE:
			if (!SCL) 
			{
				I2C_STAT = RECIVE;
			}	
			break;
		case ACK:				

			if (!SCL)
			{
				I2C_STAT = RECIVE;
				BitCount = 0;
				Bptr ++;
				SDA_DIR = INPUT;
				if (Bptr == 3) 	
				I2C_STAT = WAIT_STOP;
			}

			break;
		case WAIT_STOP:				
			if (SCL)
			{
				I2C_STAT = IDLE;
				NEW_TASK = 1;
			}

			break;
	 }
}


void main(void)
{
	unsigned char t,t1,q;

T0CS = 0;
PSA = 0;//prescale for timer0
PS0 = 0;
PS1 = 0;
PS2 = 0;
//ADCON1 = 0x07;
adress = 0x00;
Bptr = 0;
TRISA=0xff;
TRISB3 = 0;
TRISC2 = 0;
RA3 = 1;
NEW_TASK = 0;
T2CON = 0;
TMR2ON = 1;
CCP1M3 = 1;
CCP1M2 = 1;
PR2 = PR2VAL;
RBPU = 0; //set pull ups
INTEDG = 0; //interrup on falling EDGE
INTE = 1; //enable interrupt on RB0
T0IF = 0;
T0IE = 1; //enable tmr0 int
GIE = 1;
cont_mode = EEREAD(CONT_ADR);
flash_mode = EEREAD(FLASH_ADR);
/*
	CCPR1L = cont_mode >> 2;
	if (cont_mode & 0x02) CCP1X = 1;
	else
	CCP1X = 0;
	if (cont_mode & 0x01) CCP1Y = 1;
	else
	CCP1Y = 0;
*/

RC3 = 0;
TRISC3 = 0;
turboflag = 1;
flash_time = 100;



while(1)
{
if 	(t0flag) 
{
	I2CLOOP();
	t0flag = 0;
}
if (NEW_TASK)
{
	NEW_TASK = 0;
	switch (B[0] & 0xf0)
	{
		case     SET_CONT:
			EESAVE(CONT_ADR,B[2]);		//saves the value recived
			cont_mode = B[2];

			break;
		case     SET_FLASH: 
			if (B[2] != 0) 
			{
				EESAVE(FLASH_ADR,B[2]);
				flash_mode = B[2]; 
			}
			else
			{ 
				EESAVE(FLASH_ADR,cont_mode);//store the value of the light if 0 else store value
				flash_mode = cont_mode;
			}   
			break;
		case     SET_TIME:   
			EESAVE(TIME_ADR,B[2]);		// save time
			flash_time = B[2];
			break; 
		case     OFF:

			break;       
		case     ON:   
			break;
		case     TURBO:   
			if (B[2] == 0)
			turboflag = 0;
			else
			turboflag = 1;

		default:
			break;
	}    

}
}


while(1)
{
for (q = 0; q<200;q++)
{
	DelayMs(100);
	RC3 = 1;
	DelayMs(8);
	RC3 = 0;
}
}  		    
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线免费播放| 精品一二线国产| 中文字幕久久午夜不卡| 精品美女一区二区三区| 日韩欧美高清在线| 日韩欧美在线一区二区三区| 3d动漫精品啪啪一区二区竹菊 | 色婷婷av一区二区三区大白胸| 国产成人在线观看| 国产成人综合精品三级| 国内精品自线一区二区三区视频| 久久精品国产澳门| 国产精品 欧美精品| 成人激情av网| 欧美亚洲综合在线| 日韩一区二区影院| 欧美国产成人在线| 亚洲天堂a在线| 亚洲国产aⅴ天堂久久| 日日骚欧美日韩| 国内成人免费视频| www.66久久| 欧美日韩国产综合一区二区| 日韩精品一区二区三区视频 | 99re这里都是精品| 欧洲一区二区三区免费视频| 欧美精品黑人性xxxx| 久久久久久99久久久精品网站| 国产精品色眯眯| 亚洲黄色小视频| 久久精品国产第一区二区三区| 国产91精品久久久久久久网曝门| 92精品国产成人观看免费| 欧美另类久久久品| 国产精品国产自产拍在线| 午夜久久福利影院| 99久久99久久综合| 日韩免费一区二区| 亚洲一区二区在线播放相泽| 国产一区二区在线视频| 色综合久久中文字幕综合网| 精品国产露脸精彩对白| 亚洲一区电影777| 国产高清一区日本| 4438亚洲最大| 亚洲午夜久久久久| av毛片久久久久**hd| 日韩精品中文字幕在线一区| 亚洲激情图片小说视频| 成人在线一区二区三区| 欧美成人aa大片| 亚洲国产精品一区二区久久| 成人污污视频在线观看| 精品久久人人做人人爰| 日韩综合小视频| 在线视频国内一区二区| 亚洲欧美日韩精品久久久久| 国精产品一区一区三区mba视频| 欧美日韩久久久久久| 亚洲另类春色校园小说| 99精品欧美一区二区三区小说| 久久综合九色综合97婷婷| 日本亚洲一区二区| 欧美乱妇15p| 无吗不卡中文字幕| 欧美伦理影视网| 亚洲国产成人91porn| 欧美丝袜第三区| 亚洲小说欧美激情另类| 精品污污网站免费看| 一区二区三区 在线观看视频| 成人av第一页| 亚洲黄网站在线观看| 色成人在线视频| 亚洲影院理伦片| 欧美日韩国产首页| 婷婷综合另类小说色区| 欧美丰满一区二区免费视频| 天天色 色综合| 欧美日韩色综合| 日一区二区三区| 日韩美一区二区三区| 狠狠v欧美v日韩v亚洲ⅴ| www欧美成人18+| 成人ar影院免费观看视频| 亚洲欧洲av在线| 欧美在线啊v一区| 日日噜噜夜夜狠狠视频欧美人| 欧美一卡二卡三卡| 国产剧情av麻豆香蕉精品| 国产亚洲欧洲997久久综合 | 国产色91在线| 岛国精品在线观看| 亚洲欧美日韩国产手机在线| 欧美影视一区二区三区| 免费精品视频最新在线| 久久免费视频一区| 波波电影院一区二区三区| 一区二区三区蜜桃网| 欧美另类videos死尸| 极品少妇xxxx偷拍精品少妇| 国产精品午夜在线观看| 欧美群妇大交群中文字幕| 国产在线麻豆精品观看| 有码一区二区三区| 精品99一区二区| 在线免费精品视频| 国产一区久久久| 亚州成人在线电影| 久久久久久久久一| 欧美丰满少妇xxxxx高潮对白| 国产剧情一区二区| 日韩av电影免费观看高清完整版| 国产免费观看久久| 日韩一区二区三区电影在线观看 | 婷婷国产v国产偷v亚洲高清| 精品少妇一区二区三区免费观看 | 国产精品久久久久四虎| 欧美影视一区在线| 成人毛片在线观看| 美女视频黄频大全不卡视频在线播放| 国产精品麻豆久久久| 日韩欧美激情在线| 欧美在线观看视频一区二区| 国产成人免费视频网站 | 3atv一区二区三区| 成人教育av在线| 经典三级视频一区| 亚洲午夜av在线| 亚洲精品视频一区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美日产国产精品| 91免费版pro下载短视频| 国产麻豆精品在线观看| 亚洲成精国产精品女| 一区二区三区资源| 中文字幕亚洲不卡| 国产日本亚洲高清| 久久先锋影音av鲁色资源网| 91精品国产色综合久久不卡电影| 色综合色综合色综合| 99久久亚洲一区二区三区青草| 国产一区二区导航在线播放| 久久精品国产99国产| 日本免费新一区视频| 午夜久久久影院| 国产欧美日韩在线| 国产欧美日韩综合精品一区二区| 日韩美一区二区三区| 欧美成人一级视频| 精品国产伦理网| 国产亚洲精品精华液| 国产视频视频一区| 国产清纯白嫩初高生在线观看91 | 91麻豆精品国产91久久久| 欧美色手机在线观看| 欧美日韩在线一区二区| 欧美性xxxxxxxx| 欧美日韩精品电影| 91精品国产综合久久久久| 91精品国产综合久久福利软件| 在线成人免费观看| 91麻豆精品国产91久久久 | 日韩一级黄色片| 欧美成人a视频| 国产婷婷色一区二区三区四区| 国产欧美日韩综合| 亚洲乱码日产精品bd| 亚洲第四色夜色| 韩国欧美一区二区| www.激情成人| 欧美片网站yy| 久久免费精品国产久精品久久久久| 亚洲精品一区在线观看| 国产精品久久久久影院亚瑟| 亚洲精品视频在线观看免费| 午夜av一区二区三区| 国产一区二区在线电影| 99精品一区二区| 欧美日韩精品三区| 国产欧美一区视频| 亚洲午夜激情av| 国产一区不卡精品| 欧美午夜精品理论片a级按摩| 日韩欧美国产高清| 日韩毛片在线免费观看| 欧美aⅴ一区二区三区视频| 成人97人人超碰人人99| 在线成人免费视频| 日韩理论片在线| 麻豆久久久久久久| 91官网在线免费观看| 国产婷婷一区二区| 日韩电影在线观看电影| 成人美女视频在线观看18| 欧美一三区三区四区免费在线看| 中文字幕欧美国产| 蜜臀av亚洲一区中文字幕| 色哟哟在线观看一区二区三区| 精品国产乱码久久久久久免费 |