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

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

?? ir_receiver.c

?? Keil 8051 C example RS232 to I2c
?? C
字號:
//#include <at89x52.H>              // SFR definition header file
#include <reg54.h>
#include <stdio.h>                 // prototype declarations for I/O functions
#include "SystemEvent.h"
//#include "enum.h"
//#include "StructDef.h" 
#include "Function.h" 
#include "ExtVar.h"  
#include <rtx51tny.h>                 /* RTX-51 tiny functions & defines      */ 
#include "RTOS.h"
#include "IRKey.h"
 
void InitTimer2(void){  
   TH2 =0x00;// (unsigned char) PERIOD;          // set timer period            
   TL2 = 0x00;//(unsigned char) PERIOD; 
   RCAP2H  = 0xe8;
   RCAP2L  = 0x00;
   CP_RL2=0;
   C_T2=0;
   TR2=1;		// auto reload mode   
} 
void ResetRemoteCTRL_Use_Timer1(void); 
void InitRemoteCTRL(void){
					 _RC_Data=0;
                     _RC_CTRL_Active=0;		 		 
				 	 ResetRemoteCTRL_Use_Timer1();
					 _IR_RepeatKeyDelay=_ClockX+0x80;	
 				  //   InitTimer2();
}
#define SMOD_   0x80  
sbit _IRx=P3^5;

void ResetRemoteCTRL_Use_Timer1(void){   
// Timer1 initial to counter mode 
// It interrupt T1_INT every once a falling edge input from T1 pin tigger from remote controller 
   _IRx=1;
   _xbit=_IRx;
// Set counter T1 mod =1;
   PCON|=SMOD_;
   TH1 =0xff;                   
   TL1 = 0xff; 
   TMOD&=0x0f; 
   TMOD = TMOD | 0x60;                          // select mode 2                 
   TCON&=0xf0;
  // TCON|=0x05;
   // enable timer 0 interrupt    
                                     
    TR1=1;
	_RC_Word=0xffffffff;
	_RC_CTRL_Reset=1;
	_RC_RepeatCommand=1;

	IP=0x08;  // Timer1 hightest piroty

	ET1 = 1; 
  	EA = 1;  
} 
 

void timer1 (void) interrupt 3 using 1 { 
		P2^=0x08;
/*
unsigned char _gx;
unsigned char _HiByte,_LowByte;
     _gx=TH2; 
	 TH2=0x00; 
	 TL2=0x00;  	 

//	if(_Busy==1) return;

	      _IRTimeOut=_ClockX+5;	

  		

 			//	_KeyTempX=0x09;//DetectButtomKey();   // pull which key press					    			
			//	isr_send_signal(_HDMIFuncX);
	 if(_RC_CTRL_Reset){ 	 			 			
	 				_RC_CTRL_Reset=0;  	
					_RC_RepeatCommand=0; 	            
	 				_CountOf_RC_Pulse=0x00;		// because we expect next pulse been detect will be a start bit 
		
					TR1=0;

					_FuncX|=_IRCommand; 
			isr_send_signal(_Init);										// and must be skip so initial the pulse counter to 0xff					 
 	 } 
	else {	   
				if(_CountOf_RC_Pulse==0x00){
				      if(_gx==0x28){   _RC_CTRL_Reset=1;  
                                 if(_IR_RepeatKeyEnable){
					                  _RC_RepeatCommand=1;					  				  
								      //_AL260FunctionModex
									  _FuncX|=_IRCommand; 
									  isr_send_signal(_Init);//_AL260FuncX); 
								  }
 		 
			   			 }	 	
	 	              else  if(_gx==0x30)  _CountOf_RC_Pulse=0x20; 												 
                            else _CountOf_RC_Pulse=0;
				} 	
				else {					                  	    			 
					  // Since our timer_0 interval set to 0x3800 / (11059200/12) = 15.5 ms so TH0/TL0 = 0x10000-0x3800 = 0xc800; count up
					  // and the time slot between reset pulse to start bit pulse been measure is 13.68 ms
					  // time slot of "0" is 1.12 ms  = 4.02 scale of TH0 counter 
                      // time slot of "1" is 2.24 ms  = 8.04 scale of TH0 counter
					  // so we select a threshold value 5 to test "0" or "1" input			 
 						_RC_Word<<=1;   
			 		  if(_gx>5) _RC_Word|=0x00000001;
				 	     --_CountOf_RC_Pulse;				 				 
					  if(!_CountOf_RC_Pulse){   _RC_CTRL_Reset=1;		
                          _HiByte=(unsigned char)((_RC_Word>>8)&0x00ff);
						  _LowByte=(unsigned char)(_RC_Word &0x00ff);
//						_RC_x=_RC_Word;	
					   if((_LowByte+_HiByte)==0xff){
					 //   _IRTimeOut=_ClockX+10;
					
					_FuncX|=_IRCommand;
			    	isr_send_signal(_Init);//_AL260FuncX);
					      _IR_RepeatKeyDelay=_ClockX+0x8;
                          _IR_RepeatKeyEnable=0;
					   }
				  	}
					  else if(_gx>0x0a) _RC_CTRL_Reset=1;                	
				}						
	} 	

	*/
}

/**/
code unsigned char _RCKeyTable[0x1e]={
_1x,//  			0x08		// 08f7  61d6
_2x,//	 			0x88		// 8877  61d6
_3x,//	 			0x48		// 48b7  61d6
_4x,//	 			0xc8		// c837  61d6
_5x,//	 			0x28		// 28d7  61d6
_6x,//	 			0xa8		// a857  61d6
_7x,//	 			0x68		// 6897  61d6
_8x,//	 			0xe8		// 8e17  61d6

_9x,//	 			0x18		// 18e7  61d6
_0x,//	 			0x58		// 58a7  61d6
_Recall,//			0xd8		// d827  61d6
_Scan,//			0x98		// 9867  61d6
_Select,//			0x50		// 50af  61d6
_Up,//				0x10		// 10ef  61d6
_Left,//			0x90		// 906f  61d6
_Right,//			0xd0		// d02f  61d6

_Down,//			0x30		// 30cf  61d6
_Menu,//			0xf0		// f00f  61d6
_ExitRC,//			0x70		// 708f  61d6
_Res,//				0xb0		// b04f  61d6
_Input,//			0xa0		// a05f  61d6
_Mts,//				0x60		// 609f  61d6
_Mute,//			0xe0		// e01f  61d6
_Channel_Add,//  	0x40		// 40bf  61d6

_Channel_Sub,//		0x80		// 807f  61d6
_Volume_Add,//		0xc0		// c03f  61d6
_Volume_Sub,//		0x20		// 20df  61d6
_Power,//			0x00		// 00ff  61d6
_Repeat,//			0xa5		// 00ff  61d6
_UnKnow	//			0xff
};
 
unsigned char DecodeIRCommand(unsigned long _RC_WordX){	
unsigned char _RC_DataX; 
unsigned char _gx;
unsigned char _hx;
unsigned char _ix;
unsigned int _Xadr;
 				
						_Xadr=(unsigned int)((_RC_WordX>>0x10)&0x0000ffff);
						if(_Xadr==0x61d6){
                       // 0x61d6 is a ID code transmitted from remote controller      	  
								//	_RC_Word>>=0x10;
  
 									_Xadr=(unsigned int)(_RC_WordX&0x0000ffff);
									_gx=(unsigned char)(_Xadr&0x00ff);
									_Xadr>>=8;
									_hx=(unsigned char)(_Xadr&0x00ff);

									if((_hx|_gx)==0xff){
                    						for(_ix=0;_ix<0x1d;_ix++){
												if(_hx==_RCKeyTable[_ix]) break;
											}						
											if(_ix<0x1d){	                                    
										 		_RC_DataX=_hx;
												//	RunRCFuncX(_RC_Data);
											 
											}
											else _RC_DataX=0xff;  // unknow										
									}											
						}

						else {
							if((_RC_RepeatCommand==1)&&(_RC_Data!=0xff)){ 
					 
								_RC_DataX=0xf0;
							}									
						}
 
								
 		return(_RC_DataX);
}	
	      

unsigned char RCFuncX(unsigned char _RC_DataX){
static unsigned char _gx;
unsigned char _dx; 
		switch(_RC_DataX){
			case	_Right:
			case	_Up: 
			case	_1x: 
 
                           _gx=_AddKey;
						   _dx=_gx;
						break;
			
	        case	_Down: 
 					 
            case	_Left:
			case	_2x: 
   
						   _gx=_SubKey;	
						    _dx=_gx;	
						break;
			case	_Select: 
			case	_3x:  
					  
 						   _gx=_SelKey;
                            _dx=_gx;
						break;
			case	_4x: 
						break; 
			case	_5x: 
			case	_6x: 
			case	_7x: 
			case	_8x: 
			case	_9x: 
			case	_0x: 
			case	_Recall: 
			case	_Scan: 
//			case	_Select: 
//			case	_Up: 
//			case	_Left: 
//			case	_Right: 
//			case	_Down: 
			case	_Menu: 
						break;
			case	_ExitRC: 
							  
							   // if(_DebugMode==0){_DebugMode=1; 	ResetRemoteCTRL_Use_Timer1(); }
								//		else _DebugMode=0;	
						break;
			case	_Res: 	
 
//				 	 ResetRemoteCTRL_Use_Timer1();
 						break;
			case	_Repeat:
					 	 _dx=_gx;
						break;
			case	_Input: 
			case	_Mts: 
			case	_Mute: 
			case	_Channel_Add: 
			case	_Channel_Sub: 
			case	_Volume_Add: 
			case	_Volume_Sub: 
			case	_Power: 
			case	_UnKnow: 
						break;
		}
				return(_dx);
} 


 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久女同性恋中文字幕| 日本va欧美va精品发布| 成人夜色视频网站在线观看| 日韩午夜激情免费电影| 国产最新精品精品你懂的| 久久久精品黄色| 成人精品免费看| 夜夜嗨av一区二区三区中文字幕| 日本高清无吗v一区| 亚洲成人自拍偷拍| 欧美第一区第二区| 东方aⅴ免费观看久久av| 亚洲视频在线一区二区| 欧美日韩一区小说| 久久66热re国产| 中文字幕亚洲视频| 制服.丝袜.亚洲.中文.综合| 国产福利一区在线观看| 亚洲男女一区二区三区| 日韩午夜在线影院| 色综合久久久久久久久久久| 免费观看日韩av| 国产精品久久久久久久久晋中| 欧美在线观看18| 国产一区二三区好的| 亚洲女人的天堂| 精品久久久久久亚洲综合网 | 中文字幕第一区| 在线观看免费成人| 国产一区二三区好的| 一区二区三区中文字幕电影| 日韩欧美国产wwwww| 91在线一区二区三区| 蜜桃传媒麻豆第一区在线观看| 国产精品少妇自拍| 日韩一级完整毛片| 91一区二区在线| 国产在线视频一区二区| 亚洲一区二区欧美| 国产精品天天看| 欧美变态tickle挠乳网站| 色88888久久久久久影院按摩 | 欧美激情中文不卡| 91精品国产91热久久久做人人| 国产69精品久久久久毛片| 日韩成人精品在线| 尤物视频一区二区| 国产精品午夜在线观看| 日韩欧美中文一区| 欧美日韩在线免费视频| 777a∨成人精品桃花网| 国产精品99久久久久久似苏梦涵 | 国产精品乱码人人做人人爱| 欧美一级专区免费大片| 欧美日韩中文国产| 一本色道亚洲精品aⅴ| 国产高清精品在线| 国产一区二区中文字幕| 精品在线观看视频| 日本不卡不码高清免费观看| 亚洲国产毛片aaaaa无费看| 综合欧美亚洲日本| 亚洲国产精品ⅴa在线观看| 久久婷婷综合激情| 精品国产免费久久| 欧美v国产在线一区二区三区| 欧美剧在线免费观看网站 | 国产精品高潮久久久久无| 久久一二三国产| 国产一二精品视频| 91福利国产精品| 91黄色免费版| 成人av电影免费观看| 国产成人a级片| 狠狠狠色丁香婷婷综合激情| 日本一道高清亚洲日美韩| 污片在线观看一区二区| 亚洲国产美国国产综合一区二区| 亚洲精品第一国产综合野| 亚洲女人的天堂| 成人综合激情网| 久久国产免费看| 首页国产丝袜综合| 亚洲国产日韩综合久久精品| 一区二区三区**美女毛片| 亚洲国产精品一区二区www | 亚洲国产乱码最新视频| 欧美高清视频www夜色资源网| 国产69精品久久久久777| 丝袜亚洲另类欧美| 精品国精品国产| 欧美一区二区三区免费大片 | 免费av成人在线| 久久精品国产一区二区三区免费看 | 日韩一区在线免费观看| 亚洲国产经典视频| 国产精品护士白丝一区av| 亚洲天堂久久久久久久| 亚洲午夜激情av| 久久国产精品第一页| 国产成a人无v码亚洲福利| 91在线porny国产在线看| 欧美网站一区二区| 久久激情五月激情| 成人免费av在线| 欧美在线一二三| 精品福利二区三区| 中文字幕字幕中文在线中不卡视频| 一区二区三区小说| 激情综合色播五月| 91麻豆.com| 欧美一级二级三级乱码| 国产精品每日更新| 视频一区免费在线观看| 国产精品2024| 欧美日韩国产小视频在线观看| 久久综合九色综合久久久精品综合| 国产精品福利av| 久久精品国产久精国产| 97久久超碰国产精品| 精品少妇一区二区| 依依成人综合视频| 国产精品一区在线| 欧美视频你懂的| 亚洲国产精品传媒在线观看| 肉色丝袜一区二区| 99久久精品久久久久久清纯| 日韩免费视频线观看| 亚洲欧美色一区| 国产很黄免费观看久久| 欧美精选一区二区| 亚洲日韩欧美一区二区在线| 麻豆91在线看| 欧美日韩一级大片网址| 中文字幕亚洲一区二区va在线| 日本成人超碰在线观看| 日本精品一区二区三区四区的功能| 精品国产乱码久久久久久1区2区| 亚洲中国最大av网站| 波多野结衣精品在线| 久久婷婷成人综合色| 日韩不卡一区二区| 欧美视频在线播放| 亚洲人精品一区| 成人中文字幕在线| 久久人人97超碰com| 日本美女一区二区| 欧美精品久久久久久久多人混战| 亚洲男人都懂的| 99精品视频中文字幕| 国产欧美日韩视频在线观看| 久草在线在线精品观看| 欧美裸体一区二区三区| 亚洲综合色婷婷| 色八戒一区二区三区| 国产精品福利av| 99久久伊人久久99| 国产精品欧美极品| 国产成人h网站| 中文字幕国产精品一区二区| 国产精品性做久久久久久| 久久亚洲综合色| 久久66热偷产精品| 久久久久久综合| 国内偷窥港台综合视频在线播放| 日韩精品最新网址| 精品一区二区三区欧美| 欧美变态tickle挠乳网站| 日本欧美在线观看| 欧美一区二区三区四区五区| 天天色天天爱天天射综合| 91精品在线免费| 美脚の诱脚舐め脚责91| 26uuu久久天堂性欧美| 国产精品一区专区| 成人欧美一区二区三区在线播放| av电影一区二区| 一区二区三区欧美亚洲| 欧美色爱综合网| 日本午夜一区二区| 26uuu精品一区二区在线观看| 国产成人精品一区二区三区四区 | 欧美日韩高清一区二区不卡 | 韩国av一区二区三区在线观看| 精品国产精品一区二区夜夜嗨| 国产麻豆欧美日韩一区| 亚洲国产成人自拍| 91成人网在线| 美女视频黄久久| 日本一区二区三区四区在线视频 | 亚洲国产成人av网| 日韩视频中午一区| 国产91高潮流白浆在线麻豆| 亚洲三级电影网站| 欧美一区二区成人| 高清不卡一二三区| 亚洲午夜久久久久久久久久久| 日韩一二在线观看| 成人国产精品免费观看视频| 亚洲一二三四久久|