Red de conocimiento informático - Conocimiento de la instalación - 51. El programa C para la comunicación mutua entre el microcontrolador y la computadora requiere que los datos se envíen a través de la computadora, y luego el microcontrolador recibe los datos y a su vez los envía a la computadora. Gracias.

51. El programa C para la comunicación mutua entre el microcontrolador y la computadora requiere que los datos se envíen a través de la computadora, y luego el microcontrolador recibe los datos y a su vez los envía a la computadora. Gracias.

Se recomienda que el cartel busque "51 Tutorial de innovación en lenguaje C de microcontrolador" Wen Ziqi et al., Prensa de la Universidad de Aeronáutica y Astronáutica de Beijing.

El código fuente proviene de: "51 Microcontroller C Language Innovation Tutorial" compilado por Wen Ziqi y otros

/*Nombre del experimento: experimento de envío y recepción de datos por puerto serie

*Instrucciones: En el experimento de usar el puerto serie del microcontrolador para recibir datos,

¿Qué datos se envían usando el asistente de depuración del puerto serie?

El microcontrolador utiliza el método de consulta para transmitir los datos recibidos a la PC

*Autor: Wen Ziqi: Wen Ziqi

*Fecha de revisión: 2010/5/4

Código fuente transferido de: "Tutorial de innovación en lenguaje C del microcontrolador 51" Beijing Aerospace and Aviation Press.

4/5/2010

*/

#include "stc.h"//cargar "stc.h"

/****** ***********************************

*Nombre de función:UARTInit

*Entrada.Ninguna

*Salida: Ninguna

*Función: Inicialización del puerto serie

********** ****** *******************************/

void UARTInit(void) //Definir la función de inicialización del puerto serie

{

SCON =0x50; //Bits de datos de 8 bits, recepción permitida

T2CON=0x34;

RCAP2L= 0xD9; //Los 8 bits inferiores de la velocidad de 9600 baudios

RCAP2H=0xFF //Los 8 bits superiores de la velocidad de 9600 baudios

} <

/ ******************************************* *

* Nombre de la función :UARTSendByte

*Entrada: Byte Byte a enviar

*Salida: Ninguna

*Función: Puerto serie envía un solo byte

****************************************** **/

void UARTSendByte(unsigned char byte)//definir la función de envío de datos del puerto serie

{

SBUF=byte; to be SBUF=byte; //Búfer cargado con bytes para enviar

while(TI==0); //Esperando que se complete el envío, el bit de bandera TI se establecerá en 1

TI= 0; //Borrar el indicador de finalización de envío

}

/******************* ********* ****************

*Nombre de función: principal

*Entrada: Ninguna

*Salida: Ninguna

*Función: Cuerpo de la función

************************ ************ **********/

void main(void) //Función principal

{

unsigned char recv; //Declarar variables recv

UARTInit(); //Inicialización del puerto serie

while(1) //Ingresar un bucle infinito

{

if (RI) //Detecta el indicador de finalización de recepción en la posición 1

{

RI=0; indicador de finalización en la posición 1

{

RI=0; // Borra el indicador de finalización de recepción

recv=SBUF // Lee los datos recibidos

recv=SBUF; p>

UARTSendByte(recv); // Devuelve los datos recibidos

}

}

}

}