智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4478|回复: 6
打印 上一主题 下一主题

帮忙看一下,我写的舵机程序,舵机是futaba s3010。

[复制链接]

1

主题

17

帖子

0

精华

注册会员

Rank: 2

积分
72
威望
45
贡献
13
兑换币
27
注册时间
2013-5-7
在线时间
7 小时
跳转到指定楼层
1#
发表于 2013-5-25 21:40:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5贡献
程序不能控制舵机,舵机不会转。求大神帮忙看一下哪里错了。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int

uint a,b,c;
/*a为舵机1的脉冲宽度,b是角度*/
/*c为中间变量*/
sbit p12=P1^2;

/*以下为定时器中断函数*/

void timer0(void) interrupt 1 using 1
{

p12=0;  
c=2120-c; /*2120代表一个周期的时间*/
TH0=(65536-c)/256; TL0=(65536-c)%256; /*重新定义计数初值*/
}




/*主程序*/
void main(void)
{

TMOD=0x11; /*设初值*/
p12=1;
b=20;  
a=(920+10*b);  /*角度与脉宽函数关系*/
c=a;
TH0=(65536-a)/256; TL0=(65536-a)%256; /*设定定时器初始计数值*/
EA=1;
ET0=1; TR0=1;
}

42

主题

1054

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3034

优秀会员奖章活跃会员奖章

QQ
威望
1650
贡献
780
兑换币
625
注册时间
2012-7-6
在线时间
302 小时
2#
发表于 2013-5-26 12:22:46 | 只看该作者
在主函数内初始化完后加一个死循环while(1){}  PWM的产生就在这个while和定时器中断里面就行了
回复

使用道具 举报

16

主题

115

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1217
威望
643
贡献
412
兑换币
409
注册时间
2013-9-28
在线时间
81 小时
毕业学校
哈工程
3#
发表于 2013-12-10 10:16:55 | 只看该作者
:)
回复

使用道具 举报

0

主题

106

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1031
威望
494
贡献
311
兑换币
335
注册时间
2013-9-3
在线时间
113 小时
4#
发表于 2014-4-5 16:26:15 | 只看该作者
牛皮  哈哈哈哈  看看 学习学习
回复

使用道具 举报

9

主题

38

帖子

0

精华

高级会员

Rank: 4

积分
709
威望
386
贡献
225
兑换币
242
注册时间
2013-11-5
在线时间
49 小时
毕业学校
浙江工业大学
5#
发表于 2014-4-8 22:33:23 | 只看该作者
在主程序里为什么没有死循环???
回复

使用道具 举报

1

主题

216

帖子

0

精华

高级会员

Rank: 4

积分
721
威望
348
贡献
253
兑换币
227
注册时间
2014-10-24
在线时间
60 小时
6#
发表于 2014-11-24 19:31:04 | 只看该作者
:D:D
回复

使用道具 举报

1

主题

216

帖子

0

精华

高级会员

Rank: 4

积分
721
威望
348
贡献
253
兑换币
227
注册时间
2014-10-24
在线时间
60 小时
7#
发表于 2014-11-24 19:31:16 | 只看该作者
:):):)
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-26 02:18 , Processed in 0.221816 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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