Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?
07/01/2013 #2341

Avatar de LaElectronicaMeOdia

ferdy575 dijo: Ver Mensaje
muy bien y dime como grabarías un pic sin usar el programador como se le cargaría un nuevo código?
hay varias formas, puedes diseñar tu propio protocolo, pero lo mas comun es que grabes por ejemplo con el PBP directamente por puerto serial, primero le grabas un archivo hex que es el que se encarga de autograbarse.

en este mismo tema se ha comentado al respecto mira:Curso de programación de PIC en PICBasic Pro

Curso de programación de PIC en PICBasic Pro
12/01/2013 #2342


hola buenas,saludos a todos y gracias de antemano.

estoy intentando hacer el codigo de un montacargas, o ascensor de 2 velocidades
de 4 paradas, y no se que hago mal, cuando hago una llamada, arranca subida y rapida, pero no pasa a lenta, y en bajada arranca en bajada pero no en rapida.

en fin llevo una semana y no hay manera, lo dicho gracias de antemano.

adjunto codigo/y proteus

saludos
12/01/2013 #2343


goyete dijo: Ver Mensaje
hola buenas,saludos a todos y gracias de antemano.

estoy intentando hacer el codigo de un montacargas, o ascensor de 2 velocidades
de 4 paradas, y no se que hago mal, cuando hago una llamada, arranca subida y rapida, pero no pasa a lenta, y en bajada arranca en bajada pero no en rapida.

en fin llevo una semana y no hay manera, lo dicho gracias de antemano.

adjunto codigo/y proteus

saludos
Hola...Revise un poco el programa y esquema que adjuntaste pero deberías explicarte con detalles cual es el funcionamiento "norma" para tí o sea que quieres que el diseño haga... en cuanto al programa solo para empezar en la rutina INICIO preguntas por el estado de dos pines del puerto b que lo tienes declarado como salida(no como entrada) y están con una resistencia y led a GND así que su estado sera indefectiblemente siempre "0"(¿para que preguntar entonces?). No tomas ningún recaudo para prevenir las señales espurras producto de la conmutación de los pulsadores respectivos y ya después me perdí en lo que quieres hacer cuando pasa algo con los pulsadores.
Amplia lo mas posible la información(tanto en los esquemas, programas, etc) para así facilitarle la tarea a los que queremos ayudarte.

Saludos.

Ric.
13/01/2013 #2344


Hola,ricbevi, lo primero gracias por contestar.

Te comento, haber si me se explicar, es un ascensor con 4 pulsadores,(conectados al puerto a, p0,p1,p2,p3) cuando recibe una llamada,depende del pulsador, cargo unos datos en DATP(dato de parada),DATS(datos de pasar a velocidad lenta, cuando sube), DATB(datos de pasar a velocidad lenta cuando baja), con esos datos cargados comparo DATP, que es donde se encuentra el ascen. con el destino(llamada) y asi le digo si tiene que subir o bajar, imajinemos que sube, cundo se encuentre con el dato DATS tiene que caer veloc.rapida y entrar lenta y con el siguiente pulso que sera DATP, parar, por supuesto cuando esta en marcha no tiene que hacer caso a ninguna llamada.
Bueno eso es lo que intento, te dejo lo que e podido adelanar, a los pulsadores estan como entradas (trisa=%11111),a tambien cuando sube o baja tiene que parpadear el led correspondiente, que en proteus lo tengo como F_sube o F_baja, pero aun no lo he metido en programa.

gracias por molestarte

Saludos
Archivos Adjuntos
Tipo de Archivo: rar ASCENSOR2.rar (713 Bytes, 115 visitas)
13/01/2013 #2345


goyete dijo: Ver Mensaje
....
Bueno eso es lo que intento, te dejo lo que e podido adelanar, a los pulsadores estan como entradas (trisa=%11111)...
En este lazo de tu programa al comienzo donde esta la rutina INICIO
Código PHP:
trisa=%11111
trisb
=%00001100


symbol p0
=porta.0
symbol p1
=porta.1
symbol p2
=porta.2
symbol p3
=porta.3
symbol paro
=porta.4
symbol fles
=portb.0
symbol fleb
=portb.1
symbol pulsS
=portb.2
symbol pulsB
=portb.3
symbol motora
=portb.4
symbol motorb
=portb.5
symbol motorr
=portb.6
symbol motorl
=portb.7
...


INICIO:
   if 
p0=and motorb=or motora=0 then dato0              
   
if p1=and motorb=or motora=0 then dato1            
   
if p2=and motorb=or motora=0 then dato2              
   
if p3=and motorb=or motora=0 then dato3                
   
goto inicio 
Preguntas por el estado de "motorb=0" y "motora=0" para tomar una desicion pero estos se encuentran en el puerto B que lo tienes declarados como "trisb=%00001100" como salida....si el compilador entendiera lo que quieres hacer y los pasara a entrada los mismos en el circuito están con un led y resistencia a GND así que te reitero siempre su estado seria "Bajo" o "0" lógico como quieras llamarlo ya que no reciben alimentación alguna.
Si quieres saber el estado de los motores crea una bandera o "Flag" y ponla cuando enciendas los mismos a cero si están parados o a uno si están en marcha y en base a eso actuás en consecuencia.

Ric.
14/01/2013 #2346


Deacuerdo, voy a hacerlo como dices, ya te comentare.

gracias y un saludo.
17/01/2013 #2347


Buenas, necesito de una entrada, detectar el flanco ascendente, como seria la manera de programarlo, si alguien seria tan amable de poner algun ejemplo, lo agradeceria.

Gracias
02/02/2013 #2348


que necesitas hacer con el detector de flancos ascendentes?
19/02/2013 #2349

Avatar de isaiasjea

Hola buenas tardes
Primero que nada una gran felicitación a todos los compañeros del foro, por compartir y ayudar a mantener este gran foro.
quiero hacer un contador de 2 Display 7 segmentos con la posibilidad de añadir hasta otros 2 mas pero con 2 ahorita seria bueno para un modo de aprendizaje.
el asunto es que no lo quiero hacer el Pic16F628A directo al display 7 segmentos


Tampoco con un decodificador 7447


la Forma que me gustaría hacerlo es con un Conversor Serial Paralelo 74HC164


de esa manera solo necesitamos usar 2 pines del Microcontrolador.
Por Favor si alguien me pudiera orienta o ayudar se lo agradeceria de todo corazon
Mientras yo sigo investigando mas a fondo
Gracias y seguimos en contacto
19/02/2013 #2350

Avatar de ferdy575

hola a todos, ando realizando pruebas para trabajar con servos pues me quiero hacer un brazo y empece con este programita pero no se que me que me quedo mal, al probarlo en el proteus funciona de maravilla pero al probarlo en el protoboard el servo solo hace ruidos y no avanza, alguien que me le de una miradita a ver que está mal por favor...
este es el código:
Código:
'****************************************************************
'*  Name    : control servo                                                                               *
'*  Notes   : con 16f628a                                                                                 *
'*  Mode    : con pulsadores                                                                             *
'****************************************************************

@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT 
@ DEVICE pic16F628A, WDT_ON 

 
 centro VAR BYTE
 derecha var porta.0
 izquierda var porta.1
 centrar var porta.2
 salida var portb.1
 
 
trisb=0
PORTB=0

centro=150 'inicio variable en 150 
inicio:
pulsout salida,centro  
gosub pulsadores    
goto inicio

pulsadores:
if  centrar=0 then gosub centrado
if derecha=0 then gosub DER
if izquierda=0 then gosub IZQ
return

centrado:
pause 100
centro=150 
return

DER:
pause 100
centro=centro+1
return

IZQ:
pause 100
centro=centro-1
return
end
19/02/2013 #2351


Hola isaiasjes...
Si no te quieres complicar con mas integrados fuera del PIC, puedes utilizar el PUERTOB para manejar los siete segmentos de los display y el pin restante lo utilizas como entrada de pulsos y lo haces multiplexado (un display por cada pin del PUERTOA) con lo que puedes manejar 5 display en forma normal u ocho con el oscilador interno
19/02/2013 #2352

Avatar de isaiasjea

Hola alejo278!!
muchas gracias por tu recomendación!!
el punto es que me gustaria hacerlo de la forma que te comento anteriormente mas que nada para ampliar los conocimientos y tener diversas opciones.
la forma del Conversor Serial Paralelo 74HC164 se me hace un buen reto para lograr
19/02/2013 #2353
Moderador

Avatar de D@rkbytes

isaiasjea dijo: Ver Mensaje
la forma del Conversor Serial Paralelo 74HC164 se me hace un buen reto para lograr
No es nada complicado, yo lo hice en ensamblador y no es difícil.
Y con las funciones predeterminadas de PBP es aún más fácil de hacerlo.
Las palabras clave para lograrlo en PICBasic, son:
DIG, LookUp y ShiftOut

Con DIG obtienes las unidades, decenas, centenas etc.
Con LookUp conviertes el resultado de DIG a código de 7 segmentos.
Y con ShiftOut envías los datos hacia los registros de desplazamiento.

Inténtalo no tiene complicaciones.

Suerte.
Archivos Adjuntos
Tipo de Archivo: rar 16F628A & 74LS164 Sample.rar (16,8 KB (Kilobytes), 256 visitas)
19/02/2013 #2354

Avatar de isaiasjea

No es nada complicado, yo lo hice en ensamblador y no es difícil.
Y con las funciones predeterminadas de PBP es aún más fácil de hacerlo.
Las palabras clave para lograrlo en PICBasic, son:
DIG, LookUp y ShiftOut

Con DIG obtienes las unidades, decenas, centenas etc.
Con LookUp conviertes el resultado de DIG a código de 7 segmentos.
Y con ShiftOut envías los datos hacia los registros de desplazamiento.

Inténtalo no tiene complicaciones.

Suerte.
Excelente D@rkbytes!!!
es lo que pretendo hacer lo mismo pero en picbasicpro!!
con los tips que me proporcionaste voy a hacer un Código haber que tal me va!!!
los avances los voy ir Posteando
Gracias y seguimos en contacto.
19/02/2013 #2355

Avatar de isaiasjea

Buenas noches!!
Aquí las primeras pruebas que hice para aprender y conocer la Función (shiftout)
Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_off, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7                               'Comparadores Apagados
TRISB = 0                               'Puerto B Como Salidas
PORTB = 0                               'Limpiamos el Puerto B
'*******************************************************************************
CLOCK VAR PORTB.0                       'PORTB.0 con el nombre CLOCK
DATO_0 VAR PORTB.1                      'PORTB.1 con el nombre DATA_0
'*******************************************************************************
CLOCK=1                                 'Valor 1 para inicio del display
'*******************************************************************************
INICIO:                                 'Etiqueta de inicio
shiftout DATO_0,CLOCK,0,[252]           'Enviando el Numero 0
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[96]            'Enviando el Numero 1
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[218]           'Enviando el Numero 2
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[242]           'Enviando el Numero 3
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[102]           'Enviando el Numero 4
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[182]           'Enviando el Numero 5
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[190]           'Enviando el Numero 6
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[224]           'Enviando el Numero 7
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[254]           'Enviando el Numero 8
PAUSE 500                               'Espera de 500 milisegundos
shiftout DATO_0,CLOCK,0,[246]           'Enviando el Numero 9
PAUSE 500                               'Espera de 500 milisegundos
GOTO INICIO                             'Regresar a la etiqueta inicio
END                                     'Fin del Programa
ahora el segundo paso es añadir 2 0 3 display más para agregar los botones , y usar la funciones DIG, LookUp
les dejo la Simulación funcionando.
Gracias y Seguimos en contacto.

Segundo Ejemplo Usando LookUp Código:
Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_off, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7                          'Comparadores Apagados
TRISB = 0                          'Puerto B Como Salidas
PORTB = 0                          'Limpiamos el Puerto B
'*******************************************************************************
CLOCK VAR PORTB.0                  'PORTB.0 con el nombre CLOCK
DATO_0 VAR PORTB.1                 'PORTB.1 con el nombre DATA_0
dir var byte
dato var byte
'*******************************************************************************
CLOCK=1                            'Valor 1 para inicio del display
'*******************************************************************************
prog:
FOR dir=0 TO 9                     'para repeticiones de 0 a 9
LOOKUP dir,[252,96,218,242,102,182,190,224,254,246],dato 'toma uno por uno cada
                   'valor de la tabla constante y lo guarda en la variable dato
shiftout DATO_0,CLOCK,0,[dato]     'Enviando el Numero Segun el valor del conteo 
pause 500                          'Espera de 500 milisegundos
next dir                           'Seguir con el conteo de la variable
goto prog                          'Regresar a la etiqueta inicio
end                                'Fin del Programa
como verán el Código se redujo bastante y también la memoria así que recomiendo el segundo.
Seguimos trabajando ahora para hacerlo con 3 a 4 dígitos ya cada ves mas Cerca del objetivo.
Saludos y seguimos en contacto.
dejo la Simulación y 2 Archivos para que lo puedan probar y editar.
Archivos Adjuntos
Tipo de Archivo: zip Display-7-Seg-2-vias.zip (11,3 KB (Kilobytes), 189 visitas)
20/02/2013 #2356

Avatar de isaiasjea

hola a todos, ando realizando pruebas para trabajar con servos pues me quiero hacer un brazo y empece con este programita pero no se que me que me quedo mal, al probarlo en el proteus funciona de maravilla pero al probarlo en el protoboard el servo solo hace ruidos y no avanza, alguien que me le de una miradita a ver que está mal por favor...
este es el código:
Código:
'****************************************************************
'*  Name    : control servo                                                                               *
'*  Notes   : con 16f628a                                                                                 *
'*  Mode    : con pulsadores                                                                             *
'****************************************************************

@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT 
@ DEVICE pic16F628A, WDT_ON 

 
 centro VAR BYTE
 derecha var porta.0
 izquierda var porta.1
 centrar var porta.2
 salida var portb.1
 
 
trisb=0
PORTB=0

centro=150 'inicio variable en 150 
inicio:
pulsout salida,centro  
gosub pulsadores    
goto inicio

pulsadores:
if  centrar=0 then gosub centrado
if derecha=0 then gosub DER
if izquierda=0 then gosub IZQ
return

centrado:
pause 100
centro=150 
return

DER:
pause 100
centro=centro+1
return

IZQ:
pause 100
centro=centro-1
return
end
Buenas Noches ferdy575!!

ya cheque tu Código y tenias algunas cosas que te faltaron como asignar los RA0,RA1,RA2 entradas
ya modifique el Código para que pruebes en el simulador y posteriormente grabando en el PIC16F628A:
Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_off, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7                               'Comparadores Apagados
TRISA = %00000111                       'Puerto RA0,RA1,RA2 Entradas Digitales
TRISB = 0                               'Puerto B Como Salidas
PORTA = 0                               'Limpiamos el Puerto A
PORTB = 0                               'Limpiamos el Puerto B
'*******************************************************************************
derecha var porta.0
izquierda var porta.1
centrar var porta.2
salida var portb.1
centro var byte 
'*******************************************************************************
centro=150 'inicio variable en 150 
'*******************************************************************************
inicio:
pulsout salida,centro  
gosub pulsadores    
goto inicio

pulsadores:
if  centrar=0 then gosub centrado
if derecha=0 then gosub DER
if izquierda=0 then gosub IZQ
return

centrado:
pause 100
centro=150 
return

DER:
pause 100
centro=centro+1
return

IZQ:
pause 100
centro=centro-1
return
end
Saludos y seguimos en contacto.
Archivos Adjuntos
Tipo de Archivo: zip ServoP.zip (8,4 KB (Kilobytes), 75 visitas)
20/02/2013 #2357

Avatar de ferdy575

isaiasjea dijo: Ver Mensaje
Buenas Noches ferdy575!!

ya cheque tu Código y tenias algunas cosas que te faltaron como asignar los RA0,RA1,RA2 entradas
ya modifique el Código para que pruebes en el simulador y posteriormente grabando en el PIC16F628A:
Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_off, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7                               'Comparadores Apagados
TRISA = %00000111                       'Puerto RA0,RA1,RA2 Entradas Digitales
TRISB = 0                               'Puerto B Como Salidas
PORTA = 0                               'Limpiamos el Puerto A
PORTB = 0                               'Limpiamos el Puerto B
'*******************************************************************************
derecha var porta.0
izquierda var porta.1
centrar var porta.2
salida var portb.1
centro var byte 
'*******************************************************************************
centro=150 'inicio variable en 150 
'*******************************************************************************
inicio:
pulsout salida,centro  
gosub pulsadores    
goto inicio

pulsadores:
if  centrar=0 then gosub centrado
if derecha=0 then gosub DER
if izquierda=0 then gosub IZQ
return

centrado:
pause 100
centro=150 
return

DER:
pause 100
centro=centro+1
return

IZQ:
pause 100
centro=centro-1
return
end
Saludos y seguimos en contacto.
Excelente gracias por tu ayuda
20/02/2013 #2358

Avatar de isaiasjea

Buenas tardes!!
Finalmente termine el contador de 3 display 7 segmentos controlados por 1 PIC16F628A y 3 74LS164 o 74hc164 y 2 botones uno Incremental y el otro decremental.
Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_off, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7                             'Comparadores Apagados
TRISA = %00000011                     'Puerto RA0 RA1 Como Salidas                       
TRISB = 0                             'Puerto B Como Salidas
PORTA = 0                             'Limpiamos el Puerto A
PORTB = 0                             'Limpiamos el Puerto B
'*******************************************************************************
CLOCK VAR PORTB.0                     'PORTB.0 con el nombre CLOCK
DATO_0 VAR PORTB.1                    'PORTB.1 con el nombre DATA_0
BANDERA VAR BIT                       'Variable Bandera
CONTEO VAR word                       'Variable Conteo
UNIDAD var byte                       'Variable Unidad
DECENA var byte                       'Variable Decena
CENTENA var byte                      'Variable Centena
'*******************************************************************************
CONTEO = 0                            'Limpiamos la variable   
unidad = 0                            'Limpiamos la variable
decena = 0                            'Limpiamos la variable
centena = 0                           'Limpiamos la variable
shiftout DATO_0,CLOCK,0,[252,252,252] 'Enceramos los Display
'*******************************************************************************
INICIO:                               'Etiqueta de inicio
if PORTA.1 = 0 THEN SUMAR             'Si apretamos el boton incrementar 
if PORTA.0 = 0 THEN Restar            'Si apretamos el boton decrementar 
BANDERA = 0                           'Enceramos la variable Bandera
GOTO INICIO                           'regresamos a la etiqueta inicio
'*******************************************************************************
SUMAR:                                'Etiqueta Sumar
IF BANDERA = 1 THEN GOTO INICIO       'Si la variable Bandera tiene un valor 1
BANDERA = 1                           'le cargamos la variable Bandera valor 1
CONTEO = CONTEO+1                     'El valor de la variable conteo + 1
if conteo > 999 then conteo = 0       'Si Conteo es mayora a 999 conteo sera 0 
unidad = conteo dig 0                 'unidad tomara el primer digito de conteo
decena = conteo dig 1                 'decena tomara el segundo digito de conteo
centena= conteo dig 2                 'centena tomara el tercer digito de conteo
goto ENVIAR                           'ir a la etiqueta enviar
'*******************************************************************************
RESTAR:                               'Etiqueta Restar
IF BANDERA = 1 THEN GOTO INICIO       'Si la variable Bandera tiene un valor 1
BANDERA = 1                           'le cargamos la variable Bandera valor 1
if conteo = 0 then conteo = 1000      'si conteo es igual a 0 conteo sera 1000
CONTEO = CONTEO-1                     'El valor de la variable conteo - 1
unidad = conteo dig 0                 'unidad tomara el primer digito de conteo
decena = conteo dig 1                 'decena tomara el segundo digito de conteo
centena= conteo dig 2                 'centena tomara el tercer digito de conteo
goto enviar                           'ir a la etiqueta enviar
'*******************************************************************************
ENVIAR:                               'Etiqueta Enviar
if unidad = 0 then unidad = 252       'Si unidad es 0 unidad sera 252
if unidad = 1 then unidad = 96        'Si unidad es 1 unidad sera 96
if unidad = 2 then unidad = 218       'Si unidad es 2 unidad sera 218
if unidad = 3 then unidad = 242       'Si unidad es 3 unidad sera 242
if unidad = 4 then unidad = 102       'Si unidad es 4 unidad sera 102
if unidad = 5 then unidad = 182       'Si unidad es 5 unidad sera 182
if unidad = 6 then unidad = 190       'Si unidad es 6 unidad sera 190
if unidad = 7 then unidad = 224       'Si unidad es 7 unidad sera 224
if unidad = 8 then unidad = 254       'Si unidad es 8 unidad sera 254
if unidad = 9 then unidad = 246       'Si unidad es 9 unidad sera 246
'*******************************************************************************
if decena = 0 then decena = 252       'Si decena es 0 decena sera 252
if decena = 1 then decena = 96        'Si decena es 1 decena sera 96
if decena = 2 then decena = 218       'Si decena es 2 decena sera 218
if decena = 3 then decena = 242       'Si decena es 3 decena sera 242
if decena = 4 then decena = 102       'Si decena es 4 decena sera 102
if decena = 5 then decena = 182       'Si decena es 5 decena sera 182
if decena = 6 then decena = 190       'Si decena es 6 decena sera 190
if decena = 7 then decena = 224       'Si decena es 7 decena sera 224
if decena = 8 then decena = 254       'Si decena es 8 decena sera 254
if decena = 9 then decena = 246       'Si decena es 9 decena sera 246
'*******************************************************************************
if centena = 0 then centena = 252     'Si centena es 0 centena sera 252
if centena = 1 then centena = 96      'Si centena es 1 centena sera 96
if centena = 2 then centena = 218     'Si centena es 2 centena sera 218
if centena = 3 then centena = 242     'Si centena es 3 centena sera 242
if centena = 4 then centena = 102     'Si centena es 4 centena sera 102
if centena = 5 then centena = 182     'Si centena es 5 centena sera 182
if centena = 6 then centena = 190     'Si centena es 6 centena sera 190
if centena = 7 then centena = 224     'Si centena es 7 centena sera 224
if centena = 8 then centena = 254     'Si centena es 8 centena sera 254
if centena = 9 then centena = 246     'Si centena es 9 centena sera 246
shiftout DATO_0,CLOCK,0,[unidad,decena,centena] 'Enviando Numero de la variables 
goto inicio                           'ir a la etiqueta inicio
END                                   'Fin

aqui ´les dejo la simulacion y los archivos para que lo puedan modificar
Gracias y seguimos en contacto
Archivos Adjuntos
Tipo de Archivo: zip 3-Display-7-Seg.zip (18,9 KB (Kilobytes), 189 visitas)
20/02/2013 #2359
Moderador

Avatar de D@rkbytes

isaiasjea dijo: Ver Mensaje
Finalmente termine el contador de 3 display 7 segmentos controlados por 1 PIC16F628A y 3 74LS164 o 74hc164 y 2 botones uno Incremental y el otro decremental.
Felicidades!!, desde que vi tus primeras pruebas supe que lo lograrías.
Bien, como ya lo pudiste hacer, entonces ahora puedo subir mi programa.
Notarás que la programación es diferente y más simplificada para llegar al mismo objetivo.

Suerte.
Archivos Adjuntos
Tipo de Archivo: rar 16F628A Contador 0-999 74XS164.rar (20,6 KB (Kilobytes), 233 visitas)
20/02/2013 #2360

Avatar de isaiasjea

Notarás que la programación es diferente y más simplificada para llegar al mismo objetivo.
Excelente D@rkbytes!!!
Gracias por darme una manita y excelente tu Código usando Tablas.
Saludos y seguimos en contacto.
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

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