hola dino.. estuve intentando comprender tu programa para poder modificarlo a mis necesidades.
tengo varias dudas, aca te dejo tu codigo y mis dudas marcadas en cada parte que no entiendo:
-----
#include <16F877A.h>
#FUSES NOWDT, HS, NOPUT, NOBROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG, NOPROTECT
#use delay(clock=16000000)
int1 flanco=1;
int dly=100;
----1-¿esto significa que dly comienza en 100, o sea puede comenzar en 255 o 254(luz off)?
#int_EXT
void EXT_isr(void)
{
output_a(0b00000000);
if (flanco==1)
{
ext_int_edge(h_to_l);
set_timer0(255-dly);
while(get_timer0()>0); //espera hasta que timer0 se desborde
flanco=0;
output_a(0b00001111);
}
else
{
set_timer0(255-dly);
while(get_timer0()>0); //espera hasta que timer0 se desborde
ext_int_edge(l_to_h);
flanco=1;
output_a(0b00001111);
}
}
void main()
{
set_tris_a(0x00); ----
2-¿necesito configuar los port aca, o puedo hacerlo #byte trisA=(.nro.)?
set_tris_b(0xff);
enable_interrupts(global);
enable_interrupts(int_ext | l_to_h);
setup_timer_0(rtcc_internal | rtcc_div_128 | rtcc_8_bit);//prescalador 1:128 TMR0 desbordara cada 8ms ----
3-Aca no entiendo nada!je ¿como sería para 50Hz?
while(true)
{
if(input(pin_b1)==0)
{
dly++;
if (dly==255) dly=254; //no puede pasar de 255 ----
4-¿xq no puede ser 255, que es realmente el 0% de luz?
}
if(input(pin_b2)==0)
{
dly--;
if (dly==0) dly=1; //no puede bajar a cero ----
5-¿idem anterior, dly=0 es luz al 100%, esta mal?
}
delay_ms(25); //demora antirebote ----
6-¿el valor 25 es por algo en especial o solo es un tiempo pequeño "x", no me queda claro el por que de este delay?
}
}
------
voy a enloquecer, más dudas!
7-¿La INT EXT solo interrumpe enla parte de "void EXT_isr(void)"? o sea ¿lo que esta dentro de "Void main()" se ejecuta a la par?
8-¿para 50hz de linea podre usar lo 4mhz internos del pic o es indispensable que use 20mhz cristal externo?
9-¿flanco 1 y 0 son los semiciclos positivo y negativo verdad?
Bueno perdón por ser tan molesto, e ignorante, es que hace poco que empece con esto de los pic y con el lenguaje c, soy nuevo en todo y ademas me encuentro en un "mal tiempo" y necesito mejorar mis ingresos ya..
me senti muy identificado con tus frases "
(...)desde ese día aprendí que los malos momentos te obligan a ser mejor." je..
si me contestas las 9 preguntas me salvas la vida!jajaj
un abrazo!
gracias...