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
//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;
float valor; //ocupa 2 byte
float valorn;
void main()
{
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL|ADC_TAD_MUL_0);
{
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
//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
{
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);
}
//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