找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1625|回复: 0
打印 上一主题 下一主题
收起左侧

ps2四驱麦伦车 STM32源程序

[复制链接]
跳转到指定楼层
楼主
ID:620239 发表于 2020-11-16 13:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是我做比赛用到的一个程序,stm32f103的PS2四驱麦伦。用的是两根线控制电机的,所以要输出好多道pwm

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "pwm.h"
  5. #include "pstwo.h"

  6. //PC6-9   TIM3
  7. //PA0-3   TIM5
  8. //#define A1  PAout(4) 升1
  9. //#define A2  PAout(5) 升2
  10. //#define A3  PAout(6) 云1
  11. //#define A4  PAout(7) 云2
  12. //#define A5  PCout(4) 杆1
  13. //#define A6  PCout(5) 杆2
  14. //霍尔传感器  无磁场高电平
  15. //限位开关    无限位高电平

  16. //Handkey值
  17. //0xffff   无按键
  18. //[粉 蓝 红 绿 R1 L1 R2 L2 左 下 右 上 START R3 L3 SELECT]   对应每一位含义

  19. int main(void)
  20. {
  21.         u16 pwm;
  22.         delay_init();
  23. //        TIM1_PWM_Init(1439,99);
  24.         TIM5_3_PWM_Init(1439,99);
  25.         LED_Init();                                    //初始化与LED连接的硬件接口
  26.         PS2_Init();
  27.         while(1)
  28.         {
  29.                 PS2_DataKey();
  30.                 delay_ms(50);
  31.                 switch(Handkey)
  32.                 {
  33.                         case 0xffff:   //无按键
  34.                         LED=1;
  35.                         A1=1;A2=1;A3=1;A4=1;
  36.                         pwm=1440;//pwm越小正脉宽越小
  37.                         TIM_SetCompare1(TIM5,pwm);
  38.                         TIM_SetCompare2(TIM5,pwm);
  39.                         TIM_SetCompare3(TIM5,pwm);
  40.                         TIM_SetCompare4(TIM5,pwm);
  41.                         TIM_SetCompare1(TIM3,pwm);
  42.                         TIM_SetCompare2(TIM3,pwm);
  43.                         TIM_SetCompare3(TIM3,pwm);
  44.                         TIM_SetCompare4(TIM3,pwm);
  45.                   break;       //初始
  46.                         case 0xffef:   //上
  47.                         LED=0;
  48.                         A1=1;A2=1;A3=1;A4=1;
  49.                         pwm=0;//pwm越小正脉宽越小
  50.                         TIM_SetCompare1(TIM5,1440);
  51.                         TIM_SetCompare2(TIM5,pwm);
  52.                         TIM_SetCompare3(TIM5,1440);
  53.                         TIM_SetCompare4(TIM5,pwm);
  54.                         TIM_SetCompare1(TIM3,1440);
  55.                         TIM_SetCompare2(TIM3,pwm);
  56.                         TIM_SetCompare3(TIM3,1440);
  57.                         TIM_SetCompare4(TIM3,pwm);
  58.                   break;       //前进
  59.                         case 0xffbf:   //下
  60.                         LED=0;
  61.                         A1=1;A2=1;A3=1;A4=1;
  62.                         pwm=0;//pwm越小正脉宽越小
  63.                         TIM_SetCompare1(TIM5,pwm);
  64.                         TIM_SetCompare2(TIM5,1440);
  65.                         TIM_SetCompare3(TIM5,pwm);
  66.                         TIM_SetCompare4(TIM5,1440);
  67.                         TIM_SetCompare1(TIM3,pwm);
  68.                         TIM_SetCompare2(TIM3,1440);
  69.                         TIM_SetCompare3(TIM3,pwm);
  70.                         TIM_SetCompare4(TIM3,1440);
  71.                   break;       //后退
  72.                         case 0xff7f:   //左
  73.                         LED=0;
  74.                         A1=1;A2=1;A3=1;A4=1;
  75.                         pwm=0;//pwm越小正脉宽越小
  76.                         TIM_SetCompare1(TIM5,pwm);
  77.                         TIM_SetCompare2(TIM5,1008);
  78.                         TIM_SetCompare3(TIM5,1008);
  79.                         TIM_SetCompare4(TIM5,pwm);
  80.                         TIM_SetCompare1(TIM3,pwm);
  81.                         TIM_SetCompare2(TIM3,1008);
  82.                         TIM_SetCompare3(TIM3,1008);
  83.                         TIM_SetCompare4(TIM3,pwm);
  84.                   break;       //左移
  85.                         case 0xffdf:   //右
  86.                         LED=0;
  87.                         A1=1;A2=1;A3=1;A4=1;
  88.                         pwm=0;//pwm越小正脉宽越小
  89.                         TIM_SetCompare1(TIM5,1008);
  90.                         TIM_SetCompare2(TIM5,pwm);
  91.                         TIM_SetCompare3(TIM5,pwm);
  92.                         TIM_SetCompare4(TIM5,1008);
  93.                         TIM_SetCompare1(TIM3,1008);
  94.                         TIM_SetCompare2(TIM3,pwm);
  95.                         TIM_SetCompare3(TIM3,pwm);
  96.                         TIM_SetCompare4(TIM3,1008);
  97.                   break;       //右移
  98.                         case 0xf7ff:   //R1
  99.                         LED=0;
  100.                         A1=0;A2=1;A3=1;A4=1;
  101.                         pwm=1440;//pwm越小正脉宽越小
  102.                         TIM_SetCompare1(TIM5,pwm);
  103.                         TIM_SetCompare2(TIM5,pwm);
  104.                         TIM_SetCompare3(TIM5,pwm);
  105.                         TIM_SetCompare4(TIM5,pwm);
  106.                         TIM_SetCompare1(TIM3,pwm);
  107.                         TIM_SetCompare2(TIM3,pwm);
  108.                         TIM_SetCompare3(TIM3,pwm);
  109.                         TIM_SetCompare4(TIM3,pwm);
  110.                   break;       //云台进
  111.                         case 0xfbff:   //L1
  112.                         LED=0;
  113.                         A1=1;A2=0;A3=1;A4=1;
  114.                         pwm=1440;//pwm越小正脉宽越小
  115.                         TIM_SetCompare1(TIM5,pwm);
  116.                         TIM_SetCompare2(TIM5,pwm);
  117.                         TIM_SetCompare3(TIM5,pwm);
  118.                         TIM_SetCompare4(TIM5,pwm);
  119.                         TIM_SetCompare1(TIM3,pwm);
  120.                         TIM_SetCompare2(TIM3,pwm);
  121.                         TIM_SetCompare3(TIM3,pwm);
  122.                         TIM_SetCompare4(TIM3,pwm);
  123.                   break;       //云台退
  124.                         case 0xfdff:   //R2
  125.                         LED=0;
  126.                         A1=1;A2=1;A3=1;A4=1;
  127.                         pwm=0;//pwm越小正脉宽越小
  128.                         TIM_SetCompare1(TIM5,720);
  129.                         TIM_SetCompare2(TIM5,pwm);
  130.                         TIM_SetCompare3(TIM5,720);
  131.                         TIM_SetCompare4(TIM5,pwm);
  132.                         TIM_SetCompare1(TIM3,720);
  133.                         TIM_SetCompare2(TIM3,pwm);
  134.                         TIM_SetCompare3(TIM3,720);
  135.                         TIM_SetCompare4(TIM3,pwm);
  136.                   break;       //减速进
  137.                         case 0xfeff:   //L2
  138.                         LED=0;
  139.                         A1=1;A2=1;A3=1;A4=1;
  140.                         pwm=0;//pwm越小正脉宽越小
  141.                         TIM_SetCompare1(TIM5,pwm);
  142.                         TIM_SetCompare2(TIM5,720);
  143.                         TIM_SetCompare3(TIM5,pwm);
  144.                         TIM_SetCompare4(TIM5,720);
  145.                         TIM_SetCompare1(TIM3,pwm);
  146.                         TIM_SetCompare2(TIM3,720);
  147.                         TIM_SetCompare3(TIM3,pwm);
  148.                         TIM_SetCompare4(TIM3,720);
  149.                   break;       //减速退
  150.                         case 0xefff:   //绿
  151.                         LED=0;
  152.                         A1=1;A2=1;
  153.                         if(CHUAN1==0)
  154.                         {A3=1;A4=1;}
  155.                         else
  156.                         {A3=1;A4=0;}
  157.                         pwm=1440;//pwm越小正脉宽越小
  158.                         TIM_SetCompare1(TIM5,pwm);
  159.                         TIM_SetCompare2(TIM5,pwm);
  160.                         TIM_SetCompare3(TIM5,pwm);
  161.                         TIM_SetCompare4(TIM5,pwm);
  162.                         TIM_SetCompare1(TIM3,pwm);
  163.                         TIM_SetCompare2(TIM3,pwm);
  164.                         TIM_SetCompare3(TIM3,pwm);
  165.                         TIM_SetCompare4(TIM3,pwm);
  166.                   break;       //上抬
  167.                         case 0xbfff:   //蓝
  168.                         LED=0;
  169.                         A1=1;A2=1;
  170.                         if(CHUAN2==0)
  171.                         {A3=1;A4=1;}
  172.                         else
  173.                         {A3=0;A4=1;}
  174.                         pwm=1440;//pwm越小正脉宽越小
  175.                         TIM_SetCompare1(TIM5,pwm);
  176.                         TIM_SetCompare2(TIM5,pwm);
  177.                         TIM_SetCompare3(TIM5,pwm);
  178.                         TIM_SetCompare4(TIM5,pwm);
  179.                         TIM_SetCompare1(TIM3,pwm);
  180.                         TIM_SetCompare2(TIM3,pwm);
  181.                         TIM_SetCompare3(TIM3,pwm);
  182.                         TIM_SetCompare4(TIM3,pwm);
  183.                   break;       //下落
  184.                         case 0x7fff:   //粉
  185.                         LED=0;
  186.                         A1=1;A2=1;A3=1;A4=1;
  187.                         pwm=0;//pwm越小正脉宽越小
  188.                         TIM_SetCompare1(TIM5,pwm);
  189.                         TIM_SetCompare2(TIM5,1440);
  190.                         TIM_SetCompare3(TIM5,1440);
  191.                         TIM_SetCompare4(TIM5,pwm);
  192.                         TIM_SetCompare1(TIM3,1440);
  193.                         TIM_SetCompare2(TIM3,pwm);
  194.                         TIM_SetCompare3(TIM3,pwm);
  195.                         TIM_SetCompare4(TIM3,1440);
  196.                   break;       //逆
  197.                         case 0xdfff:   //红
  198.                         LED=0;
  199.                         A1=1;A2=1;A3=1;A4=1;
  200.                         pwm=0;//pwm越小正脉宽越小
  201.                         TIM_SetCompare1(TIM5,1440);
  202.                         TIM_SetCompare2(TIM5,pwm);
  203.                         TIM_SetCompare3(TIM5,pwm);
  204.                         TIM_SetCompare4(TIM5,1440);
  205.                         TIM_SetCompare1(TIM3,pwm);
  206.                         TIM_SetCompare2(TIM3,1440);
  207.                         TIM_SetCompare3(TIM3,1440);
  208.                         TIM_SetCompare4(TIM3,pwm);
  209.                   break;       //顺
  210. //组合测试
  211.                         case 0xefef:  //进 抬
  212.                         LED=0;
  213.                         A1=1;A2=1;
  214.                         if(CHUAN1==0)
  215.                         {A3=1;A4=1;}
  216.                         else
  217.                         {A3=1;A4=0;}
  218.                         pwm=0;//pwm越小正脉宽越小
  219.                         TIM_SetCompare1(TIM5,1440);
  220.                         TIM_SetCompare2(TIM5,pwm);
  221.                         TIM_SetCompare3(TIM5,1440);
  222.                         TIM_SetCompare4(TIM5,pwm);
  223.                         TIM_SetCompare1(TIM3,1440);
  224.                         TIM_SetCompare2(TIM3,pwm);
  225.                         TIM_SetCompare3(TIM3,1440);
  226.                         TIM_SetCompare4(TIM3,pwm);
  227.                         break;
  228.                         case 0xefbf:  //退 抬
  229.                         LED=0;
  230.                         A1=1;A2=1;
  231.                         if(CHUAN1==0)
  232.                         {A3=1;A4=1;}
  233.                         else
  234.                         {A3=1;A4=0;}
  235.                         pwm=0;//pwm越小正脉宽越小
  236.                         TIM_SetCompare1(TIM5,pwm);
  237.                         TIM_SetCompare2(TIM5,1440);
  238.                         TIM_SetCompare3(TIM5,pwm);
  239.                         TIM_SetCompare4(TIM5,1440);
  240.                         TIM_SetCompare1(TIM3,pwm);
  241.                         TIM_SetCompare2(TIM3,1440);
  242.                         TIM_SetCompare3(TIM3,pwm);
  243.                         TIM_SetCompare4(TIM3,1440);
  244.                         break;
  245.                         case 0xef7f:  //左 抬
  246.                         LED=0;
  247.                         A1=1;A2=1;
  248.                         if(CHUAN1==0)
  249.                         {A3=1;A4=1;}
  250.                         else
  251.                         {A3=1;A4=0;}
  252.                         pwm=0;//pwm越小正脉宽越小
  253.                         TIM_SetCompare1(TIM5,pwm);
  254.                         TIM_SetCompare2(TIM5,1008);
  255.                         TIM_SetCompare3(TIM5,1008);
  256.                         TIM_SetCompare4(TIM5,pwm);
  257.                         TIM_SetCompare1(TIM3,pwm);
  258.                         TIM_SetCompare2(TIM3,1008);
  259.                         TIM_SetCompare3(TIM3,1008);
  260.                         TIM_SetCompare4(TIM3,pwm);
  261.                         break;
  262.                         case 0xefdf:  //右 抬
  263.                         LED=0;
  264.                         A1=1;A2=1;
  265.                         if(CHUAN1==0)
  266.                         {A3=1;A4=1;}
  267.                         else
  268.                         {A3=1;A4=0;}
  269.                         pwm=0;//pwm越小正脉宽越小
  270.                         TIM_SetCompare1(TIM5,1008);
  271.                         TIM_SetCompare2(TIM5,pwm);
  272.                         TIM_SetCompare3(TIM5,pwm);
  273.                         TIM_SetCompare4(TIM5,1008);
  274.                         TIM_SetCompare1(TIM3,1008);
  275.                         TIM_SetCompare2(TIM3,pwm);
  276.                         TIM_SetCompare3(TIM3,pwm);
  277.                         TIM_SetCompare4(TIM3,1008);
  278.                         break;
  279.                         case 0xbfef:  //进 落
  280.                         LED=0;
  281.                         A1=1;A2=1;
  282.                         if(CHUAN2==0)
  283.                         {A3=1;A4=1;}
  284.                         else
  285.                         {A3=0;A4=1;}
  286.                         pwm=0;//pwm越小正脉宽越小
  287.                         TIM_SetCompare1(TIM5,1440);
  288.                         TIM_SetCompare2(TIM5,pwm);
  289.                         TIM_SetCompare3(TIM5,1440);
  290.                         TIM_SetCompare4(TIM5,pwm);
  291.                         TIM_SetCompare1(TIM3,1440);
  292.                         TIM_SetCompare2(TIM3,pwm);
  293.                         TIM_SetCompare3(TIM3,1440);
  294.                         TIM_SetCompare4(TIM3,pwm);
  295.                         break;
  296.                         case 0xbfbf:  //退 落
  297.                         LED=0;
  298.                         A1=1;A2=1;
  299.                         if(CHUAN2==0)
  300.                         {A3=1;A4=1;}
  301.                         else
  302.                         {A3=0;A4=1;}
  303.                         pwm=0;//pwm越小正脉宽越小
  304.                         TIM_SetCompare1(TIM5,pwm);
  305.                         TIM_SetCompare2(TIM5,1440);
  306.                         TIM_SetCompare3(TIM5,pwm);
  307.                         TIM_SetCompare4(TIM5,1440);
  308.                         TIM_SetCompare1(TIM3,pwm);
  309.                         TIM_SetCompare2(TIM3,1440);
  310.                         TIM_SetCompare3(TIM3,pwm);
  311.                         TIM_SetCompare4(TIM3,1440);
  312.                         break;
  313.                         case 0xbf7f:  //左 落
  314.                         LED=0;
  315.                         A1=1;A2=1;
  316.                         if(CHUAN2==0)
  317.                         {A3=1;A4=1;}
  318.                         else
  319.                         {A3=0;A4=1;}
  320.                         pwm=0;//pwm越小正脉宽越小
  321.                         TIM_SetCompare1(TIM5,pwm);
  322.                         TIM_SetCompare2(TIM5,1008);
  323.                         TIM_SetCompare3(TIM5,1008);
  324.                         TIM_SetCompare4(TIM5,pwm);
  325.                         TIM_SetCompare1(TIM3,pwm);
  326.                         TIM_SetCompare2(TIM3,1008);
  327.                         TIM_SetCompare3(TIM3,1008);
  328.                         TIM_SetCompare4(TIM3,pwm);
  329.                         break;
  330.                         case 0xbfdf:  //右 落
  331.                         LED=0;
  332.                         A1=1;A2=1;
  333.                         if(CHUAN2==0)
  334.                         {A3=1;A4=1;}
  335.                         else
  336.                         {A3=0;A4=1;}
  337.                         pwm=0;//pwm越小正脉宽越小
  338.                         TIM_SetCompare1(TIM5,1008);
  339.                         TIM_SetCompare2(TIM5,pwm);
  340.                         TIM_SetCompare3(TIM5,pwm);
  341.                         TIM_SetCompare4(TIM5,1008);
  342.                         TIM_SetCompare1(TIM3,1008);
  343.                         TIM_SetCompare2(TIM3,pwm);
  344.                         TIM_SetCompare3(TIM3,pwm);
  345.                         TIM_SetCompare4(TIM3,1008);
  346.                         break;
  347.                         case 0xf7ef:  //进 云进
  348.                         LED=0;
  349.                         A1=0;A2=1;A3=1;A4=1;
  350.                         pwm=0;//pwm越小正脉宽越小
  351.                         TIM_SetCompare1(TIM5,1440);
  352.                         TIM_SetCompare2(TIM5,pwm);
  353.                         TIM_SetCompare3(TIM5,1440);
  354.                         TIM_SetCompare4(TIM5,pwm);
  355.                         TIM_SetCompare1(TIM3,1440);
  356.                         TIM_SetCompare2(TIM3,pwm);
  357.                         TIM_SetCompare3(TIM3,1440);
  358.                         TIM_SetCompare4(TIM3,pwm);
  359.                         break;
  360.                         case 0xf7bf:  //退 云进
  361.                         LED=0;
  362.                         A1=0;A2=1;A3=1;A4=1;
  363.                         pwm=0;//pwm越小正脉宽越小
  364.                         TIM_SetCompare1(TIM5,pwm);
  365.                         TIM_SetCompare2(TIM5,1440);
  366.                         TIM_SetCompare3(TIM5,pwm);
  367.                         TIM_SetCompare4(TIM5,1440);
  368.                         TIM_SetCompare1(TIM3,pwm);
  369.                         TIM_SetCompare2(TIM3,1440);
  370.                         TIM_SetCompare3(TIM3,pwm);
  371.                         TIM_SetCompare4(TIM3,1440);
  372.                         break;
  373.                         case 0xf77f:  //左 云进
  374.                         LED=0;
  375.                         A1=0;A2=1;A3=1;A4=1;
  376.                         pwm=0;//pwm越小正脉宽越小
  377.                         TIM_SetCompare1(TIM5,pwm);
  378.                         TIM_SetCompare2(TIM5,1008);
  379.                         TIM_SetCompare3(TIM5,1008);
  380.                         TIM_SetCompare4(TIM5,pwm);
  381.                         TIM_SetCompare1(TIM3,pwm);
  382.                         TIM_SetCompare2(TIM3,1008);
  383.                         TIM_SetCompare3(TIM3,1008);
  384.                         TIM_SetCompare4(TIM3,pwm);
  385.                         break;
  386.                         case 0xf7df:  //右 云进
  387.                         LED=0;
  388.                         A1=0;A2=1;A3=1;A4=1;
  389.                         pwm=0;//pwm越小正脉宽越小
  390.                         TIM_SetCompare1(TIM5,1008);
  391.                         TIM_SetCompare2(TIM5,pwm);
  392.                         TIM_SetCompare3(TIM5,pwm);
  393.                         TIM_SetCompare4(TIM5,1008);
  394.                         TIM_SetCompare1(TIM3,1008);
  395.                         TIM_SetCompare2(TIM3,pwm);
  396.                         TIM_SetCompare3(TIM3,pwm);
  397.                         TIM_SetCompare4(TIM3,1008);
  398.                         break;
  399.                         case 0xfbef:  //进 云退
  400.                         LED=0;
  401.                         A1=1;A2=0;A3=1;A4=1;
  402.                         pwm=0;//pwm越小正脉宽越小
  403.                         TIM_SetCompare1(TIM5,1440);
  404.                         TIM_SetCompare2(TIM5,pwm);
  405.                         TIM_SetCompare3(TIM5,1440);
  406.                         TIM_SetCompare4(TIM5,pwm);
  407.                         TIM_SetCompare1(TIM3,1440);
  408.                         TIM_SetCompare2(TIM3,pwm);
  409.                         TIM_SetCompare3(TIM3,1440);
  410.                         TIM_SetCompare4(TIM3,pwm);
  411.                         break;
  412.                         case 0xfbbf:  //退 云退
  413.                         LED=0;
  414.                         A1=1;A2=0;A3=1;A4=1;
  415.                         pwm=0;//pwm越小正脉宽越小
  416.                         TIM_SetCompare1(TIM5,pwm);
  417.                         TIM_SetCompare2(TIM5,1440);
  418.                         TIM_SetCompare3(TIM5,pwm);
  419.                         TIM_SetCompare4(TIM5,1440);
  420.                         TIM_SetCompare1(TIM3,pwm);
  421.                         TIM_SetCompare2(TIM3,1440);
  422.                         TIM_SetCompare3(TIM3,pwm);
  423.                         TIM_SetCompare4(TIM3,1440);
  424.                         break;
  425.                         case 0xfb7f:  //左 云退
  426.                         LED=0;
  427.                         A1=1;A2=0;A3=1;A4=1;
  428.                         pwm=0;//pwm越小正脉宽越小
  429.                         TIM_SetCompare1(TIM5,pwm);
  430.                         TIM_SetCompare2(TIM5,1008);
  431.                         TIM_SetCompare3(TIM5,1008);
  432.                         TIM_SetCompare4(TIM5,pwm);
  433.                         TIM_SetCompare1(TIM3,pwm);
  434.                         TIM_SetCompare2(TIM3,1008);
  435.                         TIM_SetCompare3(TIM3,1008);
  436.                         TIM_SetCompare4(TIM3,pwm);
  437.                         break;
  438.                         case 0xfbdf:  //右 云退
  439.                         LED=0;
  440.                         A1=1;A2=0;A3=1;A4=1;
  441.                         pwm=0;//pwm越小正脉宽越小
  442.                         TIM_SetCompare1(TIM5,1008);
  443.                         TIM_SetCompare2(TIM5,pwm);
  444.                         TIM_SetCompare3(TIM5,pwm);
  445.                         TIM_SetCompare4(TIM5,1008);
  446.                         TIM_SetCompare1(TIM3,1008);
  447.                         TIM_SetCompare2(TIM3,pwm);
  448.                         TIM_SetCompare3(TIM3,pwm);
  449.                         TIM_SetCompare4(TIM3,1008);
  450.                         break;
  451.                         case 0xe7ff:  //抬 云进
  452.                         LED=0;
  453.                         A1=0;A2=1;
  454.                         if(CHUAN1==0)
  455.                         {A3=1;A4=1;}
  456.                         else
  457.                         {A3=1;A4=0;}
  458.                         pwm=1440;//pwm越小正脉宽越小
  459.                         TIM_SetCompare1(TIM5,pwm);
  460.                         TIM_SetCompare2(TIM5,pwm);
  461.                         TIM_SetCompare3(TIM5,pwm);
  462.                         TIM_SetCompare4(TIM5,pwm);
  463.                         TIM_SetCompare1(TIM3,pwm);
  464.                         TIM_SetCompare2(TIM3,pwm);
  465.                         TIM_SetCompare3(TIM3,pwm);
  466.                         TIM_SetCompare4(TIM3,pwm);
  467.                         break;
  468.                         case 0xebff:  //抬 云退
  469.                         LED=0;
  470.                         A1=1;A2=0;
  471.                         if(CHUAN1==0)
  472.                         {A3=1;A4=1;}
  473.                         else
  474.                         {A3=1;A4=0;}
  475.                         pwm=1440;//pwm越小正脉宽越小
  476.                         TIM_SetCompare1(TIM5,pwm);
  477.                         TIM_SetCompare2(TIM5,pwm);
  478.                         TIM_SetCompare3(TIM5,pwm);
  479.                         TIM_SetCompare4(TIM5,pwm);
  480.                         TIM_SetCompare1(TIM3,pwm);
  481.                         TIM_SetCompare2(TIM3,pwm);
  482.                         TIM_SetCompare3(TIM3,pwm);
  483.                         TIM_SetCompare4(TIM3,pwm);
  484.                         break;
  485.                         case 0xb7ff:  //落 云进
  486.                         LED=0;
  487.                         A1=0;A2=1;
  488.                         if(CHUAN2==0)
  489.                         {A3=1;A4=1;}
  490.                         else
  491.                         {A3=0;A4=1;}
  492.                         pwm=1440;//pwm越小正脉宽越小
  493.                         TIM_SetCompare1(TIM5,pwm);
  494.                         TIM_SetCompare2(TIM5,pwm);
  495.                         TIM_SetCompare3(TIM5,pwm);
  496.                         TIM_SetCompare4(TIM5,pwm);
  497.                         TIM_SetCompare1(TIM3,pwm);
  498.                         TIM_SetCompare2(TIM3,pwm);
  499.                         TIM_SetCompare3(TIM3,pwm);
  500.                         TIM_SetCompare4(TIM3,pwm);
  501.                         break;
  502.                         case 0xbbff:  //落 云退
  503.                         LED=0;
  504.                         A1=1;A2=0;
  505.                         if(CHUAN2==0)
  506.                         {A3=1;A4=1;}
  507.                         else
  508.                         {A3=0;A4=1;}
  509.                         pwm=1440;//pwm越小正脉宽越小
  510.                         TIM_SetCompare1(TIM5,pwm);
  511.                         TIM_SetCompare2(TIM5,pwm);
  512.                         TIM_SetCompare3(TIM5,pwm);
  513.                         TIM_SetCompare4(TIM5,pwm);
  514.                         TIM_SetCompare1(TIM3,pwm);
  515.                         TIM_SetCompare2(TIM3,pwm);
  516.                         TIM_SetCompare3(TIM3,pwm);
  517.                         TIM_SetCompare4(TIM3,pwm);
  518.                         break;
  519.                         default:   //其他情况
  520.                         {
  521.                                 LED=1;
  522.                                 A1=1;A2=1;A3=1;A4=1;
  523.                                 pwm=1440;//pwm越小正脉宽越小
  524.                                 TIM_SetCompare1(TIM5,pwm);
  525.                                 TIM_SetCompare2(TIM5,pwm);
  526.                                 TIM_SetCompare3(TIM5,pwm);
  527.                                 TIM_SetCompare4(TIM5,pwm);
  528.                                 TIM_SetCompare1(TIM3,pwm);
  529.                                 TIM_SetCompare2(TIM3,pwm);
  530.                                 TIM_SetCompare3(TIM3,pwm);
  531.                                 TIM_SetCompare4(TIM3,pwm);
  532.                         }
  533.                 }
  534.         }
  535. }
复制代码

所有资料51hei提供下载:
麦轮.7z (186.67 KB, 下载次数: 14)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表