Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

16/06/2011 #1


Ayuda programacion de leds
Hola, estoy realizando unas pruebas para un proyecto que tengo en mente y para ello antes estoy provando con leds. Se trata de mediante un pic(16f876A) encender 8 led conectados a cada una de las salidas del puerto B cuando le llegue 1 impulso a RA0. Posteriormente se deben ir apagando en orden, primero RB0 a los 2 minutos y el resto en intervalos de 30 segundos.
El problema es el siguiente, lo programo con un delay de 120000ms( 2 minutos) para el primer led y sin embargo se me apaga a los 55 segundos mas o menos. El resto de leds si se apagan en sus correspondientes 30 segundos. ¿ Sabrian decirme cual es el problema? Falla tanto en el simulador como en la practica y siempre siempre siempre falla el primer led que debe apagarse a los 2 minutos ya lo conecte en RB0,RB1 o el que sea.
Les paso la programacion para que la vean y muchas gracias de antemano:

#include <16F876A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#include <BICI.h>

void main()
{
InicializarPuertos();
while(true)
{
EncenderBICI();
}
}

void EncenderBICI()
{
if(!input(INTER1))
{
output_high(T0);
output_high(T1);
output_high(T2);
output_high(T3);
output_high(T4);
output_high(T5);
output_high(T6);
output_high(T7);
delay_ms(120000);
output_low(T0);
delay_ms(30000);
output_low(T1);
delay_ms(30000);
output_low(T2);
delay_ms(30000);
output_low(T3);
delay_ms(30000);
output_low(T4);
delay_ms(30000);
output_low(T5);
delay_ms(30000);
output_low(T6);
delay_ms(30000);
output_low(T7);
}

}

void InicializarPuertos()
{
set_tris_a(0x1f); // todo el puerto A como entrada
set_tris_b(0x00); // todo el puerto B como salida
}
16/06/2011 #2


Hola, no sé cual es tu problema porque no uso el CCS, pero poné 4 delays de 30 segundos, uno a continuación del otro para qeu te funcione.
Tal vez el número que ponés es muy grande y sobrepasa algún registro.
16/06/2011 #3


Muchas gracias, se ve que ese era el problema, puse 2 delays de 1 minuto cada uno y funcionó a la perfección.

Una pregunta más, aunque se que no es en este tema. Un electroiman, ¿hasta que distancia es capaz de atraer una barra de hierro? Necesito que atraiga una barra que está a 10 centimetros, ¿es posible?
17/06/2011 #4


Hola,
Depende de todo!
O sea, del tamano del electroimán, de qué forma tenga, de la corriente que circule por su bobina. Y la barra que atraiga también depende del peso de esta, la superficie en donde esté.... son muchas variables
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.