智能车制作

标题: 舵机问题 [打印本页]

作者: 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