小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 11599|回复: 7

703N+51单片机做的小车

[复制链接]
发表于 2017-6-6 12:39:42 | 显示全部楼层 |阅读模式
最近做了一个下车,用的703n路由器,刷了openwrt,里面有ser2net软件包
我的下位机代码是找的 不知道io口和电机驱动怎么接 问了一下别人  说是p1.0  接 in1  p1.1  接 in3  p1.2  接 in2  p1.3  接 in4
用上位机点前进后退一点反应都没有  
但是我测试了一下  不接路由器  直接接到单片机能转动
求各位老哥帮帮忙,分析一下我的问题,如果有下位机和上位机源码的并且做成功的,求发我一份 ,谢过!




下面是我的下位机代码  
#include<reg52.h>
#include<math.h>
#define uchar unsigned char
#define uint unsigned int
uchar Buffer[4] = {0};      //从串口接收的数据
uint i,j;
sbit LeftLight=P2^1;
sbit RightLight=P2^2;

void Delay_1ms(uint i)//1ms延时
{
        uchar x,j;
        for(j=0;j<i;j++)
        for(x=0;x<=148;x++);       
}

void Com_Int(void) interrupt 4
{
       
        EA = 0;
        if(RI == 1)   //当硬件接收到一个数据时,RI会置位
        {
                Buffer[0] = SBUF - 48; //这里减去48是因为从电脑中发送过来的数据是ASCII码。
                RI = 0;  
               
        }
        EA = 1;
}


void Com_Init(void)
{
     TMOD = 0x20;
     PCON = 0x00;
     SCON = 0x50;                       
     TH1 = 0xFd;    //设置波特率 9600
     TL1 = 0xFd;
     TR1 = 1;                //启动定时器1
         ES = 1;                //开串口中断
         EA = 1;                //开总中断               
}
/********************************************************************
* 名称 :Moto_Forward()
* 功能 : 电机1、2启动,都是前进,整车表现为前进。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Moto_Forward()
{  

           P1= 0x06;

   Delay_1ms(100);

}

/********************************************************************
* 名称 :Moto_Backward()
* 功能 : 电机1、2启动,都是后退,整车表现为后退。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Moto_Backward()
{

    P1= 0x05;
         Delay_1ms(100);
}

/********************************************************************
* 名称 :Moto_TurnLeft()
* 功能 : 电机1后退,电机2前进,整车表现为左转。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Moto_TurnLeft()
{         
          P1= 0x09;
         Delay_1ms(100);
}
/********************************************************************
* 名称 :Moto_TurnRight()
* 功能 : 电机1前进,电机2后退,整车表现为右转。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Moto_TurnRight()
{         
         P1= 0x0A;
         
         Delay_1ms(100);
}
/********************************************************************
* 名称 :Moto_Stop()
* 功能 : 电机1停止,电机2停止,整车表现为停止。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void Moto_Stop()
{         
         
          P1= 0x00;
   Delay_1ms(100);
}
/********************************************************************
* 名称 ightTurnOn()
* 功能 : 打开车灯。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void LightTurnOn()
{         
         
           
   LeftLight=0;   
   RightLight=0;
       
}

/********************************************************************
* 名称 ightTurnOff()
* 功能 : 关闭车灯。
* 输入 : 无
* 输出 : 无
***********************************************************************/
void LightTurnOff()
{         
         
   LeftLight=1;   
   RightLight=1;
       
}
void main()
{
    Delay_1ms(100);
        Com_Init();//串口初始化


  while(1)
  {
         switch(Buffer[0])
           {
             case 0:  Moto_Stop(); break;
                    case 1:  Moto_Forward(); break;
                 case 2:  Moto_Backward();        break;
                 case 3:  Moto_TurnLeft();         break;
                 case 4:  Moto_TurnRight();          break;
                 case 8:  LightTurnOn();  break;
                 case 9:  LightTurnOff();  break;
                 default:break;         
           }
          
  }
}




这是我自己画的简单的电路图

这是我自己画的简单的电路图

这个是路由器的ser2net软件包

这个是路由器的ser2net软件包
回复

使用道具 举报

发表于 2017-6-6 15:01:20 | 显示全部楼层
你的控制APP是怎样的?这个代码用的是ASCII字符控制,控制软件发送的命令必须要和这个下位机对应起来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-6 21:45:26 | 显示全部楼层
liuviking 发表于 2017-6-6 15:01
你的控制APP是怎样的?这个代码用的是ASCII字符控制,控制软件发送的命令必须要和这个下位机对应起来。

大神  我能加一下你的qq吗   或者你加我的  qq373014368
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-6-6 22:21:11 | 显示全部楼层
liuviking 发表于 2017-6-6 15:01
你的控制APP是怎样的?这个代码用的是ASCII字符控制,控制软件发送的命令必须要和这个下位机对应起来。

版主,论坛里有这样的上位机吗?求告知
回复 支持 反对

使用道具 举报

发表于 2017-6-7 10:51:26 | 显示全部楼层
zgg373014368 发表于 2017-6-6 22:21
版主,论坛里有这样的上位机吗?求告知

单字符的没有了,不实用,很早就淘汰了。
回复 支持 反对

使用道具 举报

发表于 2017-8-3 17:12:27 | 显示全部楼层
你用充电宝做电源是不行的,换电源吧
回复 支持 反对

使用道具 举报

发表于 2017-9-5 09:29:01 | 显示全部楼层
上位机发的是什么首先你得清楚,然后你得知道串口接收到什么
回复 支持 反对

使用道具 举报

发表于 2017-10-8 22:32:12 | 显示全部楼层
先把上位机发射的代码搞清楚呀
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-22 18:12 , Processed in 1.169717 second(s), 27 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

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