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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5717|回復: 6
收起左側

單片機紅外收發

[復制鏈接]
ID:67624 發表于 2014-10-19 11:08 | 顯示全部樓層 |閱讀模式
1.接收程序:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit led1=P1^0;
sbit led2=P1^1;
sbit led3=P1^2;
sbit in=P3^2;
sbit beer=P1^3;
uchar i,a,num;
bit fleg;
void init()
{
fleg=1;
in=1;
EA=1;
EX0=1;
IT0=1;
}
void delayms(uchar aa)
{
for(i=aa;i>0;i--)
{
  _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
}
}
void delay(uchar z)
{
uchar x,y;
{
  for(x=z;x>0;x--)
   for(y=110;y>0;y--);
}
}
void main()
{
init();
//delayms(45);//0.642ms
//delayms(35);//0.502ms
//delayms(115);//1.623ms
//delayms(72);//1.02ms
//delayms(84);//1.188ms
//delayms(31);//0.446ms
while(1);
}
void sieasdf() interrupt 0
{
EX0=0;
for(a=5;a>0;a--)
{
  delayms(35);//延時0.5ms 判斷5次  5*0.5=2.5ms
  if(in)fleg=0;
}
if(fleg)
{
  delayms(72);//延時1ms  判斷是不是高電平了
  if(in)
  {
   delayms(115);//延時讓它超過2ms; 2.5+1+1.623=5.123ms  開始讀數據
   for(a=8;a>0;a--)
   {
    while(!in);
    delayms(86);//延時1.188ms 判斷IO高低,從而得0或1
    num=num>>1;
    if(in)
     {
      num=num|0x80;
      delayms(31);//延時0.6ms 因為上面延時1.2ms+0.6 剛好跳過1.5ms
     }
   }
   P2=num;
   if(num==0xff)beer=~beer;
  }
}
fleg=1;
EX0=1;
}
2.發送程序:
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^3;
sbit key2=P3^4;
sbit key3=P3^5;
sbit LED=P2^0; //發射指示燈
sbit out=P3^7;
uchar i,a,num1;
void init()//初始化作用
{
key1=1;
key2=1;
key3=1;
}
void delay(uchar aa)
{
uchar bb,cc;
for(bb=aa;bb>0;bb--)
  for(cc=200;cc>0;cc--);
}
void delayms(uchar aa)//延時程序
{
for(a=aa;a>0;a--)
{
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
  _nop_();
}
}

void khz(uchar aa)//是發射38KHZ的程序
{
for(a=aa;a>0;a--)   //這個for語句可以得到準確的26.3波特率
  {
   out=0;
   i=7;  //低了17us
   while(i>0)i--;  //   38kHZ  
   out=1;
    //高了9us      17+9=26us   比26.3快一點點
  }

}
//khz(116);//3.028ms   精確的時間
//khz(64);//2.006ms
//khz(40); //1.052ms
//delayms(125);//2.012ms      這里是一些時間的介紹
//delayms(65);//1.054ms
//delayms(93);//1.5ms
void fashu(uchar num)
{
khz(116);//發射3ms 38khz
delayms(125);
for(num1=8;num1>0;num1--) //原來用的是a  后來出錯,肯定在這里!
{
  khz(40);
  if(num&0x01)
   delayms(93);//delay 1.5ms
  else
   delayms(65);//delay 1ms
  num=num>>1;
}
khz(20);

}
void keyscan()//按鍵掃描
{
if(key1==0)
{
  _nop_();_nop_();_nop_();_nop_();
  _nop_();_nop_();_nop_();_nop_();
  if(key1==0)
  {
   while(!key1);
   fashu(0x7f);
   LED=0;
   delay(200);
   LED=1;
   delay(200);
   LED=0;
   delay(200);
   LED=1;
  }

}
if(key2==0)
{
  _nop_();_nop_();_nop_();_nop_();
  _nop_();_nop_();_nop_();_nop_();
  if(key2==0)
  {
   while(!key2);
   fashu(0);
   LED=0;
   delay(200);
   LED=1;
   delay(200);
   LED=0;
   delay(200);
   LED=1;
   
  }

}
if(key3==0)
{
  _nop_();_nop_();_nop_();_nop_();
  _nop_();_nop_();_nop_();_nop_();
  if(key3==0)
  {
   while(!key3);
   fashu(0xff);
   LED=0;
   delay(200);
   LED=1;
   delay(200);
   LED=0;
   delay(200);
   LED=1;

  }

}
}
void main()
{
init();
while(1)
{
  keyscan();
}
}
回復

使用道具 舉報

ID:44262 發表于 2014-10-20 10:15 來自觸屏版 | 顯示全部樓層
問一下樓主還有 發送程序和電路圖嗎?
回復

使用道具 舉報

ID:61875 發表于 2014-10-25 15:41 | 顯示全部樓層
謝謝樓主的奉獻
回復

使用道具 舉報

ID:73187 發表于 2015-2-12 11:35 | 顯示全部樓層
樓主親自試驗過么  
回復

使用道具 舉報

ID:72047 發表于 2015-3-1 17:23 | 顯示全部樓層
very good
回復

使用道具 舉報

ID:79493 發表于 2015-5-10 11:10 | 顯示全部樓層
嗯,謝謝樓主!
回復

使用道具 舉報

ID:189817 發表于 2017-4-15 13:44 | 顯示全部樓層
感謝樓主分享
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91手机精品视频 | 国产第二页 | 国产第一页在线播放 | 欧美男人天堂 | 国产综合精品一区二区三区 | 欧美综合久久 | 在线日韩欧美 | 国产婷婷色综合av蜜臀av | 曰批视频在线观看 | 四虎影院欧美 | 亚洲成a人片 | 伊人久久免费视频 | 久久99精品国产 | 日韩视频三区 | 久久三级av | 国产精品久久影院 | 欧美 中文字幕 | 亚洲成人一区二区 | 亚洲视频中文字幕 | 韩日av片 | 国产精品久久久久久久久久久久午夜片 | 中文字幕在线不卡 | 久久精品国产一区 | 波多野结衣中文字幕一区二区三区 | 天天躁日日躁aaaa视频 | 国产精品久久久久久久久久久久冷 | 国产91久久久久久久免费 | 国产精品伦理一区二区三区 | 污污免费网站 | 欧美男人天堂 | 国产免费一区二区 | 欧美一区二区视频 | 99精品国产一区二区三区 | 国产成都精品91一区二区三 | 亚洲精品在线播放 | julia中文字幕久久一区二区 | 一区二区三区久久 | 天天弄天天操 | 一区二区三区av | 999精品视频| av在线一区二区三区 |