No puedo pasar programa adc en pic18f2550

Hola a todos. El programa en MPLAB C18 y en el proteus funciona bien. Pero lo quiero cargar en el grabador PYD K150.
El programa es el siguiente:

Código:
// LIBRERIAS
#include <p18f2550.h>
#include <delays.h> //Libreria de demoras
// #include <xlcd.h> //Libreria para pantalla lcd
#include <stdlib.h> //Libreria para conversiones.
#include <adc.h> //Libreria anologico-digital
#include <lcd.h> //nueva libreria de xlcd

// CONFIGURACION DE FUSES

#pragma config FOSC = XT_XT,FCMEN = OFF,IESO = OFF, CPUDIV = OSC1_PLL2
#pragma config PWRT = ON,BOR = OFF,BORV = 0
#pragma config WDT = OFF,WDTPS = 32768
#pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = OFF
#pragma config STVREN = OFF,LVP = OFF,XINST = OFF
#pragma config CP0 = ON,CP1 = ON,CP2 = ON
#pragma config CPB = ON,CPD = ON
#pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON
#pragma config WRTB = ON,WRTC = ON,WRTD = ON
#pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON
#pragma config EBTRB = ON




//PROGRAMA

/*COnfiguracion de demoras del LCD*/
void DelayFor18TCY(void){
     Delay10TCYx(2); //Dato original 2
}
void DelayPORXLCD(void){
     Delay1KTCYx(15); //Dato original 15
}
void DelayXLCD(void){
     Delay1KTCYx(2); //Dato original 2
}

// Envia comando al LCD
void comandXLCD(unsigned char a){
     BusyXLCD();
     WriteCmdXLCD(a);
}
// Ubica cursor en (x = Posicion en linea, y = nº de linea)
void gotoxyXLCD(unsigned char x, unsigned char y){
     unsigned char direccion;

     if(y != 1)
         direccion = 0x40;
     else
         direccion=0;

     direccion += x-1;
     comandXLCD(0x80 | direccion);
}



void main(void){
     unsigned int Canal0, Canal1;
     char String[6];

 

     OpenXLCD(FOUR_BIT & LINES_5X7);     // Iniciamos LCD.-
        comandXLCD(0x06); // Nos aseguramos incremento de direccion, display fijo
    comandXLCD(0x0C); // Encendemos LCD.-
        putrsXLCD("Hola seba");
        Delay10KTCYx(100);

     OpenADC(ADC_FOSC_RC & ADC_RIGHT_JUST & ADC_2_TAD, ADC_REF_VDD_VSS & ADC_INT_OFF & ADC_CH0 & ADC_CH1, ADC_2ANA);
         while(1){ //Bucle infinito
         comandXLCD(0x01); //Borral pantalla y vuelve al origen             // Borra pantalla y vuelve al origen.-
               putrsXLCD("Presionar boton");

         while(PORTAbits.RA2==1){}     // Espero a que se accione el pulsador.-
         SetChanADC(ADC_CH0);     // Selecciono canal a convertir.-
         //Delay10TCYx(1);     // 10us para que se cargue el  capacitor sample&hold  (Solo cuando se selecciona ADC_0_TAD).-
         ConvertADC();         // Comienza conversión.-
         while(BusyADC()==1){}     // Hasta que se finalice conversión.-
         Canal0= ReadADC();     // Realizo lectura.-
         SetChanADC(ADC_CH1);     // Selecciono canal a convertir.-
         //Delay10TCYx(1);     // 10us para que se cargue el  capacitor sample&hold  (Solo cuando se selecciona ADC_0_TAD).-
         ConvertADC();         // Comienza conversión.-
               while(BusyADC()==1){}     // Hasta que se finalice conversión.-
         Canal1= ReadADC();     // Realizo lectura.-
         comandXLCD(0x01);             // Borra pantalla y vuelve al origen.-
         putrsXLCD( "Canal 0 = " );
         itoa(Canal0, String);         // Convertimos entero a string.-
         putsXLCD(String);
         gotoxyXLCD(1,2);
         putrsXLCD( "Canal 1 = " );
         itoa(Canal1, String);         // Convertimos entero a string.-
         putsXLCD(String);
         Delay10KTCYx(100);
     }
}

Ahhh.... El error que tira el grabador PYD k150 es:

Error in HEX file - FUSE
Line: 120
:0100000000FF
 
Última edición por un moderador:
Atrás
Arriba