Hola lo que pasa es que he tenimo un gran problema a la hora de quemar un PIC18F4520 no ha andado bien.
lo que pasa es que meti el circuito al Proteus y pues anda bien
el circuito tiene:
les anexo un foto de la simulacion SimProteus
y me manda unWarning k dice "[PIC18] PC=0x0480. ADC conversion clock period (4e-06 is below recommenden 1.6 us)"
y bueno no se si eso tenga que ver ya en el PIC que sea lo que lo ahga no funcionar el codigo que tengo es el siguiente
bueno lo que deberia hacer es checar un condicion que esta dado por dos Switch
solo cuando 1 este prendido y el otro apagado debe iniciar a leer la temperatura y mostrarla en el LCD de lo contrario debe decir No medible
como me falta mucha experiencia pues no se realmente a que se deba que salga en el proteus y no en el PIC
pero supongo que prodria ser por:
tiempo de la conversion, el cual mencione mas arriba
que debo declara diferente algo en la parte de #fuses
No se grabo bien
tambien esta el detalle que este progrma lo hice originalmete para un PIC16F887, y me simulaba bien en el proteus, y cuando lo quise hacer en el 18F4520 me mandaba un error en el MCLR que solucione ene el proteus conectandolo a positivo
cuando lo simulo con el 16f887 me da un warning parecido pero ese dice "[PIC16] PC=0x036A. ADC conversion clock period (5e-07) is possibly invalid for device clock frequency"
por lo poco que se de ingles supongo que si lo grabo en eese pic no serviria de nada, y yo habia emncionado a mis compañeros de equipo que compraramos el 16f887 para grabarlo hay, la ventaja que tendriamos es que lo podriasmos grabar y grabar ene el LAB de mi escuela, pero si nos quedamos con el 4520 tenemos que ir a pagar para que lo grabe alguien mas y como que no.
si alguien sabe por que pasa esto me podria ayudar me serviria de mucho, y otro caso hay alguna forma de que en el proteus se ponga la simulacion mas rigurosa, es decir, que si no me va afuncionar en el PIC simplemente no haga la simulacion, es que ya me a pasado cosas aprecidas con el PIC16f628a, que se simula bien bonito en el proteus y en la proto namas no
de antemano muchas gracias
lo que pasa es que meti el circuito al Proteus y pues anda bien
el circuito tiene:
- LCD 16x2
- LM35
- Switch
les anexo un foto de la simulacion SimProteus
y me manda unWarning k dice "[PIC18] PC=0x0480. ADC conversion clock period (4e-06 is below recommenden 1.6 us)"
y bueno no se si eso tenga que ver ya en el PIC que sea lo que lo ahga no funcionar el codigo que tengo es el siguiente
Código:
#include<18f4520.h>
#device ADC=10
#fuses HS,NOWDT,NOLVP,MCLR,NOPROTECT,NOPUT
#use delay(clock=40000000)
#include<LCD.c>
#define use_portd_lcd TRUE
int retraso=50;
int checarBomba()
{
if(input(PIN_B0)&& !(input(PIN_B1)))
return 0;
else
return 1;
}
void main(void)
{
int tAn,tReal;
set_tris_a(0xFF);
set_tris_b(0xFF);
set_tris_c(0x00);
set_tris_d(0x00);
lcd_init();
output_c(0);
setup_comparator(NC_NC_NC_NC);
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(AN0);
lcd_putc('\f');
while(1)
{
if(checarBomba())
{
output_c(1);
lcd_putc('\f');
printf(lcd_putc,"No medible");
delay_ms(retraso/2);
}
else
{
output_bit(PIN_C0,0);
//--Medir
tAn=read_adc();
delay_ms(1);
tReal=0.488*tAn;
lcd_putc('\f');
printf(lcd_putc,"Temperatura");
lcd_putc('\n');
printf(lcd_putc," %d °C",tReal);
delay_ms(retraso);
}
}
}
bueno lo que deberia hacer es checar un condicion que esta dado por dos Switch
solo cuando 1 este prendido y el otro apagado debe iniciar a leer la temperatura y mostrarla en el LCD de lo contrario debe decir No medible
como me falta mucha experiencia pues no se realmente a que se deba que salga en el proteus y no en el PIC
pero supongo que prodria ser por:
tiempo de la conversion, el cual mencione mas arriba
que debo declara diferente algo en la parte de #fuses
No se grabo bien
tambien esta el detalle que este progrma lo hice originalmete para un PIC16F887, y me simulaba bien en el proteus, y cuando lo quise hacer en el 18F4520 me mandaba un error en el MCLR que solucione ene el proteus conectandolo a positivo
cuando lo simulo con el 16f887 me da un warning parecido pero ese dice "[PIC16] PC=0x036A. ADC conversion clock period (5e-07) is possibly invalid for device clock frequency"
por lo poco que se de ingles supongo que si lo grabo en eese pic no serviria de nada, y yo habia emncionado a mis compañeros de equipo que compraramos el 16f887 para grabarlo hay, la ventaja que tendriamos es que lo podriasmos grabar y grabar ene el LAB de mi escuela, pero si nos quedamos con el 4520 tenemos que ir a pagar para que lo grabe alguien mas y como que no.
si alguien sabe por que pasa esto me podria ayudar me serviria de mucho, y otro caso hay alguna forma de que en el proteus se ponga la simulacion mas rigurosa, es decir, que si no me va afuncionar en el PIC simplemente no haga la simulacion, es que ya me a pasado cosas aprecidas con el PIC16f628a, que se simula bien bonito en el proteus y en la proto namas no
de antemano muchas gracias