ADC y LCD en ‘C’



Este programa puede mostrar en un display LCD el valor del voltaje medido mediante el periférico ADC que tiene el PIC18F4550.
  • Código:
#include <clase5.h>
//incluye los pines del LCD
#define LCD_ENABLE_PIN PIN_D0
#define LCD_RS_PIN PIN_D1
#define LCD_RW_PIN PIN_D2
#define LCD_DATA4 PIN_D4
#define LCD_DATA5 PIN_D5
#define LCD_DATA6 PIN_D6
#define LCD_DATA7 PIN_D7
#include <lcd.c>  //incializa el LCD, ver arcvhi lcd.c para comandos para usar LCD
float valor;  //ocupa 2 byte
float valorn;
void main()
{
   setup_adc_ports(AN0);
   setup_adc(ADC_CLOCK_INTERNAL|ADC_TAD_MUL_0);
   lcd_init(); //iniciar lcd
   //los comandos ya hacen los tiempos por la funcion
   lcd_gotoxy(7,1); //cursor se posiciona en col 5 linea 1
   lcd_putc('M'); //envia caracter M al LCD
   lcd_putc('S');
   lcd_putc('L');
   lcd_putc('A');
  
   //lcd_set_cgram_char(0,mi);   comando para caracter
   while(TRUE)
   {
      valor=read_adc(); //lectura al adc, lectura canal 0, valores del 000 al 3FF
      //buscar en built in fuctions printf
      //para mostrar un valor con formato en especifico
      valorn=((5*valor)/1023);
      lcd_gotoxy(3,2);
      //ejemplo para que ponga: valor=0033
      printf(LCD_PUTC, "volts=%0.3g", valorn); //mostrara el valor con 4 cifras en hexadecial 
      //lcd_gotoxy(1,1);
      //printf(lcd_putc,"%c",0);    instrucciones para imprimir caracter
      //delay_ms(5000);
     
   }
}

  • Simulación en proteus:

  • Armado y ejecución:


No hay comentarios:

Publicar un comentario

Ultima entrada ingresada

SISTEMA DE RIEGO AUTOMÁTICO CON MÚSICA

El objetivo era hacer un programa que pueda activar una bomba de agua en la noche, y que por las mañanas reproduzca música para las plantas....