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

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

?? contrler.c

?? 遙控器編碼的c51程序,包括遙控器編碼,I2C操作編程等
?? C
字號:
//File name: contrler.c 
//Founded by Wang Feng on Oct 19,2004
//Last modified on Oct 25,2004

#include "I2C.h"
bit bKeyUP;   //Whether the key of contrler is up
bit bNewCodeFlag; //If the code just received is a new code
bit bNewKey=False; //A key press action occurs or no
unsigned char ucSysCode,ucData,ucCnt,ucCount;
//The system code,code data,the count of T1 interrupt after received last code,
//the count of the pulses
unsigned char bdata uc_tmpKeyCode;
//Stores the received code temporarily
sbit D_0=uc_tmpKeyCode^0;
sbit D_1=uc_tmpKeyCode^1;
sbit D_2=uc_tmpKeyCode^2;
sbit D_3=uc_tmpKeyCode^3;
sbit D_4=uc_tmpKeyCode^4;
sbit D_5=uc_tmpKeyCode^5;
sbit D_6=uc_tmpKeyCode^6;
sbit D_7=uc_tmpKeyCode^7;
sbit LED1=P1^7;
sbit LED2=P1^7;

void Delay(/*unsigned char*/);

void LightFlash(unsigned char);
/*=====================================================
Function name: void main()
Funciton: 
	Used to decode the signal carried by the infrared light,
	and light the LED according to the data code decoded.
---Founded by Wang Feng on Oct 19,2004
---Modified by Wang Feng on Ocr 20,2004 
=====================================================*/
void main()
{
bit i=0;
bit n=0; 
char  *s ="abcdefghijkl";
char str[10]={0};

i=WriteStr(0xa0,0,s,2, I2C0) ;
n=ReadStr(0xa1,0,str,2, I2C0);
_Nop();
}
void main1()
{
    unsigned char sla, suba, *s, uc_data[16], j, k;
//	unsigned int i;
	bit breturn;
    TMOD=0x10;//Set the timer1 works at model 1(16 bit counter)
	TR1=0;
	IT0=1;    // Triggered by the rising edge
	bKeyUP=True; 
	bNewCodeFlag=False;
	ucCnt=0;
	ucCount=0;
	LightFlash(5); //Flash the LED five times to make sure that the LED is OK
	EX0=1;
	TR1=1;
	EA=1;     //Turn on the interrupt.
    
	for(;;)
	{	
	k = 1;
    s=uc_data;
    sla=0xa0+0x02*k;   
    suba=j*16;                /*子地址*/
	ReadStr(sla,suba,s,16, I2C0);
    WriteStr(sla,suba,s,16, I2C1) ; 
		if(bNewKey) //If there is a new key code,turn off the external interrupt and  then light the LED
		{
			EX0=0;
			bNewKey=False;
			if((ucSysCode&0x82)==0x82)
				{
					//LightFlash(ucData&0x7f);
					if((ucData&0x7f)==1)
					{
						s=uc_data;
	 					breturn=1;
		 				for(k=0;k<4;k++)               /*AT24C16有4個bank,每個bank有各自的器件地址*/
		 				{
		 					sla=0xa0+0x02*k;              /*bank地址*/
		 					for(j=0;j<16;j++)            /*每個bank有16 page,子地址不同*/
		 					{
		 						suba=j*16;                /*子地址*/
					 			if((ReadStr(sla,suba,s,16, I2C0))==0) {breturn=0;break;}    /*從EEPROM0讀出一頁數據*/
					 			if((WriteStr(sla,suba,s,16, I2C1))==0) {breturn=0;break;}    /*把該頁數據寫入到EEPROM1*/
						 		Wait(sla, I2C1);                                     /*等待寫操作完成*/
							}
					  	}
					if(breturn==1)
				   	LightFlash(3);
					else
					LightFlash(1);

				 	}
				}
				
			EX0=1;
		  }
	_Nop();
	}	
}
/*=====================================================
Function name: INT1_int()
Funciton: 
	Used to decode the signal carried by the infrared light,
	and then stores the codes.
---Founded by Wang Feng on Oct 19,2004
---Modified by Wang Feng on Ocr 20,2004 
=====================================================*/
void INT1_int() interrupt 0 using 1
{
	static bit bHeadSignFlag; //Flag of the synchro pulse
	unsigned int uiPulseWidth; //The space time between two pulses
	bit bData;   //Stores the bit just received.
	static unsigned char ucSysTmp,ucDataTmp;
	//Two temporary variables used to store the system code and data code
	uiPulseWidth=TH1;
	uiPulseWidth<<=8;
	uiPulseWidth+=TL1;   //Load the value of timer1 down to uiPulseWidth.
						//Now the value of uiPulseWidth is the width of pulse.
	TH1=0;
	TL1=0;             //Clear the Timer1 to count width of the next pulse.  
	ucCount++;         
	if(!bHeadSignFlag)
	{
		if((uiPulseWidth>=SYNL)&&(uiPulseWidth<=SYNU))
		{
			bHeadSignFlag=True;  //If find the synchro pulse ,set it.
			if(bKeyUP)
				bNewCodeFlag=True; 
			else
				bNewCodeFlag=False; //Judge if it a repeat code,and then set it.
			bKeyUP=False;
			ucCount=2;
		}
		else
			ucCount=0;
		return;
	 }
	if(bHeadSignFlag)
	{
	/*=====================*/     //Added by Wang Feng on Oct.20,2004
		if((uiPulseWidth>=SYNL)&&(uiPulseWidth<=SYNU))
		{
			ucCount=2;
			return;
		}
	/*=====================*/
		if(ucCount==19)                 
		{    
			if((uiPulseWidth>=ENDL)&&(uiPulseWidth<=ENDU))
			{
				ucSysCode=ucSysTmp|0x80;      //If the synchro pulse have been found,then judge  
				if(bNewCodeFlag)			//whether the pulse an end pulse.It that is true,
				{							//store the code.Clear the flag of synchro pulse.
					ucData=ucDataTmp&0x7f;
					bNewCodeFlag=False;
				}
				else
					ucData=ucDataTmp|0x80;
			   bNewKey=True;
			}
			bHeadSignFlag=False;
			ucCount=0;
			return;
		}
		if((uiPulseWidth>=BIT1L)&&(uiPulseWidth<=BIT1U)) bData=1;
		else if((uiPulseWidth>=BIT0L)&&(uiPulseWidth<=BIT1U)) bData=0;
		else                           //Judge the pulse is 0 or 1,and stored it to bData.
		{
			bHeadSignFlag=False;
			ucCount=0;
			return;
			}
		if(bHeadSignFlag)
		switch(ucCount)
		{
			case 3:D_7=bData;break;
			case 4:D_6=bData;break;    //Load the bit Value from bData to 
			case 5:D_5=bData;break;		//the uc_tmpKeyCode,a BData type variable.
			case 6:D_4=bData;break;
			case 7:D_3=bData;break;
			case 8:D_2=bData;break;
			case 9:D_1=bData;break;
			case 10:D_0=bData;
			       ucSysTmp=uc_tmpKeyCode;break;
			case 11:D_7=bData;break;
			case 12:D_6=bData;break;
			case 13:D_5=bData;break;
			case 14:D_4=bData;break;
			case 15:D_3=bData;break;
			case 16:D_2=bData;break;
			case 17:D_1=bData;break;
			case 18:D_0=bData;
			       ucDataTmp=uc_tmpKeyCode;break;
			default:
				break;
			}
		}
}
/*=====================================================
Function name: void T1_INT()
Funciton: 
	Used to decode the signal carried by the infrared light,
	and light the LED according to the data code decoded.
---Founded by Wang Feng on Oct 19,2004
---Modified by Wang Feng on Ocr 20,2004 
=====================================================*/
void T1_INT() interrupt 3 using 2
{
	ucCnt++;
	if(ucCnt>=2)
	{
		bKeyUP=True;
		ucCnt=0;
	}

}
/*=====================================================
Function name: void LightFlash(unsigned char Times)
Funciton: 
	Light the LED accord the Times.
Parameter:
	Times: times that LED needed to ON and OFF.
---Founded by Wang Feng on Oct 19,2004
---Modified by Wang Feng on Ocr 20,2004 
=====================================================*/

void LightFlash(unsigned char Times)
{	
	unsigned char i;
	for(i=0;i<Times;i++)
	{
		LED1=0;
		Delay();
		LED1=1;
		Delay();
	  }
}
/*=====================================================
Function name: void Delay()
Funciton: 
	Delay the time by a limited circle.
---Founded by Wang Feng on Oct 19,2004
---Modified by Wang Feng on Ocr 20,2004 
=====================================================*/
void Delay()
{
 unsigned int i;
 for(i=0;i<32000;i++);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品日日躁夜夜躁欧美| 99精品视频中文字幕| 色婷婷av一区二区三区之一色屋| 欧美sm美女调教| 亚洲成人资源网| 91在线观看地址| 久久久久久亚洲综合| 日韩精品一区第一页| 91丨porny丨国产入口| 欧美国产日韩在线观看| 久久国产精品无码网站| 精品视频资源站| 亚洲人成在线播放网站岛国| 成人免费视频网站在线观看| 日韩精品一区二区三区swag| 婷婷久久综合九色综合绿巨人| hitomi一区二区三区精品| 久久久蜜桃精品| 国产成人精品一区二| 欧美日韩国产精品成人| 亚洲精品国产一区二区三区四区在线| 日本电影亚洲天堂一区| 欧美日韩高清影院| 亚洲免费在线视频一区 二区| 粉嫩av一区二区三区| 欧美久久久久久久久中文字幕| 亚洲视频1区2区| 成人高清av在线| 国产精品美女久久久久久久网站| 国产精品一区二区三区乱码| 精品久久国产字幕高潮| 免费在线观看日韩欧美| 欧美一二三四在线| 男男成人高潮片免费网站| 欧美一区二区三区日韩视频| 亚洲一区免费视频| 日本丰满少妇一区二区三区| 尤物av一区二区| 欧美在线一区二区| 亚洲成人动漫在线免费观看| 精品视频在线视频| 亚洲国产一区二区三区| 欧美在线观看一二区| 亚洲综合网站在线观看| 欧美亚洲丝袜传媒另类| 性欧美疯狂xxxxbbbb| 欧美一区二区三区在线观看视频 | 成人精品国产福利| 国产女主播视频一区二区| 国产91露脸合集magnet | 欧美军同video69gay| 亚洲v日本v欧美v久久精品| 欧美久久久久久久久中文字幕| 日日噜噜夜夜狠狠视频欧美人| 7777精品伊人久久久大香线蕉的| 日韩在线卡一卡二| 欧美精品一区二区三区在线| 国产精品一区二区免费不卡 | 欧美一区二区三区播放老司机| 三级欧美韩日大片在线看| 91精品在线一区二区| 久久精品免费看| 国产亚洲成年网址在线观看| 成人激情小说网站| 亚洲一区在线观看免费| 91麻豆精品91久久久久同性| 久久99精品国产91久久来源| 久久久久久夜精品精品免费| 成人av在线电影| 亚洲一区二区三区精品在线| 日韩欧美久久久| 懂色av一区二区三区蜜臀| 日韩毛片高清在线播放| 欧美日韩一区二区三区在线看 | 亚洲最大成人网4388xx| 在线综合视频播放| 国产黄色成人av| 亚洲欧美一区二区三区孕妇| 91精品在线观看入口| 国产精品一区二区久激情瑜伽| 亚洲人成网站在线| 欧美一区二区三区思思人| 国产成人综合在线播放| 亚洲黄色录像片| 日韩精品一区二区在线| 成人app软件下载大全免费| 亚洲国产精品久久人人爱蜜臀| 中文字幕一区二区三区不卡| 精品视频免费看| 国产露脸91国语对白| 亚洲综合色自拍一区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 久久一二三国产| 色婷婷精品久久二区二区蜜臀av| 青青国产91久久久久久| 日韩理论在线观看| 日韩一区二区三区视频在线| aaa欧美大片| 毛片av中文字幕一区二区| 日韩美女久久久| 精品播放一区二区| 欧美午夜不卡视频| 国产成人av一区二区三区在线观看| 亚洲综合在线观看视频| 久久综合狠狠综合| 欧美唯美清纯偷拍| 成人午夜私人影院| 六月婷婷色综合| 一区二区在线免费| 久久久久久久久久看片| 6080亚洲精品一区二区| 91麻豆精东视频| 国产一区亚洲一区| 日韩国产成人精品| 一区二区免费看| 中日韩av电影| 欧美岛国在线观看| 欧美老女人在线| 色妞www精品视频| 国产 日韩 欧美大片| 免费不卡在线视频| 亚洲一级电影视频| 一区在线观看免费| 国产婷婷一区二区| 日韩精品一区二| 欧美精品欧美精品系列| 色综合久久综合中文综合网| 成人中文字幕在线| 国产乱一区二区| 久久国产三级精品| 日韩成人一区二区三区在线观看| 亚洲一区二区视频在线观看| 亚洲桃色在线一区| 中文字幕av一区二区三区免费看| 精品久久久久香蕉网| 欧美一区二区三区视频免费| 欧美日韩视频在线观看一区二区三区| 一本大道久久a久久精二百| 成人美女在线观看| 国产a级毛片一区| 国产99一区视频免费| 国产一本一道久久香蕉| 久久福利资源站| 美女久久久精品| 美女看a上一区| 久久精工是国产品牌吗| 裸体歌舞表演一区二区| 久久精品国产99久久6| 男女男精品视频| 蜜臀久久99精品久久久画质超高清 | 欧美亚洲愉拍一区二区| 日本道在线观看一区二区| 色综合视频一区二区三区高清| 波多野结衣精品在线| 成人短视频下载| 91在线免费播放| 一本到不卡精品视频在线观看| www.欧美色图| 91免费精品国自产拍在线不卡| 色哟哟在线观看一区二区三区| 91视频在线观看| 欧美色电影在线| 51久久夜色精品国产麻豆| 日韩一区二区电影网| 精品久久久影院| 久久精品亚洲国产奇米99| 国产女人aaa级久久久级| 亚洲国产精品传媒在线观看| 欧美激情在线观看视频免费| 国产精品青草综合久久久久99| 国产精品久久久久久一区二区三区 | 欧美三级在线播放| 7777精品伊人久久久大香线蕉| 欧美一卡2卡三卡4卡5免费| 日韩欧美区一区二| 国产拍欧美日韩视频二区| 国产精品麻豆一区二区| 亚洲精品高清在线观看| 亚洲狠狠爱一区二区三区| 婷婷开心激情综合| 精品一区二区三区久久| 国产成人精品网址| 色天天综合久久久久综合片| 欧美高清视频一二三区| 精品少妇一区二区三区在线视频| 国产性做久久久久久| 自拍偷拍亚洲综合| 五月激情六月综合| 国产激情91久久精品导航| 一本大道综合伊人精品热热| 欧美一区二区三区视频免费| 国产日本欧美一区二区| 亚洲精选免费视频| 日本女优在线视频一区二区| 国产精品88888| 在线观看国产91| xnxx国产精品| 亚洲免费观看高清完整版在线| 日本不卡中文字幕| 国产.精品.日韩.另类.中文.在线.播放|