Practica #5 (Conversor AD, Voltimetro)
-Vamos a utilizar el conversor AD y haremos un voltímetro visualizándolo en la LCD. -El programa se inicia normalmente con todo lo básico, y vamos a usar dos variables tipo float para almacenar los datos leidos por el conversor y almacenar los datos de la conversion: #include <18f2550.h> #use delay(clock=8000000) #define use_portb_lcd true #include <lcd.c> float vleida,voltaje; void main (void) { } -Ahora viene lo nuevo, pero antes iniciamos la LCD: ////////////////////////////////////////////////////////////////// ADC // ADC Functions: SETUP_ADC(), SETUP_ADC_PORTS() (aka SETUP_PORT_A), // SET_ADC_CHANNEL(), READ_ADC() // Constants used for SETUP_ADC() are: #define ADC_OFF 0 // ADC Off #define ADC_CLOCK_DIV_2 0x100 #define ADC_CLOCK_DIV_4 0x04 #define ADC_CLOCK_DIV_8 0x01 #define ADC_CLOCK_DIV_16 0x05 #define ADC_CLOCK_DIV_32 0x02 #define ADC_CLOCK_DIV_64 0x06 #define ADC_CLOCK_INTERNAL 0x07 // Internal 2-6us // Constants used in SETUP_ADC_PORTS() are: #define NO_ANALOGS 0x0F // None #define ALL_ANALOG 0x00 // A0 A1 A2 A3 A5 B2 B3 B1 B4 B0 #define AN0_TO_AN11 0x03 // A0 A1 A2 A3 A5 B2 B3 B1 B4 #define AN0_TO_AN10 0x04 // A0 A1 A2 A3 A5 B2 B3 B1 #define AN0_TO_AN9 0x05 // A0 A1 A2 A3 A5 B2 B3 #define AN0_TO_AN8 0x06 // A0 A1 A2 A3 A5 B2 #define AN0_TO_AN4 0x0A // A0 A1 A2 A3 A5 #define AN0_TO_AN3 0x0B // A0 A1 A2 A3 #define AN0_TO_AN2 0x0C // A0 A1 A2 #define AN0_TO_AN1 0x0D // A0 A1 #define AN0 0x0E // A0 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// #include <18f2550.h> #use delay(clock=8000000) #define use_portb_lcd true #include <lcd.c> float vleida,voltaje;