• 大小: 5KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: 其他
  • 标签: ESP8266  

资源简介

遥控小车的源代码,供学习和实践使用,有少许代码注释

资源截图

代码片段和文件信息

#include“reg52.h“
#include //???????????????????
#include
typedef unsigned int u16;   //对数据类型进行声明定义
typedef unsigned char u8;

#define b 1
#define w 0
#define pwm_full 100


/**** 电机控制引脚 ****/
sbit ma1=P2^0;
sbit ma2=P2^1;
sbit mb1=P2^2;
sbit mb2=P2^3;
sbit mc1=P2^4;
sbit mc2=P2^5;
sbit md1=P2^6;
sbit md2=P2^7;

/***  电机PWM调速引脚****/
sbit ENRU=P1^4;
sbit ENRB=P1^5;
sbit ENLU=P1^6;
sbit ENLB=P1^7;


/**************     AT指令集字符串      ****************/
u8 *at_str1=“AT+CWMODE=2\r\n“;
u8 *at_str2=“AT+RST\r\n“;
u8 *at_str3=“AT+CWSAP=\“Graduate2018\“\“12345678\“114\r\n“;
u8 *at_str4=“AT+CIPMUX=1\r\n“;
u8 *at_str5=“AT+CIPSERVER=16060\r\n“;


u8 recvuart[40]={0}; 
u8 i=0j=0;
u8 pwm_lkpwm_rk;
static u8 l=0;

void delay(u16 i);
void delay1s();

void remote_up();
void remote_down();
void remote_left();
void remote_right();
void stop();
void initial();
void AT_initial();
void clean();
void control();
void mmain();


void mode1()
{
clean();
//if((uart[0]==‘+‘)||(uart[1]==‘+‘))
//control();
mmain();
}




/**************     延迟函数     ****************/
void delay(u16 a)//延迟(1*a)ms
{
u8 xy;
while(a--)
{
//unsigned char ab;
for(y=102;y>0;y--){
for(x=3;x>0;x--);
}
}
}

void delay1s()   //延迟1S误差 -0.00000000024us
{
    unsigned char xyc;
    for(c=95;c>0;c--)
        for(y=26;y>0;y--)
            for(x=185;x>0;x--);
}

/**************     串口发送指令      ****************/

void send_uart_string(u8 *s)  //通过单片机串口给wifi模块发送AT指令配置wifi
{
while(*s!=‘\0‘)
{
SBUF =*s;
while(!TI);
TI=0;
s++;
}
}

void send_char(u8 ch)
{
SBUF=ch;
while(!TI);
TI=0;
}

void clean()
{
u8 l;
for(l=0;l uart[l]=‘ ‘;
}

/*****    小车控制函数        *****/
void remote_up()
{
ENRU=1;ENRB=1;ENLU=1;ENLB=1;
ma1=1;ma2=0; mb1=1;mb2=0;
mc1=1;mc2=0; md1=1;md2=0;
}

void remote_down()
{
ENRU=1;ENRB=1;ENLU=1;ENLB=1;
ma1=0;ma2=1; mb1=0;mb2=1;
mc1=0;mc2=1; md1=0;md2=1;
}


void remote_left()
{
ENRU=1;ENRB=1;ENLU=1;ENLB=1;
ma1=1;ma2=0; mb1=1;mb2=0;
mc1=0;mc2=1; md1=0;md2=1;
}

void remote_right()
{
ENRU=1;ENRB=1;ENLU=1;ENLB=1;
ma1=0;ma2=1; mb1=0;mb2=1;
mc1=1;mc2=0; md1=1;md2=0;
}

void remote_stop()
{
ENRU=0;ENRB=0;ENLU=0;ENLB=0;
ma1=1;ma2=0; mb1=1;mb2=0;
mc1=1;mc2=0; md1=1;md2=0;
}




void turn_left()
{
pwm_lk=20;pwm_rk=65;
ma1=1;ma2=0;mb1=1;mb2=0;
mc1=0;mc2=1;md1=0;md2=1;
}
void turn_full_left()
{
pwm_lk=35;pwm_rk=65;
ma1=1;ma2=0;mb1=1;mb2=0;
mc1=0;mc2=1;md1=0;md2=1;
}

void turn_right()
{
pwm_lk=65;p

评论

共有 条评论