Anda di halaman 1dari 7

Instituto Tecnolgico de Lerma

Ing. Mecatrnica
Balzarc

Comunicacin virtual COM
Cuando tenemos la necesidad de realizar un proyecto entre dos aplicaciones hardware - software
y no tenemos medio de comunicacin serial COM. Para les presento una solucin:
Presento la herramienta COMPIN de proteus isis una potente herramienta de simulacin virtual
para comunicacin serial rs232.


y hypertemina , como medio de comunicacin serial (puede ser cualquier programa que tenga
este tipo de comunicacin).
Ms informacin visita: http://perso.wanadoo.es/pictob/rs232virtual.htm

Aqu un pequeo ejemplo: Prueba 1
Realizaremos un circuito donde el microcontrolador en esta ocasin es 18f 4550 leer y enviar la
informacin del ADC0 que se encuentra en el Pin_A0, primera modalidad con un botn de usuario
Pin_b0 como se aprecia en la imagen siguiente.
Programa con desarrollado en CCS compiler v6.65 prueba 1
/////////////////////////////////////////////////////////
/// Balzarc ////
/// publicacion forma general ////
/// ing. BALTAZAR DE JESUS ZAPATA ARCEO ////
/// enva por botn
#include <18F4550.h>
#DEVICE ADC=10 /// RESOLUCION DEL ADC 1024
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN,MCLR
#use delay(clock=48000000)

////////serial////////////
#use rs232(baud=9600, xmit=PIN_C6,rcv=PIN_C7,PARITY=N) ///si se quiere utilizar comunicacion
serial habilitar
Instituto Tecnolgico de Lerma
Ing. Mecatrnica
Balzarc


int16 sen1;
// funciones ////

void lee_adc(){// funcion de lectura para el adc
set_adc_channel(0);// canal de lectura adc0 (pin an0)
delay_us(10);
sen1 = read_adc();
}
void main() {
/// Configuracion Embebida ////
setup_adc_ports(AN0); ///ACTIVA ADC
setup_adc(ADC_CLOCK_DIV_64);
setup_wdt(WDT_OFF);
setup_timer_0(RTCC_8_BIT|RTCC_DIV_128);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_timer_3(T3_DISABLED|T3_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
for(;;){
///////////poner programa desde aqui////////////
if(input(pin_b0)){/// si el usuario quiere mandar la informacion por serial(manualmente)
lee_adc();
printf("\f"); // limpia
printf("F%Lu",sen1);// envia la variable del sen1 valor del adc y F de inicializacion
delay_ms(200);
//////////fin de programa///////
}
}
}










Instituto Tecnolgico de Lerma
Ing. Mecatrnica
Balzarc

Circuito propuesto cargamos el programa a nuestro pic con la directiva COF.


La informacin del ADC0 se mostrar en la pantalla de hyperterminal.
Instalamos virtual serial port Driver 7.1 y ejecutamos el software, damos clic en add pair. Aqu se
genera la terminales virtuales de comunicacin bidireccional (en mi caso COM2 y COM4)

Instituto Tecnolgico de Lerma
Ing. Mecatrnica
Balzarc


Podemos colaborar esto abriendo administrador de dispositivo, observamos el trabajo de virtual
serial port genera la comunicacin bidireccional entre COM2 y COM4.

Iniciamos con la configuracin hyperteminal (previamente instalado)

Colocamos nombre y damos click en OK
Instituto Tecnolgico de Lerma
Ing. Mecatrnica
Balzarc


Este momento es importante ya que aqu seleccionamos el primer puerto de comunicacin virtual
puede ser cualquiera de los dos que gener el programa virtual serial port.
Seleccionamos los bits por segundos: 9600, seguidamente clic en aceptar


Instituto Tecnolgico de Lerma
Ing. Mecatrnica
Balzarc

Ahora pasaremos a configurar cada una de las terminales que usaremos, primero el COMPIM de
proteus isis. Daremos doble click sobre el elemento COMPIM de nuestro circuito en proteus.
Configuracin de COMPIM. Colocamos el COM2 y los baud 9600 physical y virtual.

Realizado esto podemos comenzar con la primera prueba, hyperterminal est a la espera de la
llegada de cualquier carcter (importante si no se visualiza las letras tendrn que activar el echo
del mismo).
Iniciamos la simulacin en proteus y cmo podemos ver tiene una terminal virtual que tambin
rastrea lo que estamos enviando por el puerto serial, esto se ve en la siguiente imagen.
Instituto Tecnolgico de Lerma
Ing. Mecatrnica
Balzarc


Notamos que los valores estn en la comunicacin.

Anda mungkin juga menyukai