TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: tornar en 30 de Noviembre de 2004, 08:32:00

Título: codigo para contador binario no me funciona, necesito ayuda
Publicado por: tornar en 30 de Noviembre de 2004, 08:32:00
Hola, me gustaria saber si alguien me puede ayudar, llevo poco tiempo metido en esto de la programacion de PICs, y al realizar un programa que cuenta en binario y muestra a la salida conectada a varios leds, no me funciona, el codigo es el siguiente:

#include <16f84a.h>
#use delay (clock = 4000000)
#byte puertab=0x06
#byte conta=0x0c

void main (void)
{
set_tris_b (0x00);
conta=0;

do {
conta = conta + 1;
delay_ms (1000);
puertab=conta;
} while (conta<=0x5f);

}


Y lo unico que obtengo en los leds, es que todos se iluminan durante un segundo y luego se apagan todos. Alguna idea sobre que podria star mal?
Cualkier sugerencia es bienvenida, gracias de antemano Navidad
Título: RE: codigo para contador binario no me funciona, necesito ayuda
Publicado por: T0ni0 en 30 de Noviembre de 2004, 09:51:00
Proba con esto:

Codigo:
#include <16F84A.h>
#use delay(clock=4000000)
#fuses NOWDT,XT, NOPUT, NOPROTECT
#byte puertab=0x06

void main()
{
int conta=0;
set_tris_b (0x00);

while (1){
   do {
   puertab=conta;
   delay_ms (1000);
   conta++;
   } while (conta>=0x5f);
}
}



Fijate que he cambiado la condición de salida ( conta>=0x5f ) he hecho un bucle infinito While(1) y he declarado int conta=0

Haber como te va solo lo he simulado RebotadoRebotado
Título: RE: codigo para contador binario no me funciona, necesito ayuda
Publicado por: pocher en 30 de Noviembre de 2004, 13:49:00
La posición 0x0C es un tanto conflictiva con CCS (y si mal no recuerdo con ensamblador también).

Usa la 0x20 por ejemplo y te funcionará.

Un saludo