久久久久久久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在线 | av不卡在线观看 | 午夜拍拍| 日韩欧美小视频 | 久久私人影院 | 依人在线| 国产精品手机在线 | 亚洲免费一区二区 | 日韩不卡一区 | 欧美高清一区二区 | 天天操天天插 | 日韩激情网站 | 欧美成人精品一区二区 | 日韩国产中文字幕 | 亚洲成人国产 | 国产乱码精品一区二区三 | 青青草网站 | 欧美国产在线观看 | 亚洲激情在线观看 | 黄色在线小视频 | 夜夜爽天天爽 | 午夜视频一区二区三区 | 国产成人午夜 | 五月婷综合 | 69免费视频| 成人a毛片| 99精品欧美一区二区蜜桃免费 | 亚洲成人av在线 | 黄色一级片免费 | 99热最新 | 亚洲精品一区二区三区在线观看 | 午夜黄视频 | 91在线精品秘密一区二区 | 欧美视频一区 | 五月天婷婷社区 | 911精品国产一区二区在线 | 欧美人与性动交α欧美精品 | 久久久二区 | 久久久久久网站 | 97人人艹 |