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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2581|回復: 3
收起左側

單片機紅外控制Led程序

[復制鏈接]
ID:541128 發表于 2019-7-14 18:12 | 顯示全部樓層 |閱讀模式
一個很簡單的程序,寫的不是很好

單片機源程序如下:
  1. #include "reg52.h"

  2. #define  Led P2
  3. typedef unsigned char u8;
  4. typedef unsigned int u16;

  5. //#define uint unsigned int;
  6. //#define uchar unsigned char;

  7. sbit IRIN=P3^2;

  8. u8  Time;
  9. u8  IrValue[6];
  10. u8 code IRdata[22]={0x45,0x46,0x47,0x44,0x40,0x43,0x07,0x15,0x09,0x16,0x19,
  11.                     0x0d,0x0c,0x18,0x5e,0x08,0x1c,0x5a,0x42,0x52,0x4a};

  12. void delay(u16 i)
  13. {
  14.    while(i--);
  15. }

  16. void IrInit()
  17. {
  18.   IT0=1;
  19.         EX0=1;
  20.         EA=1;
  21.         IRIN=1;
  22. }



  23. void Ircontrol()
  24. {
  25.         u8 i;
  26.         
  27. //        for(i=0;i<8;i++)
  28. //        {
  29. //          switch(IrValue[2])
  30. //                {
  31. //                        case(0x45):Led=0xfe;break;
  32. //                        case(0x46):Led=0xfc;break;
  33. //                        case(0x47):Led=0xfa;break;
  34. //                        case(0x44):Led=0xf7;break;
  35. //                        case(0x40):Led=0xef;break;
  36. //                        case(0x43):Led=0xcf;break;
  37. //                        case(0x07):Led=0xaf;break;
  38. //                        case(0x15):Led=0x7f;break;
  39. //                }
  40. //        }
  41.         for(i=0;i<22;i++)
  42.         {
  43.           if(IrValue[2]==IRdata[i])
  44.                         Led=IRdata[i];
  45.         }
  46.                
  47.         
  48. }


  49. void main()
  50. {
  51.          IrInit();
  52.          while(1)
  53.          {
  54.            Ircontrol();
  55.          }
  56. }        
  57.          

  58. void ReadIr() interrupt 0
  59. {
  60.   u8 k,j;
  61.         u16 err;
  62.         Time=0;
  63.         delay(700);
  64.         if(IRIN==0)
  65.         {
  66.           err=1000;
  67.                
  68.                 while((IRIN==0)&&(err>0))
  69.                 {
  70.                   delay(1);
  71.                         err--;
  72.                 }
  73.                 if(IRIN==1)
  74.                 {
  75.                   err=500;
  76.                         while((IRIN==1)&&(err>0))
  77.                         {
  78.                           delay(1);
  79.                                 err--;
  80.                         }
  81.                         for(k=0;k<4;k++)
  82.                         {
  83.                           for(j=0;j<8;j++)
  84.                                 {
  85.                                   err=60;
  86.                                         while((IRIN==0)&&(err>0))
  87.                                         {
  88.                                           delay(1);
  89.                                                 err--;
  90.                                         }
  91.                                         err=500;
  92.                                         while((IRIN==1)&&(err>0))
  93.                                         {
  94.                                           delay(10);
  95.                                                 Time++;
  96.                                                 err--;
  97.                                                 if(Time>30)
  98.                                                 {
  99.                                                   return;
  100.                                                 }
  101.                                         }
  102.                                         IrValue[k]>>=1;
  103.                                         if(Time>=8)
  104.                                         {
  105.                                           IrValue[k]|=0x80;
  106.                                         }
  107.                                         Time=0;
  108.                                 }
  109.                         }
  110.                 }
  111.                
  112.                 if(IrValue[2]!=~IrValue[3])
  113.                  {
  114.                    return;
  115.                  }
  116.         }
  117. }        
  118.   
復制代碼

所有程序51hei提供下載:
紅外通信2.zip (22.88 KB, 下載次數: 32)
回復

使用道具 舉報

ID:282095 發表于 2019-7-15 05:12 | 顯示全部樓層
采用紅外對管實現LED的控制
回復

使用道具 舉報

ID:584220 發表于 2019-7-15 10:39 | 顯示全部樓層
還不錯
回復

使用道具 舉報

ID:292518 發表于 2021-9-8 11:00 | 顯示全部樓層
電路板部分呢?能不能發出來看看
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久婷婷av | 97国产爽爽爽久久久 | 黄色一级大片在线免费看产 | 久久精品中文 | 一级黄色片毛片 | 网页av| www.夜夜骑| 在线免费小视频 | 国产精品二区三区 | 日本粉嫩一区二区三区视频 | 国产在线一区二区三区 | 亚洲国产午夜 | 日干夜干 | 久久精品亚洲精品国产欧美 | 国产又色又爽又黄又免费 | 四虎影院免费在线播放 | 毛片免费看 | 日韩中文字幕在线播放 | 欧美日韩三级视频 | 国产一区二区精品在线观看 | 国产精品免费看 | 亚洲一区二区三区免费观看 | 在线 丝袜 欧美 日韩 制服 | 久久久久久久久久久高潮一区二区 | 亚洲国产一区二区三区 | 伊人在线| 欧洲在线视频 | 操人网| 一级毛片,一级毛片 | 国产黄色在线 | 亚州成人 | 国产综合网站 | 欧美日韩精品一区二区三区视频 | 免费精品一区 | 国产视频2021 | 91综合网| 亚洲国产aⅴ成人精品无吗 综合国产在线 | 久久久精品综合 | 另类一区 | 99精品一级欧美片免费播放 | 国产精品国产馆在线真实露脸 |