Autor Tema: ayuda como puedo hacer un contador del 00-99  (Leído 3308 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jesuz

  • PIC10
  • *
  • Mensajes: 5
ayuda como puedo hacer un contador del 00-99
« en: 19 de Mayo de 2012, 17:43:54 »
hola que tal me podrian explicar como hacer un contador de 7 segmentos del 00-99 es que la verdad no le entiendo el proceso que
tengo que hacer estoy utilizando el pic16f84a con dos decodificadores 74ls47 cada uno para su respectivo display de 7 segmentos(anodo) pero no se hacerlo
ya tengo una idea pero no se, es colocar el 0-9 para las decenas(porta) y otro del 0-9 para las unidades(portb) y poner 10 retardos pero no se como colocarlos para que del 9 (unidades) pase al 1 (en decenas) y se coloque el 0 otra ves en las unidades y haci sucesivamente hasta llegar al 99  me podrian dar un ejemplo. de antemano gracias por las respuestas.. no se si me explique bien :oops:
« Última modificación: 19 de Mayo de 2012, 20:21:55 por jesuz »

Desconectado darck_khronos

  • PIC18
  • ****
  • Mensajes: 493
Re: ayuda como puedo hacer un contador del 00-99
« Respuesta #1 en: 19 de Mayo de 2012, 21:17:00 »
mira aqui esta un ejemplo pero este no usa decodificadores, si no que mediante el puerto B escribo el numero que necesito y se va multiplexando

Código: [Seleccionar]
#include <16F88.h>
#USE DELAY( CLOCK=4000000)
#FUSES nowdt,noput,nobrownout,nolvp,noprotect,NOMCLR,INTRC_IO
byte CONST DISPLAY[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void main(){
byte ud=0,dec=0;
SET_TRIS_B(0x00);
SET_TRIS_A(0x00);
OUTPUT_B(0);
 for( ;; ){
   for (dec=0;dec<10;dec++){       //Cuenta digito decenas
      for (ud=0;ud<10;ud++){
         OUTPUT_A(0x02);           //cat_D=apagado,cat_U=encendido
         OUTPUT_B(DISPLAY[ud]);   //Digito unidades
         delay_ms(100);            //Para evitar parpadeos
         
         if (dec==0) output_a(0x03);     //Si decenas=0, cat_D=apagado
         else output_a(0x01);           //Si decenas>0, cat_D=encendido
                 
         OUTPUT_B(DISPLAY[dec]);      //Digito decenas
         delay_ms(100);               //Para evitar parpadeos
     }
   }
 }
}


Algo que puedes hacer es que del B0 al B3 manejes las unidades y del B4 al B7 las decenas, solo tendiras que estar realizando impreciones.
Ahora viendo lo que pides hay que manejar el puerto a y el puerto b asi que con un par de If seria mas que aqui nuestro problema es saber que tipo de lenguaje usas para programar

Desconectado jesuz

  • PIC10
  • *
  • Mensajes: 5
Re: ayuda como puedo hacer un contador del 00-99
« Respuesta #2 en: 20 de Mayo de 2012, 16:39:14 »
mira aqui esta un ejemplo pero este no usa decodificadores, si no que mediante el puerto B escribo el numero que necesito y se va multiplexando

Código: [Seleccionar]
#include <16F88.h>
#USE DELAY( CLOCK=4000000)
#FUSES nowdt,noput,nobrownout,nolvp,noprotect,NOMCLR,INTRC_IO
byte CONST DISPLAY[10] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

void main(){
byte ud=0,dec=0;
SET_TRIS_B(0x00);
SET_TRIS_A(0x00);
OUTPUT_B(0);
 for( ;; ){
   for (dec=0;dec<10;dec++){       //Cuenta digito decenas
      for (ud=0;ud<10;ud++){
         OUTPUT_A(0x02);           //cat_D=apagado,cat_U=encendido
         OUTPUT_B(DISPLAY[ud]);   //Digito unidades
         delay_ms(100);            //Para evitar parpadeos
         
         if (dec==0) output_a(0x03);     //Si decenas=0, cat_D=apagado
         else output_a(0x01);           //Si decenas>0, cat_D=encendido
                 
         OUTPUT_B(DISPLAY[dec]);      //Digito decenas
         delay_ms(100);               //Para evitar parpadeos
     }
   }
 }
}


Algo que puedes hacer es que del B0 al B3 manejes las unidades y del B4 al B7 las decenas, solo tendiras que estar realizando impreciones.
Ahora viendo lo que pides hay que manejar el puerto a y el puerto b asi que con un par de If seria mas que aqui nuestro problema es saber que tipo de lenguaje usas para programar
la verdad soy novato en esto de microcontroladores no se la verdad que lenguaje uso pero son como MOVLF,MOVWF,CLRF.. etc.. :oops: :(

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: ayuda como puedo hacer un contador del 00-99
« Respuesta #3 en: 21 de Mayo de 2012, 05:00:47 »
Estas usando assembler (ensamblador) aqui tienes uno de 0 a 999, con displays multiplexados, a continuacion lo tienes con decodificadores:


http://www.todopic.com.ar/foros/index.php?topic=24720.msg201403#msg201403


 

anything