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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機的紅外發射程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:73526 發表于 2015-2-11 15:25 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
  1. #include<reg52.h>

  2. static bit OP;

  3. #define uint unsigned int

  4. #define uchar unsigned char

  5. uchar qishiok,count,key,flag,temp1;

  6. uchar xinhaook,ding,qishiflag,temp2;

  7. uchar temp;endcount,temp3,temp4;

  8. uchar kaiok;

  9. int c=0,d=0,e=0;

  10. sbit key1=P2^7;

  11. sbit key2=P2^6;

  12. sbit key3=P2^5;

  13. uchar shu;

  14. sbit P3_5=P3^5;

  15. void init()

  16. {

  17.     TMOD=0x02;

  18.     TH0=0xe6;

  19.     TL0=0xe6;

  20.     EA=1;

  21.     ET0=1;

  22.     TR0=1;

  23.     flag=0;

  24.     qishiok=0;

  25. }

  26. void time0() interrupt 1

  27. {

  28.         count++;

  29.      if(flag)

  30.       {P3_5=~P3_5;}

  31.      else

  32.       {P3_5=1;}

  33. }

  34. void qishi()

  35. {

  36.         int a;

  37.               count=0;

  38.         flag=1;

  39.               for(a=0;a<2;a++)

  40.               {

  41.                      endcount=173;

  42.                do{}

  43.                  while(count<endcount);

  44.                        count=0;

  45.               }



  46.         flag=0;

  47.         count=0;

  48.               endcount=173;

  49.         do{}

  50.           while(count<endcount);

  51.         count=0;

  52.         qishiok=1;

  53. }

  54. void jieshu()

  55. {

  56.            int b;

  57.               shu=0x02;

  58.            count=0;

  59.            for(b=0;b<4;b++)

  60.         {

  61.           flag=1;

  62.           do{}while(count<35);

  63.           if(shu-(shu/2)*2)

  64.               {  

  65.                   ding=45;

  66.               }

  67.               else

  68.               {

  69.                   ding=15;

  70.               }

  71.               flag=0;

  72.               count=0;

  73.           do{}while(ding>count);

  74.               count=0;

  75.           shu=shu>>1;

  76.         }

  77. }

  78. void xinhao(uchar temp)

  79. {

  80.     int i;

  81.     shu=temp;

  82.     count=0;

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

  84.         {

  85.               flag=1;

  86.               do{}while(count<35);

  87.               if(shu-(shu/2)*2)

  88.               {  

  89.                   ding=45;

  90.               }

  91.               else

  92.               {

  93.                   ding=15;

  94.               }

  95.               flag=0;

  96.               count=0;

  97.           do{}while(ding>count);

  98.               count=0;

  99.           shu=shu>>1;

  100.         }

  101.           xinhaook=1;

  102. }

  103. void delay()

  104. {

  105.   int i,j;

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

  107.   {

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

  109.     {

  110.     }

  111.   }

  112. }



  113. void fashe(temp1,temp2,temp3,temp4)

  114. {

  115.         init();

  116.         qishi();

  117.               xinhao(temp1);

  118.         xinhao(temp2);

  119.               xinhao(temp3);

  120.               xinhao(temp4);

  121.               jieshu();

  122.            delay();

  123. }



  124. void kaiguan()

  125. {

  126.        if(c)

  127.               {

  128.                      fashe(0x09,0x00,0x00,0x50);//開

  129.                      kaiok=1;

  130.               }

  131.        else

  132.               {

  133.                      fashe(0x01,0x00,0x00,0x50);//關

  134.                      kaiok=0;

  135.               }

  136. }

  137. void saofeng()

  138. {

  139.               switch(e)

  140.               {

  141.                      case 0:

  142.                             {

  143.                                    if(d)

  144.                                           fashe(0x49,0x00,0x00,0x50);//風速關時掃風開

  145.                                    else

  146.                                           fashe(0x09,0x00,0x00,0x50);//風速關時掃風關

  147.                             };break;

  148.                      case 1:

  149.                             {

  150.                                    if(d)

  151.                                           fashe(0x59,0x00,0x00,0x50);//風速一時掃風開

  152.                                    else

  153.                                           fashe(0x19,0x00,0x00,0x50);//風速一時掃風關

  154.                             };break;

  155.                      case 2:

  156.                             {   

  157.                                    if(d)

  158.                                           fashe(0x69,0x00,0x00,0x50);//風速二時掃風開

  159.                                    else

  160.                                           fashe(0x29,0x00,0x00,0x50);//風速二時掃風關

  161.                             };break;

  162.                      case 3:

  163.                             {

  164.                                    if(d)

  165.                                           fashe(0x79,0x00,0x00,0x50);//風速三時掃風開

  166.                                  else

  167.                                           fashe(0x39,0x00,0x00,0x50);//風速三時掃風關

  168.                             }

  169.               }

  170. }

  171. void fengsu()

  172. {

  173.        if(d)//掃風開時

  174.        {

  175.               switch(e)

  176.                      {

  177.                      case 0:

  178.                             fashe(0x49,0x00,0x00,0x50);break;//風速關

  179.                      case 1:

  180.                             fashe(0x59,0x00,0x00,0x50);break;//風速一

  181.                      case 2:

  182.                             fashe(0x69,0x00,0x00,0x50);break;//風速二

  183.                      case 3:

  184.                             fashe(0x79,0x00,0x00,0x50);break;//風速三

  185.                      }

  186.        }

  187.        else//掃風關時

  188.        {

  189.               switch(e)

  190.                      {

  191.                      case 0:

  192.                             fashe(0x09,0x00,0x00,0x50);break;//風速關

  193.                      case 1:

  194.                             fashe(0x19,0x00,0x00,0x50);break;//風速一

  195.                      case 2:

  196.                             fashe(0x29,0x00,0x00,0x50);break;//風速二

  197.                      case 3:

  198.                             fashe(0x39,0x00,0x00,0x50);break;//風速三

  199.                      }

  200.        }

  201. }

  202. void main()

  203. {

  204.     while(1)

  205.    {

  206.               if(key1==0)

  207.               {

  208.                      while(key1==0);

  209.                      kaiguan();//開關

  210.                      c++;

  211.                      if(c>1)

  212.                      c=0;

  213.               }

  214.               else if(key2==0)

  215.               {

  216.                      while(key2==0);

  217.                      if(kaiok)

  218.                      {

  219.                             saofeng();

  220.                             d++;

  221.                             if(d>1)

  222.                             d=0;

  223.                      }

  224.               }

  225.               else if(key3==0)

  226.               {

  227.                      while(key3==0)

  228.                      if(kaiok)

  229.                      {

  230.                             fengsu();

  231.                             e++;

  232.                             if(e>3)

  233.                             e=0;

  234.                      }

  235.               }

  236.    }

  237. }
復制代碼


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

使用道具 舉報

沙發
ID:73187 發表于 2015-2-12 10:12 | 只看該作者
不知道樓主這段代碼 什么功能   
回復

使用道具 舉報

板凳
ID:60435 發表于 2015-2-12 20:54 來自手機 | 只看該作者
樓主能把原理圖共享一下嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲精品片 | 欧美黄色片 | 久久久久国产一区二区三区不卡 | 人人插人人 | 日韩在线中文字幕 | 亚洲国产成人av好男人在线观看 | 毛片入口 | 国产乱人伦 | 色婷婷久久 | 在线视频国产一区 | 在线观看av网站永久 | 欧美不卡视频一区发布 | 在线观看www视频 | 国产精品一区二区久久 | 精品二区 | 91精品国产色综合久久 | 亚洲色图综合 | 国产成人福利在线观看 | 精品在线一区二区三区 | 亚洲人成一区二区三区性色 | 精品无码久久久久久国产 | av入口 | 黄色av网站在线免费观看 | 伊色综合久久之综合久久 | 久久在线视频 | 自拍偷拍第一页 | 日韩成人免费 | 国产精品久久久久久久久久 | 日韩欧美一区二区三区免费看 | 精精国产xxxx视频在线播放 | 亚洲综合无码一区二区 | 男人的天堂中文字幕 | 91在线精品秘密一区二区 | 99热最新网址 | 久久久久久久一区二区三区 | 波多野结衣一区二区三区在线观看 | 国产一区二区精品在线观看 | 先锋资源网站 | 国产精品视频免费看 | 日韩一区二区三区在线视频 | 国产探花在线精品一区二区 |