找回密码
 立即注册

QQ登录

只需一步,快速开始

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

at89c52单片机控制伺服电机正反转 求接线图还有程序 只要能让伺服电机转起来

[复制链接]
跳转到指定楼层
楼主
ID:290784 发表于 2018-3-30 17:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
50黑币
想做at89c52单片机控制伺服电机正反转,伺服电机还没有确定,求接线图还有程序。用不用数码管都无所谓,只要能让伺服电机转起来

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

使用道具 举报

沙发
ID:155507 发表于 2018-3-31 06:54 | 只看该作者
  1. //软件模拟pwm

  2. #include "reg52.h"

  3. unsigned int num=0;
  4. //舵机
  5. sbit DJ1=P3^6;
  6. sbit DJ2=P3^7;          /*引脚定义*/
  7. int DJ(int a);         //函数声明

  8. timerinit()            //定时器中断初始化
  9. {
  10.         TMOD=0x01;                          //设置定时器0为工作方式1
  11.         EA=1;                                    //开总中断
  12.         ET0=1;                                   //定时器0中断允许
  13.         TH0 = (65536-500)/256;          //初值使得定时器0.5毫秒溢出
  14.         TL0 = (65536-500)%256;
  15.         TR0=0;         
  16. }

  17. main()
  18. {
  19.         timerinit();
  20.         while(1)
  21.         {
  22.         }
  23. }

  24. timer()  interrupt 0       //0.5ms发生一次中断,20ms后定时器置0重新计数
  25. {
  26.         num++;
  27.         DJ1=DJ(3);
  28.         DJ2=DJ(3);
  29.         if(num>=40)     
  30.         {
  31.                 num=0;
  32.                 TH0 = (65536-500)/256;                  //初值使得定时器0.5毫秒溢出
  33.                 TL0 = (65536-500)%256;
  34.                 return;
  35.         }
  36. }

  37. int DJ(char a)           //当a=3舵机所在的位置是0度a=2 a=1分别对应的位置是-45 -90度a=4 a=5对应位置为45 90度
  38. {
  39.         if(num>=a||num>=5)
  40.         return 0;
  41.         if(num>=1)
  42.         return 1;
  43. }

复制代码



51单片机驱动伺服电机程序
http://www.51hei.com/mcu/2555.html


单片机控制松下伺服电机正反转程序
http://www.51hei.com/mcu/991.html
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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