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

標題: 關于紅外遙控模擬發射程序沒反應的問題 [打印本頁]

作者: wcf101    時間: 2021-5-31 22:52
標題: 關于紅外遙控模擬發射程序沒反應的問題
大佬們幫看一下為什么我做的小遙控運行沒反應,是不是哪里接錯了還是程序寫錯了
發射
  1. #include<reg51.h>
  2. sbit IR=P2^0;
  3. sbit k1=P1^0;
  4. sbit k2=P1^1;
  5. sbit k3=P1^2;
  6. sbit k4=P1^3;
  7. unsigned int a,b,c,d,e,f,g;
  8. unsigned char Adress_Code=0xff;
  9. void Delay8_77us()          //延時8.77us
  10. {
  11. unsigned char i;
  12. while(--i);
  13. }
  14. void IR_1r()
  15. {
  16. IR=1;
  17.    Delay8_77us();
  18. IR=0;
  19. for(a=0;a<2;a++)
  20.    Delay8_77us();
  21. }
  22. void Send_0()
  23. {
  24. for(b=0;b<21;b++)
  25.   IR_1r();
  26. for(c=0;c<64;c++)
  27.    Delay8_77us();
  28. }
  29. void Send_1()
  30. {
  31. for(c=0;c<21;c++)
  32.   IR_1r();
  33. for(d=0;d<192;d++)
  34.    Delay8_77us();
  35. }
  36. void Send_YDM()         //引導碼  9ms  4.5ms
  37. {
  38. for(f=0;f<342;f++)
  39. IR_1r();
  40. for(g=0;g<513;g++)
  41. Delay8_77us();


  42. }
  43. void Send_IR(unsigned char x)  //按位發送
  44. {
  45. for(e=0;e<8;e++)
  46. {
  47.   if(x&0x01)Send_1();
  48.   else Send_0();
  49.   x>>=1;
  50. }
  51. }
  52. void go()
  53. {

  54. if(k1==0)
  55.   {
  56.    Send_YDM();
  57.    Send_IR(Adress_Code);
  58.    Send_IR(~Adress_Code);
  59.    Send_IR(0x08);
  60.    Send_IR(~0x08);
  61.    Send_0();
  62.   }
  63. }
  64. void down()
  65. {

  66.   if(k2==0)
  67.   {
  68.    Send_YDM();
  69.    Send_IR(Adress_Code);
  70.    Send_IR(~Adress_Code);
  71.    Send_IR(0x02);
  72.    Send_IR(~0x02);
  73.    Send_0();
  74.   }
  75. }
  76. void left()
  77. {

  78.   if(k3==0)
  79.   {
  80.    Send_YDM();
  81.    Send_IR(Adress_Code);
  82.    Send_IR(~Adress_Code);
  83.    Send_IR(0x04);
  84.    Send_IR(~0x04);
  85.    Send_0();
  86.   }
  87. }
  88. void right()
  89. {

  90.   if(k4==0)
  91.   {
  92.    Send_YDM();
  93.    Send_IR(Adress_Code);
  94.    Send_IR(~Adress_Code);
  95.    Send_IR(0x06);
  96.    Send_IR(~0x06);
  97.    Send_0();
  98.   }
  99. }
  100. void main()
  101. {
  102. IR=0;
  103. while(1)
  104. {
  105.   go();
  106.   down();
  107.   left();
  108.   right();
  109.   IR=0;
  110. }
  111. }
復制代碼



接收
  1. #include<reg51.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. uint LowTime,HighTime,num;
  5. uchar N[4];
  6. sbit IR=P3^2;
  7. sbit k1=P3^4;
  8. sbit k2=P3^5;
  9. sbit k3=P3^6;
  10. sbit k4=P3^7;
  11. void IRjudge() interrupt 0
  12. {
  13. TMOD=0x01;
  14. EX0=0;
  15. TL0=0;
  16. TH0=0;
  17. TR0=1;
  18. while(IR==0);
  19. TR0=0;
  20. LowTime=TH0*256+TL0;
  21. if((LowTime>8500)&&(LowTime<9500)!=1)
  22. {
  23.   EX0=1;
  24.   return;
  25. }
  26. TL0=0;
  27. TH0=0;
  28. TR0=1;
  29. while(IR);
  30. HighTime=TH0*256+TL0;
  31. if((HighTime>4000)&&(HighTime<5000))
  32. {
  33.   uchar i,j;
  34.   uchar x=0;
  35.   for(i=0;i<4;i++)
  36.   {
  37.   for(j=0;j<8;j++)
  38.    {
  39.     x>>=1;
  40.     TH0=0;
  41.     TL0=0;
  42.     TR0=1;
  43.     while(IR);
  44.     TR0=0;
  45.     LowTime=TH0*256+TL0;
  46.     TH0=0;
  47.     TL0=0;
  48.     TR0=1;
  49.     while(IR);
  50.     TR0=0;
  51.     HighTime=TH0*256+TL0;
  52.     if((LowTime<360)||(LowTime>650))
  53.     return;
  54.     if((HighTime>500)&&(HighTime<650))
  55.     x=x&0x7f;
  56.     if((HighTime>1500)&&(HighTime<1800))
  57.     x=x|0x80;
  58.    }
  59.     N[i]=x;
  60.     x=0;
  61.   }
  62.   if((N[0]=~N[1])&&(N[2]=~N[3]))
  63.   {
  64.    switch(N[4])
  65.    {
  66.     case 0x02:num=0;break;
  67.     case 0x04:num=1;break;
  68.     case 0x06:num=2;break;
  69.     case 0x08:num=3;break;
  70.    }
  71. }
  72. }
  73. EX0=1;
  74. }

  75. void go()
  76. {
  77. if(num==3)
  78. {
  79.   k1=1;
  80.   k2=0;
  81.   k3=1;
  82.   k4=0;
  83. }
  84. }
  85. void left()
  86. {
  87. if(num==1)
  88. {
  89.   k1=0;
  90.   k2=1;
  91.   k3=1;
  92.   k4=0;
  93. }
  94. }
  95. void right()
  96. {
  97. if(num==2)
  98. {
  99.   k1=1;
  100.   k2=0;
  101.   k3=0;
  102.   k4=1;
  103. }
  104. }
  105. void back()
  106. {
  107. if(num==3)
  108. {
  109.   k1=0;
  110.   k2=1;
  111.   k3=0;
  112.   k4=1;
  113. }
  114. }

  115. void main()
  116. {
  117. IT0=1;
  118. EX0=1;
  119. EA=1;
  120. while(1)
  121. {
  122.   go();
  123.   left();
  124.   right();
  125.   back();
  126. }
  127. }
復制代碼

FVN0]AOGAD5LN_[}35NH0X9.png (47.01 KB, 下載次數: 53)

FVN0]AOGAD5LN_[}35NH0X9.png





歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产免费一区二区 | 久久久久成人精品亚洲国产 | 免费国产一区二区视频 | 欧美三区| 日韩午夜精品 | 亚洲综合色自拍一区 | 亚洲人成在线播放 | 神马久久久久久久久久 | 亚洲国产中文在线 | 综合在线视频 | 日韩欧美亚洲一区 | 看羞羞视频免费 | 欧美日韩一区二区在线播放 | 国产综合精品 | 国产精品免费在线 | 一区二区三区免费在线观看 | 中文字幕在线观看一区二区 | 色久五月 | 黄视频欧美 | 国产精品一区二区三 | 欧美 日韩 亚洲91麻豆精品 | 一区二区三区不卡视频 | 99热在线观看精品 | 国产精品久久久久久影院8一贰佰 | 九九热在线视频观看这里只有精品 | 日韩av免费看| 欧美日韩精品一区二区三区视频 | 精品福利在线 | 精品一区av | 久久性色 | 中文字幕av网址 | 日韩精品免费视频 | 在线视频一区二区三区 | 男人天堂视频在线观看 | 久久精品这里 | 日本成年免费网站 | 中文成人在线 | 日韩成人在线网站 | 国产一级片av | 亚洲综合色站 | 国产高清精品一区二区三区 |