|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
要求舵机运行分辨率为1度(意思应该是舵机转动180次为180度吧),跟踪精度±2度
8 r+ ~1 @( N+ o1 Z! a0 H' x这是我部分控制双舵机的程序:- z: g5 s) q# C8 P9 H) W2 B/ ?
void Timer0() interrupt 14 l* h H1 S# ?1 n
{
' W( F& E+ C# M" n( n$ b TL0=0xd2;
1 |5 e6 ]# |. w2 [, D/ @ TH0=0xff;/ F( X& ]- B: A
if(count<Ucount)
4 j) D( H5 s8 W; l" L PWM_1=1;0 x* P3 t4 m' V* d% Y
else0 y5 y0 _+ ^# D4 n( M9 B
PWM_1=0;
6 M+ f7 G+ d; Y if(count<Ucount1)
. b6 l! k4 u) ?- E' O PWM_2=1;
4 |3 D# S( F8 n- \. i: `! v else
+ ~$ B0 u/ H7 j. n8 y: ? PWM_2=0; ; I7 Z. Q% i, C' `' P8 B
count++;
3 _9 y' E: a& F count%=400;
1 O3 D" A$ i8 G5 |; x: X- j6 R}8 |, O: B" Q* o/ [- f
* C$ o7 c) U2 a) d. j$ E
管脚设定为强推挽输出,定时器中断时间为50us,设定Ucount,Ucount1的值为30则舵机运行到90度,值为10和50运行到0度和180度,舵机运行分辨率为4.5度& a; y9 x$ q- [" \( u2 B* m
如果按照我这思路继续写运行分辨率为1度
# g) ^6 a( E9 i$ }
* [, ?" s) [% o7 B+ C
& }+ q3 O+ Q6 ^' q) n
定时器初值就得设置为小数,求该如何解决,或者有没有其他的写法 U3 X& Q7 B, s% F! y$ P
7 a# f# D7 R3 c+ k7 E% I0 d |
|