标题: at89c52单片机控制伺服电机正反转 求接线图还有程序 只要能让伺服电机转起来 [打印本页]

作者: hugh1062169291    时间: 2018-3-30 17:38
标题: at89c52单片机控制伺服电机正反转 求接线图还有程序 只要能让伺服电机转起来
想做at89c52单片机控制伺服电机正反转,伺服电机还没有确定,求接线图还有程序。用不用数码管都无所谓,只要能让伺服电机转起来

作者: angmall    时间: 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





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