欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4944|回復: 11
打印 上一主題 下一主題
收起左側

21路紅外線遙控開關程序

  [復制鏈接]
跳轉到指定樓層
樓主
ID:70976 發表于 2014-12-24 16:02 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint  unsigned int
#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};
void delay(uchar x);  //x*0.14MS
void delay1(int ms);
void beep();
sbit IRIN = P3^2;         //紅外接收器數據線
sbit BEEP = P1^5;         //蜂鳴器驅動線
sbit RELAY1= P1^0;         //繼電器驅動線
sbit RELAY2= P1^1;         //繼電器驅動線
sbit RELAY3= P1^2;         //繼電器驅動線
sbit RELAY4= P1^3;         //繼電器驅動線
sbit RELAY5= P1^4;         //繼電器驅動線
sbit RELAY6= P1^6;         //繼電器驅動線
sbit RELAY7= P1^7;         //繼電器驅動線
uchar IRCOM[7];
main()
{
    IRIN=1;                    //I/O口初始化
    BEEP=1;
    RELAY1=1;
delay1(10);                 //延時
    IE = 0x81;                 //允許總中斷中斷,使能 INT0 外部中斷
TCON = 0x01;               //觸發方式為脈沖負邊沿觸發
     while(1);

} //end main
/**********************************************************/
void IR_IN() interrupt 0 using 0
{
      unsigned char i,j,k,N=0;
     EX0 = 0;     //關掉外部中斷防止中斷的再次發生進入檢測引導碼階段(9ms的低電平4.5ms的高電平)
delay(15);
if (IRIN==1)
     { EX0 =1;  //9ms的檢測檢測結束從新打開外部中斷
  return;
}
                           //確認IR信號出現
  while (!IRIN)            //等IR變為高電平,跳過9ms的前導低電平信號。
    {delay(1);}

for (j=0;j<4;j++)         //收集四組數據
{
for (k=0;k<8;k++)        //每組數據有8位
{
  while (IRIN)            //等 IR 變為低電平,跳過4.5ms的引導高電平信號。
    {delay(1);}
   while (!IRIN)          //等 IR 變為高電平
    {delay(1);}
    while (IRIN)           //計算IR高電平時長(0和1的低電平的時長一樣的,只要判斷高電平時長超過0.56ms并小于1.12ms為1否  則為0)
     {
   delay(1);
   N++;           
if (N>=30)
{
EX0=1;
return;
}                  //0.14ms計數過長自動離開。
     }                        //高電平計數完畢               
    IRCOM[j]=IRCOM[j] >> 1;                  //數據最高位補“0”
    if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}  //高電平持續時間大于1.12ms則數據最高位補“1”
    N=0;
}//end for k
}//end for j

   if (IRCOM[2]!=~IRCOM[3])  // 判斷有沒有誤碼(有責放棄沒有判斷鍵碼)
   { EX0=1;
     return;
}
     switch(IRCOM[2])
{   // 顯示遙控上的字符按鍵
   case 0x45:
RELAY1=!RELAY1;  
break;
case 0x46:
    RELAY2=!RELAY2;
break;
case 0x47:
    RELAY3=!RELAY4;  
break;
case 0x44:
     RELAY4=!RELAY4;
break;
case 0x40:
      RELAY5=!RELAY5;
break;
case 0x43:
      RELAY6=!RELAY6;
break;
case 0x07:
      RELAY7=!RELAY7;
break;
case 0x15:
      RELAY1=!RELAY1;
break;
   case 0x09:

break;
case 0x19:
    ........
break;
case 0x0d:
    ........
break;  
case 0x16:  
    .........;
break;
case 0x0c:   
  .........
break;
case 0x18:
............   
break;
case 0x5e:
................  
break;
case 0x08:
    ..............
break;
case 0x1c:

break;
case 0x5a:

break;
   case 0x42:

break;
case 0x52:

break;
case 0x4a:

break;
}
     beep();
     EX0 = 1;
}

/**********************************************************/
void beep()
{
  unsigned char i;
  for (i=0;i<100;i++)
   {
   delay(4);
   BEEP=!BEEP;                 //BEEP取反
   }
  BEEP=1;                      //關閉蜂鳴器
}
/**********************************************************/
void delay(unsigned char x)    //x*0.14MS
{
unsigned char i;
  while(x--)
{
  for (i = 0; i<13; i++) {}
}
}

/**********************************************************/
void delay1(int ms)
{
unsigned char y;
  while(ms--)
{
  for(y = 0; y<250; y++)
  {
   _nop_();
   _nop_();
   _nop_();
   _nop_();
  }
}
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:70769 發表于 2014-12-24 20:30 | 只看該作者
GOOD!!!
回復

使用道具 舉報

板凳
ID:67573 發表于 2014-12-25 14:01 | 只看該作者
回復

使用道具 舉報

地板
ID:71125 發表于 2014-12-27 15:45 來自觸屏版 | 只看該作者
有圖紙嗎?樓主
回復

使用道具 舉報

5#
ID:72947 發表于 2015-1-31 20:25 來自觸屏版 | 只看該作者
謝謝樓主分享!!!
回復

使用道具 舉報

6#
ID:73964 發表于 2015-3-2 21:43 | 只看該作者
很不錯的
回復

使用道具 舉報

7#
ID:73030 發表于 2015-3-3 10:25 來自觸屏版 | 只看該作者
樓主挺強,不錯
回復

使用道具 舉報

8#
ID:80482 發表于 2015-5-19 16:13 | 只看該作者
找了好久啊
回復

使用道具 舉報

9#
ID:194844 發表于 2017-5-1 19:42 | 只看該作者
有圖紙嗎?樓主
回復

使用道具 舉報

10#
ID:225259 發表于 2017-8-6 18:20 | 只看該作者
看不懂,發射的信號是怎樣的?
回復

使用道具 舉報

11#
ID:251082 發表于 2017-12-24 11:51 | 只看該作者
拿來玩下謝謝分享
回復

使用道具 舉報

12#
ID:577916 發表于 2019-7-4 15:50 | 只看該作者

謝謝樓主分享!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表