viernes, 11 de septiembre de 2015

PWM y LCD en PSoc5

El objetivo de este post es mostrar como se puede usar el PSoc 5 lp para leer datos en el ADC e imprimirlos en una pantalla LCD.
La tarjeta de desarrollo que se usará es la CY8C5888LTI-LP097
La primera parte es configurar la sección del TopDesign.cysch, aquí se muestra un esquemático en donde se configura el PWM, el ADC y la pantalla LCD.

Después en la sección de Design01.cydwr se muestra el circuito integrado con los puertos configurables, en este caso pondremos la LCD en el puerto P12[6:0], la entrada analógica en el Pin P0[7] y usaremos el LED de la placa en el Pin P2[1]

Por último se verificará la sección de main.c que es donde se escribirá el código del programa, el código es simple, se declara una variable unsigned char uint de 8 bits, se inicializa el PWM, el ADC y la pantalla LCD, a nuestra variable se le asignará el valor de la lectura del ADC, la cual se escribirá en el PWM, en la siguiente sección se muestra el código comentado.

#include <project.h>
#include <stdio.h>
uint8 i;



int main()
{
   

   ADC_DelSig_1_Start(); // inicializa ADC
   ADC_DelSig_1_StartConvert();  // comienza la converción del ADC

LCD_Char_1_Start(); // se inicializa la pantalla LCD
LCD_Char_1_Position(0,0); // se coloca el cursor en la posición (0,0)
LCD_Char_1_PrintString("ADC"); // se imprime "ADC"


PWM_1_Start(); // se inicializa el PWM
 



   

    /* Place your initialization/startup code here (e.g. MyInst_Start()) */

    for(;;)
    {
     
      i=ADC_DelSig_1_GetResult8(); // se asigna el valor del ADC a la variable
        PWM_1_WriteCompare(i); // se escribe en el PWM
        CyDelay(50);
        LCD_Char_1_Position(0,12);
   LCD_Char_1_PrintNumber(i); // se imrpimie el ADC en la pantalla
       LCD_Char_1_PrintString(" ");
       
        LCD_Char_1_Position(1,12);
         LCD_Char_1_PrintNumber(i/2.55); // se imrpime un porcentaje
         LCD_Char_1_PrintString("% ");
        CyDelay(100);
       
     
      /*  place your application code here. */
   
 
    }
}

/* [] END OF FILE */


aquí se muestra un video, mostrando el resultado de esta práctica.

1 comentario: