Autor Tema: sencuenciador de 6 canales con PIC 16F628A  (Leído 3144 veces)

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

Desconectado PIC_16F877A

  • PIC10
  • *
  • Mensajes: 33
sencuenciador de 6 canales con PIC 16F628A
« en: 01 de Julio de 2011, 22:44:48 »
HOLA COMPAÑEROS DE TODO PIC, ESPERO QUE ESTEN BIEN, LES COMENTO HICE UN SECUENCIADOR 6 CANALES USANDO EL  PIC 16F628A.PERO AL COMPILARLO ME SALEN 2 ERRORES, ESTE ES MI PRIMER PROGRAMA EN LENGUAJE ENSAMBLANDOR. LES PIDO EL FAVOR SI ME PUEDEN AYUDARME, en corregir los 2 ERRORES,   ES PARA UN TRABAJO EN LA UNVIVERSIAD.GRACIAS JOSE LUIS

ESTE ES EL PROGRAMA

INCLUDE "P16F628a.inc"
RADIX HEX
REG EQU 0C
CON1 EQU 0D
CON2 EQU 0E

ORG 0
GOTO INICIO

INICIO BSF STATUS,RP0 ;CAMBIO A BANCO 1
MOVLW 0xFF
MOVWF TRISA ;PUERTO A ENTRADA
MOVLW 0x00
MOVWF TRISB ;PUERTO B SALIDA
BCF STATUS,RP0 ;CAMBIO A BANCO 0
CLRF CON1
CLRF CON2
CLRF REG

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LECTURA DE EFECTOS ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

LEER MOVF PORTA,W
SUBLW 0x00
BTFSC STATUS,Z ;verifico si bit z del reg status es cero y salto a verificar la otra alternativa
GOTO EFECTO_UNO ;si no cero salto a efecto uno
MOVF PORTA,W
SUBLW 0x01
BTFSC STATUS,Z
GOTO EFECTO_DOS
MOVF PORTA,W
SUBLW 0x02
BTFSC STATUS,Z
GOTO EFECTO_TRES
MOVF PORTA,W
SUBLW 0x03
BTFSC STATUS,Z
GOTO EFECTO_CUATRO
MOVF PORTA,W
SUBLW 0x04
BTFSC STATUS,Z
GOTO EFECTO_CINCO
MOVF PORTA,W
SUBLW 0x05
BTFSC STATUS,Z
GOTO EFECTO_SEIS
MOVF PORTA,W
SUBLW 0x06
BTFSC STATUS,Z
GOTO EFECTO_SIETE
MOVF PORTA,W
SUBLW 0x07
BTFSC STATUS,Z
GOTO EFECTO_OCHO
GOTO LEER

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; DELAY SIMPLE ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

DELAY NOP ;DELAY----->RETARDO DE 196ms
BUCLE DECFSZ CON1,F
GOTO BUCLE
DECFSZ CON2,F
GOTO BUCLE
RETURN

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;; TABLAS EFECTOS 1,2,3 Y 4 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

EFECTO_UNO MOVLW 0x03
MOVWF REG
LEO_UNO DECFSZ REG,F
GOTO COMB_UNO
GOTO LEER
COMB_UNO MOVF REG,W
CALL TABLA_UNO
MOVWF PORTB
CALL DELAY
CALL DELAY GOTO LEO_UNO
TABLA_UNO ADDWF PCL,F ;PC=PC+W
RETURN
RETLW B'00010101' ;EFECTO ALTERNADO 1
RETLW B'00101010'

EFECTO_DOS MOVLW 0x03
MOVWF REG
LEO_DOS DECFSZ REG,F
GOTO COMB_DOS
GOTO LEER
COMB_DOS MOVF REG,W
CALL TABLA_DOS
MOVWF PORTB
CALL DELAY
CALL DELAY
GOTO LEO_DOS
TABLA_DOS ADDWF PCL,F ;PC=PC+W
RETURN
RETLW B'00000111' ;EFECTO ALTERNADO 2
RETLW B'00111000'

EFECTO_TRES MOVLW 0x03
MOVWF REG
LEO_TRES DECFSZ REG,F
GOTO COMB_TRES
GOTO LEER
COMB_TRES MOVF REG,W
CALL TABLA_TRES
MOVWF PORTB
CALL DELAY
CALL DELAY
GOTO LEO_TRES
TABLA_TRES ADDWF PCL,F ;PC=PC+W
RETURN
RETLW B'00001100' ;EFECTO ALTERNADO 3
RETLW B'00110011'

EFECTO_CUATRO MOVLW 0x03
MOVWF REG
LEO_CUATRO DECFSZ REG,F
GOTO COMB_CUATRO
GOTO LEER
COMB_CUATRO MOVF REG,W
CALL TABLA_CUATRO
MOVWF PORTB
CALL DELAY
CALL DELAY
GOTO LEO_CUATRO
TABLA_CUATRO ADDWF PCL,F ;PC=PC+W
RETURN
RETLW B'00000000' ;EFECTO ALTERNADO 3
RETLW B'00111111'

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;; TABLAS EFECTOS 5,6,7 Y 8 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

EFECTO_CINCO MOVLW 0x0B
MOVWF REG
LEO_CINCO DECFSZ REG,F
GOTO COMB_CINCO
GOTO LEER
COMB_CINCO MOVF REG,W
CALL TABLA_CINCO
MOVWF PORTB
CALL DELAY
CALL DELAY
GOTO LEO_CINCO
TABLA_CINCO ADDWF PCL,F ;PC=PC+W
RETURN
RETLW B'00100000' ;EFECTO DESPLAZADOR
RETLW B'00010000'
RETLW B'00001000'
RETLW B'00000100'
RETLW B'00000010'
RETLW B'00000001'
RETLW B'00000010'
RETLW B'00000100'
RETLW B'00001000'
RETLW B'00010000'


EFECTO_SEIS MOVLW 0x13
MOVWF REG
LEO_SEIS DECFSZ REG,F
GOTO COMB_SEIS
GOTO LEER
COMB_SEIS MOVF REG,W
CALL TABLA_SEIS
MOVWF PORTB
CALL DELAY
CALL DELAY
GOTO LEO_SEIS
TABLA_SEIS ADDWF PCL,F ;PC=PC+W
RETURN
RETLW B'00110000' ;EFECTO COMBINADO 1
RETLW B'00011000'
RETLW B'00001100'
RETLW B'00000110'
RETLW B'00000011'
RETLW B'00000110'
RETLW B'00001100'
RETLW B'00011000'
RETLW B'00110000'
RETLW B'00100001'
RETLW B'00010010'
RETLW B'00001100'
RETLW B'00010010'
RETLW B'00100001'
RETLW B'00010010'
RETLW B'00001100'
RETLW B'00010010'
RETLW B'00100001'


EFECTO_SIETE MOVLW 0x13
MOVWF REG
LEO_SIETE DECFSZ REG,F
GOTO COMB_SIETE
GOTO LEER
COMB_SIETE MOVF REG,W
CALL TABLA_SIETE
MOVWF PORTB
CALL DELAY
CALL DELAY
GOTO LEO_SIETE
TABLA_SIETE ADDWF PCL,F ;PC=PC+W
RETURN
RETLW B'00001111' ;EFECTO COMBINADO 2
RETLW B'00100111'
RETLW B'00110011'
RETLW B'00111001'
RETLW B'00111100'
RETLW B'00111001'
RETLW B'00110011'
RETLW B'00100111'
RETLW B'00001111'
RETLW B'00011110'
RETLW B'00101101'
RETLW B'00110011'
RETLW B'00101101'
RETLW B'00011110'
RETLW B'00101101'
RETLW B'00110011'
RETLW B'00101101'
RETLW B'00011110'


EFECTO_OCHO MOVLW 0x12
MOVWF REG
LEO_OCHO DECFSZ REG,F
GOTO COMB_OCHO
GOTO LEER
COMB_OCHO MOVF REG,W
CALL TABLA_OCHO
MOVWF PORTB
CALL DELAY
CALL DELAY
GOTO LEO_OCHO
TABLA_OCHO ADDWF PCL,F ;PC=PC+W
RETURN
RETLW B'00100000' ;EFECTO ACUMULADOR
RETLW B'00010000'
RETLW B'00001000'
RETLW B'00000100'
RETLW B'00000010'
RETLW B'00100001'
RETLW B'00010001'
RETLW B'00001001'
RETLW B'00000101'
RETLW B'00100011'
RETLW B'00010011'
RETLW B'00001011'
RETLW B'00100111'
RETLW B'00010111'
RETLW B'00101111'
RETLW B'00111111'
RETLW B'00000000'

END

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: sencuenciador de 6 canales con PIC 16F628A
« Respuesta #1 en: 01 de Julio de 2011, 22:47:29 »
que errores son los que te marca el compilador??
"Nada es imposible, no si puedes imaginarlo"

Desconectado PIC_16F877A

  • PIC10
  • *
  • Mensajes: 33
Re: sencuenciador de 6 canales con PIC 16F628A
« Respuesta #2 en: 01 de Julio de 2011, 23:41:44 »
hola amigos aca le envio los 2 errores que me salen cuando estoy compilando,
lo errores  esta en archivos adjunto en formato de word,
 le agradezco su colaboracion gracias

jose luis

Desconectado albert_to

  • PIC10
  • *
  • Mensajes: 11
Re: sencuenciador de 6 canales con PIC 16F628A
« Respuesta #3 en: 02 de Julio de 2011, 10:54:05 »
Hola nose si ya solucionaste tu problema, pero lo que puedo ver es que en linea 82 escribiste"CALL DELAY GOTO LEO_UNO" y deben ir "call delay" en una linea y "goto leo_uno" en otra, bueno es lo que puedo ver, saludos :P.

Desconectado rivale

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1707
Re: sencuenciador de 6 canales con PIC 16F628A
« Respuesta #4 en: 02 de Julio de 2011, 12:35:23 »
Hola nose si ya solucionaste tu problema, pero lo que puedo ver es que en linea 82 escribiste"CALL DELAY GOTO LEO_UNO" y deben ir "call delay" en una linea y "goto leo_uno" en otra, bueno es lo que puedo ver, saludos :P.
me perece que eso te genera los 2 eerores, tambien trata de darles un tabulador a todas tus lineas para quitar todos los warning que te salen
"Nada es imposible, no si puedes imaginarlo"

Desconectado om@r

  • PIC12
  • **
  • Mensajes: 86
Re: sencuenciador de 6 canales con PIC 16F628A
« Respuesta #5 en: 02 de Julio de 2011, 15:54:34 »
Hola a Todos! :shock:
Fijate que cuando declaras las variables REG ,CON1 ,CON2 lo haces apartir de la posicion 0CH y en 628 tiene que ser a partir de la posicion 20H ,tambien vi que usas el puerto A digital y tenes que programar el registro CMCON que controla el puerto en la pagina 33 de la hoja de datos describe el uso :shock:
REG   EQU 20H
CON1 EQU 21H
CON2 EQU 22H
;
INICIO    CLRF          PORTB
              CLRF          PORTA
              MOVLW       0X07
              MOVWF       CMCON
              BSF            STATUS,RP0 ;CAMBIO A BANCO 1
              BCF            STATUS,RP1
              MOVLW       0xFF
              MOVWF       TRISA ;PUERTO A ENTRADA
              MOVLW       0x00
              MOVWF        TRISB ;PUERTO B SALIDA
              BCF            STATUS,RP0 ;CAMBIO A BANCO 0
              BCF            STATUS,RP1
              CLRF           CON1
              CLRF           CON2
              CLRF           REG
Saludos!!

Desconectado PIC_16F877A

  • PIC10
  • *
  • Mensajes: 33
Re: sencuenciador de 6 canales con PIC 16F628A
« Respuesta #6 en: 02 de Julio de 2011, 16:44:18 »
hola compañeros,
me prodrian hacer el favor de corrregir el programa, aca se lo dejo adjunto.
gracias jose luis


 

anything