找回密码
 立即注册

QQ登录

只需一步,快速开始

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

单片机控制舵机自动旋转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)


评分

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

查看全部评分

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

使用道具 举报

沙发
ID:992164 发表于 2022-3-17 22:12 | 只看该作者
老铁,我的舵机不转,什么原因了
回复

使用道具 举报

板凳
ID:337280 发表于 2022-4-1 14:58 | 只看该作者
abcdefg321 发表于 2022-3-17 22:12
老铁,我的舵机不转,什么原因了

我的也没转
回复

使用道具 举报

地板
ID:1025516 发表于 2022-5-18 21:32 | 只看该作者
你这个和我看到的另外一位大哥的几乎可以说是一模一样
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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