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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機控制舵機(0 45 90 135 180度旋轉源程序)

[復制鏈接]
跳轉到指定樓層
樓主
ID:188183 發表于 2018-5-3 22:42 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
單片機源程序如下:
  1. #include<reg52.h>
  2. #define unit unsigned int
  3. #define uchar unsigned char
  4. sbit a5=P2^5;     //黑白傳感器
  5. sbit a6=P2^6;     //黑白傳感器
  6. sbit a1=P2^1;            //電機
  7. sbit a2=P2^2;            //電機
  8. sbit a3=P2^3;            //電機
  9. sbit a4=P2^4;     //電機
  10. sbit a7=P2^7;     //黑白傳感器  沒用
  11. sbit a8=P2^0;     //黑白傳感器  沒用
  12. int i;
  13. sbit PWM3=P0^3;
  14. sbit PWM2=P0^2;
  15. sbit PWM1=P0^1;
  16. sbit cgq=P0^0;
  17. void delay(int t)                          //延時
  18. {
  19.         int a,b;
  20.         for(a=0;a<t;a++)
  21.                 for(b=0;b<120;b++);
  22. }
  23. void delayx1ms(int x)
  24. {
  25.         unsigned char a,b;
  26.         for(x;x>0;x--)
  27.                 for(b=102;b>0;b--)
  28.                         for(a=3;a>0;a--);
  29. }

  30. void delay1ms()
  31. {
  32.         unsigned char a,b;
  33.         for(b=102;b>0;b--)
  34.                 for(a=3;a>0;a--);
  35. }
  36. void delay500us()
  37. {
  38.         unsigned char a,b;
  39.         for(b=1;b>0;b--)
  40.                 for(a=227;a>0;a--);
  41. }
  42.   void qianjin()
  43. {
  44.         a1=0;
  45.         a2=1;
  46.         a3=0;
  47.         a4=1;
  48.         delay(200);
  49. }
  50. void zuozhuan()
  51. {
  52.         a1=0;
  53.         a2=1;
  54.         a3=1;
  55.         a4=0;
  56.         delay(100);       
  57. }
  58. void youzhuan()
  59. {
  60.         a1=1;
  61.         a2=0;
  62.         a3=0;
  63.         a4=1;
  64.         delay(100);
  65. }
  66. void stop()
  67. {
  68.         a1=0;
  69. a2=0;
  70. a3=0;
  71. a4=0;
  72. }
  73. void L2_0()                                                    //2_0
  74. {
  75.         int i,j;
  76.         for(j=0;j<43;j++)
  77.         {
  78.                 PWM2=1;
  79.                 delay500us();
  80.        //   delay1ms();
  81.                 PWM2=0;
  82.                 for(i=0;i<19;i++)
  83.                 delay1ms();
  84.                 delay500us();
  85.                 PWM2=0;
  86.                 for(i=0;i<20;i++)
  87.                 delay1ms();
  88.         }
  89. }
  90. void L2_45()                                                    //2_45
  91. {
  92.         int i,j;
  93.         for(j=0;j<43;j++)
  94.         {
  95.                 PWM2=1;
  96.         //        delay500us();
  97.           delay1ms();
  98.                 PWM2=0;
  99.                 for(i=0;i<19;i++)
  100.                 delay1ms();
  101.         //        delay500us();
  102.                 PWM2=0;
  103.                 for(i=0;i<20;i++)
  104.                 delay1ms();
  105.         }
  106. }
  107. void L2_90()                                              //2_90
  108. {
  109.         int i,j;
  110.         for(j=0;j<43;j++)
  111.    {
  112.         PWM2=1;
  113.                 delay1ms();
  114.         delay500us();
  115.                 PWM2=0;
  116.                 for(i=0;i<18;i++)
  117.                 delay1ms();
  118.             delay500us();
  119.                 PWM2=0;
  120.                 for(i=0;i<20;i++)
  121.                 delay1ms();
  122.          }
  123. }
  124. void L2_135()                                              //2_135
  125. {
  126.         int i,j;
  127.         for(j=0;j<43;j++)
  128.    {
  129.         PWM2=1;
  130.                 delay1ms();
  131.                 delay1ms();
  132.        // delay500us();
  133.                 PWM2=0;
  134.                 for(i=0;i<18;i++)
  135.                 delay1ms();
  136.            // delay500us();
  137.            PWM2=0;
  138.                 for(i=0;i<20;i++)
  139.                 delay1ms();
  140.          }
  141. }
  142. void L2_180()                                              //2_180
  143. {
  144.         int i,j;
  145.         for(j=0;j<43;j++)
  146.    {
  147.         PWM2=1;
  148.                 delay1ms();
  149.                 delay1ms();
  150.         delay500us();
  151.                 PWM2=0;
  152.                 for(i=0;i<17;i++)
  153.                 delay1ms();
  154.             delay500us();
  155.                 PWM2=0;
  156.                 for(i=0;i<20;i++)
  157.                 delay1ms();
  158.          }
  159. }
  160. void L1_0()                                           //1_0
  161. {
  162. int i,j;
  163.         for(j=0;j<43;j++)
  164.         {
  165.         PWM1=1;
  166.                 delay500us();
  167.       //  delay1ms();
  168.                 PWM1=0;
  169.                 for(i=0;i<19;i++)
  170.                 delay1ms();
  171.             delay500us();
  172.                 PWM1=0;
  173.                 for(i=0;i<20;i++)
  174.                 delay1ms();
  175.         }       
  176. }
  177. void L1_45()                                           //1_45
  178. {
  179. int i,j;
  180.         for(j=0;j<43;j++)
  181.         {
  182.         PWM1=1;
  183.         //        delay500us();
  184.         delay1ms();
  185.                 PWM1=0;
  186.                 for(i=0;i<19;i++)
  187.                 delay1ms();
  188.           //  delay500us();
  189.                   PWM1=0;
  190.                 for(i=0;i<20;i++)
  191.                 delay1ms();
  192.         }       
  193. }
  194. void L1_90()                                           //1_90
  195. {
  196. int i,j;
  197.         for(j=0;j<43;j++)
  198.         {
  199.         PWM1=1;
  200.                 delay500us();
  201.         delay1ms();
  202.                 PWM1=0;
  203.                 for(i=0;i<18;i++)
  204.                 delay1ms();
  205.            delay500us();
  206.                    PWM1=0;
  207.                 for(i=0;i<20;i++)
  208.                 delay1ms();
  209.         }       
  210. }
  211. void L1_135()                                   //1_135
  212. {
  213. int i,j;
  214.         for(j=0;j<43;j++)
  215.         {
  216.         PWM1=1;
  217.                 delay1ms();
  218.         delay1ms();
  219.                 PWM1=0;
  220.                 for(i=0;i<18;i++)
  221.                 delay1ms();
  222.          //   delay1ms();
  223.                  PWM1=0;
  224.                 for(i=0;i<20;i++)
  225.                 delay1ms();
  226.         }               
  227. }
  228. void L1_180()                                   //1_180
  229. {
  230. int i,j;
  231.         for(j=0;j<43;j++)
  232.         {
  233.         PWM1=1;
  234.                 delay1ms();
  235.         delay1ms();
  236.                 delay500us();
  237.                 PWM1=0;
  238.                 for(i=0;i<17;i++)
  239.                 delay1ms();
  240.                 delay500us();
  241.          //   delay1ms();
  242.                  PWM1=0;
  243.                 for(i=0;i<20;i++)
  244.                 delay1ms();
  245.         }               
  246. }
  247. void L3_0()                                           //3_0
  248. {
  249. int i,j;
  250.         for(j=0;j<43;j++)
  251.         {
  252.         PWM3=1;
  253.                 delay500us();
  254.       //  delay1ms();
  255.                 PWM3=0;
  256.                 for(i=0;i<19;i++)
  257.                 delay1ms();
  258.             delay500us();
  259.         }       
  260. }
  261. void L3_45()                                           //3_45
  262. {
  263. int i,j;
  264.         for(j=0;j<43;j++)
  265.         {
  266.         PWM3=1;
  267.         //        delay500us();
  268.         delay1ms();
  269.                 PWM3=0;
  270.                 for(i=0;i<19;i++)
  271.                 delay1ms();
  272.           //  delay500us();
  273.         }       
  274. }
  275. void L3_90()                                           //3_90
  276. {
  277. int i,j;
  278.         for(j=0;j<43;j++)
  279.         {
  280.         PWM1=1;
  281.                 delay500us();
  282.         delay1ms();
  283.                 PWM1=0;
  284.                 for(i=0;i<18;i++)
  285.                 delay1ms();
  286.            delay500us();
  287.         }       
  288. }
  289. void L3_135()                                   //3_135
  290. {
  291. int i,j;
  292.         for(j=0;j<43;j++)
  293.         {
  294.         PWM3=1;
  295.                 delay1ms();
  296.         delay1ms();
  297.                 PWM3=0;
  298.                 for(i=0;i<18;i++)
  299.                 delay1ms();
  300.          //   delay1ms();
  301.         }               
  302. }
  303. void L3_180()                                   //3_180
  304. {
  305. int i,j;
  306.         for(j=0;j<43;j++)
  307.         {
  308.         PWM3=1;
  309.                 delay1ms();
  310.         delay1ms();
  311.                 delay500us();
  312.                 PWM3=0;
  313.                 for(i=0;i<17;i++)
  314.                 delay1ms();
  315.                 delay500us();
  316.          //   delay1ms();
  317.         }               
  318. }
  319. void main()
  320. {
  321.         while(1)
  322.         {
  323.                    if(cgq==0)
  324.                 {
  325.             stop();
  326.                 L2_0();                                  
  327.                 delayx1ms(200);                  //4
  328.                 L1_0();                                  
  329.                 delayx1ms(200);                         //1
  330.                 L2_90();                  
  331.                 delayx1ms(200);                                //2
  332.                 L1_45();                          
  333.             delayx1ms(200);                                   //3
  334.        
  335.                 }
  336.                     if(a5==1&&a6==1)
  337.                 {
  338.                          qianjin();
  339.                         for(i=300;i>0;i--);
  340.                 }
  341.             if(a5==1&&a6==0)
  342.                 {
  343.                         youzhuan();
  344.                         if(a5==0&&a6==0)
  345.                         youzhuan();
  346.                 }
  347.             if(a5==0&&a6==1)
  348.                 {
  349.                         zuozhuan();
  350.             if(a5==0&&a6==0)
  351.                         zuozhuan();
  352.                 }
  353.         if(a5==0&&a6==0)
  354.                 {
  355.                         stop();
  356.                 }
  357.         if(a7==0&&a8==0)
  358.                 {
  359.                         stop();
  360.                 }
  361.         }
  362. }



復制代碼

所有資料51hei提供下載:
舵機(0 45 90 135 180).docx (13.52 KB, 下載次數: 53)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 麻豆一区| 免费大黄视频 | 蜜桃一区| 狠狠色综合久久婷婷 | 国产精品区二区三区日本 | 九九久视频 | 91精品久久久久久久久久入口 | 国产激情偷乱视频一区二区三区 | 亚洲午夜视频 | 欧一区二区 | 亚洲国产黄色av | 毛片免费看 | 国产精品日韩欧美一区二区 | 日韩av.com| 欧美日韩一二三区 | 午夜一级做a爰片久久毛片 精品综合 | wwwxxx国产 | 懂色中文一区二区三区在线视频 | 亚洲午夜av | 欧美一区二区大片 | 中文字幕国产一区 | 三级国产三级在线 | 99国产精品一区二区三区 | 午夜成人在线视频 | 日本不卡一区二区三区 | 国产精品99免费视频 | 在线国产一区二区 | 97国产精品视频人人做人人爱 | 精精精精xxxx免费视频 | 国产精品成人国产乱一区 | 国产1区2区3区 | 超碰人人人 | 嫩草一区二区三区 | 我想看国产一级毛片 | 九九久久久 | 国产传媒毛片精品视频第一次 | 久久99久久99 | 亚洲人va欧美va人人爽 | 国产免费一级片 | 视频一区在线观看 | 精品国产网|