Red de conocimiento informático - Espacio del host - Problemas al controlar coches inteligentes con teléfonos móviles: El microcontrolador no responde a los datos transmitidos por Bluetooth

Problemas al controlar coches inteligentes con teléfonos móviles: El microcontrolador no responde a los datos transmitidos por Bluetooth

#include//Archivo de encabezado de declaración

#define uchar definición de macro/char unsigned

#define uint definición de int/macro unsigned

sbit deng=P2^0;//define el pin de control para el pin de control de luces

sbit z=P2^1;//define el pin de control de la señal de giro izquierda

sbit y= P2^2;//Definir el pin de señal de giro derecho

sbit BEEP=P2^3;//Definir el pin del timbre

sbit zuo1=P0^0;// Definir el pin del microcontrolador que controla el motor izquierdo

sbit zuo2=P0^1;//define el pin del microcontrolador que controla el motor izquierdo

sbit you1=P0^2;// define el pin del microcontrolador que controla el motor derecho

sbit you2=P0^3;//definir el pin del microcontrolador que controla el motor derecho

uchar a= 0;//definir una variable a para leer datos del puerto serie

void delay(uint z)//un programa de retardo con parámetros

{

int i,j;/ /define dos variables

for(i=10;i>0;i--)

for(j=z;j& gt;0;j--);// asignar parámetro z a j

}

void init()//subrutina de inicialización

{

TMOD=0x20;//establecer temporizador T1 a modo de trabajo 2

TH1=0xfd;

TL1=0xfd;//T1 Valor inicial de carga del temporizador

TR1=1;//Inicia temporizador T1

REN=1; //Permitir que el puerto serie reciba

SM0=0;

SM1=1;//Configurar el puerto serie para que funcione en modo 1

EA=1;//Habilitar interrupción total

ES=1;//Habilitar interrupción del puerto serie

}

void go( )//subrutina de avance

{

zuo1=0;

zuo2=1;//retraso de avance del revólver

(25) ;//Valor útil de pwm, cuanto más grande sea la rueda izquierda, mayor será la velocidad

zuo1=1;//Cierra la rueda izquierda

you1=0;

you2=1;//La rueda derecha está girando

delay(24);//Pwm valor útil, cuanto mayor sea la dirección correcta, más rápida será la rueda

you1= 1;//Cerrar rueda derecha

retraso(1

00);//pwm no tiene ningún valor útil. Cuanto más grande es, más lento corre el auto

z=1;

y=1; //Apaga la señal de giro

}

void hui()//subrutina para que el carrito vaya hacia atrás

{

zuo1=1;

zuo2=0;// la rueda izquierda invierte

delay(25);//pwm valor inútil, cuanto más grande es la rueda de dirección izquierda, más rápida

zuo2=1;//apagar rueda izquierda

you1=1;

you2=0; //la rueda derecha está invertida

delay(24);//pwm valor útil, mayor la rueda derecha es la más rápida

you2=1;//apaga la rueda derecha

delay(100); //pwm valor no válido, cuanto mayor es, más lento corre el auto.

z=1;

y=1;//Apaga la señal de giro

}

void turnleft()// Subrutina para girar el coche hacia la izquierda

{

zuo1=1;

zuo2=1;//La rueda izquierda deja de girar

you1=0;

you2=1; //La rueda derecha gira

delay(24);//pwm valor útil, cuanto más grande es la rueda derecha, más rápido va

you1=1; //La rueda derecha se detiene

delay(100);//pwm es inútil, cuanto mayor sea el valor, más lento irá el coche

z=1;

y=1;// Apaga la señal de giro

z=~z;//Enciende la señal de giro a la izquierda

}

void turnright()//subrutina de giro del carrito a la derecha

{

zuo1=0;