智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2469|回复: 10
打印 上一主题 下一主题

[讨论] 有难题啊

[复制链接]

6

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1499
威望
761
贡献
460
兑换币
301
注册时间
2012-8-22
在线时间
139 小时
毕业学校
未毕业
跳转到指定楼层
1#
发表于 2013-1-26 18:23:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想用mc9s12xs128的输出比较功能控制舵机转动,但思来想去不知道该咋写。请大虾指教。

0

主题

1672

帖子

0

精华

杰出人士

Rank: 12Rank: 12Rank: 12

积分
13030
QQ
威望
7128
贡献
3436
兑换币
424
注册时间
2013-1-5
在线时间
1233 小时
2#
发表于 2013-1-26 18:30:38 | 只看该作者
帮顶
回复 支持 反对

使用道具 举报

16

主题

1510

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5586

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
2953
贡献
1231
兑换币
29
注册时间
2012-6-2
在线时间
702 小时
3#
发表于 2013-1-26 18:39:16 | 只看该作者
输出比较控制舵机?不是PWM吗?
回复 支持 反对

使用道具 举报

1

主题

2067

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5124

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
2752
贡献
898
兑换币
59
注册时间
2012-12-8
在线时间
737 小时
4#
发表于 2013-1-26 18:42:35 | 只看该作者
你想怎么个比较法?
回复 支持 反对

使用道具 举报

6

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1499
威望
761
贡献
460
兑换币
301
注册时间
2012-8-22
在线时间
139 小时
毕业学校
未毕业
5#
 楼主| 发表于 2013-1-26 19:03:42 | 只看该作者
ludlee 发表于 2013-1-26 18:39
输出比较控制舵机?不是PWM吗?

输出比较就可以出PWM波啊
回复 支持 反对

使用道具 举报

16

主题

1510

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
5586

论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

QQ
威望
2953
贡献
1231
兑换币
29
注册时间
2012-6-2
在线时间
702 小时
6#
发表于 2013-1-26 19:07:21 | 只看该作者
happyzn75 发表于 2013-1-26 19:03
输出比较就可以出PWM波啊

我知道,但是那个不如PWM 好控制,理论上还是用PWM吧
回复 支持 反对

使用道具 举报

6

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1499
威望
761
贡献
460
兑换币
301
注册时间
2012-8-22
在线时间
139 小时
毕业学校
未毕业
7#
 楼主| 发表于 2013-1-26 19:41:27 | 只看该作者
ludlee 发表于 2013-1-26 19:07
我知道,但是那个不如PWM 好控制,理论上还是用PWM吧

pwm只能4个16位的,这个可以是8路16位PWM,精度高
回复 支持 反对

使用道具 举报

6

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1499
威望
761
贡献
460
兑换币
301
注册时间
2012-8-22
在线时间
139 小时
毕业学校
未毕业
8#
 楼主| 发表于 2013-1-26 19:42:20 | 只看该作者
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */
#include"5110.h"
#pragma LINK_INFO DERIVATIVE "MC9S12XS128"
int counter;




void main(void)
{
  /* put your own code here */
  LCD_init();
  LCD_clear();
  num_Display(30,0,1000);
  counter=0;
  
  
  DisableInterrupts;
  TSCR2=0X82;//4分频
  TIOS=0x40; //pt6oc
  TCTL1=0x10;//输出返转
  TCNT=(65535-50000);
  TC6=2600;
  TTOV=0x40;
  TIE=0x00;
  TSCR1=0x80;//定时器使能
  while(1);



        EnableInterrupts;


  for(;;) {
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 14 oc_isr(void)
{
     
     TFLG2_TOF=1;
     TCNT=(65536-50000);
   
      
      
}

回复 支持 反对

使用道具 举报

6

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1499
威望
761
贡献
460
兑换币
301
注册时间
2012-8-22
在线时间
139 小时
毕业学校
未毕业
9#
 楼主| 发表于 2013-1-26 19:45:01 | 只看该作者
调整TC6的值就可以调整舵机转向。
但问题是一旦重新给单片机上电,就会出现舵机发抖,旋转,不能保持住其位置,但一重新下程序就又好了,一断电再接电就又出问题了,难道程序有问题吗?
回复 支持 反对

使用道具 举报

6

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1499
威望
761
贡献
460
兑换币
301
注册时间
2012-8-22
在线时间
139 小时
毕业学校
未毕业
10#
 楼主| 发表于 2013-1-26 19:45:34 | 只看该作者
晶振16M
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 13:34 , Processed in 0.090348 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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