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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

[求助]關(guān)于一個程序的疑問??

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:25357 發(fā)表于 2010-8-20 10:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

對以下程序,我有些不明白的地方?請教高手。

紅外發(fā)射 啟動 9.12ms +4.5 ms     0.565+0.56為0  0.565+1.685 為1

下面程序中斷一次26us  好像算起來,時間間隔不對的???

可是,我用紅外測試儀測了一下,好像又相差不大????

到底是哪里的問題???謝謝

 

 

#include <AT89X51.h>

static bit OP;        //紅外發(fā)射管的亮滅

static unsigned int count;       //延時計數(shù)器

static unsigned int endcount; //終止延時計數(shù)

static unsigned char flag;      //紅外發(fā)送標志

char iraddr1;  //十六位地址的第一個字節(jié)

char iraddr2;  //十六位地址的第二個字節(jié)

void SendIRdata(char p_irdata);

void delay();

void main(void)

{

  count = 0;

  flag = 0;

  OP = 0;

  P3_4 = 0;

  EA = 1; //允許CPU中斷

  TMOD = 0x11; //設(shè)定時器0116位模式1

  ET0 = 1; //定時器0中斷允許

 

  TH0 = 0xFF;

  TL0 = 0xE5; //設(shè)定時值038K 也就是每隔26us中斷一次 

  TR0 = 1;//開始計數(shù)

  iraddr1=3;

  iraddr2=252;

 

  do{

      delay();

      SendIRdata(0x55);// 在此填入發(fā)射數(shù)據(jù)

  }while(1);

}

//定時器0中斷處理

void timeint(void) interrupt 1

{

  TH0=0xFF;

  TL0=0xE5; //設(shè)定時值為38K 也就是每隔26us中斷一次

  count++;

  if (flag==1)

  {

    OP=~OP;

  }

  else

  {

    OP = 0;

  }

  P3_4 = OP;

}

 

void SendIRdata(char p_irdata)

{

  int i;

  char irdata=p_irdata;

  //發(fā)送9ms的起始碼

  endcount=223; // 26us中斷一次,不是5.7ms????

  flag=1;

  count=0;

  do{}while(count<endcount);

  //發(fā)送4.5ms的結(jié)果碼

  endcount=117;//   這里好像只有3ms

  flag=0;

  count=0;

  do{}while(count<endcount);

  //發(fā)送十六位地址的前八位

  irdata=iraddr1;

  for(i=0;i<8;i++)

  {

     //先發(fā)送0.56ms38KHZ紅外波(即編碼中0.56ms的低電平)

     endcount=10;  // 不是0.26ms嗎?哪有0.56ms???

flag=1;

     count=0;

     do{}while(count<endcount);

//停止發(fā)送紅外信號(即編碼中的高電平)

     if(irdata-(irdata/2)*2)  //判斷二進制數(shù)個位為1還是0

     {

       endcount=41;  //1為寬的高電平 //算到1ms    

}

    else

     {

     endcount=15;   //0為窄的高電平 //只有0.39ms    

 }

    flag=0;

    count=0;

    do{}while(count<endcount);

    irdata=irdata>>1;

  }

  //發(fā)送十六位地址的后八位

  irdata=iraddr2;

  for(i=0;i<8;i++)

  {

     endcount=10;

     flag=1;

     count=0;

     do{}while(count<endcount);

     if(irdata-(irdata/2)*2)

     {

        endcount=41;

     }

     else

     {

       endcount=15;

     }

     flag=0;

     count=0;

     do{}while(count<endcount);

     irdata=irdata>>1;

  }

  //發(fā)送八位數(shù)據(jù)

  irdata=p_irdata;

  for(i=0;i<8;i++)

  {

     endcount=10;

     flag=1;

     count=0;

     do{}while(count<endcount);

     if(irdata-(irdata/2)*2)

     {

         endcount=41;

     }

     else

     {

       endcount=15;

     }

     flag=0;

     count=0;

     do{}while(count<endcount);

     irdata=irdata>>1;

  }

  //發(fā)送八位數(shù)據(jù)的反碼

  irdata=~p_irdata;

  for(i=0;i<8;i++)

  {

     endcount=10;

     flag=1;

     count=0;

     do{}while(count<endcount);

     if(irdata-(irdata/2)*2)

     {

         endcount=41;

     }

     else

     {

       endcount=15;

     }

     flag=0;

     count=0;

     do{}while(count<endcount);

     irdata=irdata>>1;

  }

  endcount=10;

  flag=1;

  count=0;

  do{}while(count<endcount);

  flag=0;

}

void delay()

{

  int i,j;

  for(i=0;i<400;i++)

  {

    for(j=0;j<100;j++)

    {

    }

  }

}

 

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

使用道具 舉報

沙發(fā)
ID:1 發(fā)表于 2010-8-25 14:01 | 只看該作者

是因為c語言編譯的,時間要消耗的多一些所以要預(yù)留出一些時間來,才能剛好匹配紅外的那個脈寬,你反匯編看一下代碼就能算出準確的時間了,用12兆的晶振,可精確到1微秒

回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产一区在线免费观看 | 亚洲国产成人精品女人久久久 | 亚洲视频免费一区 | 天堂综合网久久 | www.一区二区三区 | 欧美精品久久久 | 中文字幕在线观看成人 | 亚洲欧洲视频 | 激情国产| 国产成人av免费看 | 亚洲一区二区三区免费观看 | 国产一级一级毛片 | 国产精品久久久久久久久图文区 | 国产精品一二区 | 精品视频一二区 | 性做久久久久久免费观看欧美 | www.国产一区 | 国产在线播放一区二区三区 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 国产精品区一区二区三区 | 精品国产三级 | 精品日韩一区 | 欧美13videosex性极品 | 国产一区二区影院 | 黄色免费网址大全 | 欧美日韩在线不卡 | 久久久婷婷 | 爱爱小视频 | 粉嫩国产精品一区二区在线观看 | 免费黄色录像视频 | 日韩精品成人免费观看视频 | 国产乱码久久久久久一区二区 | 成人精品一区二区 | 日韩免费| 最新毛片网站 | 欧美一级免费片 | 亚洲欧美综合精品久久成人 | 99热精品久久 | 中文字幕第7页 | 欧美九九 | 日韩在线一区二区 |