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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3774|回復: 1
收起左側

[討論]請大蝦看看我的紅外解碼程序有什么錯誤啊

[復制鏈接]
ID:37810 發表于 2012-4-13 13:27 | 顯示全部樓層 |閱讀模式

我的數碼管位和斷碼都為低電平時才亮(有點兒特殊)

紅外接收的頭接到INT0引腳

#include<reg52.h>

uchar irtime;
uchar startflag;
uchar irdata[33];
uchar bitnum;
uchar irreceok;
uchar ircode[4];
//uchar irprosok;
uchar disp[8];

uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};


void delay_50ms(uint t)
{
 uint j;
 for(;t>0;t--)
  for(j=6245;j>0;j--);
}

void delay_50us(uint t)
{
 uchar j;
 for(;t>0;t--)
  for(j=19;j>0;j--);
 
}

void timer0init(void)
{
 TMOD=0x02;
 TH0=0;
 TL0=0;
 ET0=1;
 EA=1;
 TR0=1;
}

void int0init(void)
{
 IT0=1;
 EX0=1;
 EA=1;
}

void irpros(void)  //解碼
{
 uchar k,i,j,value;
 k=1;
 for(j=0;j<4;j++)
 {
  for(i=0;i<8;i++)
  {
   value=value>>1;    //相當于7次
   if(irdata[k]>6)
   {       //8次
    value=value  | 0x80;
   }
   k++;
  }
  ircode[j]=value;
 }
 //irprosok=1;
}

void irwork(void)
{
 disp[0]=ircode[0]/16;
 disp[1]=ircode[0]%16;
 disp[2]=ircode[1]/16;
 disp[3]=ircode[1]%16;
 disp[4]=ircode[2]/16;
 disp[5]=ircode[2]%16;
 disp[6]=ircode[3]/16;
 disp[7]=ircode[4]%16;
}

void display(void)
{
 uchar i;
 for(i=0;i<8;i++)
 {
   P1=duan[disp];
   P2=wei;
   delay_50us(20);
 }
}

void main()
{
 timer0init();
 int0init();
 while(1)
 {
    if(irreceok)
    {
      irpros();
   irreceok=0;
    }
    //if(irprosok)
    //{
      irwork();
  // irprosok=0;
    //}
  display();

 }
}

void timer0() interrupt 1
{
 irtime++;    // 最大255,等自加到255,又變0
}

void int0() interrupt 0
{
  startflag=0;
 if(startflag)
 {
  if(irtime>32) //檢測引導碼
  {
   bitnum=0; 
  }
  irdata[bitnum++]=irtime;
  irtime=0;

  if(bitnum==33)
  {
   bitnum=0;
   irreceok=1;
  }
 }
 else
 {
  startflag=1;
  irtime=0;
 }
}

回復

使用道具 舉報

ID:39750 發表于 2012-5-5 16:19 | 顯示全部樓層

我設計成功的紅外解碼程序,你對照一下吧。

 

#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

unsigned char smg_du[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
unsigned char smg_we[]={0x00,0x10,0x20,0x30,0x40,0x50,0x60,0x70};

uchar irtime;
uchar startflag;
uchar irdata[33];
uchar bitnum;
uchar irreceok;
uchar ircode[4];
uchar irprosok;
uchar disp[8];


void delay_50us(uint t)
{
    uchar j;
 for(;t>0;t--)
   for(j=19;j>0;j--);
}

void delay_50ms(uint t)
{
    uint j;
 for(;t>0;t--)
 for(j=6245;j>0;j--);
}

void timer0init(void)
{
  TMOD=0x02;
  TH0=0x00;
  TL0=0x00;
  ET0=1;
  EA=1;
  TR0=1;
  }

void int0init(void)
{
 IT0=1;
 EX0=1;
 EA=1;
}

void irwork(void)
{
   disp[0]=ircode[0]/16;
   disp[1]=ircode[0]%16;
   disp[2]=ircode[1]/16;
   disp[3]=ircode[1]%16;
   disp[4]=ircode[2]/16;
   disp[5]=ircode[2]%16;
   disp[6]=ircode[3]/16;
   disp[7]=ircode[3]%16;


}

void display(void)
{
    uchar i;
 for(i=0;i<8;i++)
 {
 P1=smg_we;
 P2=smg_du[disp];

 delay_50us(20);
 }
}


void irpros(void)
{
    uchar k,i,j;
 uchar value;
 k=1;
 for(j=0;j<4;j++)
 {
  for(i=0;i<8;i++)
  {
   value=value>>1;
     if(irdata[k]>6)
     {
      value=value|0x80;    
     }
     k++;
     }
     ircode[j]=value;
   }

   irprosok=1;

}

 

void main()
{
    timer0init();
 int0init();
 while(1)
 {
    if(irreceok)
    {
       irpros();
    irreceok=0;
  }
  if(irprosok)
  {
       irwork();
    irprosok=0;
  }
  display();
  
 }
}

void timer0 () interrupt 1
{
  irtime++;
}

void int0 () interrupt 0
{
    if(startflag)
 {
    if(irtime>32) //檢測引導碼
    {
    bitnum=0;

    }
    irdata[bitnum]=irtime;
    irtime=0;
    bitnum++;
    if(bitnum==33)
    {
      bitnum=0;
   irreceok=1;

    }


 }
 else
 {
     startflag=1;
  irtime=0;

 }

}

回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 激情福利视频 | 久久av一区二区 | 国产一级毛片视频 | 国产乱码精品一区二区三区忘忧草 | 一区在线观看 | 中文字幕日韩欧美一区二区三区 | 成人av免费播放 | 亚洲色图插插插 | h免费观看 | 青草福利 | 蜜臀91视频| 国内精品久久久久久久影视简单 | 国产精品视频不卡 | 久久精品一 | 国产精品久久九九 | 亚洲第1页 | 成人妇女免费播放久久久 | 亚洲视频www| 青青草视频网站 | 四虎最新视频 | 久久久久久久一区 | 黄色大片网站 | 久久精品黄色 | 97国产精品视频人人做人人爱 | 影音先锋欧美资源 | 亚洲成人一区二区 | 国产精品夜夜夜一区二区三区尤 | 91九色在线观看 | 亚洲欧美v| 国产精品日韩欧美一区二区 | 午夜寂寞影院在线观看 | 在线观看国产视频 | 求毛片 | 97福利在线 | 精品久久久久一区 | 欧美日韩亚洲国产 | 国产欧美二区 | 国产精品久久久久久久久久软件 | 日韩激情网| 欧美激情久久久 | 亚洲精品一区二区三区在线 |