Autor Tema: Display 7 segmentos Pic 16f628a  (Leído 24930 veces)

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

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Display 7 segmentos Pic 16f628a
« Respuesta #30 en: 30 de Mayo de 2009, 21:13:29 »
Coño se borro el programa.
Ya solucionó el problema y borró el código  :(
No contesto mensajes privados, las consultas en el foro

Desconectado klau24

  • PIC10
  • *
  • Mensajes: 10
Re: Display 7 segmentos Pic 16f628a
« Respuesta #31 en: 31 de Mayo de 2009, 03:23:02 »
hola tapi8 y suki perdon pero es que subi el codigo equivocado, lo que pasa es que hice demasiadas pruebas porque no hallaba el error y no keria modificar mucho uno porque, que tal si funcionaba pero ya tengo el correcto, lo subire ok.....y perdon no vuelve a pasar  :lol:

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Display 7 segmentos Pic 16f628a
« Respuesta #32 en: 31 de Mayo de 2009, 05:38:45 »
Es que nunca me habia pasado, lo copie para pasarlo por el MPLAB y cuando volvi para responder ya no estaba, pense que fuera culpa mia que soy un poco patoso :lol:
Ya te funciona?. A mi me pasaba del Nº 8 y me mostraba el 9 con ese codigo y esas madificaciones.

tapi8

Desconectado klau24

  • PIC10
  • *
  • Mensajes: 10
Re: Display 7 segmentos Pic 16f628a
« Respuesta #33 en: 31 de Mayo de 2009, 14:05:00 »
Tengo algunos errores aun se alenta demasiado y me falta kreo alguna instruccion, porqe al dejar oprimido el pulsador debe de leer los numero que pueda, y al soltarlo kedarse en el qe continue. siendo asi que al oprimir el pulsador rote bit por bit, pero que al dejarlo oprimido tambien continue con la lectura, voy a subir mi codigo sale y no fue culpa tuya tapi8 , fue error mio te repito, tengo muchos programas qe hice para hallar el error y  mande el equivocado pero aqi va el qe ya me funciono con lentitud pero funciono y ya solo le falta la otra instruccion.

;**** Programa principal ****
;**** Configuracion de puertos ****
Inicio
   bsf   STATUS,RP0    ; Pasamos de Banco 0 a Banco 1.-
movlw b'10000000'  ;RB7 como entrada y los demas como salida   
movwf   TRISB      ; PORTB como salida.-
 bcf   STATUS,RP0   ; Paso del Banco 1 al Banco 0
movlw b'00000001'      ;Comienza en cero
   call   Config_Tabla   ; Cargamos registros con Codigo de 7 segmentos.-   
   movfw   INDF      ; Leemos codigo de 7 Segmentos para el CERO.-
   movwf   PORTB      ; Mostramos el CERO.-
 
;**** Testeo de Pulsador ****
Bucle 

btfss   PORTB,Pulsador   
goto    Incremento
oto    Bucle
call    Demora_190ms   ; Para anti-rebote Pulsador   
btfsc   PORTB,Pulsador   ; Testeamos nuevamente   
goto    Bucle   ; Falsa alarma. 

Incremento
incf   FSR,1         ; Incrementamos Puntero.- 
movlw   0x3A         ; Consulamos si se pide codigo para mostrar "10",   
subwf   FSR,0         ; si es asi reseteamos FSR, apunta a 0x30--> "0".-   
btfss   STATUS,Z      ; Si Z=1 --> 0x3A - FSR = 0.-   
goto   Muestro_Display      ; No, muestro display.-   

movlw   0x30         ; Si reseteo puntero.- 
movwf   FSR            ;   
goto    Muestro_Display

Muestro_Display   
movfw   INDF         ; Leo Registro que apunta FSR.-   
movwf   PORTB         ; Lo cargo en PORTB.-   
goto   Bucle         ; Continuo conteo.-


;**** Demora ****
Demora_190ms
   movlw   0xFF         ;
   movwf   Contador1      ; Iniciamos contador1.-
Repeticion1
   movlw   0xFF         ;
   movwf   Contador2      ; Iniciamos contador2
Repeticion2
   decfsz   Contador2,1      ; Decrementa Contador2 y si es 0 sale.-     
   goto   Repeticion2      ; Si no es 0 repetimos ciclo.-
   decfsz   Contador1,1      ; Decrementa Contador1.-
   goto   Repeticion1      ; Si no es cero repetimos ciclo.-
   return            ; Regresa de la subrutina.-

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Display 7 segmentos Pic 16f628a
« Respuesta #34 en: 31 de Mayo de 2009, 14:33:06 »
No se si entendí, pero la idea es que al pulsar el botón, vaya avanzando la cuenta hasta soltarlo?

En esta parte del código hay un error:
Código: ASM
  1. ;**** Testeo de Pulsador ****
  2. Bucle
  3.  
  4. btfss   PORTB,Pulsador  
  5. goto    Incremento
  6. oto    Bucle
  7. call    Demora_190ms   ; Para anti-rebote Pulsador  
  8. btfsc   PORTB,Pulsador   ; Testeamos nuevamente  
  9. goto    Bucle   ; Falsa alarma.

Fijate que esta parte nunca se ejecuta:
Código: ASM
  1. call    Demora_190ms   ; Para anti-rebote Pulsador  
  2. btfsc   PORTB,Pulsador   ; Testeamos nuevamente  
  3. goto    Bucle   ; Falsa alarma.


Para hacer lo que indique al principio sería así:
Código: ASM
  1. ;**** Testeo de Pulsador ****
  2. Bucle
  3. btfss   PORTB,Pulsador  
  4. goto    Incremento
  5. goto    Bucle
  6.  
  7. Incremento
  8. call    Demora_20ms   ; Para anti-rebote Pulsador (POR SI ES SOLO UNA PULSACION)  
  9. btfsc   PORTB,Pulsador   ; Testeamos nuevamente  
  10. goto    Bucle   ; Falsa alarma.
  11. incf   FSR,1         ; Incrementamos Puntero.-
  12. movlw   0x3A         ; Consulamos si se pide codigo para mostrar "10",  
  13. subwf   FSR,0         ; si es asi reseteamos FSR, apunta a 0x30--> "0".-  
  14. btfss   STATUS,Z      ; Si Z=1 --> 0x3A - FSR = 0.-  
  15. goto   Muestro_Display      ; No, muestro display.-  
  16.  
  17. movlw   0x30         ; Si reseteo puntero.-
  18. movwf   FSR            ;  
  19. goto    Muestro_Display
  20.  
  21. Muestro_Display  
  22. movfw   INDF         ; Leo Registro que apunta FSR.-  
  23. movwf   PORTB         ; Lo cargo en PORTB.-  
  24. ;************************
  25. ; Visualizamos durante 190ms y si el pulsador sigue accionado incrementamos la cuenta.
  26. call    Demora_190ms
  27. ;************************
  28. goto   Bucle         ; Continuo conteo.-
« Última modificación: 31 de Mayo de 2009, 14:36:29 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado klau24

  • PIC10
  • *
  • Mensajes: 10
Re: Display 7 segmentos Pic 16f628a
« Respuesta #35 en: 31 de Mayo de 2009, 14:54:38 »
gracias suky pues este programa tiene ke realizar dos funciones, al darle oprimir alpulsador me de un numero , lo pulso de nuevo y otro y asi sucesivamente ,pero qe tambien al dejalo pulsado continue con la lectura de los numeros hasta qe nuevamente lo deje de oprimir y continue a pulsar de uno en uno, son dos acciones, yatenemos una de numero por numero....

y gracias fueron de gran apoyo tus comentarios

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Display 7 segmentos Pic 16f628a
« Respuesta #36 en: 31 de Mayo de 2009, 16:02:59 »
Lo has probado en prtoboard? a mi en el MPLAB ya me hace todo eso, en este que pones ahora te lo hace pr 0 y no por 1, es asi como lo quieres?, te lo digo porque yo el pimero te lo ponia para activarse por 1; el que te pone suki creo que tambien y ademas te hace un delay de 190 ms para que se vea el numero, pero lo hace al estar a 0 el pulsador, ojo con esto cuando lo montes o lo simules, estos ultimos no los probe en el MPLAB pero si lo hizo suki seguro que esta bien, ademas no se le pone la condicion para que no lo haga

tapi8

Desconectado klau24

  • PIC10
  • *
  • Mensajes: 10
Re: Display 7 segmentos Pic 16f628a
« Respuesta #37 en: 31 de Mayo de 2009, 17:36:01 »
lo estoy probando en el pci simulator y me realiza la funcion de contador utilizando push boton, cambia de uno en uno y la otra funcion es ke si lo dejo pulsado sige leyendo los numero, ya corregi lo ke me dices pero no ahora lo ke hace es ke le tengo qe dar dos pulsaciones para que cambie......

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Display 7 segmentos Pic 16f628a
« Respuesta #38 en: 31 de Mayo de 2009, 19:56:49 »
lo estoy probando en el pci simulator y me realiza la funcion de contador utilizando push boton, cambia de uno en uno y la otra funcion es ke si lo dejo pulsado sige leyendo los numero, ya corregi lo ke me dices pero no ahora lo ke hace es ke le tengo qe dar dos pulsaciones para que cambie......

El código del pulsador:
Código: ASM
  1. ;**** Testeo de Pulsador ****
  2. Bucle
  3.         btfss   PORTB,Pulsador  
  4.         goto    Incremento
  5.         goto    Bucle
  6.  
  7. Incremento
  8.         call    Demora_20ms   ; Para anti-rebote Pulsador (POR SI ES SOLO UNA PULSACION)  
  9.         btfsc   PORTB,Pulsador   ; Testeamos nuevamente  
  10.         goto    Bucle   ; Falsa alarma.
  11.         incf   FSR,1         ; Incrementamos Puntero.-
  12.         movlw   0x3A         ; Consulamos si se pide codigo para mostrar "10",  
  13.         subwf   FSR,0         ; si es asi reseteamos FSR, apunta a 0x30--> "0".-  
  14.         btfss   STATUS,Z      ; Si Z=1 --> 0x3A - FSR = 0.-  
  15.         goto   Muestro_Display      ; No, muestro display.-  
  16.        
  17.         movlw   0x30         ; Si reseteo puntero.-
  18.         movwf   FSR            ;  
  19.         goto    Muestro_Display
  20.  
  21. Muestro_Display  
  22.         movfw   INDF         ; Leo Registro que apunta FSR.-  
  23.         movwf   PORTB         ; Lo cargo en PORTB.-  
  24.         call    Demora_300ms
  25.         goto   Bucle         ; Continuo conteo.-

Esto simulado en proteus cumple con los requerimientos pedidos, solo le aumente la demora de Visualización en el caso de  que el pulsador siga accionado. Ten en cuenta que al accionar el pulsador se aumenta el conteo y se visualiza durante 300ms, y en este tiempo una nueva pulsación no afectará en el conteo. Te adjunto el esquemático desarrollado.
« Última modificación: 01 de Junio de 2009, 15:43:08 por Suky »
No contesto mensajes privados, las consultas en el foro

Desconectado Kikeynuri

  • PIC10
  • *
  • Mensajes: 11
Re: Display 7 segmentos Pic 16f628a
« Respuesta #39 en: 31 de Mayo de 2009, 20:07:04 »
Suki...
Puedes explicarme un poco mas me perdi, ya no supe colocarle el codigo para adaptarle el boton... el boton tiene que tener la funcion de ir dando un numero cada que lo preciones.

Desconectado lalomatix

  • PIC10
  • *
  • Mensajes: 1
Re: Display 7 segmentos Pic 16f628a
« Respuesta #40 en: 31 de Mayo de 2009, 20:34:06 »
mira q bien lo probare!
« Última modificación: 31 de Mayo de 2009, 22:58:16 por lalomatix »

Desconectado tapi8

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1506
Re: Display 7 segmentos Pic 16f628a
« Respuesta #41 en: 01 de Junio de 2009, 07:12:50 »
En todas las facultades de Mxico pusieron el mismo ejercicio? que suerte teneis :lol: :lol:

tapi8


 

anything