久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

c51學習型紅外遙控器程序

作者:佚名   來源:劉洪   點擊數:  更新時間:2010年08月01日   【字體:
#include<AT89X51.H>   //裝入AT89X51頭文件
#include<ir.h>			//裝入紅外解碼程序
#include<24c02.H>		//裝入24c02讀寫程序
sbit key=P1^0;			//定義按鍵IO
sbit led=P0^0;       //定義指示led
sbit rel=P0^1;			//定義輸出控制腳

unsigned char kaver;  //定義kaver為輸出口狀態緩存
unsigned char iccdate,irdate;  //定義24c02數據和解碼數據

//延時10ms函數,用于開關消抖等
delay10ms()   
{ 
	unsigned char i,j; 	
	for(i=20;i>0;i--) 	
	for(j=248;j>0;j--); 	
}

//學習紅外解碼并寫入24c02的函數
study()
{
    IR_IN();
 	irdate=IRCOM[3];
    iccdate=ReadIIC(W_cmd,0x00,R_cmd);
	if(irdate!=iccdate)        //只在解碼結果與讀取結果不同時寫入24C02
	{
		if(irdate!=0)			//防止沒有接收到紅外信號,IRCOM[3]置零時,誤寫入0
		{
		WP=0;
		WriIIC(W_cmd,0x00,irdate);
		delay10ms();
		WP=1;
		led=0;
		while(key==0);		//學習成功等待按鍵釋放,led停止閃動作為指示
		}
	 }
}
//進入學習狀態時的led閃動函數
flash()
{
    unsigned char i;
	  while(key==0)
	  {
	     led=~led;
		  for(i=50;i>0;i--)
		  		study();		 
	  }
}
//按鍵模式識別函數
keymod()
{
	unsigned char m=0;
	while(key==0)          		//如果按鍵按下,開始對按鍵時間進行計數
	{		
			delay10ms();			//計數時間延時
			m++;
			delay10ms();			//計數時間延時
			if(m>=90)				//如果計數次數大于90次,等于按鍵按下時間大于約5秒后,進入led閃動學習模式
			{
				m=0;
				flash();
			} 
	}

	 if(m<90)              //如果計數次數小于90,則按鍵作為開關使用
	 {
	 	m=0; 
		kaver=~kaver;
	 }

}
////////////////////主函數////////////////////////////////////
main()
{
	WP=1;			//24c02寫保護
	while(1)
	{
		IRCOM[3]=0;
	    IR_IN();				// 讀4字節32位按鍵編碼 ,前16位用戶碼為IRCOM[1]+IRCOM[2],8位鍵值碼為IRCOM[3] 
		irdate=IRCOM[3];					//8位鍵值反碼為IRCOM[4] 這里只調用 IRCOM[3]鍵值碼作為數據碼
		iccdate=ReadIIC(W_cmd,0x00,R_cmd);
		if(irdate==iccdate)						//如果解碼結果與24C讀取碼相同,kaver翻轉一次
		{
			irdate=0;
			kaver=~kaver;
		}

      if(key==0) 	
			keymod();
		rel=~kaver;
		led=kaver;
	}
}
關閉窗口

相關文章

主站蜘蛛池模板: 亚洲欧美日韩在线不卡 | 日本在线中文 | 日本国产一区二区 | 国产精品免费视频一区 | 欧美色欧美亚洲另类七区 | 午夜欧美 | 国产欧美日韩久久久 | 国产伦精品一区二区三区高清 | 日本精品久久久一区二区三区 | a a毛片 | 亚洲成a人片 | 天天想天天干 | 中文字字幕一区二区三区四区五区 | 亚洲 成人 在线 | 国产精品久久国产精品久久 | 精品精品 | 国产免费一区 | 中文字幕视频在线观看免费 | 国产91精品久久久久久久网曝门 | 色天天综合 | 精品网站999www| 成人午夜精品 | 亚洲一区欧美 | 欧美jizzhd精品欧美巨大免费 | 天天操狠狠操 | 欧美一级免费片 | 99一级毛片| 亚洲精品二区 | 涩涩导航 | 99爱免费 | 在线视频中文字幕 | 国产精品久久久久影院色老大 | 久久久一区二区三区四区 | 蜜臀久久99精品久久久久久宅男 | 成人在线电影网站 | 一区二区三区四区在线 | 91视频在线看 | 精品欧美一区二区精品久久久 | 九色在线| 国产乱码精品一区二区三区忘忧草 | 久久久综合网 |