# Ayuda contador en turbo C



## Smart (Jun 11, 2010)

Hola a todos gracias por ingresar

les explico me pidieron un contador ascendente y descendente pero solo lo tengo ascendente
pero al hacer mis pruebas con los leds solo me saca 256 bits de jalon necesito q se haga un incremente desde 1 hasta 256 automatico si me pueden ayudar gracias
les dejo mi programacion de turbo c
#include <iostream.h>
#include <conio.h>
{
int i=0;
for (i=0;i<256;i++)
outp (0x378,i);
{
count <<i;
}
}


----------



## elaficionado (Jun 11, 2010)

Hola.
Debes poner una *pausa *(un retardo de 1seg más o menos)

No sé turbo C, pero en cada incremento tiene que haber una pausa, ya que la computadora cuenta muy rápido (milisegundos o microsegundo) que no te perminten apreciar paso a paso la cuenta.

Chao.
elaficionado.


----------



## Smart (Jun 11, 2010)

Es decir que 
for (i=0;i<256;i++)
no me funciona en si tendria que poner cada incremento individual
perdonen pero soy novato en esto
y la pausa no se si sea con esta libreria
#include <time.h>
#include <dos.h>
??'


----------



## elaficionado (Jun 11, 2010)

Hola.
La pausa la puedes hacer con for (pon un número grande y lo que demora en contar es la pausa) o varios for en cadena.

Como ya te dije no sé turbo c (sólo sé algo de trubo basic, que es muy simple de trabajar y tiene una opción de pausa).

Chao.
elaficionado.


----------



## iDan (Jun 12, 2010)

No haz probado usar Sleep o delay al igual que Turbo Pascal?? mira e leido por alli que las librerias que se usan son <dos.h> y <windows.h> para segundos y milisegundos respectivamente... con el primero usas sleep("numero en segundos"); y para el segundo usas Sleep("numero en milisegundos"); espero que esto te ayude...

Saludos...


----------



## Smart (Jun 12, 2010)

Gracias por responder la verdad soy muy muy novato no se programar no se si alguien de ustedes me podrian ayudar a elaborar el contador la verdad ya estoy muy desesperado x lo mismo no puedo
la verdad no me importa el programa solo que sea programacion c/c++
gracias de antemano


----------



## Felix Juan (Jun 13, 2010)

Smart dijo:


> #include <iostream.h>
> #include <conio.h>
> {
> int i=0;
> ...


 

Tengo el Turbo C muy oxidado pero hay un delay, seguro, y un sleep creo que también. Lo que también te digo es que tienes que tener cuidado con las llaves. Tal y como lo has hecho, se ejecutará 256 veces el "outp (0x378, i )" pero el "count << i" se ejecutará solo la última vez. La cosa quedaría más o menos así:

#include <iostream.h>
#include <conio.h>
{
int i=0;
for (i=0;i<256;i++){

  outp (0x378,i);
  count <<i;
  delay (500); /* para retardar medio segundo*/
  }
}

Y por cierto, 0x378 es la dirección del puerto de impresora LPT1. Espero que el hardware lo hayas hecho correctamente.


----------



## Smart (Jun 13, 2010)

Gracias Felix Juan lo que respondiste me ayudo mucho pero solo te falto una libreria de #include <dos.h>
para que funcione el delay.
bueno les dejo el contador ascendente-descendente programacion en c.
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <dos.h>
Void main (void)
{
Int i=0;
For (i=0;<256;i++){
Outp (0x378,i);
Delay (500);
Cout <<i;
}
Outp (0x378,256);
For (i=256;i>-1;i--){
Delay (500);
Cout <<i;
 }


----------



## Felix Juan (Jun 14, 2010)

Bueno, me dí cuenta de eso pero no me acordaba en qué librería estaba. Es igual porque como el compilador se queja en seguida pues le das a la ayuda y ya está (por cierto, recuerdo que la ayuda de Turbo C era excelente). Me alegro de que te haya funcionado. Un saludo.


----------



## Smart (Jun 17, 2010)

Si ahora no se si me podrias ayudar en otro comando que no se
necesito interrumpir el conteo con alguna tecla y que vuelva a empezar alguien me podria ayudar


----------



## Felix Juan (Jun 18, 2010)

Smart dijo:


> Si ahora no se si me podrias ayudar en otro comando que no se
> necesito interrumpir el conteo con alguna tecla y que vuelva a empezar alguien me podria ayudar


 
Krrrrrjjjjjjjjkkkrrrrjjjjjjjjjjggggg (ruido de mis oxidadas neuronas haciendo memoria porque hace un carro de años que no uso Turbo C).

Creo recordar que la función que buscas se llama 'keyb()'. Acostúmbrate a usar la ayuda porque es realmente genial. En la ventana o zona de edición del código escribes keyb y pulsas F1 sin haber tocado ninguna otra tecla. Te lleva a la página de ayuda donde se describe la función y pone un ejemplo que se puede copiar directamente en tu ventana de código. ¿Vale?

Lo dicho, utiliza la ayuda que es el mejor manual que vas a tener de TurboC.


----------

