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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6786|回復(fù): 8
打印 上一主題 下一主題
收起左側(cè)

幫修改個(gè)程序,4個(gè)LED燈對(duì)應(yīng)按鍵號(hào),只能亮一個(gè),其它熄滅 謝謝!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:353 發(fā)表于 2016-9-11 19:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  在網(wǎng)上找了個(gè)程序,已修改了遙控鍵值,實(shí)現(xiàn)了按紅外遙控器1,2,3,4號(hào)鍵,對(duì)應(yīng)學(xué)習(xí)板P2^0-P2^3 IO口LED燈點(diǎn)亮,熄滅。現(xiàn)在想修改為:4個(gè)LED燈對(duì)應(yīng)按鍵號(hào),只能亮一個(gè),其它熄滅。比如按遙控器按1號(hào)鍵,對(duì)應(yīng)P2^0燈亮;按2號(hào)鍵時(shí),P2^1亮,其它熄滅。
本人水平有限,先謝謝了
程序如下:


#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;         //紅外接收器數(shù)據(jù)線
sbit BEEP = P3^7;         //蜂鳴器驅(qū)動(dòng)線
sbit RELAY1= P2^0;         //繼電器驅(qū)動(dòng)線//繼電器驅(qū)動(dòng)線
sbit RELAY2= P2^1;
sbit RELAY3= P2^2;
sbit RELAY4= P2^3;  
uchar IRCOM[7];
main()
{
    IRIN=1;                    //I/O口初始化
    BEEP=1;
    RELAY1=1;
delay1(10);                 //延時(shí)
    IE = 0x81;                 //允許總中斷中斷,使能 INT0 外部中斷
TCON = 0x01;               //觸發(fā)方式為脈沖負(fù)邊沿觸發(fā)
     while(1);

} //end main
/**********************************************************/
void IR_IN() interrupt 0 using 0
{
      unsigned char j,k,N=0;
     EX0 = 0;     //關(guān)掉外部中斷防止中斷的再次發(fā)生進(jìn)入檢測(cè)引導(dǎo)碼階段(9ms的低電平4.5ms的高電平)
delay(15);
if (IRIN==1)
     { EX0 =1;  //9ms的檢測(cè)檢測(cè)結(jié)束從新打開(kāi)外部中斷
  return;
}
                           //確認(rèn)IR信號(hào)出現(xiàn)
  while (!IRIN)            //等IR變?yōu)楦唠娖剑^(guò)9ms的前導(dǎo)低電平信號(hào)。
    {delay(1);}

for (j=0;j<4;j++)         //收集四組數(shù)據(jù)
{
for (k=0;k<8;k++)        //每組數(shù)據(jù)有8位
{
  while (IRIN)            //等 IR 變?yōu)榈碗娖剑^(guò)4.5ms的引導(dǎo)高電平信號(hào)。
    {delay(1);}
   while (!IRIN)          //等 IR 變?yōu)楦唠娖?br />     {delay(1);}
    while (IRIN)           //計(jì)算IR高電平時(shí)長(zhǎng)(0和1的低電平的時(shí)長(zhǎng)一樣的,只要判斷高電平時(shí)長(zhǎng)超過(guò)0.56ms并小于1.12ms為1否  則為0)
     {
   delay(1);
   N++;           
if (N>=30)
{
EX0=1;
return;
}                  //0.14ms計(jì)數(shù)過(guò)長(zhǎng)自動(dòng)離開(kāi)。
     }                        //高電平計(jì)數(shù)完畢               
    IRCOM[j]=IRCOM[j] >> 1;                  //數(shù)據(jù)最高位補(bǔ)“0”
    if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}  //高電平持續(xù)時(shí)間大于1.12ms則數(shù)據(jù)最高位補(bǔ)“1”
    N=0;
}//end for k
}//end for j

   if (IRCOM[2]!=~IRCOM[3])  // 判斷有沒(méi)有誤碼(有責(zé)放棄沒(méi)有判斷鍵碼)
   { EX0=1;
     return;
}
     switch(IRCOM[2])
{ // 顯示遙控上的字符按鍵
case 0x09:
RELAY1=!RELAY1;  
break;
case 0x0c:
    RELAY2=!RELAY2;
break;
case 0x0e:
    RELAY3=!RELAY3;  
break;
case 0x00:
     RELAY4=!RELAY4;  

}
     beep();
     EX0 = 1;
}

/**********************************************************/
void beep()
{
  unsigned char i;
  for (i=0;i<100;i++)
   {
   delay(4);
   BEEP=!BEEP;                 //BEEP取反
   }
  BEEP=1;                      //關(guān)閉蜂鳴器
}
/**********************************************************/
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空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:353 發(fā)表于 2016-9-11 23:13 | 只看該作者
已修改成功。
回復(fù)

使用道具 舉報(bào)

板凳
ID:137239 發(fā)表于 2016-9-12 00:39 | 只看該作者

樓主,我想學(xué)習(xí)下,可以把源程序發(fā)給我嗎?謝謝!
回復(fù)

使用道具 舉報(bào)

地板
ID:353 發(fā)表于 2016-9-12 18:31 | 只看該作者
STC89C51 發(fā)表于 2016-9-12 00:39
樓主,我想學(xué)習(xí)下,可以把源程序發(fā)給我嗎?謝謝!

已發(fā),
數(shù)字補(bǔ)丁

4路.zip

23.95 KB, 下載次數(shù): 19

修改好的,4路紅外遙控程序

回復(fù)

使用道具 舉報(bào)

5#
ID:137239 發(fā)表于 2016-9-13 00:37 | 只看該作者
yaofang1010 發(fā)表于 2016-9-12 18:31
已發(fā),
數(shù)字補(bǔ)丁

謝謝分享
回復(fù)

使用道具 舉報(bào)

6#
ID:138155 發(fā)表于 2016-9-13 14:15 | 只看該作者
恭喜樓主改造成功
回復(fù)

使用道具 舉報(bào)

7#
ID:139638 發(fā)表于 2016-9-17 16:24 | 只看該作者

恭喜樓主改造成功
回復(fù)

使用道具 舉報(bào)

8#
ID:353 發(fā)表于 2016-9-17 17:52 | 只看該作者
謝謝
已做成成品,配上其它紅外遙控設(shè)備一起使用,信號(hào)切換器
回復(fù)

使用道具 舉報(bào)

9#
ID:67838 發(fā)表于 2017-5-29 22:12 | 只看該作者
恭喜樓主改造成功
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表