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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? rs_main.c

?? 51單片機(jī)紅外線遙控器解碼源代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):

#include		<REG51.H>

//定義端口資源

sbit		Control_1	=	P1^0;				/*	輸出到光耦,低電平選通*/
sbit		Control_2	=	P1^2;				/*	輸出到光耦,低電平選通*/
sbit		Control_3	=	P1^4;				/*	輸出到光耦,低電平選通*/
sbit		Control_4	=	P1^6;				/*	輸出到光耦,低電平選通*/

sbit		Control_LED1	=	P1^1;			/*	輸出到發(fā)光二極管,低電平點(diǎn)亮*/
sbit		Control_LED2	=	P1^3;			/*	輸出到發(fā)光二極管,低電平點(diǎn)亮*/
sbit		Control_LED3	=	P1^5;			/*	輸出到發(fā)光二極管,低電平點(diǎn)亮*/
sbit		Control_LED4	=	P1^7;			/*	輸出到發(fā)光二極管,低電平點(diǎn)亮*/

sbit		BUZZER_Control	=	P3^6;			/*	蜂鳴器,低電平蜂鳴*/

sbit		RUN_LED		=	P3^7;			/*	運(yùn)行指示LED	*/


//鍵盤編碼

#define	KEY_SHIFT		0x06
#define	KEY_TONE		0x16
#define	KEY_POWER		0x86
#define	KEY_1			0x7E
#define	KEY_2			0x2E
#define	KEY_3			0x26
#define	KEY_4			0x5E
#define	KEY_5			0x6E
#define	KEY_6			0x56
#define	KEY_7			0x9E
#define	KEY_8			0xAE
#define	KEY_9			0xB6
#define	KEY_0			0xBE
#define	KEY_ESC		0x96
#define	KEY_DEC		0xDE
#define	KEY_OK			0x8E
#define	KEY_INC			0xCE


void		Main_Initlization( void );			/*	主初始化程序*/
void		Interrupt_INT0( void );				/*	遙控解碼*/
void		Interrupt_INT1( void );				/*	10ms定時(shí)脈沖中斷*/
void		Interrupt_T0( void );				/*	遙控解碼*/
void		Interrupt_T1( void );				/*	PWM 定時(shí)器*/

void		KEY_Process( void );				/*	遙控按鍵解碼*/

void		APP_Initlization( void );			/*	應(yīng)用程序初始化*/

void		CH_LED_Control( void );			/*	通道指示燈*/
void		CH_Power_ON( void );				/*	電源控制*/
void		RUN_LED_Control( void );			/*	運(yùn)行指示燈控制*/
unsigned char		VOL_INC( unsigned char VOL );	/*	通道功率增加*/
unsigned char		VOL_DEC( unsigned char VOL );	/*	通道功率減小*/

/*	遙控器解碼變量定義*/
bit				KEY_DECODE_OK;			/*	遙控器解碼成功標(biāo)志*/
bit				Fresh_KEY_Flag;				/*	首次按鍵標(biāo)志*/
unsigned char		KEY_DECODE;				/*	解碼后的鍵值*/

unsigned char		RS_Index;					/*	當(dāng)前遙控碼位置*/
unsigned char		RS_High;					/*	遙控器解碼定時(shí)器高位*/
unsigned long		RS_Decode;					/*	解碼數(shù)據(jù)*/

union	URS_CODE							/*	遙控碼解碼數(shù)據(jù)*/
{											/*	格式:設(shè)備碼1E,設(shè)備反碼E1*/
	unsigned char KEY[4];						/*	數(shù)據(jù)碼,數(shù)據(jù)反碼,32bit	*/
	unsigned long	FULL_KEY;
} RS_CODE;

/*	PWM 信號(hào)發(fā)生脈沖變量定義*/
unsigned char		TimeSlot;					/*	PWM定時(shí)器*/
unsigned char		CH_Vol[4];					/*	通道音量數(shù)據(jù)*/
unsigned char		Current_CH;					/*	當(dāng)前遙控控制通道選擇0~3*/

bit				POWER_FLAG;				/*	電源總開(kāi)關(guān)標(biāo)志*/

#define			PWM_INIT	200				/*	初始計(jì)數(shù)值*/
#define			VOL_MAX	PWM_INIT-2		/*	最大值,越大,功率越大*/
#define			VOL_MIN	VOL_MAX-40		/*	最小值,越小,功率越低*/
#define			VOL_INIT	VOL_MIN + 10		/*	初始亮度*/

#define			IDLE_Cnt	3				/*	空閑時(shí)間,確定新鍵按下*/

unsigned	char		P1_Mirror;					/*	P1口鏡像寄存器*/
unsigned char		LED_Mirror;					/*	LED鏡像寄存器*/

/*	系統(tǒng)處理變量定義*/
bit	System_Timer;							/*	系統(tǒng)10ms定時(shí)標(biāo)志,來(lái)自100Hz中斷*/
bit	Timer_Flag;								/*	10ms定時(shí)器標(biāo)志*/

unsigned char		LED_FLASH_Cnt;				/*	LED閃爍定時(shí)器*/
unsigned char		PRE_KEY;					/*	前一個(gè)按鍵數(shù)據(jù)*/

/********************************************************************/
/*							主程序								*/
/********************************************************************/
void		main( void )
{
	Main_Initlization( );						/*	主初始化程序*/
	APP_Initlization( );						/*	應(yīng)用程序初始化*/

	while( 1 )
	{
		KEY_Process( );						/*	鍵盤處理*/
		CH_LED_Control( );					/*	通道指示燈*/


		/*	定時(shí)器服務(wù)*/
		if( System_Timer )
		{
			System_Timer = 0;
			Timer_Flag = 1;
		}

		/*	RUN_LED閃燈程序,正常1s閃爍一次,遙控解碼時(shí),快速閃爍*/

		RUN_LED_Control( );

		if( Timer_Flag )
			Timer_Flag = 0;
	}
}

/********************************************************************/
/*		遙控按鍵解碼處理程序								*/
/********************************************************************/
void		KEY_Process( void )				/*	遙控按鍵解碼*/
{
	if( KEY_DECODE_OK )
	{
		KEY_DECODE_OK = 0;					/*	處理結(jié)束*/

		switch( KEY_DECODE )					/*	根據(jù)鍵值散轉(zhuǎn)*/
		{
			/*	電源總開(kāi)關(guān)控制*/
			case	KEY_POWER:	if( Fresh_KEY_Flag )
								{
									POWER_FLAG = !POWER_FLAG;
									if( POWER_FLAG )
										CH_Power_ON( );
								}
								break;
			/*	通道電源功率增加*/
			case	KEY_INC:	if( POWER_FLAG )
								{
									if( Current_CH == 0 )		/*	所有通道*/
									{
										CH_Vol[ 0 ]  = VOL_INC( CH_Vol[ 0 ] );
										CH_Vol[ 1 ]  = VOL_INC( CH_Vol[ 1 ] );
										CH_Vol[ 2 ]  = VOL_INC( CH_Vol[ 2 ] );
										CH_Vol[ 3 ]  = VOL_INC( CH_Vol[ 3 ] );
									}
									else
										CH_Vol[ Current_CH -1 ]  = VOL_INC( CH_Vol[ Current_CH -1 ] );
								}
								break;
			/*	通道電源功率減小*/
			case	KEY_DEC:	if( POWER_FLAG )
								{
									if( Current_CH == 0 )		/*	所有通道*/
									{
										CH_Vol[ 0 ]  = VOL_DEC( CH_Vol[ 0 ] );
										CH_Vol[ 1 ]  = VOL_DEC( CH_Vol[ 1 ] );
										CH_Vol[ 2 ]  = VOL_DEC( CH_Vol[ 2 ] );
										CH_Vol[ 3 ]  = VOL_DEC( CH_Vol[ 3 ] );
									}
									else
										CH_Vol[ Current_CH -1 ]  = VOL_DEC( CH_Vol[ Current_CH -1 ] );
								}
								break;
			/*	遙控控制通道切換,循環(huán)切換*/
			case	KEY_TONE:	if( Fresh_KEY_Flag )
								{
									Current_CH ++;
									if( Current_CH > 4 )
										Current_CH = 1;
								}
								break;
			/*	通道切換,通過(guò)SHIFT + 數(shù)字鍵,0鍵表示所有*/
			case	KEY_0:		if( Fresh_KEY_Flag )
									if( PRE_KEY == KEY_SHIFT )
										Current_CH = 0;
								break;
			case	KEY_1:		if( Fresh_KEY_Flag )
									if( PRE_KEY == KEY_SHIFT )
										Current_CH = 1;
								break;
			case	KEY_2:		if( Fresh_KEY_Flag )
									if( PRE_KEY == KEY_SHIFT )
										Current_CH = 2;
								break;
			case	KEY_3:		if( Fresh_KEY_Flag )
									if( PRE_KEY == KEY_SHIFT )
										Current_CH = 3;
								break;
			case	KEY_4:		if( Fresh_KEY_Flag )
									if( PRE_KEY == KEY_SHIFT )
										Current_CH = 4;
								break;
			case	KEY_ESC:	if( Fresh_KEY_Flag )
									Current_CH = 0;
								break;					
				
		}

		Fresh_KEY_Flag = 0;
		PRE_KEY = KEY_DECODE;				/*	前一個(gè)鍵值更新*/
	}
}

/********************************************************************/
/*		主初始化程序											*/
/*		初始化定時(shí)器,中斷模式等							*/
/********************************************************************/
void		Main_Initlization( void )			/*主初始化程序*/
{
	TMOD = 0x19;		 			/*	定時(shí)器1用于PWM 定時(shí),定時(shí)器0用于遙控信號(hào)解碼*/
	TCON = 0x55;        				/*	啟動(dòng)兩個(gè)定時(shí)器,外部中斷模式為下降沿*/
	TH1  = 0xF9;        					/*	PWM 調(diào)節(jié)步長(zhǎng)*/
	TL1  = 0x7D;
	TH0  = 0x00;        					/*	定時(shí)設(shè)置,最長(zhǎng)約80ms, 24MHz晶振*/
	TL0  = 0x00;
	IE   = 0x8F;       		 			/*	開(kāi)放中斷:INT0-遙控解碼,INT1-10ms中斷,T0-遙控解碼, T1-PWM 發(fā)生*/
	IP	= 0x0C;						/*	10ms外部中斷優(yōu)先級(jí)最高*/
}


/********************************************************************/
/*		外部中斷0服務(wù)程序( 遙控解碼)					*/
/********************************************************************/
/*	解碼輸出在RS_DECODE,標(biāo)志為RS_DECODE_OK,首次按鍵為Fresh_KEY_Flag  */

void		Interrupt_INT0( void ) interrupt 0
{
	/*	搜索幀頭,幀尾,數(shù)據(jù)*/
	/*	00 22數(shù)據(jù)為幀頭*/
	/*	00 03為數(shù)據(jù)0,00 0C為數(shù)據(jù)1*/
	/*	01 38為幀尾*/
	/*	00 11, 02 F1為重復(fù)標(biāo)志*/

	bit	Error_Flag;

	switch( TH0 )
	{
		case	0x02:									/*	數(shù)據(jù)0	*/
		case	0x03:
		case	0x04:	if( RS_High == 0 )
						{
							RS_CODE.FULL_KEY <<= 1;
							RS_Index ++;
						}
						else
							RS_Index = 0;
						break;
					
		case	0x0B:									/*	數(shù)據(jù)1	*/
		case	0x0C:
		case	0x0D:	if( RS_High == 0 )
						{
							RS_CODE.FULL_KEY <<= 1;
							RS_CODE.FULL_KEY ++;
							RS_Index ++;
						}
						else
							RS_Index = 0;
						break;
						

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久免费午夜影院| 中文字幕亚洲精品在线观看| 91一区一区三区| 久久疯狂做爰流白浆xx| 依依成人精品视频| 亚洲国产精品精华液ab| 日韩欧美自拍偷拍| 欧美天堂亚洲电影院在线播放| 国产精品一区二区在线看| 天堂久久一区二区三区| 一区二区三区四区精品在线视频| 国产欧美日韩在线看| 精品久久久三级丝袜| 欧美高清dvd| 欧洲一区二区三区在线| 99久久精品国产精品久久| 国产精品一区久久久久| 蜜桃一区二区三区在线观看| 亚洲成av人影院| 一区二区三区加勒比av| 亚洲天天做日日做天天谢日日欢 | 国产精品久久毛片| 久久久噜噜噜久久人人看| 欧美一级电影网站| 欧美日韩mp4| 欧美三级中文字| 日本韩国精品在线| 日本韩国欧美在线| 91视频在线看| 91碰在线视频| 色香蕉久久蜜桃| 91视频国产资源| 99久久免费精品| 99国内精品久久| 色综合久久久久久久久| 91福利精品第一导航| 91九色最新地址| 欧美三级电影在线看| 欧美午夜精品免费| 欧美日韩国产在线播放网站| 欧美日韩在线电影| 欧美狂野另类xxxxoooo| 这里是久久伊人| 日韩欧美中文字幕一区| 久久人人爽人人爽| 国产日韩v精品一区二区| 中文字幕第一区二区| 亚洲欧美一区二区三区国产精品| 亚洲人123区| 午夜天堂影视香蕉久久| 免费av成人在线| 国产成人自拍在线| 色哟哟在线观看一区二区三区| 欧美午夜视频网站| 日韩欧美中文字幕制服| 久久久不卡网国产精品二区| 国产精品国产自产拍在线| 亚洲男人的天堂网| 性久久久久久久| 韩国v欧美v亚洲v日本v| 99re这里只有精品6| 欧美日韩国产精选| 久久久精品2019中文字幕之3| 自拍偷拍欧美激情| 午夜精品影院在线观看| 国产一区二区导航在线播放| 成人一道本在线| 欧美日韩午夜在线| 精品福利一区二区三区免费视频| 国产精品国产自产拍高清av| 亚洲成人你懂的| 国产成人综合视频| 欧美三级电影在线看| 久久久国产午夜精品| 一区二区三区四区五区视频在线观看 | 日韩伦理电影网| 手机精品视频在线观看| 国产91精品一区二区麻豆网站| 色狠狠av一区二区三区| 91精品国产综合久久香蕉麻豆| 久久久青草青青国产亚洲免观| 一区二区三区中文免费| 久久精品国产澳门| 91蝌蚪porny| 日韩免费观看2025年上映的电影| 日韩一区在线播放| 麻豆精品蜜桃视频网站| 色老汉一区二区三区| 久久蜜桃av一区二区天堂| 一区二区在线电影| 国产乱色国产精品免费视频| 欧美在线色视频| 国产精品人成在线观看免费| 轻轻草成人在线| 91丨九色porny丨蝌蚪| 精品粉嫩aⅴ一区二区三区四区| 一区二区三区日韩| 懂色av一区二区夜夜嗨| 欧美成人三级电影在线| 亚洲国产成人tv| a在线播放不卡| 久久久精品综合| 久久精品国产色蜜蜜麻豆| 欧美日韩大陆在线| 亚洲精品国产无套在线观| 国产激情视频一区二区在线观看 | 免费精品视频最新在线| 在线观看91精品国产入口| 国产精品黄色在线观看 | 欧美日韩中字一区| 中文字幕在线不卡国产视频| 国产高清精品网站| 精品国产乱码久久久久久浪潮| 婷婷开心久久网| 欧美性xxxxxx少妇| 一区二区高清免费观看影视大全| 成人免费看片app下载| 久久麻豆一区二区| 激情六月婷婷久久| 欧美成人高清电影在线| 日本aⅴ亚洲精品中文乱码| 欧美精选在线播放| 婷婷综合另类小说色区| 欧美美女直播网站| 亚洲午夜一二三区视频| 欧美亚洲综合久久| 亚洲五码中文字幕| 欧美制服丝袜第一页| 一区二区免费在线播放| 91官网在线观看| 亚洲国产日韩在线一区模特| 欧美日韩一级大片网址| 午夜不卡在线视频| 91精品国产入口在线| 免费观看30秒视频久久| 91精品国产一区二区三区蜜臀| 日本成人在线网站| 欧美岛国在线观看| 国产伦精品一区二区三区视频青涩| 2023国产精品自拍| 粉嫩aⅴ一区二区三区四区| 中文字幕va一区二区三区| 99久久久免费精品国产一区二区| 亚洲欧洲精品成人久久奇米网| 99re热视频这里只精品| 一区二区三区欧美日韩| 91麻豆精品国产91久久久久久| 日本成人在线视频网站| 欧美精品一区二区在线播放| 国产精品影音先锋| 亚洲图片激情小说| 欧美日韩一区二区在线视频| 日韩激情一二三区| 26uuu国产一区二区三区| 丁香激情综合国产| 亚洲最新在线观看| 欧美美女网站色| 国产在线精品一区二区不卡了| 国产欧美日韩在线观看| 色婷婷精品久久二区二区蜜臀av| 天天射综合影视| 久久嫩草精品久久久精品| 91色乱码一区二区三区| 污片在线观看一区二区| 欧美精品一区二区三区在线播放 | 中文字幕综合网| 91福利视频久久久久| 秋霞电影一区二区| 亚洲国产精品av| 欧美日韩国产美女| 国产麻豆精品久久一二三| 一区二区三区久久| www亚洲一区| 91久久国产最好的精华液| 免费观看久久久4p| 最新高清无码专区| 欧美一级黄色大片| 91视频com| 极品美女销魂一区二区三区免费| 中文字幕中文字幕中文字幕亚洲无线 | 国产在线播放一区| 一区二区在线观看av| 久久久久久久久久久久久久久99 | 一区二区日韩av| 久久只精品国产| 欧美熟乱第一页| 国产成人免费视频一区| 亚洲成人动漫在线免费观看| 久久久久久久综合日本| 欧美系列日韩一区| 国产xxx精品视频大全| 婷婷开心激情综合| 亚洲人成7777| 久久久久久久国产精品影院| 欧美日韩高清一区| 成人一级片网址| 精品一区二区免费在线观看| 一区二区三区四区蜜桃| 国产日韩精品视频一区| 日韩午夜激情视频|