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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

紅外發送失敗

[復制鏈接]
跳轉到指定樓層
樓主
ID:277539 發表于 2018-7-7 22:23 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <reg52.h>
#define u8 unsigned char
#define u16 unsigned int
static u16 count;       //延時計數器
static u16 endcount; //終止延時計數
static u8 flag;      //紅外發送標志
sbit  P1_0=P1^0;//紅外發射管的亮滅控制位
u8 iraddr;  //地址碼
void SendIRdata(u8 p_irdata);//發送子函數
void delay();
void main(void)
{
  count = 0;
  flag = 0;       //無載波
  P1_0 = 1;       //不亮
  EA = 1; //允許CPU中斷
  TMOD = 0x10; //設定時器0和1為16位模式1
  ET1 = 1; //定時器0中斷允許
  TH1 = 0xFF;
  TL1 = 0xE6; //設定時值0為38K 也就是每隔26us中斷一次
  TR1 = 1;//開始計數
  iraddr=0;//自定義的一個地址
  do{
      delay();
      SendIRdata(0x45);
  }while(1);
}

void timeint(void) interrupt 3//定時器1中斷處理
{
  TH1=0xFF;//載入初值
  TL1=0xE6; //設定時值為38K 也就是每隔26us中斷一次
  count++;
  if (flag==1)//如果是待發送的有效數據flag=1,就在此產生載波(亮滅交變)
  {
                P1_0=!P1_0;
        }
  else
  {
                P1_0 = 0
        }
}
void SendIRdata(u8 p_irdata)   
{
  u8 i;                                                                                               
  u8 irdata=p_irdata;
  //發送9ms的起始碼,并是載波模式有效
  endcount=223;
  flag=1;
  count=0;
  while(count<endcount);//等待中斷,控制亮滅交變的總時間為9ms
  //發送4.5ms的結果碼,并是載波模式無效
  endcount=117;
  flag=0;
  count=0;
  do
        {
               
        }while(count<endcount);

  //發送十六位地址的前八位
  irdata=~iraddr;
  for(i=0;i<8;i++)
  {//一個周期里規定先以高電平開始,在以低電平結束。先發送0.56ms的38KHZ“1”的紅外波(即編碼中0.56ms的高電平)
     endcount=10;
     flag=1;
     count=0;
     do{}while(count<endcount);
//停止發送紅外信號(即編碼中的低電平)
   if(irdata&0x01)  //判斷二進制數個位為1還是0
   {
                endcount=41;
         }  //1為寬的高電平1.68ms
   else
         {
                endcount=15;
         }  //0為窄的高電平0.56ms
    flag=0;
    count=0;
    while(count<endcount);
    irdata=irdata>>1;//依次取位
  }
  //發送十六位地址的后八位
  irdata=iraddr;    //此處已經是地址的反碼
  for(i=0;i<8;i++)
  {
     endcount=10;
     flag=1;
     count=0;
     while(count<endcount);
     if(irdata&0x01)
     {
                        endcount=41;
                 }
     else
     {
                        endcount=15;
                 }
     flag=0;
     count=0;
     do{}while(count<endcount);
     irdata=irdata>>1;
  }
  //發送八位數據
  irdata=~p_irdata;
  for(i=0;i<8;i++)
  {
     endcount=10;
     flag=1;
     count=0;
     while(count<endcount);
     if(irdata&0x01)
     {
                        endcount=41;
                 }
     else
     {
                        endcount=15;
                 }
     flag=0;
     count=0;
     do{}while(count<endcount);
     irdata=irdata>>1;
  }
  //發送八位數據的反碼
  irdata=p_irdata;      //要將數據位取反
  for(i=0;i<8;i++)
  {
     endcount=10;
     flag=1;
     count=0;
     while(count<endcount);
     if(irdata&0x01)
     {
                        endcount=41;
                 }
     else
     {
                        endcount=15;
                 }
     flag=0;
     count=0;
     while(count<endcount);
     irdata=irdata>>1;
  }
  endcount=10;
  flag=1;
  count=0;
  do{}while(count<endcount);
  flag=0;
}
void delay()
{
  u16 i;
  u8 j;
  for(i=0;i<400;i++)
    for(j=0;j<100;j++);
}

不知道·哪里出問題了

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

使用道具 舉報

沙發
ID:367189 發表于 2018-7-8 10:06 | 只看該作者
看下你的 第四行,,是否邏輯有問題,

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

板凳
ID:313084 發表于 2018-7-8 11:21 | 只看該作者
我有過經驗的,delay函數盡量少用,會與定時器有沖突

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

地板
ID:367252 發表于 2018-7-8 12:14 | 只看該作者
38K頻率不對,時間長度需耐心調整。

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:367285 發表于 2018-7-8 13:39 | 只看該作者
應該是頻率發送與接收不對應

評分

參與人數 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:367378 發表于 2018-7-8 16:21 | 只看該作者
估計38kHz的頻率不合適
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品视频一区 | 国产一区二区久久久 | 欧美日韩在线精品 | 亚洲精品一区二区三区在线 | 色接久久 | 日韩精品一区二区三区在线播放 | 超碰在线观看97 | 亚洲一区成人 | 一区二区三区四区在线视频 | 国产精品精品久久久 | 欧美极品一区二区 | 亚洲色图婷婷 | 在线看一区二区 | 日韩美香港a一级毛片免费 国产综合av | 国产福利小视频 | 久久亚洲一区二区三区四区 | 久久综合一区 | 亚洲精品av在线 | 久久综合av| 久久精品久久综合 | 日日天天 | 亚洲网站在线观看 | 亚洲欧美在线视频 | 久久夜视频 | 欧美另类视频 | 国产精品一区二区在线 | 国产一区二区三区久久久久久久久 | 亚洲韩国精品 | 亚洲精品一区二区三区蜜桃久 | 午夜视频在线观看网站 | 久久中文字幕一区 | 亚洲成人自拍 | 色综合激情 | 久久久久国产视频 | 欧美一区二区视频 | 成人av观看 | 国产 欧美 日韩 一区 | 欧美mv日韩mv国产网站91进入 | a精品视频 | 精品不卡 | 少妇一级淫片免费播放 |