标题: 用stc12c5a60s2进行驱动舵机,0到 180度可随便调 [打印本页]

作者: azbz992    时间: 2013-8-14 10:49
标题: 用stc12c5a60s2进行驱动舵机,0到 180度可随便调
用的在附件里

stc12c5a60s2驱动舵机.rar

25.94 KB, 下载次数: 745, 下载积分: 黑币 -5

0到180度可随便调


作者: Changlan『C』染    时间: 2013-8-16 05:14
谢谢楼主,为大家省点黑币 我把楼主的程序 弄出来
  1. #include <stc12c5a60s2.H>  //STC12C5A系列单片机

  2. #define uchar unsigned char
  3. #define uint unsigned int         //宏定义
  4. #define ulint unsigned long int //宏定义


  5. void delay(uint time);
  6. void Timer_init();
  7. void Timer0(unsigned long int us);

  8. uint pwm_valu=500;
  9. sbit dj=P1^0;                 

  10. void main()
  11. {
  12.         Timer_init();        //定时器初始化
  13.         Timer0(31);                //通过一个定时值进入定时循环
  14.         while(1)
  15.         {
  16.                 pwm_valu=550;           //
  17.                 delay(2000);
  18.                 pwm_valu=2500;           //
  19.              delay(2000);           //
  20.                 pwm_valu=1000;           //
  21.                 delay(2000);           //
  22.                 pwm_valu=2000;           //
  23.             delay(2000);           //
  24.                 pwm_valu=1500;           //
  25.                 delay(2000);
  26.         }
  27. }
  28. //软件延时
  29. void delay(uint time)
  30. {
  31.         uint i,j;
  32.         for(i=0;i<1000;i++)
  33.                 for(j=0;j<time;j++);
  34. }
  35. //定时器0初始化
  36. void Timer_init()
  37. {
  38.         P1M1=0;
  39.         P1M0=0XFF;
  40.         EA=1;                                           //开总中断
  41.         AUXR|=0xC0;                                //T0,T1工作在1T
  42.     TMOD|= 0x11;                        //T0工作在方式1,16位
  43.         ET0 = 1;                                //开定时器0中断
  44. }
  45. //定时器0定时函数
  46. void Timer0(unsigned long int us)         //定时器定时函数
  47. {       
  48.         unsigned long int valu;
  49.         valu=us*12;                                //工作在1T
  50.         valu=valu;
  51.         valu=0xffff-valu;                //          

  52.     TH0=valu>>8;          
  53.     TL0=(valu<<8)>>8;
  54.     TR0  = 1;//T0开始工作
  55. }

  56. /*************************************
  57.   t0 中断 中断

  58. *************************************/
  59. void T0zd() interrupt 1   
  60. {
  61.                 static uchar num=1;
  62.                 switch(num)          //   
  63.                 {
  64.                 case 1:
  65.                         {
  66.                                 dj=1;
  67.                                 Timer0(pwm_valu);//       
  68.                         }  break;
  69.                 case 2:
  70.                         {
  71.                                  dj=0;//        pwm1变低
  72.                                 Timer0(2500-pwm_valu);//       
  73.                         }  break;
  74.                 case 3:
  75.                         {
  76.                                 Timer0(2500);//
  77.                         }  break;
  78.                 case 4:
  79.                         {
  80.                                 Timer0(2500);//       
  81.                         }  break;
  82.                 case 5:
  83.                         {
  84.                                 Timer0(2500);//       
  85.                         }  break;
  86.                 case 6:
  87.                         {
  88.                                 Timer0(2500);//       
  89.                         }  break;
  90.                 case 7:
  91.                         {
  92.                                 Timer0(2500);//       
  93.                         }  break;
  94.                 case 8:
  95.                         {
  96.                                 Timer0(2500);//       
  97.                         }        break;
  98.                 case 9:
  99.                         {
  100.                                 Timer0(2500);//       
  101.                                 num=0;
  102.                         }        break;
  103.                 default:break;
  104.             }
  105.                         num++;
  106. }   
复制代码



作者: ccgzh    时间: 2014-5-18 06:52
谢谢楼主
作者: 07700114    时间: 2014-5-26 12:03
万分感激。
作者: yy8881    时间: 2014-6-5 13:56
谢谢楼主
作者: zhanghhh    时间: 2014-6-17 23:10
谢楼主
作者: kikim    时间: 2014-7-1 00:24
这个是好东西)。谢谢!
作者: 鬼手22    时间: 2014-7-5 10:46

谢楼主
作者: ldy4747    时间: 2014-11-30 08:58
下载来看看不知道是不是我要的额
作者: hclin    时间: 2014-12-1 20:49
谢谢分享
作者: 1250455243    时间: 2014-12-21 22:25
交换机感觉很
作者: 1250455243    时间: 2014-12-21 22:25
g好方法脚后跟
作者: hugsy    时间: 2015-1-19 20:14
谢谢楼主
作者: hugsy    时间: 2015-1-19 20:15
下载来看看不知道是不是我要的额
作者: vcdii    时间: 2015-1-20 18:49
學習中
作者: xudaxi    时间: 2015-1-27 13:11

學習中
作者: zing12345    时间: 2015-1-27 18:38
用stc12c5a60s2进行驱动舵机,0到 180度可随便调
作者: 15759697518    时间: 2015-2-10 19:39
万分感谢
作者: 601407020    时间: 2015-5-24 18:43
网上DOWN的垃圾
作者: 绿源学习者    时间: 2015-7-22 09:23

下载来看看不知道是不是我要的额
作者: ville95    时间: 2015-8-10 10:22
谢谢楼主
作者: stewart_leung    时间: 2015-8-19 12:32
学习中
作者: meilidianzhi    时间: 2015-8-21 21:23
学习了!!!!!!!!!!!!!!!!
作者: zrworkingroom    时间: 2015-9-2 11:31
支持一下,我想要
作者: zrworkingroom    时间: 2015-9-2 11:31
我想要源码
作者: 来了来了    时间: 2015-10-2 12:12
谢谢LZ
作者: 8imi8    时间: 2015-10-9 10:45
看看好用不
作者: 76711031    时间: 2015-10-17 12:46
谢谢楼主
作者: chenmeng    时间: 2015-12-1 19:30
蛮好的
作者: 自私自私自私    时间: 2015-12-12 19:03
我想看看
作者: myem007    时间: 2015-12-23 21:41
下载不了啊,请问下这个是用多少M的晶振呢?
作者: acp    时间: 2016-3-31 09:40
多谢分享!!!!!
作者: 13465309885    时间: 2016-3-31 17:55
不错 就是没看到图
作者: 13465309885    时间: 2016-3-31 17:56
不错 就是没看到图
作者: linnyshow    时间: 2016-4-1 17:06
感谢,好用
作者: ELUVOLES    时间: 2016-6-15 22:17
一楼是个好人,但尽量不要这么做,让游客轻松得利
作者: 智能想    时间: 2016-6-15 23:00
嗨,加油
作者: 阿斯顿马丁    时间: 2016-10-21 21:48
好东西!
作者: 程序懵逼    时间: 2016-11-10 19:41
该型号的迷你开发板为啥驱动不了舵机?
作者: 永巷24号    时间: 2017-2-18 11:28
感谢楼主,但是12C5A的有专门的PWM波产生模块啊,不需要占用CPU资源去模拟PWM波吧
作者: chenwqq    时间: 2017-2-23 08:12
谢谢分享
作者: 12345667    时间: 2017-3-5 16:11
我也要
作者: 李志岗    时间: 2017-4-23 22:12
Changlan『C』染 发表于 2013-8-16 05:14
谢谢楼主,为大家省点黑币 我把楼主的程序 弄出来

谢谢  真是大好人 对于我这种黑币少的人真的帮主很大
作者: bbs99cn    时间: 2017-6-6 02:00
看看学习
作者: PL564    时间: 2017-9-2 13:57
你这个程序真心坑人,还模拟PWM    为什么不用单片机自带的PWM输出啊
作者: 笨小孩q    时间: 2017-10-24 00:20
不准确啊
作者: MJFLY123    时间: 2019-6-22 15:20
谢谢楼主!
作者: 祁舞纷飞    时间: 2019-6-22 22:58
谢谢楼主
作者: Upward    时间: 2020-4-13 15:28
多路舵机的话怎么控制啊
作者: 小肥仔    时间: 2020-4-14 23:50
大神可以教我怎么利用遥控控制舵机转动么





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