找回密码
 立即注册

QQ登录

只需一步,快速开始

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

51单片机风力摆源程序

[复制链接]
跳转到指定楼层
楼主
电子设计大赛往届教程


所有资料51hei提供下载:
风力摆程序.zip (177.13 KB, 下载次数: 82)



单片机源程序如下:
  1. #include<rtx51tny.h>                 /* RTX51 tiny functions & defines */
  2. #include <intrins.h>
  3. #include "LCD12864.h"
  4. #include "key.h"
  5. #include "stc12uart1定时器1.h"
  6. #include "stc12uart2.h"
  7. #include "HW_PWM.h"
  8. #include<math.h>
  9. #include<stdio.h>

  10. #define uchar unsigned char
  11. #define uint  unsigned int

  12. unsigned char Key=0x00;                         //确定当前哪个按键按下

  13. sbit LED11=P0^2;
  14. sbit LED12=P0^3;
  15. sbit LED13=P0^4;
  16. sbit LED14=P0^7;

  17. /*------------------------------------------------------------------------------------
  18. ------------------------------------------------------------------------------------*/
  19. xdata float mpu6050[9];
  20. xdata unsigned char PWM1=1,PWM2=1;
  21. xdata float Gyro_y=0.0;
  22. xdata float Angle_x=0.0; //MPU6050测得的x轴的角度
  23. xdata float Angle_x_set=10;                //x轴设定的角度 角度与位移的公式 L*tan(Angle_x_set)=x
  24. xdata float x;                                                        //L为万向节到纸面原点的垂直距离(单位cm)  Angle_x_set为需要设定的角度

  25. xdata float Kp_x=10,Ki_x=0,Kd_x=0.1;
  26. xdata float Now_error_x=0,Last_error_x=0;         //Now_error 当前偏差 Last_error 上一次偏差  Pre_error上上一次偏差
  27. xdata int uk_x=0,uk1_x=0.01,duk_x=0;

  28. xdata float Kp_y=10,Ki_y=0,Kd_y=0.1;
  29. xdata float Now_error_y=0,Last_error_y=0;         //Now_error 当前偏差 Last_error 上一次偏差  Pre_error上上一次偏差
  30. xdata int uk_y=0,uk1_y=0,duk_y=0;

  31. xdata float setjiaodu3=0;
  32. uchar m,i;
  33. bit Basic04Flag=0;      //基础部分4标志位
  34. //bit Basic04Flag2=0;
  35.                                                         //x为纸面的位移
  36. int PID_control();
  37. /*------------------------------------------------------------------------------------
  38. ------------------------------------------------------------------------------------*/

  39. void SystemInit(void) _task_  0                                //任务0----------------系统初始化
  40. {       
  41.         LCD12864_Init();                   //12864液晶初始化
  42.         KeyInit();                                   //按键初始化
  43.         UART2_Init();                 //STC12C5A串口2初始化,独立波特率发生器产生波特率
  44.         UART1_Init();                 //STC12C5A串口1初始化,定时器1产生波特率
  45.         HW_PWMInit();
  46.        
  47.         HW_PWM0Set(1);
  48.         HW_PWM1Set(1);
  49.         PWM1=1;
  50.         PWM2=1;

  51.         MenuOperate(0);
  52.         MenuOperate(0);
  53.         MenuOperate(0);

  54.         LED11=1;
  55.         LED12=1;
  56.         LED13=1;
  57.         LED14=1;

  58.         os_create_task(1);                        //创建任务1
  59.         os_create_task(2);                        //创建任务2
  60.         os_create_task(3);          //创建任务3
  61.         os_create_task(4);          //创建任务4
  62.         os_create_task(5);                        //创建任务5
  63.         os_create_task(6);          //创建任务6
  64.         os_create_task(7);          //创建任务7
  65.         os_create_task(8);          //创建任务8
  66.         os_create_task(9);          //创建任务9

  67.         os_delete_task(0);                        //删除初始化函数
  68. }
  69. void  KeyScan(void)     _task_       1                           //任务1-----------------------按键扫描
  70. {
  71.         unsigned char keyvalue=KEY_NULL;
  72.        
  73.         while(1)
  74.         {
  75.                 GetKey(&keyvalue);                                                    //获取当前键值
  76.                 if(keyvalue==(KEY_VALUE_1|KEY_DOWN))         //按键一按下   指针减
  77.                 {
  78.                         Key=0x30;
  79.                         os_send_signal(2);
  80.                 }
  81.                 if(keyvalue==(KEY_VALUE_2|KEY_DOWN))         //按键er按下   指针加
  82.                 {
  83.                         Key=0x28;
  84.                         os_send_signal(2);
  85.                 }
  86.                 if(keyvalue==(KEY_VALUE_3|KEY_DOWN))         //按键san按下   确定
  87.                 {
  88.                         Key=0x18;
  89.                         os_send_signal(2);
  90.                 }
  91.                 if(keyvalue==(KEY_VALUE_4|KEY_DOWN))                  //按键四按下   返回
  92.                 {
  93.                         Key=0x08;
  94.                         os_send_signal(2);
  95.                 }
  96.                 os_wait(K_IVL,3,0);                                                 //进行周期性检测
  97.         }
  98. }
  99. void  LCD12864Display(void) _task_   2                          //任务2-----------------12864液晶显示
  100. {
  101.         while(1)
  102.         {
  103.                 os_wait(K_SIG,0,0);             //等待按键信号
  104.                 MenuOperate(Key);
  105.         }
  106. }
  107. void UartRec(void)      _task_       3                  //任务3-------------------串口收发
  108. {
  109. //    float Value[3];
  110. //        float x,y,z;
  111. //        xdata char str[16];

  112.         while(1)
  113.         {
  114. //                Value [0] = ((short)(ucStrAngle[1]<<8| ucStrAngle[0]))/32768.0*180;
  115. //                Value[1] = ((short)(ucStrAngle[3]<<8| ucStrAngle[2]))/32768.0*180;
  116. //                Value[2] = ((short)(ucStrAngle[5]<<8| ucStrAngle[4]))/32768.0*180;
  117. //                acc_x=(float)(((unsigned short)ucStra[3]<<8)|ucStra[2])/32768.0*16;
  118.                 Angle_x=((short)(ucStrAngle[3]<<8| ucStrAngle[2]))/32768.0*180;
  119.                 Gyro_y=((short)(ucStrw[3]<<8|ucStrw[2]))/32768.0*2000;

  120.                
  121. //                mpu6050[0]=(float)mpu[0]/32768.0*16;           //加速度
  122. //                mpu6050[1]=(float)mpu[1]/32768.0*16;
  123. //                mpu6050[2]=(float)mpu[2]/32768.0*16;

  124.                 mpu6050[3]=(float)mpu[3]/32768.0*2000;          //角速度
  125.                 mpu6050[4]=(float)mpu[4]/32768.0*2000;
  126.                 mpu6050[5]=(float)mpu[5]/32768.0*2000;

  127.                 mpu6050[6]=(float)mpu[6]/32768.0*180;           //角度
  128.                 mpu6050[7]=(float)mpu[7]/32768.0*180;
  129.                 mpu6050[8]=(float)mpu[8]/32768.0*180;

  130. //                sprintf(str,"%.3f %.3f\n",mpu6050[6],mpu6050[7]);
  131. //                UART1_SendStr(str);
  132.                 UART1_SendPWM(PWM1,PWM2);
  133. //                Data_Send_Status(Value[0],Value[1],Value[2]);
  134. //                Data_Receive(&x,&y,&z);
  135. //                UART1_SendPWM(64,64);
  136.                 os_switch_task();       
  137.         }       
  138. }                                          
  139. void TaskSwitch(void)   _task_       4                      //任务4
  140. {
  141.         while(1)
  142.         {
  143.                 switch(KeyFuncIndex)
  144.                 {
  145.                         case 10:          //基础1
  146.                         //        HW_PWM0Set(1);
  147.                         //        HW_PWM1Set(1);
  148.                                 os_send_signal(5);
  149.                                 break;
  150.                         case 11:          //基础2
  151.                                 //HW_PWM0Set(1);
  152.                                 //HW_PWM1Set(1);
  153.                                 os_send_signal(6);
  154.                                 break;
  155.                         case 12:          //基础3
  156.                                 os_send_signal(7);
  157.                                 break;
  158.                         case 16:          //基础4
  159.                                 os_send_signal(9);
  160.                                 break;
  161.                         case 13:                  //发挥1
  162.                                 os_send_signal(8);
  163.                                 break;
  164.                         case 14:           //发挥2
  165.                                 os_send_signal(9);
  166.                                 break;
  167.                         case 15:           //发挥3
  168.                                 break;
  169.                 }
  170.                 os_switch_task();
  171.         }
  172. }
  173. void PID_control_x()
  174. {
  175.        
  176.         Now_error_x=-mpu6050[6];        //偏差=设定值—实际值
  177.         duk_x=Kp_x*(Now_error_x-Last_error_x)+Ki_x*Now_error_x+Kd_x*mpu6050[3];          //pid增量式公式

  178.         uk_x=duk_x+uk1_x;          //通过pid调节所需要改变的值
  179.        
  180.         uk1_x=uk_x;        //变量值移位
  181.         Last_error_x=Now_error_x;

  182. }

  183. void PID_control_y()
  184. {
  185.        
  186.         Now_error_y=0.0-mpu6050[7];        //偏差=设定值—实际值
  187.         duk_y=Kp_y*(Now_error_y-Last_error_y)+Ki_y*Now_error_y+Kd_y*mpu6050[4];          //pid增量式公式

  188.         uk_y=duk_y+uk1_y;          //通过pid调节所需要改变的值       
  189.         uk1_y=uk_y;        //变量值移位
  190.         Last_error_y=Now_error_y;

  191. }
  192. void Basic01(void)      _task_       5              //任务5        基础部分1
  193. {
  194.         while(1)
  195.         {
  196.                 os_wait(K_SIG,0,0);
  197.         //        PID_control_x();
  198.                 if(Angle_x>-3.0&&Angle_x<10.5)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  199.                 {
  200.                         HW_PWM0Set(255);
  201.                         HW_PWM1Set(1);                               
  202.                 }
  203.                 else if(Angle_x<-3.0&&Angle_x>-7.5)
  204.                 {
  205.                         HW_PWM0Set(1);
  206.                         HW_PWM1Set(1);       
  207.                 }
  208.                 else if(Angle_x<-7.5&&Angle_x>-9.8)
  209.                 {
  210.                         HW_PWM0Set(1);
  211.                         HW_PWM1Set(255);       
  212.                 }
  213.                 else
  214.                 {
  215.                         HW_PWM0Set(1);
  216.                         HW_PWM1Set(1);
  217.                 }

  218. //                if(mpu6050[6]>2)
  219. //                {
  220. //                                uk_x=fabs(uk_x);
  221. //                                if(uk_x>=256)
  222. //                                {
  223. //                                        uk_x=255;
  224. //                                }
  225. //                                        PWM1=1;
  226. //                                PWM2=uk_x;
  227. //                         //hou yiwozhengqianfangweizuobuao
  228. //                //                LED14=1;
  229. //                }
  230. //                if(mpu6050[6]<-2)
  231. //                {
  232. //                                uk_x=fabs(uk_x);
  233. //                                if(uk_x>=256)
  234. //                                {
  235. //                                        uk_x=255;
  236. //                                }
  237. //                                PWM1=uk_x;
  238. //                                PWM2=1;         
  239. //                       
  240. //                }
  241. //                else
  242. //                {
  243. //                        PWM1=1;
  244. //                        PWM2=1;         
  245. //                }
  246.                        
  247. //                HW_PWM1Set(1);       
  248. //                   HW_PWM0Set(255);
  249. //                os_wait(K_TMO,122,0);
  250.        
  251.                
  252. //                HW_PWM0Set(1);
  253. //                HW_PWM1Set(155);
  254. //                os_wait(K_TMO,38,0);

  255.                 os_switch_task();
  256.         }
  257. }                                         
  258. void Basic02(void)      _task_       6           //任务6             基础部分2
  259. {
  260. //        xdata char str[16];

  261.          HW_PWM0Set(1);
  262.          HW_PWM1Set(1);

  263.          while(1)
  264.          {
  265.                 os_wait(K_SIG,0,0);

  266.                 Angle_x_set=atan(Basic02SetValue/2.0/92.0)*57.295;
  267.                  
  268. //                sprintf(str,"%.3f  %.3f\n",Angle_x,Gyro_y);
  269. //                UART1_SendStr(str);
  270.                 if(Basic02SetValue>=30&&Basic02SetValue<=32)
  271.                 {
  272.                           if(Angle_x>-1.0&&Angle_x<3.0)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  273.                         {
  274.                                 HW_PWM0Set(255);
  275.                                 HW_PWM1Set(1);                               
  276.                         }
  277.                         else if(Angle_x<0.0&&Angle_x>-3.0)
  278.                         {
  279.                                 HW_PWM0Set(1);
  280.                                 HW_PWM1Set(1);       
  281.                         }
  282.                         else if(Angle_x<-3.0&&Angle_x>-5.5)
  283.                         {
  284.                                 HW_PWM0Set(1);
  285.                                 HW_PWM1Set(245);       
  286.                         }
  287.                         else
  288.                         {
  289.                                 HW_PWM0Set(1);
  290.                                 HW_PWM1Set(1);
  291.                         }
  292.                 }
  293.                 if(Basic02SetValue>=33&&Basic02SetValue<=35)
  294.                 {
  295.                           if(Angle_x>-1.0&&Angle_x<3.3)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  296.                         {
  297.                                 HW_PWM0Set(255);
  298.                                 HW_PWM1Set(1);                               
  299.                         }
  300.                         else if(Angle_x<-1.0&&Angle_x>-3.3)
  301.                         {
  302.                                 HW_PWM0Set(1);
  303.                                 HW_PWM1Set(1);       
  304.                         }
  305.                         else if(Angle_x<-3.3&&Angle_x>-5.5)
  306.                         {
  307.                                 HW_PWM0Set(1);
  308.                                 HW_PWM1Set(245);       
  309.                         }
  310.                         else
  311.                         {
  312.                                 HW_PWM0Set(1);
  313.                                 HW_PWM1Set(1);
  314.                         }
  315.                 }
  316.                 if(Basic02SetValue==36)                //wucha
  317.                 {
  318.                           if(Angle_x>-1.2&&Angle_x<3.5)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  319.                         {
  320.                                 HW_PWM0Set(255);
  321.                                 HW_PWM1Set(1);                               
  322.                         }
  323.                         else if(Angle_x<-1.0&&Angle_x>-3.5)
  324.                         {
  325.                                 HW_PWM0Set(1);
  326.                                 HW_PWM1Set(1);       
  327.                         }
  328.                         else if(Angle_x<-3.5&&Angle_x>-5.5)
  329.                         {
  330.                                 HW_PWM0Set(1);
  331.                                 HW_PWM1Set(255);       
  332.                         }
  333.                         else
  334.                         {
  335.                                 HW_PWM0Set(1);
  336.                                 HW_PWM1Set(1);
  337.                         }
  338.                 }
  339.                 if(Basic02SetValue>=37&&Basic02SetValue<=39)
  340.                 {
  341.                           if(Angle_x>-2.0&&Angle_x<3.5)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  342.                         {
  343.                                 HW_PWM0Set(255);
  344.                                 HW_PWM1Set(1);                               
  345.                         }
  346.                         else if(Angle_x<-2.0&&Angle_x>-3.5)
  347.                         {
  348.                                 HW_PWM0Set(1);
  349.                                 HW_PWM1Set(1);       
  350.                         }
  351.                         else if(Angle_x<-3.5&&Angle_x>-6.0)
  352.                         {
  353.                                 HW_PWM0Set(1);
  354.                                 HW_PWM1Set(255);       
  355.                         }
  356.                         else
  357.                         {
  358.                                 HW_PWM0Set(1);
  359.                                 HW_PWM1Set(1);
  360.                         }
  361.                 }
  362.                 if(Basic02SetValue>=40&&Basic02SetValue<=43)
  363.                 {
  364.                           if(Angle_x>-2.0&&Angle_x<4.9)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  365.                         {
  366.                                 HW_PWM0Set(255);
  367.                                 HW_PWM1Set(1);                               
  368.                         }
  369.                         else if(Angle_x<-2.0&&Angle_x>-4.9)
  370.                         {
  371.                                 HW_PWM0Set(1);
  372.                                 HW_PWM1Set(1);       
  373.                         }
  374.                         else if(Angle_x<-4.9&&Angle_x>-7.3)
  375.                         {
  376.                                 HW_PWM0Set(1);
  377.                                 HW_PWM1Set(255);       
  378.                         }
  379.                         else
  380.                         {
  381.                                 HW_PWM0Set(1);
  382.                                 HW_PWM1Set(1);
  383.                         }
  384.                 }
  385.                 if(Basic02SetValue==44)
  386.                 {
  387.                           if(Angle_x>-2.0&&Angle_x<4.7)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  388.                         {
  389.                                 HW_PWM0Set(255);
  390.                                 HW_PWM1Set(1);                               
  391.                         }
  392.                         else if(Angle_x<-2.0&&Angle_x>-4.7)
  393.                         {
  394.                                 HW_PWM0Set(1);
  395.                                 HW_PWM1Set(1);       
  396.                         }
  397.                         else if(Angle_x<-4.7&&Angle_x>-7.2)
  398.                         {
  399.                                 HW_PWM0Set(1);
  400.                                 HW_PWM1Set(255);       
  401.                         }
  402.                         else
  403.                         {
  404.                                 HW_PWM0Set(1);
  405.                                 HW_PWM1Set(1);
  406.                         }
  407.                 }
  408.                 if(Basic02SetValue>=45&&Basic02SetValue<=46)
  409.                 {
  410.                           if(Angle_x>-2.0&&Angle_x<5.0)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  411.                         {
  412.                                 HW_PWM0Set(255);
  413.                                 HW_PWM1Set(1);                               
  414.                         }
  415.                         else if(Angle_x<-2.0&&Angle_x>-4.9)
  416.                         {
  417.                                 HW_PWM0Set(1);
  418.                                 HW_PWM1Set(1);       
  419.                         }
  420.                         else if(Angle_x<-4.9&&Angle_x>-7.5)
  421.                         {
  422.                                 HW_PWM0Set(1);
  423.                                 HW_PWM1Set(255);       
  424.                         }
  425.                         else
  426.                         {
  427.                                 HW_PWM0Set(1);
  428.                                 HW_PWM1Set(1);
  429.                         }
  430.                 }
  431.                 if(Basic02SetValue>=47&&Basic02SetValue<=49)
  432.                 {
  433.                           if(Angle_x>-2.0&&Angle_x<5.0)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  434.                         {
  435.                                 HW_PWM0Set(255);
  436.                                 HW_PWM1Set(1);                               
  437.                         }
  438.                         else if(Angle_x<-2.0&&Angle_x>-6.0)
  439.                         {
  440.                                 HW_PWM0Set(1);
  441.                                 HW_PWM1Set(1);       
  442.                         }
  443.                         else if(Angle_x<-6.0&&Angle_x>-8.6)
  444.                         {
  445.                                 HW_PWM0Set(1);
  446.                                 HW_PWM1Set(255);       
  447.                         }
  448.                         else
  449.                         {
  450.                                 HW_PWM0Set(1);
  451.                                 HW_PWM1Set(1);
  452.                         }
  453.                 }
  454.                 if(Basic02SetValue>=50&&Basic02SetValue<=51)
  455.                 {
  456.                           if(Angle_x>-2.0&&Angle_x<6.0)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  457.                         {
  458.                                 HW_PWM0Set(255);
  459.                                 HW_PWM1Set(1);                               
  460.                         }
  461.                         else if(Angle_x<-2.0&&Angle_x>-6.9)
  462.                         {
  463.                                 HW_PWM0Set(1);
  464.                                 HW_PWM1Set(1);       
  465.                         }
  466.                         else if(Angle_x<-6.9&&Angle_x>-9.8)
  467.                         {
  468.                                 HW_PWM0Set(1);
  469.                                 HW_PWM1Set(255);       
  470.                         }
  471.                         else
  472.                         {
  473.                                 HW_PWM0Set(1);
  474.                                 HW_PWM1Set(1);
  475.                         }
  476.                 }
  477.                 if(Basic02SetValue>=52&&Basic02SetValue<=53)
  478.                 {
  479.                           if(Angle_x>-2.0&&Angle_x<5.6)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  480.                         {
  481.                                 HW_PWM0Set(255);
  482.                                 HW_PWM1Set(1);                               
  483.                         }
  484.                         else if(Angle_x<-2.0&&Angle_x>-7.6)
  485.                         {
  486.                                 HW_PWM0Set(1);
  487.                                 HW_PWM1Set(1);       
  488.                         }
  489.                         else if(Angle_x<-7.6&&Angle_x>-10.5)
  490.                         {
  491.                                 HW_PWM0Set(1);
  492.                                 HW_PWM1Set(255);       
  493.                         }
  494.                         else
  495.                         {
  496.                                 HW_PWM0Set(1);
  497.                                 HW_PWM1Set(1);
  498.                         }
  499.                 }
  500.                 if(Basic02SetValue>=54&&Basic02SetValue<=55)
  501.                 {
  502.                           if(Angle_x>-2.0&&Angle_x<6.0)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  503.                         {
  504.                                 HW_PWM0Set(255);
  505.                                 HW_PWM1Set(1);                               
  506.                         }
  507.                         else if(Angle_x<-2.0&&Angle_x>-8.0)
  508.                         {
  509.                                 HW_PWM0Set(1);
  510.                                 HW_PWM1Set(1);       
  511.                         }
  512.                         else if(Angle_x<-8.0&&Angle_x>-11.5)
  513.                         {
  514.                                 HW_PWM0Set(1);
  515.                                 HW_PWM1Set(255);       
  516.                         }
  517.                         else
  518.                         {
  519.                                 HW_PWM0Set(1);
  520.                                 HW_PWM1Set(1);
  521.                         }
  522.                 }
  523.                 if(Basic02SetValue>=56&&Basic02SetValue<=58)
  524.                 {
  525.                           if(Angle_x>-2.0&&Angle_x<7.3)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  526.                         {
  527.                                 HW_PWM0Set(255);
  528.                                 HW_PWM1Set(1);                               
  529.                         }
  530.                         else if(Angle_x<-2.0&&Angle_x>-7.3)
  531.                         {
  532.                                 HW_PWM0Set(1);
  533.                                 HW_PWM1Set(1);       
  534.                         }
  535.                         else if(Angle_x<-7.3&&Angle_x>-11.5)
  536.                         {
  537.                                 HW_PWM0Set(1);
  538.                                 HW_PWM1Set(255);       
  539.                         }
  540.                         else
  541.                         {
  542.                                 HW_PWM0Set(1);
  543.                                 HW_PWM1Set(1);
  544.                         }
  545.                 }
  546.                 if(Basic02SetValue>=59&&Basic02SetValue<=60)
  547.                 {
  548.                           if(Angle_x>-2.0&&Angle_x<7.8)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  549.                         {
  550.                                 HW_PWM0Set(255);
  551.                                 HW_PWM1Set(1);                               
  552.                         }
  553.                         else if(Angle_x<-2.0&&Angle_x>-7.8)
  554.                         {
  555.                                 HW_PWM0Set(1);
  556.                                 HW_PWM1Set(1);       
  557.                         }
  558.                         else if(Angle_x<-7.8&&Angle_x>-12.5)
  559.                         {
  560.                                 HW_PWM0Set(1);
  561.                                 HW_PWM1Set(255);       
  562.                         }
  563.                         else
  564.                         {
  565.                                 HW_PWM0Set(1);
  566.                                 HW_PWM1Set(1);
  567.                         }
  568.                 }
  569.                  os_switch_task();       
  570.          }
  571. }



  572. void Basic03(void)      _task_       7           //任务7             基础部分3
  573. {

  574. while(1)
  575. {
  576.        
  577.         os_wait(K_SIG,0,0);
  578.        
  579.         if(Basic03SetValue==10)           //10度
  580.         {
  581.                
  582.                 if(mpu6050[3]>0)
  583.                 {
  584.                         HW_PWM0Set(1);
  585.                         HW_PWM1Set(1);
  586.                 }
  587.                 else
  588.                 {
  589.                         HW_PWM0Set(1);
  590.                         HW_PWM1Set(55);
  591.                 }
  592.                 if(mpu6050[7]>30)
  593.                 {
  594.                         HW_PWM0Set(1);
  595.                         HW_PWM1Set(1);
  596.                 }       
  597.                 /*处理Y轴*/
  598.                 if(mpu6050[4]>0)
  599.                 {
  600.                         PWM1=1;
  601.                         PWM2=55;               
  602.                 }
  603.                 else
  604.                 {
  605.                         PWM1=205;
  606.                         PWM2=1;       
  607.                 }
  608.                 if(mpu6050[6]>30)
  609.                 {
  610.                         HW_PWM0Set(1);
  611.                         HW_PWM1Set(1);
  612.                 }
  613.         }

  614.         if(Basic03SetValue==20)                         //20度
  615.         {
  616.         if(mpu6050[3]>0)
  617.                 {
  618.                         HW_PWM0Set(75);
  619.                         HW_PWM1Set(1);
  620.                 }
  621.                 else
  622.                 {
  623.                         HW_PWM0Set(1);
  624.                         HW_PWM1Set(205);
  625.                 }
  626.                 if(mpu6050[7]>30)
  627.                 {
  628.                         HW_PWM0Set(1);
  629.                         HW_PWM1Set(1);
  630.                 }       
  631.                 /*处理Y轴*/
  632.                 if(mpu6050[4]>0)
  633.                 {
  634.                         PWM1=1;
  635.                         PWM2=255;               
  636.                 }
  637.                 else
  638.                 {
  639.                         PWM1=255;
  640.                         PWM2=1;       
  641.                 }
  642.                 if(mpu6050[6]>30)
  643.                 {
  644.                         HW_PWM0Set(1);
  645.                         HW_PWM1Set(1);
  646.                 }
  647.         }

  648.         if(Basic03SetValue==30)
  649.         {
  650.                
  651.                        
  652.                 if(mpu6050[3]>0)
  653.                 {
  654.                         HW_PWM0Set(90);
  655.                         HW_PWM1Set(1);
  656.                 }
  657.                 else
  658.                 {
  659.                         HW_PWM0Set(1);
  660.                         HW_PWM1Set(205);
  661.                 }
  662.                 if(mpu6050[7]>15)
  663.                 {
  664.                         HW_PWM0Set(1);
  665.                         HW_PWM1Set(1);
  666.                 }       
  667.                 /*处理Y轴*/
  668.                 if(mpu6050[4]>0)
  669.                 {
  670.                         PWM1=1;
  671.                         PWM2=255;               
  672.                 }
  673.                 else
  674.                 {
  675.                         PWM1=255;
  676.                         PWM2=1;       
  677.                 }
  678.                 if(mpu6050[6]>30)
  679.                 {
  680.                         HW_PWM0Set(1);
  681.                         HW_PWM1Set(1);
  682.                 }
  683.         }

  684.         if(Basic03SetValue==40)
  685.         {
  686.         if(mpu6050[3]>0)
  687.                 {
  688.                         HW_PWM0Set(120);
  689.                         HW_PWM1Set(1);
  690.                 }
  691.                 else
  692.                 {
  693.                         HW_PWM0Set(1);
  694.                         HW_PWM1Set(205);
  695.                 }
  696.                 if(mpu6050[7]>15)
  697.                 {
  698.                         HW_PWM0Set(1);
  699.                         HW_PWM1Set(1);
  700.                 }       
  701.                 /*处理Y轴*/
  702.                 if(mpu6050[4]>0)
  703.                 {
  704.                         PWM1=1;
  705.                         PWM2=255;               
  706.                 }
  707.                 else
  708.                 {
  709.                         PWM1=255;
  710.                         PWM2=1;       
  711.                 }
  712.                 if(mpu6050[6]>15)
  713.                 {
  714.                         HW_PWM0Set(1);
  715.                         HW_PWM1Set(1);
  716.                 }
  717.         }

  718.         if(Basic03SetValue==50)
  719.         {
  720.                
  721.                 if(mpu6050[3]>0)
  722.                 {
  723.                         HW_PWM0Set(105);
  724.                         HW_PWM1Set(1);
  725.                 }
  726.                 else
  727.                 {
  728.                         HW_PWM0Set(1);
  729.                         HW_PWM1Set(168);
  730.                 }
  731.                 if(mpu6050[7]>30)
  732.                 {
  733.                         HW_PWM0Set(1);
  734.                         HW_PWM1Set(1);
  735.                 }       
  736.                 /*处理Y轴*/
  737.                 if(mpu6050[4]>0)
  738.                 {
  739.                         PWM1=1;
  740.                         PWM2=205;               
  741.                 }
  742.                 else
  743.                 {
  744.                         PWM1=205;
  745.                         PWM2=1;       
  746.                 }
  747.                 if(mpu6050[6]>30)
  748.                 {
  749.                         HW_PWM0Set(1);
  750.                         HW_PWM1Set(1);
  751.                 }
  752.         }

  753.         if(Basic03SetValue==60)
  754.         {
  755.                
  756.         if(mpu6050[3]>0)
  757.                 {
  758.                         HW_PWM0Set(205);
  759.                         HW_PWM1Set(1);
  760.                 }
  761.                 else
  762.                 {
  763.                         HW_PWM0Set(1);
  764.                         HW_PWM1Set(205);
  765.                 }
  766.                 if(mpu6050[7]>30)
  767.                 {
  768.                         HW_PWM0Set(1);
  769.                         HW_PWM1Set(1);
  770.                 }       
  771.                 /*处理Y轴*/
  772.                 if(mpu6050[4]>0)
  773.                 {
  774.                         PWM1=1;
  775.                         PWM2=205;               
  776.                 }
  777.                 else
  778.                 {
  779.                         PWM1=125; //145
  780.                         PWM2=1;       
  781.                 }
  782.                 if(mpu6050[6]>20)
  783.                 {
  784.                         HW_PWM0Set(1);
  785.                         HW_PWM1Set(1);
  786.                 }
  787.         }

  788.         if(Basic03SetValue==70)
  789.         {
  790.                 if(mpu6050[3]>0)
  791.                 {
  792.                         HW_PWM0Set(145); //145
  793.                         HW_PWM1Set(1);
  794.                 }
  795.                 else
  796.                 {
  797.                         HW_PWM0Set(1);
  798.                         HW_PWM1Set(145);
  799.                 }
  800.                 if(mpu6050[7]>30)
  801.                 {
  802.                         HW_PWM0Set(1);
  803.                         HW_PWM1Set(1);
  804.                 }       
  805.                 /*处理Y轴*/
  806.                 if(mpu6050[4]>0)
  807.                 {
  808.                         PWM1=1;
  809.                         PWM2=205;               
  810.                 }
  811.                 else
  812.                 {
  813.                         PWM1=1; //145
  814.                         PWM2=1;       
  815.                 }
  816.                 if(mpu6050[6]>20)
  817.                 {
  818.                         HW_PWM0Set(1);
  819.                         HW_PWM1Set(1);
  820.                 }
  821.         }

  822.         if(Basic03SetValue==80)
  823.         {
  824.                 if(mpu6050[3]>0)
  825.                 {
  826.                         HW_PWM0Set(145); //145
  827.                         HW_PWM1Set(1);
  828.                 }
  829.                 else
  830.                 {
  831.                         HW_PWM0Set(1);
  832.                         HW_PWM1Set(145);
  833.                 }
  834.                 if(mpu6050[7]>30)
  835.                 {
  836.                         HW_PWM0Set(1);
  837.                         HW_PWM1Set(1);
  838.                 }       
  839.                 /*处理Y轴*/
  840.                 if(mpu6050[4]>0)
  841.                 {
  842.                         PWM1=1;
  843.                         PWM2=205;               
  844.                 }
  845.                 else
  846.                 {
  847.                         PWM1=1; //145
  848.                         PWM2=1;       
  849.                 }
  850.                 if(mpu6050[6]>20)
  851.                 {
  852.                         HW_PWM0Set(1);
  853.                         HW_PWM1Set(1);
  854.                 }

  855.         }

  856.         if(Basic03SetValue==90)
  857.         {
  858.                         if(Angle_x>-3.0&&Angle_x<10.5)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  859.                 {
  860.                         HW_PWM0Set(255);
  861.                         HW_PWM1Set(1);                               
  862.                 }
  863.                 else if(Angle_x<-3.0&&Angle_x>-7.5)
  864.                 {
  865.                         HW_PWM0Set(1);
  866.                         HW_PWM1Set(1);       
  867.                 }
  868.                 else if(Angle_x<-7.5&&Angle_x>-9.8)
  869.                 {
  870.                         HW_PWM0Set(1);
  871.                         HW_PWM1Set(255);       
  872.                 }
  873.                 else
  874.                 {
  875.                         HW_PWM0Set(1);
  876.                         HW_PWM1Set(1);
  877.                 }

  878.         }

  879.        
  880.         if(Basic03SetValue==100)
  881.         {
  882.                
  883.                 if(mpu6050[3]>0)
  884.                 {
  885.                         HW_PWM0Set(1);
  886.                         HW_PWM1Set(210);
  887.                 }
  888.                 else
  889.                 {

  890.                         HW_PWM0Set(175);
  891.                         HW_PWM1Set(1);
  892.                 }
  893.                 if(mpu6050[7]>30)
  894.                 {
  895.                         HW_PWM0Set(1);
  896.                         HW_PWM1Set(1);
  897.                 }       
  898.                 /*处理Y轴*/
  899.                 if(mpu6050[4]>0)
  900.                 {
  901.        
  902.                         PWM1=45;
  903.                         PWM2=1;                       
  904.                 }
  905.                 else
  906.                 {
  907.                         PWM1=1;
  908.                         PWM2=45;
  909.                 }
  910.                 if(mpu6050[6]>30)
  911.                 {
  912.                         HW_PWM0Set(1);
  913.                         HW_PWM1Set(1);
  914.                 }
  915.         }

  916.         if(Basic03SetValue==110)
  917.         {
  918.                
  919.                 if(mpu6050[3]>0)
  920.                 {
  921.                         HW_PWM0Set(1);
  922.                         HW_PWM1Set(205);
  923.                 }
  924.                 else
  925.                 {

  926.                         HW_PWM0Set(175);
  927.                         HW_PWM1Set(1);
  928.                 }
  929.                 if(mpu6050[7]>30)
  930.                 {
  931.                         HW_PWM0Set(1);
  932.                         HW_PWM1Set(1);
  933.                 }       
  934.                 /*处理Y轴*/
  935.                 if(mpu6050[4]>0)
  936.                 {
  937.        
  938.                         PWM1=95;
  939.                         PWM2=1;                       
  940.                 }
  941.                 else
  942.                 {
  943.                         PWM1=1;
  944.                         PWM2=95;
  945.                 }
  946.                 if(mpu6050[6]>30)
  947.                 {
  948.                         HW_PWM0Set(1);
  949.                         HW_PWM1Set(1);
  950.                 }
  951.         }


  952.            if(Basic03SetValue==120)
  953.         {
  954.                
  955.                 if(mpu6050[3]>0)
  956.                 {
  957.                         HW_PWM0Set(1);
  958.                         HW_PWM1Set(185);
  959.                 }
  960.                 else
  961.                 {

  962.                         HW_PWM0Set(175);
  963.                         HW_PWM1Set(1);
  964.                 }
  965.                 if(mpu6050[7]>30)
  966.                 {
  967.                         HW_PWM0Set(1);
  968.                         HW_PWM1Set(1);
  969.                 }       
  970.                 /*处理Y轴*/
  971.                 /*处理Y轴*/
  972.                 if(mpu6050[4]>0)
  973.                 {
  974.        
  975.                         PWM1=155;
  976.                         PWM2=80;                       
  977.                 }
  978.                 else
  979.                 {
  980.                         PWM1=1;
  981.                         PWM2=105;
  982.                 }
  983.                 if(mpu6050[6]>30)
  984.                 {
  985.                         HW_PWM0Set(1);
  986.                         HW_PWM1Set(1);
  987.                 }
  988.         }

  989.         if(Basic03SetValue==130)
  990.         {
  991.                
  992.                 if(mpu6050[3]>0)
  993.                 {
  994.                         HW_PWM0Set(1);
  995.                         HW_PWM1Set(205);
  996.                 }
  997.                 else
  998.                 {

  999.                         HW_PWM0Set(175);
  1000.                         HW_PWM1Set(1);
  1001.                 }
  1002.                 if(mpu6050[7]>30)
  1003.                 {
  1004.                         HW_PWM0Set(1);
  1005.                         HW_PWM1Set(1);
  1006.                 }       
  1007.                 /*处理Y轴*/
  1008.                 if(mpu6050[4]>0)
  1009.                 {
  1010.        
  1011.                         PWM1=195;  //185
  1012.                         PWM2=80;                       
  1013.                 }
  1014.                 else
  1015.                 {
  1016.                         PWM1=1;
  1017.                         PWM2=95;
  1018.                 }
  1019.                 if(mpu6050[6]>30)
  1020.                 {
  1021.                         HW_PWM0Set(1);
  1022.                         HW_PWM1Set(1);
  1023.                 }
  1024.         }

  1025.           if(Basic03SetValue==140)
  1026.         {
  1027.                
  1028.                 if(mpu6050[3]>0)
  1029.                 {
  1030.                         HW_PWM0Set(1);
  1031.                         HW_PWM1Set(165);
  1032.                 }
  1033.                 else
  1034.                 {

  1035.                         HW_PWM0Set(155);
  1036.                         HW_PWM1Set(1);
  1037.                 }
  1038.                 if(mpu6050[7]>30)
  1039.                 {
  1040.                         HW_PWM0Set(1);
  1041.                         HW_PWM1Set(1);
  1042.                 }       
  1043.                 /*处理Y轴*/
  1044.                 if(mpu6050[4]>0)
  1045.                 {
  1046.        
  1047.                         PWM1=205;
  1048.                         PWM2=1;                       
  1049.                 }
  1050.                 else
  1051.                 {
  1052.                         PWM1=1;
  1053.                         PWM2=105;
  1054.                 }
  1055.                 if(mpu6050[6]>30)
  1056.                 {
  1057.                         HW_PWM0Set(1);
  1058.                         HW_PWM1Set(1);
  1059.                 }
  1060.         }

  1061.         if(Basic03SetValue==150)
  1062.         {
  1063.                 if(mpu6050[3]>0)
  1064.                 {
  1065.                         HW_PWM0Set(1);
  1066.                         HW_PWM1Set(225);
  1067.                 }
  1068.                 else
  1069.                 {

  1070.                         HW_PWM0Set(35);
  1071.                         HW_PWM1Set(1);
  1072.                 }
  1073.                 if(mpu6050[7]>30)
  1074.                 {
  1075.                         HW_PWM0Set(1);
  1076.                         HW_PWM1Set(1);
  1077.                 }       
  1078.                 /*处理Y轴*/
  1079.                 if(mpu6050[4]>0)
  1080.                 {
  1081.        
  1082.                         PWM1=185;
  1083.                         PWM2=1;                       
  1084.                 }
  1085.                 else
  1086.                 {
  1087.                         PWM1=1;
  1088.                         PWM2=185;
  1089.                 }
  1090.                 if(mpu6050[6]>15)
  1091.                 {
  1092.                         HW_PWM0Set(1);
  1093.                         HW_PWM1Set(1);
  1094.                 }
  1095.         }

  1096.         if(Basic03SetValue==160)
  1097.         {
  1098.                
  1099.                 if(mpu6050[3]>0)
  1100.                 {
  1101.                         HW_PWM0Set(1);
  1102.                         HW_PWM1Set(185);
  1103.                 }
  1104.                 else
  1105.                 {

  1106.                         HW_PWM0Set(35);
  1107.                         HW_PWM1Set(1);
  1108.                 }
  1109.                 if(mpu6050[7]>30)
  1110.                 {
  1111.                         HW_PWM0Set(1);
  1112.                         HW_PWM1Set(1);
  1113.                 }       
  1114.                 /*处理Y轴*/
  1115.                 if(mpu6050[4]>0)
  1116.                 {
  1117.        
  1118.                         PWM1=205;
  1119.                         PWM2=1;                       
  1120.                 }
  1121.                 else
  1122.                 {
  1123.                         PWM1=1;
  1124.                         PWM2=205;
  1125.                 }
  1126.                 if(mpu6050[6]>30)
  1127.                 {
  1128.                         HW_PWM0Set(1);
  1129.                         HW_PWM1Set(1);
  1130.                 }
  1131.         }

  1132.         if(Basic03SetValue==170)
  1133.         {
  1134.                
  1135.                 if(mpu6050[3]>0)
  1136.                 {
  1137.                         HW_PWM0Set(1);
  1138.                         HW_PWM1Set(95);
  1139.                 }
  1140.                 else
  1141.                 {

  1142.                         HW_PWM0Set(5);
  1143.                         HW_PWM1Set(1);
  1144.                 }
  1145.                 if(mpu6050[7]>30)
  1146.                 {
  1147.                         HW_PWM0Set(1);
  1148.                         HW_PWM1Set(1);
  1149.                 }       
  1150.                 /*处理Y轴*/
  1151.                 if(mpu6050[4]>0)
  1152.                 {
  1153.        
  1154.                         PWM1=205;
  1155.                         PWM2=1;                       
  1156.                 }
  1157.                 else
  1158.                 {
  1159.                         PWM1=1;
  1160.                         PWM2=205;
  1161.                 }
  1162.                 if(mpu6050[6]>30)
  1163.                 {
  1164.                         HW_PWM0Set(1);
  1165.                         HW_PWM1Set(1);
  1166.                 }
  1167.         }
  1168.        
  1169. //                        mpu6050[5]=(float)mpu[5]/32768.0*2000;
  1170.        

  1171.        
  1172. //                if(mpu6050[3]<0&&mpu6050[4]>0)
  1173. //                {
  1174. //                        LED11=0;         //hou yiwozhengqianfangweizuobuao
  1175. //                        LED14=1;
  1176. //                        if(mpu6050[6]<3.0&&mpu6050[6]>0)
  1177. //                        {
  1178. //                                  PWM1=1;
  1179. //                                PWM2=255;
  1180. //                        }
  1181. //                       
  1182. //                }
  1183. //                if(mpu6050[3]<0&&mpu6050[4]<0)
  1184. //                {
  1185. //                        LED12=0;           //zuo
  1186. //                        LED13=1;
  1187. //                        HW_PWM0Set(uk);
  1188. //                }
  1189. //                if(mpu6050[3]>0&&mpu6050[4]>0)
  1190. //                {
  1191. //                        LED13=0;           //有
  1192. //                        LED12=1;
  1193. //                }
  1194. //                if(mpu6050[3]>0&&mpu6050[4]<0)
  1195. //                {
  1196. //                        LED14=0;//qian
  1197. //                        LED11=1;
  1198. //                        if(mpu6050[6]<0&&mpu6050[6]>-3.0)
  1199. //                        {
  1200. //                                  PWM1=255;
  1201. //                                PWM2=1;
  1202. //                        }
  1203. //                }
  1204.                

  1205.                 os_switch_task();
  1206.         }       
  1207. }

  1208. void High01(void) _task_           8                  //任务8               发挥1          High01SetValue
  1209. {
  1210.         PWM1=1;
  1211.         PWM2=1;
  1212.         HW_PWM0Set(1);
  1213.         HW_PWM1Set(1);

  1214.         while(1)
  1215.         {       
  1216.                 os_wait(K_SIG,0,0);
  1217.                 if(High01SetValue==15)
  1218.                 {
  1219.                         if(mpu6050[7]>-1.0&&mpu6050[7]<3.0)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  1220.                         {
  1221.                                 HW_PWM0Set(255);
  1222.                                 HW_PWM1Set(1);                               
  1223.                         }
  1224.                         else if(mpu6050[7]<0.0&&mpu6050[7]>-3.0)
  1225.                         {
  1226.                                 HW_PWM0Set(1);
  1227.                                 HW_PWM1Set(1);       
  1228.                         }
  1229.                         else if(mpu6050[7]<-3.0&&mpu6050[7]>-5.5)
  1230.                         {
  1231.                                 HW_PWM0Set(1);
  1232.                                 HW_PWM1Set(245);       
  1233.                         }
  1234.                         else
  1235.                         {
  1236.                                 HW_PWM0Set(1);
  1237.                                 HW_PWM1Set(1);
  1238.                         }
  1239.        
  1240.        
  1241.                         if(mpu6050[6]>-1.0&&mpu6050[6]<3.2)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  1242.                         {
  1243.                                 PWM1=255;
  1244.                                 PWM2=1;                               
  1245.                         }
  1246.                         else if(mpu6050[6]<-1.0&&mpu6050[6]>-5.0)
  1247.                         {
  1248.                                 PWM1=1;
  1249.                                 PWM2=1;       
  1250.                         }
  1251.                         else if(mpu6050[6]<6.0&&mpu6050[6]>3.2)
  1252.                         {
  1253.                                 PWM1=1;
  1254.                                 PWM2=245;       
  1255.                         }
  1256.                         else
  1257.                         {
  1258.                                 PWM1=1;
  1259.                                 PWM2=1;
  1260.                         }
  1261.                 }
  1262.                

  1263.                 if(High01SetValue>=16&&High01SetValue<=18)
  1264.                 {
  1265.                         if(Angle_x>-2.0&&Angle_x<4.9)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  1266.                         {
  1267.                                 HW_PWM0Set(255);
  1268.                                 HW_PWM1Set(1);                               
  1269.                         }
  1270.                         else if(Angle_x<-2.0&&Angle_x>-4.9)
  1271.                         {
  1272.                                 HW_PWM0Set(1);
  1273.                                 HW_PWM1Set(1);       
  1274.                         }
  1275.                         else if(Angle_x<-4.9&&Angle_x>-7.3)
  1276.                         {
  1277.                                 HW_PWM0Set(1);
  1278.                                 HW_PWM1Set(255);       
  1279.                         }
  1280.                         else
  1281.                         {
  1282.                                 HW_PWM0Set(1);
  1283.                                 HW_PWM1Set(1);
  1284.                         }
  1285.                
  1286.                
  1287.                         if(mpu6050[6]>-1.8&&mpu6050[6]<3.5)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  1288.                         {
  1289.                                 PWM1=255;
  1290.                                 PWM2=1;                               
  1291.                         }
  1292.                         else if(mpu6050[6]<-2.0&&mpu6050[6]>-5.0)
  1293.                         {
  1294.                                 PWM1=1;
  1295.                                 PWM2=1;       
  1296.                         }
  1297.                         else if(mpu6050[6]<7.0&&mpu6050[6]>3.5)
  1298.                         {
  1299.                                 PWM1=1;
  1300.                                 PWM2=255;       
  1301.                         }
  1302.                         else
  1303.                         {
  1304.                                 PWM1=1;
  1305.                                 PWM2=1;
  1306.                         }
  1307.                 }
  1308.                
  1309.                 if(High01SetValue>=18&&High01SetValue<=19)
  1310.                 {
  1311.                         if(Angle_x>-2.0&&Angle_x<6.0)        //Angle_x为x轴的角度,电机的方向通过角度的正负确定
  1312.                         {
  1313.                                
  1314. ……………………

  1315. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码






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

使用道具 举报

沙发
ID:225587 发表于 2017-8-7 20:23 | 只看该作者
哥,没钱啊我
回复

使用道具 举报

板凳
ID:225587 发表于 2017-8-7 20:24 | 只看该作者
能不能发我邮箱,谢谢哥,1282388187@qq.com
回复

使用道具 举报

地板
ID:105206 发表于 2018-6-12 13:33 | 只看该作者
谢谢分享,学习了
回复

使用道具 举报

5#
ID:257454 发表于 2018-7-15 20:07 | 只看该作者
好东西
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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