Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Configurar LCD
Entradas: El puerto A que ingresa la seal del potencimetro. Datos que se guardan en el microcontrolador Variables de almacenamiento de datos por el puerto USB Procesos: Configuro el puerto USB Configuro el LCD en el puerto B Leo la seal del potencimetro. Transformo la seal y la envo al LCD y a la pantalla.
void main(void) { byte dato; byte voltaje; // variable deonde se guardaran los comandos enviados por la pc //variable donde se guardara el valor de voltaje analogico leido por el PIC //Configura puerto B 1= entrada 0= salida //Configura puerto C 1= entrada 0= salida
set_tris_b(0b11101110); set_tris_c(0b11111111);
setup_adc_ports(AN0); //configuracion indiuvidual de canales ADC setup_adc( ADC_CLOCK_INTERNAL ); lcd_init(); //inicializa lcd usb_cdc_init(); // Configuramos al puerto virtual. usb_init(); // Inicializamos el stack USB. while(!usb_cdc_connected()) {} // espera a detectar una transmisin de la PC (Set_Line_Coding) usb_task(); while (!usb_enumerated()){}
//----------------------------rutina principal ---------------------------do{ dato=usb_cdc_getc(); switch(dato) { //espera a recibir un datos por el puerto cdc_usb // compara el dato para ejecutar accion //cambia de estado el puerto B0
case 'c': if(input(PIN_C2)==0) //compara el estado del puerto C2, si esta en bajo { //envia caracter 1 hacia la pc por el puerto cdc_usb printf(usb_cdc_putc,"1"); } else //si esta en alto { //envia caracter 2 hacia la pc por el puerto cdc_usb printf(usb_cdc_putc,"2");
} break; case 'd': set_adc_channel( 0 ); //conversion analogica por canal 0 delay_ms(100); //tiempo de espera para conversion de ADC voltaje = read_adc(); //lee voltaje analogico en puerto A0 printf(usb_cdc_putc,"%c",voltaje); //envia valor expresado en 1 byte del voltaje analogico hacia la pc por el puerto cdc_usb delay_ms(500); printf(lcd_putc,"\f Valor=%u",voltaje); //Imprime valor numrico delay_ms(500);
break;
La imagen anterior es la interfaz con la que el usuario interacta y est hecha en ambiente LabVIEW