TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Solidtin en 16 de Septiembre de 2019, 08:53:42

Título: Ayuda programa
Publicado por: Solidtin en 16 de Septiembre de 2019, 08:53:42
Como están equipo del Foro

Me llego a reparación un control de velocidad de la marca Dart modelo 530BRE-36MA ,Ocupo hacer una copia de un microcontrolador del un PIC16F54 E/P pero este esta protegido y solo puedo ver hasta 03F de instrucciones, anteriormente me había llegado otro con el PIC16C54 de este puedo ver todo el programa pero aun así no funciona , les adjunto el programa haber si alguien me puede ayudar a configurar las instrucciones :

Su funcionamiento es activar el cabio de rotación del motor por medio de 3 relevadores,adjunto diagrama que realice del circuito.

  - Tienes que ingresar para ver archivos adjuntos -  
 

La siguiente tabla son las condiciones de trabajo del PIC original

  - Tienes que ingresar para ver archivos adjuntos -  

Este es el programa del PIC16C54


processor 16C54
#include <P16C5x.INC>
__config _CP_OFF & _WDT_OFF & _LP_OSC ; 0x0FF8
__idlocs 0xFFFF
; RAM-Variable
LRAM_0x10 equ 0x10
LRAM_0x11 equ 0x11
LRAM_0x12 equ 0x12
LRAM_0x13 equ 0x13
LRAM_0x14 equ 0x14
; Program
Org 0x0000
LADR_0x0000
NOP
OPTION
CLRF PORTB
MOVLW 0x0F ; b'00001111' d'015'
TRIS PORTA
MOVLW 0x80 ; b'10000000' d'128'
TRIS PORTB
CLRF PORTB
LADR_0x0008
CLRWDT
BSF PORTB,3
MOVLW 0x96 ; b'10010110' d'150'
CALL LADR_0x003F
BSF PORTB,3
LADR_0x000D
CLRWDT
MOVLW 0x0F ; b'00001111' d'015'
TRIS PORTA
MOVLW 0x80 ; b'10000000' d'128'
TRIS PORTB
BCF PORTB,2
MOVLW 0xC8 ; b'11001000' d'200'
CALL LADR_0x003F
MOVLW 0xF8 ; b'11111000' d'248'
MOVWF PORTB
MOVLW 0xC8 ; b'11001000' d'200'
CALL LADR_0x003F
LADR_0x0019
CLRWDT
MOVLW 0x0F ; b'00001111' d'015'
TRIS PORTA
MOVLW 0x80 ; b'10000000' d'128'
TRIS PORTB
MOVLW 0xF8 ; b'11111000' d'248'
MOVWF PORTB
MOVLW 0x0C ; b'00001100' d'012'
ANDWF PORTA,W
XORLW 0x08 ; b'00001000' d'008'
BTFSS STATUS,Z
GOTO LADR_0x0019
BTFSC PORTA,0
GOTO LADR_0x002A
BTFSS PORTA,1
GOTO LADR_0x0019
GOTO LADR_0x0039
Page 1
C:\Users\go7\Documents\ChipProg\Control dart\PIC16C54.hex
LADR_0x002A
BTFSC PORTA,1
GOTO LADR_0x0019
BSF PORTB,2
MOVLW 0x02 ; b'00000010' d'002'
MOVWF LRAM_0x10
BCF PORTB,0
BSF PORTB,1
LADR_0x0031
MOVLW 0xC8 ; b'11001000' d'200'
CALL LADR_0x003F
BCF PORTB,3
MOVF PORTA,W
MOVWF LRAM_0x13
MOVF PORTB,W
MOVWF LRAM_0x14
GOTO LADR_0x0048
LADR_0x0039
BSF PORTB,2
MOVLW 0x01 ; b'00000001' d'001'
MOVWF LRAM_0x10
BSF PORTB,0
BCF PORTB,1
GOTO LADR_0x0031
LADR_0x003F
MOVWF LRAM_0x12
LADR_0x0040
MOVLW 0x04 ; b'00000100' d'004'
MOVWF LRAM_0x11
LADR_0x0042
CLRWDT
DECFSZ LRAM_0x11,F
GOTO LADR_0x0042
DECFSZ LRAM_0x12,F
GOTO LADR_0x0040
RETLW 0x00 ; b'00000000' d'000'
LADR_0x0048
MOVF LRAM_0x13,W
MOVWF PORTA
MOVF LRAM_0x14,W
MOVWF PORTB
MOVLW 0x0F ; b'00001111' d'015'
TRIS PORTA
MOVLW 0x80 ; b'10000000' d'128'
TRIS PORTB
CLRWDT
BTFSC PORTB,7
GOTO LADR_0x005B
MOVLW 0x0A ; b'00001010' d'010'
CALL LADR_0x003F
BTFSC PORTB,7
GOTO LADR_0x005B
MOVLW 0x0A ; b'00001010' d'010'
CALL LADR_0x003F
BTFSS PORTB,7
GOTO LADR_0x000D
LADR_0x005B
BTFSS LRAM_0x10,0
GOTO LADR_0x0060
BTFSC PORTA,0
GOTO LADR_0x0008
GOTO LADR_0x0048
LADR_0x0060
BTFSC PORTA,1
Page 2
C:\Users\go7\Documents\ChipProg\Control dart\PIC16C54.hex
GOTO LADR_0x0008
BTFSC LRAM_0x10,1
GOTO LADR_0x0048
GOTO LADR_0x0008
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
Page 3
C:\Users\go7\Documents\ChipProg\Control dart\PIC16C54.hex
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
Page 4
C:\Users\go7\Documents\ChipProg\Control dart\PIC16C54.hex
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
Page 5
C:\Users\go7\Documents\ChipProg\Control dart\PIC16C54.hex
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
Page 6
C:\Users\go7\Documents\ChipProg\Control dart\PIC16C54.hex
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
Page 7
C:\Users\go7\Documents\ChipProg\Control dart\PIC16C54.hex
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
Page 8
C:\Users\go7\Documents\ChipProg\Control dart\PIC16C54.hex
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
XORLW 0xFF ; b'11111111' d'255'
; Reset-Vector
GOTO LADR_0x0000
End
Page
Título: Re:Ayuda programa
Publicado por: KILLERJC en 16 de Septiembre de 2019, 13:50:09
Si ese es el programa, entonces no debe ser para NADA complejo construir el tuyo.
El problema es que mirando el manual del control de velocidad, no parece tan simple.. Es MUCHO mas complejo de lo que se plantea y que planteara muchas mas instrucciones.
https://www.galco.com/techdoc/dart/530bre-36ma_sm.pdf
Ademas no figura ningún integrado, muestra el circuito y sus componentes. Muchos potenciometros y el PIC16C54 no posee A/D, por lo tanto lo unico que podria hacer el integrado es manejar una logica... Una tabla de "verdad" y tiempos, mas que eso no le veo.

Citar
les adjunto el programa haber si alguien me puede ayudar a configurar las instrucciones :
A que te referis con "configurar" las instrucciones, queres saber que es lo que hacen? modificarlas?, si supuestamente es el programa entonces debería funcionar correctamente. La placa cambia de un PIC a otro ?

Citar
Su funcionamiento es activar el cabio de rotación del motor por medio de 3 relevadores,adjunto diagrama que realice del circuito.
Sin tener una idea de que estas conmutando, el porque y cuando no hay alguna idea de como ayudarte.
Título: Re:Ayuda programa
Publicado por: Solidtin en 17 de Septiembre de 2019, 09:42:52
Que tal KILLERJC

Apenas estoy aprendiendo la programación de PICS debido a este detalle que tengo y aun me falta mucho .

A que te referis con "configurar" las instrucciones, queres saber que es lo que hacen? modificarlas?, si supuestamente es el programa entonces debería funcionar correctamente. La placa cambia de un PIC a otro ?

Referente a este punto : no se si esta bien el programa ,quiero saber si me pueden ayudar a ver que le falta que le sobra; el programa que copie supuestamente esta completo pero aun así no funciona ;el circuito eléctrico es el mismo para los 2 tipos de PIC .

En esta tabla que puse es el comportamiento de un pic que esta funcionando ;RA0,RA1 solo las entradas que se conmutan para obtener las salidas en RB0,RB1,RB2,RB3 ,en las demás terminales el nivel de voltaje siempre es el mismo.

Saludos.

Título: Re:Ayuda programa
Publicado por: KILLERJC en 17 de Septiembre de 2019, 17:57:38
Bueno ahi estuve viendo el programa.

Si... actua segun RA0, RA1, RA2 y RA3, pero tambien lo hace segun RB7.

Acomodando un poco y sacando codigo que no afecta a la logica (como demoras,WDT,etc)
Código: ASM
  1. ; RAM-Variable
  2. MODE equ 0x10
  3.  
  4. ; Program
  5. Org 0x0000
  6. LADR_0x0000
  7.         CLRF PORTB
  8.         MOVLW 0x0F                      ;RA0 a RA3 como entradas
  9.         TRIS PORTA
  10.         MOVLW 0x80                      ;RB7 como entrada
  11.         TRIS PORTB
  12.         CLRF PORTB                      ; PORTB = 0
  13.  
  14. LADR_0x0008
  15.         BSF PORTB,3                     ;RB3=1
  16.         BSF PORTB,3                     ;RB3=1
  17.  
  18. LADR_0x000D
  19.         BCF PORTB,2                     ;RB2=0
  20.         MOVLW 0xF8                      ;PORTB = '11111000'
  21.         MOVWF PORTB
  22.  
  23.  
  24. LADR_0x0019
  25.         MOVLW 0xF8                      ;PORTB = '11111000'
  26.         MOVWF PORTB
  27.         MOVLW 0x0C                      ; b'00001100' d'012'
  28.         ANDWF PORTA,W           ; Aca deja solo RA2 y RA3
  29.         XORLW 0x08                      ; Cambia el estado de RA3
  30.         BTFSS STATUS,Z          ; ¿RA2 = 0 y RA3 = 1 ?
  31.         GOTO LADR_0x0019    ; No hace nada si RA2 = 1 o RA3 = 0
  32.         BTFSC PORTA,0           ; Si RA2 = 0 y RA3 = 1 entonces pregunta por lo demas
  33.         GOTO LADR_0x002A    ; RA0 = 1? Ejecuto esto
  34.         BTFSS PORTA,1
  35.         GOTO LADR_0x0019    ; RA1= 0? Ejecuto esto
  36.         GOTO LADR_0x0039    ; RA1= 1? Ejecuto esto
  37.  
  38. LADR_0x002A                             ; RA0 = 1, RA1 = 0, RA2 = 0, RA3 = 1
  39.         BTFSC PORTA,1           ; Si RA1 = 1 entonces salgo, hay un problema
  40.         GOTO LADR_0x0019
  41.         BSF PORTB,2             ;RB2 = 1
  42.         MOVLW 0x02                      ; 0x10 <- 2, modo FW
  43.         MOVWF MODE
  44.         BCF PORTB,0             ;RB0 = 0 y RB1 = 1
  45.         BSF PORTB,1
  46.  
  47. LADR_0x0031
  48.         BCF PORTB,3                     ; RB3 = 0
  49.         MOVF PORTA,W            ; 0x13 <- PORTA  (guardo el PORTA)
  50.  
  51. LADR_0x0039                             ; RA0 = 0, RA1 = 1, RA2 = 0, RA3 = 1
  52.         BSF PORTB,2
  53.         MOVLW 0x01                      ; 0x10 <- 1 modo REV
  54.         MOVWF MODE
  55.         BSF PORTB,0                     ; RB0=1
  56.         BCF PORTB,1                     ; RB1=0
  57.         GOTO LADR_0x0031
  58.  
  59. LADR_0x0048
  60.         BTFSC PORTB,7           ; RB7 = 0?
  61.         GOTO LADR_0x005B        ; No, voy a otro lado
  62.         BTFSS PORTB,7           ; RB7 = 1?
  63.         GOTO LADR_0x000D    ; No -> Comienzo todo de nuevo
  64. LADR_0x005B
  65.         BTFSS MODE,0            ; ¿Modo FW?
  66.         GOTO LADR_0x0060    ; No -> Voy a 0x0060
  67.         BTFSC PORTA,0       ; SI -> RA0 = 0?
  68.         GOTO LADR_0x0008    ; No -> 0x0008
  69.         GOTO LADR_0x0048    ; Si -> Pregunto de nuevo por RB7
  70. LADR_0x0060            
  71.         BTFSC PORTA,1           ; RA1 = 0?
  72.         GOTO LADR_0x0008    ; No, comienzo de nuevo
  73.         BTFSC MODE,1            ; ¿Modo REV?
  74.         GOTO LADR_0x0048    ; No -> Voy a 0x0048
  75.         GOTO LADR_0x0008    ; Si -> Voy a 0x0008

Muchas cosas para tanta poca cosa xD

El programa cumple con tu tabla de verdad... Pero ademas tiene en cuenta RB7, ya que dependiendo de RB7 que esta como entrada, es como cambia RB3, RB2 tambien para mi esta mal programado por que hay momentos en que se encuentra en 0 al preguntar por los RAx, pero luego al detectar que tiene algun modo seleccionado lo pone en 1, asi que estaria dando pequeños pulsos, lo mismo ocurre con RB3. Pero es la forma en que lograron hacerlo para que cuando este apagado RB2 sea 0 y RB3 sea 1.

PD: RA3 deberia ser un estado digital, no entiendo por que tenes un voltaje intermedio de esa forma... Ya que las condiciones para que se acepten los "modos" FW o REV son:

RA0 = 0, RA1 = 1, RA2 = 0, RA3 = 1 ( modo FW)
y
RA0 = 1, RA1 = 0, RA2 = 0, RA3 = 1 ( modo REV)

Lo importante es ver que RA3 debe ser considerado un 1, donde se requiere 2V como minimo para ser considerado un 1.. Por debajo esta en 0, y por lo tanto es como si estuviera "apagado" y aca es donde tu tabla NO cumple con el programa
Título: Re:Ayuda programa
Publicado por: Solidtin en 19 de Septiembre de 2019, 18:20:37
GRACIAS KILLERJC

Deja hago las pruebas y doy resuyados.

Un Saludo