Answered step by step
Verified Expert Solution
Question
1 Approved Answer
contiene errores nbproject/tetragramaton.c:37:5: error: uso del identificador no declarado 'TRISD' TRISD = 0x00; // Establecer PORTD como salida ^ nbproject/tetragramaton.c:71:5: error: uso de identificador no
contiene errores nbproject/tetragramaton.c:37:5: error: uso del identificador no declarado 'TRISD' TRISD = 0x00; // Establecer PORTD como salida ^ nbproject/tetragramaton.c:71:5: error: uso de identificador no declarado 'PORTD' PORTD = cmd; // Enviar comando a PORTD ^ nbproject/tetragramaton.c:73:5: error: uso de identificador no declarado 'RS' RS = 0; // Seleccionar registro de comando ^ nbproject/tetragramaton.c:74:5: error: uso de identificador no declarado 'RW' RW = 0; // Operacin de escritura ^ nbproject/tetragramaton.c:75:5: error: uso de identificador no declarado 'E' E = 1; ^ nbproject/tetragramaton.c:82:5: error: uso de identificador no declarado '_XTAL_FREQ' __delay_ms(4); // Retraso para la ejecucin del comando ^ C:/Program Files/Microchip/MPLABX/v6.05/packs/Microchip/PIC16Fxxx_DFP/1.3.42/xc8\pic\include\builtins.h:22:51: nota: ampliado desde macro '__delay_ms' #define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0))) ^ nbproject/tetragramaton.c:83:5: error: uso de identificador no declarado 'E' E = 0 ; // Deshabilitar LCD ^ nbproject/tetragramaton.c:85:5: error: uso de identificador no declarado '_XTAL_FREQ' __delay_ms(1); // Retraso para la ejecucin del comando ^ C:/Program Files/Microchip/MPLABX/v6.05/packs/Microchip/PIC16Fxxx_DFP/1.3.42/xc8\pic\include\builtins.h:22:51: nota: ampliado desde macro '__delay_ms' #define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0))) ^ nbproject/tetragramaton.c:90:5: error: uso de identificador no declarado 'PORTD' PORTD = datos ; // Enviar datos a PORTD ^ nbproject/tetragramaton.c:92:5: error: uso de identificador no declarado 'RS' RS = 1; // Seleccionar registro de datos ^ nbproject/tetragramaton.c:93:5: error: uso de identificador no declarado 'RW' RW = 0; // Operacin de escritura ^ nbproject/tetragramaton.c:94:5: error: uso de identificador no declarado 'E' E = 1; // Habilitar LCD ^ nbproject/tetragramaton.c:96:5: error: uso de identificador no declarado '_XTAL_FREQ' __delay_us(40); // Retraso para la escritura de datos ^ C:/Program Files/Microchip/MPLABX/v6.05/packs/Microchip/PIC16Fxxx_DFP/1.3.42/xc8\pic\include\builtins.h:21:51: nota: ampliado desde macro '__delay_us' #define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0))) ^ nbproject/tetragramaton.c:97:5: error: uso de identificador no declarado 'E' E = 0 ; // Deshabilitar LCD ^ nbproject/tetragramaton.c:99:5: error: uso de identificador no declarado '_XTAL_FREQ' __delay_us(1); // Retraso para la escritura de datos ^ C:/Program Files/Microchip/MPLABX/v6.05/packs/Microchip/PIC16Fxxx_DFP/1.3.42/xc8\pic\include\builtins.h:21:51: nota: ampliado desde macro '__delay_us' #define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0))) ^ make[2]: *** [build/default/production/nbproject/tetragramaton.p1] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 nbproject/tetragramaton.c:116:5: error: uso de identificador no declarado '_XTAL_FREQ' __delay_ms (2); // Retraso para la ejecucin del comando ^ C:/Program Files/Microchip/MPLABX/v6.05/packs/Microchip/PIC16Fxxx_DFP/1.3.42/xc8\pic\include\builtins.h:22:51: nota: ampliado desde macro '__delay_ms' #define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0))) ^ nbproject/tetragramaton.c:142:41: advertencia: la conversin implcita cambia la firma: 'int' a ' int sin signo' [-Wsign-conversion] resultado int sin signo = (ADRESH << 8) + ADRESL; // Combine ADRESH y ADRESL para obtener el resultado de 10 bits ~~~~~~ ~~~~~~~~~~~~~~^~~~~~~~ 1 advertencia y 16 errores generados. (908) estado de salida = 1 nbproject/Makefile-default.mk:101: la receta para el objetivo 'build/default/production/nbproject/tetragramaton.p1' fall make[2]: abandonando el directorio 'C:/Users/jhonn/MPLABXProjects /adc.X' nbproject/Makefile-default.mk:85: receta para el objetivo '.build-conf' fall make[1]: Saliendo del directorio 'C:/Users/jhonn/MPLABXProjects/adc.X' nbproject/Makefile- impl.mk:39: la receta para el objetivo '.build-impl' fall. FALL LA CONSTRUCCIN (valor de salida 2, tiempo total: 123 ms)
#incluir
#incluir
// bits de configuracin
#pragma config FOSC = HS // Bits de seleccin de oscilador (oscilador HS)
#pragma config WDTE = OFF // Bit de habilitacin del temporizador de vigilancia (WDT deshabilitado)
#pragma config PWRTE = OFF // Bit de habilitacin del temporizador de encendido (PWRT deshabilitado)
#pragma config BOREN = ON // Bit de habilitacin de reinicio de cada (BOR habilitado)
#pragma config LVP = OFF // Bit de habilitacin de programacin en serie en circuito de bajo voltaje (suministro nico) (RB3 es E/S digital, se debe usar HV en MCLR para la programacin)
// prototipos de funciones
anular ADC_Init();
anular LCD_Init();
void LCD_Command (cmd de carcter sin firmar);
void LCD_Char (datos de caracteres sin firmar);
void LCD_String(const char* cadena);
anular LCD_Clear();
void LCD_SetCursor (fila de caracteres sin firmar, columna de caracteres sin firmar);
void ADC_Read (canal de caracteres sin firmar);
// Variables globales
char ADC_Result[5];
vaco principal()
{
TRISA = 0xFF; // Establecer PORTA como entrada
TRISD = 0x00; // Establecer PORTD como salida
ADC_Init(); // Inicializa el mdulo ADC
LCD_Init(); // Inicializa el mdulo LCD
LCD_Clear(); // Pantalla LCD clara
mientras (1)
{
ADC_Read(0); // Leer valor analgico de AN0
LCD_SetCursor(1, 1); // Establece el cursor en la primera fila, primera columna
LCD_String("Valor analgico: ");
LCD_String(ADC_Resultado);
}
}
anular ADC_Init()
{
ADCON0 = 0b00000001; //Selecciona el canal 0 y habilita el mdulo ADC
ADCON1 = 0b00001110; // Resultado justificado a la derecha, Vref+ = Vdd, Vref- = Vss
}
anular LCD_Init()
{
LCD_Command(0x38); // 2 lneas, matriz de 5x7
LCD_Command(0x0C); // Pantalla encendida, cursor apagado
LCD_Command(0x01); // Borrar pantalla
LCD_Command(0x06); // incrementa el cursor
LCD_Command(0x80); // Establece la posicin del cursor en la primera fila, primera columna
}
anular LCD_Command (cmd de carcter sin firmar)
{
PUERTO = cmd; //Enviar comando a PORTD
RS = 0; //Selecciona el registro de comando
LE = 0; // operacin de escritura
mi = 1;
__delay_ms(4); // Retraso en la ejecucin del comando
mi = 0; // Desactivar LCD
__delay_ms(1); // Retraso en la ejecucin del comando
}
void LCD_Char (datos de caracteres sin firmar)
{
PORTD = datos; //Enviar datos a PORTD
RS = 1; //Seleccionar registro de datos
LE = 0; // operacin de escritura
mi = 1; // Habilitar pantalla LCD
__delay_us(40); // Retraso para escritura de datos
mi = 0; // Desactivar LCD
__delay_us(1); // Retraso para escritura de datos
}
void LCD_String(const char* cadena)
{
int yo = 0;
mientras (cadena[i]!= '\0')
{
LCD_Char(cadena[i]);
yo ++;
}
}
anular LCD_Clear()
{
LCD_Command(0x01); // Borrar comando de visualizacin
__delay_ms(2); // Retraso en la ejecucin del comando
}
void LCD_SetCursor (fila de caracteres sin firmar, columna de caracteres sin firmar)
{
cmd de carcter sin firmar;
si (fila == 1)
{
cmd = 0x80 + columna - 1; // Comando para colocar el cursor en la primera fila
}
de lo contrario si (fila == 2)
{
cmd = 0xC0 + columna - 1; // Comando para colocar el cursor en la segunda fila
}
LCD_Command(cmd); // Enviar comando para establecer la posicin del cursor
}
void ADC_Read (canal de caracteres sin firmar)
{
ADCON0bits.CHS = canal; //Selecciona el canal ADC
ADCON0bits.GO = 1; // Iniciar la conversin ADC
mientras (ADCON0bits.GO); // Espera a que se complete la conversin
resultado int sin signo = (ADRESH << 8) + ADRESL; // Combina ADRESH y ADRESL para obtener el resultado de 10 bits
sprintf(ADC_Result, "%d", resultado); //Convierte el resultado en una cadena
}
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started