标题: 单片机控制舵机自动旋转90度源程序 [打印本页]

作者: 于丽华    时间: 2022-2-11 14:32
标题: 单片机控制舵机自动旋转90度源程序
在STC89c52RC的控制下,9g舵机可以自动旋转90度

单片机源程序如下:
  1. #include<reg52.h>
  2. sbit SG_PWM=P1^0;
  3. unsigned char count=0;
  4. unsigned char PWM_count=3;                  //1--0度,2--45度,3--90度,4--135度,5--180度
  5. unsigned char a=0;
  6. void Timer_Init()
  7. {
  8.   TMOD=0X01;      //T0定时方式1
  9.   TH0=0Xfe;
  10.   TL0=0X33;       //计数初值设置为0.5ms
  11.   ET0=1;          //打开定时器0的中断
  12.   TR0=1;          //打开定时器0
  13.   EA=1;           //开总中断
  14. }
  15. void Timer() interrupt 1      //特别注意此处,0--外部中断0,1--定时器中断0,2--外部中断1,3--定时器中断1,4--串行口中断1
  16. {
  17.   TR0=0;
  18.   TH0=0Xfe;
  19.   TL0=0X33;       //重新赋计数初值为0.5ms
  20.   if(count<=PWM_count)
  21.   {
  22.     SG_PWM=1;
  23.   }
  24.   else
  25.   {
  26.     SG_PWM=0;
  27.   }
  28.   count++;
  29.   if(count>=40)
  30.   {
  31.     count=0;
  32.     a++;
  33.   }
  34.   TR0=1;
  35. }
  36. void main()
  37. {
  38.   Timer_Init();
  39.   while(1)
  40.   {
  41.       if(a==16)                             //20是比较舒服的连贯动作,20以上动作些许不连贯  10的时候出现打架情况,15的时候打架几乎没有,16比较完美
  42.       {
  43.         PWM_count=1;
  44.       }
  45.       if(a==32)
  46.       {
  47.               PWM_count=3;
  48.         a=0;
  49.       }
  50.   }
  51. }
复制代码

hex文件下载(uv2版本的工程):
9g舵机自动旋转90度.zip (3.42 MB, 下载次数: 49)



作者: abcdefg321    时间: 2022-3-17 22:12
老铁,我的舵机不转,什么原因了

作者: 弓长张    时间: 2022-4-1 14:58
abcdefg321 发表于 2022-3-17 22:12
老铁,我的舵机不转,什么原因了

我的也没转
作者: dyy011    时间: 2022-5-18 21:32
你这个和我看到的另外一位大哥的几乎可以说是一模一样




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1