Autor Tema: Ayuda programa ASM PIC16F84A  (Leído 1697 veces)

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

Desconectado xabibix

  • PIC10
  • *
  • Mensajes: 5
Ayuda programa ASM PIC16F84A
« en: 19 de Marzo de 2006, 03:48:00 »
Quiero realizar el siguiente programa:

Cuando activo el pulsador RA0 mas de dos segundos, se queda a nivel alto la salida RB0 y solo pasa a nivel bajo dicha salida al accionar menos de dos segundos el pulsador RA0.

Me podriais orientar en la realización del programa?

Muchas gracias.


Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: Ayuda programa ASM PIC16F84A
« Respuesta #1 en: 19 de Marzo de 2006, 20:48:00 »
Escrito originalmente por xabibix
Quiero realizar el siguiente programa:

Cuando activo el pulsador RA0 mas de dos segundos, se queda a nivel alto la salida RB0 y solo pasa a nivel bajo dicha salida al accionar menos de dos segundos el pulsador RA0.

Me podriais orientar en la realización del programa?

Muchas gracias.




En que lenguaje?
Cuales son tus conocimientos?
No has siquiera intentado alguna linea que podamos luego irte corrigiendo?

- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado xabibix

  • PIC10
  • *
  • Mensajes: 5
RE: Ayuda programa ASM PIC16F84A
« Respuesta #2 en: 20 de Marzo de 2006, 00:32:00 »
Re: El programa que he pensado es este:

          ORG     0
Inicio    bsf     STATUS,RP0
          clrf    TRISB
          movlw   b"00011111"
          movf    TRISA
          bcf     STATUS,RP0
Principal movf    PORTA,W
          xorwf   PORTB,W
          btfsc   W,0
          goto    salida1
          goto    salida0
salida1   movlw   b"00000001"
          call    retardo_2seg
          movwf   PORTB
          goto    Principal
salida0   movlw   b"00000000"
          movf    PORTB
          goto    Principal

          INCLUDE <RETARDOS.INC>
          END

Desconectado carlyvalente

  • PIC16
  • ***
  • Mensajes: 108
RE: Ayuda programa ASM PIC16F84A
« Respuesta #3 en: 20 de Marzo de 2006, 03:14:00 »
Ojo con esto:

salida1 movlw b"00000001"
call retardo_2seg
movwf PORTB

cargas el acumulador con un dato que luego, si entras en la subrutina de retardo es más que seguro que utilizas el acumulador que por lo tanto al salir de la subrutina tendrá un valor erroneo para mover al puerto B

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
RE: Ayuda programa ASM PIC16F84A
« Respuesta #4 en: 20 de Marzo de 2006, 05:33:00 »
Escrito originalmente por xabibix
Re: El programa que he pensado es este:

          ORG     0
Inicio    bsf     STATUS,RP0
          clrf    TRISB
          movlw   b"00011111"
          movf    TRISA
          bcf     STATUS,RP0
Principal movf    PORTA,W
          xorwf   PORTB,W
          btfsc   W,0
          goto    salida1
          goto    salida0
salida1   movlw   b"00000001"
          call    retardo_2seg
          movwf   PORTB
          goto    Principal
salida0   movlw   b"00000000"
          movf    PORTB
          goto    Principal

          INCLUDE <RETARDOS.INC>
          END


Lo has probado en el simulador del MPLAB IDE o algun otro?
Te recomiendo comiences a familiarizarte con estas herramientas ya que son de vital importancia .  Probar antes de armar un hardware puede salvarte de cometer muchos errores, ahorrarte tiempo y dinero.
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)