智能车制作
标题:
舵机问题
[打印本页]
作者:
626962975@qq.co
时间:
2013-10-19 21:20
标题:
舵机问题
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char;
sbit pwm=P1^2;
uint duoji,a;
uchar xj;
void time_init() //初值
{
TMOD=0x01;
TH0=(65536-50)/256;
TL0=(65536-50)%256;
EA=1;
ET0=1;
TR0=1;
}
void time0_int() interrupt 1 //中断1
{
TH0=(65536-50)/256;
TL0=(65536-50)%256;
a++;
if(a<=duoji)
{
pwm=1;
}
else
pwm=0;
if(a>=400)
{
a=0;
}
}
void xunji()
{
switch(xj)
{
case 0x80:duoji=29;
break;
case 0x40:duoji=28;
break;
case 0x20:duoji=27;
break;
case 0x02:duoji=31;
break;
case 0x04:duoji=32;
break;
case 0x08:duoji=33;
break;
}
}
void main()
{
time_init();
duoji=30;
P2=0xff;
xj=P2;
while(1)
{
xunji();
}
}
求大神,看看我这个51的程序。
我说一下问题:
我上电后 舵机打正,然后在就不动了。我的传感器也能踩到高低电平。
我不知道 原因了 。。。
帮忙看看
作者:
轮舞~魂
时间:
2013-10-19 21:31
变量 xj 只赋了一次。。。
while(1)
{
xj=P2;
xunji();
}这样改一下就对了
作者:
626962975@qq.co
时间:
2013-10-19 22:05
轮舞~魂 发表于 2013-10-19 21:31
变量 xj 只赋了一次。。。
while(1)
{
不行呀!大神,,,还是一上电就打正在就不动了
作者:
零距离
时间:
2013-10-19 22:41
P2是干嘛的??还有xj只赋值了一次么。
作者:
626962975@qq.co
时间:
2013-10-19 22:55
零距离 发表于 2013-10-19 22:41
P2是干嘛的??还有xj只赋值了一次么。
解决了。是P2的赋值出了错
作者:
零距离
时间:
2013-10-19 23:54
呵呵
作者:
中华旺仔
时间:
2013-10-21 22:48
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2