Hola, soy bastante nuevo en todo esto de la programacio de uC, pero toda la informacion que hay en este foro me esta ayudando mucho, sobre todo los ejemplos de vszener y RedPic.
Estoy queriendo hace un programita que tiene que tiene unas cuantas salidas y solo tres entradas, ellas son RA0, RA1 y RA2.
Por otro lado, las salidas son todas las demas que tiene el pic 16f84a (ra3, ra4 y rb0-7).
mi primer problema es que no puedo utilizar RA4 como salida, supongo que sera xq este pin tambien se puede usar como TMR0, y habra que desactivarlo, pero mis conocimientos no llegan a tanto
otra duda que tengo es si el siguiente codigo esta bien empleado, en vez de escribir output_high/low(PIN_A0), prefiero algo mas corto y significativo... pero no funciona... que ocurre?
#bit LED=0x05.0
void main (void)
{
do{
LED=1;
delay_ms(1000);
LED=0;
delay_ms(1000);
}while(TRUE);
}
mi ultima duda es como podria crear una matriz o algo semejante que me permita tener dentro pines del pic, y al escribir por ejemplo Nombre_matriz(x)=1 me permita poner en HIGH la patilla x del pic. no se si se entiende...
me explico mejor:
supongamos que quiero hacer las lucesitas del coche fantastico, entonces creo una matriz de 8 elementos (que seran 8 pines de un pic) que llamamos "LED(x)" donde x es un numero del 0 al 7 que hace referencia a un pin especifico del pic...
con el siguiente codigo las luces irian de un lado para otro (no volverian en sentido contrario, solo para no complicar el ejemplo):
x=0;
do{
LED(x)=1;
if(x==0)
LED(7)=0;
else
LED(x-1)=0;
x=x+1;
delay_ms(100);
if(x==7)
x=0;
}while(TRUE);
bueno, creo que se entiende lo que hace, el codigo seguramente no es el optimo, pero lo hice sobre la marcha para que entendais a que me refiero: va encendiendo leds cada 0.1s y a la vez que apaga el anterior. como consigo que LED(x) señale a un pin?
mil gracias a todos por este foro tan productivo, espero aprender mucho de aqui.
si alguien sabe contestar a alguna o todas mis preguntas se lo agradezco de antemano
salu2