bueno dado que en
este hilo estan conversando mucho sobre el tema, y casi nadie se ha fijado en mi
problema, me tome la libertad de crear un nuevo hilo para preguntar sobre mi problema, espero no se molesten
sucede que he calculado esos valores de resistencia (solo necesito usar tres pulsadores, pero en la misma linea e entrada), y pues si lo pruebo independientemente (sin conectar al micro) los valores calculados de tension salen muy bien, pero cuando llevo el mismo esquema a la entrada RA0 de un pic 16f877a tanto en simulacion como en la realidad no entrega esos valores, y nose porque sucede eso, he visto el teclado que hizo nocturno en su pagina y tiene una simualcion la cual da perfecta, asi que he copiado mi esquema a su teclado, y lo he conectado al RA0 y sucede lo mismo, los valores de tension se bajan hasta 0.17 0.06 0.03 y yo necesito 4, 3 y 2 V, no comprendo que es lo uqe sucede, talvez hice algo mal en el codigo para la configuracion del ADC? o que sucede?
aca la configuracion que use:
#include <16F877a.h>
#device adc=8
#fuses XT,NOWDT,PUT,NOPROTECT,NOLVP,NOCPD,NOBROWNOUT,NODEBUG
#use delay(clock=4000000)
#byte port_b=6
void main()
{
setup_adc_ports(RA0_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
setup_timer_0(RTCC_DIV_64|RTCC_INTERNAL);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_1); // con div 4 se tiene un segundo
enable_interrupts(GLOBAL);
set_tris_a(0xff);
set_tris_b(0x01);
set_tris_c(0xc0);
output_a(0);
output_b(0);
output_c(0);
while(true)
{
set_adc_channel(0); // selecciona el canal 0
delay_us(20); // Retardo para carga del cap. de muestreo
value=read_adc(); // Lee el resultado de la conversion
if(value>63 && value<127)
{
select++;
if(select>3)
select=0;
}
... y sigue el programa
nocturno en el hilo del teclado me dijo que le coloqeu un condensador en la entrada del ADC para filtrar ruidos, un consensador en paralelo? de que valor?, la fuente es estable, y por si acaso tiene condensadores de 10u y 100nf (104)