Deshabilitar MCLR PIC 16F628

#1
Hola, necesito deshabilitar el MCLR para poder usar el puerto RA5 como entrada.

Alguien sabe como deshabilitarlo en un programa en ensamblador?

saludos
 
#2
Según que compilador utilices, en el MPLAB. Para modificar los fuses se utiliza: __config h'3f71'. Por ejemplo. Mira en la página 93 de su Datasheet para buscar el valor de los fuses. Un saludo
 
#3
;CP_OFF - Codigo de proteccion programa desactivado
;CPD_OFF - Codigo de proteccion eeprom desactivado
;WDT_OFF - Perro guardian desconectado
;BODEN_OFF - No actua el reset por bajada de tension
;PWRTE_OFF - Reset de inicio desconectado
;MCLRE_OFF - Reset externo desconectado, sino pierdo una entrada A5
;XT_OSC - oscilador exterior
;INTOSC_OSC_NOCLKOUT - funcionamiento con reloj interno para el 16F628A
;INTRC_OSC_NOCLKOUT - funcionamiento con reloj interno para el 16F628
;LVP_OFF - programacion de bajo voltage desconectado,

;****************************** ZONA DE DATOS ****************************
__CONFIG _LVP_OFF & _MCLRE_ON & _BODEN_OFF & _DATA_CP_OFF & _CP_ON & _PWRTE_ON & _WDT_ON & _INTRC_OSC_NOCLKOUT
 
#4
Hola, e estado mirando lo que me dijiste pero no logro entender como configurar en mi cabecera el deshabilitar el MCLR, estoy usando ensamblador.

Saludos y gracias.

turbojet dijo:
Hola, e estado mirando lo que me dijiste pero no logro entender como configurar en mi cabecera el deshabilitar el MCLR, estoy usando ensamblador.

Saludos y gracias.
no habia visto el mensaje anterior...

No consigo compilar. con lo que me han comentado ustedes, tengo un problema la hora de insertar ese codigo:

Código:
__CONFIG _LVP_OFF & _MCLRE_ON & _BODEN_OFF & _DATA_CP_OFF  & _CP_ON & _PWRTE_ON & _WDT_ON & _INTRC_OSC_NOCLKOUT
Este es mi código, donde lo tendría que poner?

Código:
        List    p=16F628a        ;Tipo de procesador
        include    "P16F628a.INC"    ;Definiciones de registros internos

        f    EQU    1
        d1    EQU 10Ch
        d2    EQU    10Eh
        d3    EQU    10Fh
    
        org    0x00                ;Vector de Reset
        goto    Inicio

        org    0x05                ;Salva el vector de interrupción

Inicio    clrf     PORTB            ;Borra los latch de salida
        bsf        STATUS,RP0        ;Selecciona banco 1
        clrf    TRISB            ;Puerta B se configura como salida
        movlw    b'10000000'        
        movwf    TRISB            ;Puerta A se configura como entrada
    
        movlw    b'01111111'        
        movwf    TRISA            ;Puerta A se configura como entrada
        bcf        STATUS,RP0        ;Selecciona banco 0
        
        movlw    b'01111111'
        movwf    PORTB
            ;999997 cycles
    movlw    0x1A
    movwf    d1
    movlw    0x8B
    movwf    d2
    movlw    0x07
    movwf    d3
Delay_0
    decfsz    d1, f
    goto    $+2
    decfsz    d2, f
    goto    $+2
    decfsz    d3, f
    goto    Delay_0

            ;3 cycles
    goto    $+3
    nop
marcha:    nop                    ;Refrescar el WDT
        btfsc    PORTA,0            ;Comprueba el estado de RA0
        goto    primera            ;Si está activo salta a primera
        btfsc    PORTA,1            ;Comprueba el estado de RA1
        goto    segunda            ;Si está activo salta a segunda
        btfsc    PORTA,2            ;Comprueba el estado de RA2
        goto    tercera            ;Si está activo salta a tercera
        btfsc    PORTA,3            ;Comprueba el estado de RA3
        goto    cuarta            ;Si está activo salta a cuarta
        btfsc    PORTA,4            ;Comprueba el estado de RA4
        goto    quinta            ;Si está activo salta a cuarta
        btfsc    PORTB,7
        goto    sexta
        movlw    b'01010100'        ;Neutro
        movwf    PORTB            ;Si están todas a 0 aparece         
        goto    marcha

sexta    movlw    b'01111101'
        movwf    PORTB
        goto    marcha

quinta    movlw    b'01101101'
        movwf    PORTB            
        goto    marcha

cuarta    movlw    b'01100110'
        movwf    PORTB            
        goto    marcha

tercera    movlw    b'01001111'
        movwf    PORTB            
        goto    marcha

segunda    movlw    b'01011011'
        movwf    PORTB            
        goto    marcha

primera    movlw    b'00000110'
        movwf    PORTB            
        goto    marcha

        end                        ;Fin del programa fuente
Ya está!!!!

habia un error con _DATA_CP_OFF se lo e quitado y funciona
 
Última edición:
#5
respondiendo a tu pregunta:
si estas trabajando sobre el mplab te vas a "configuracion" Y LUEGO CONFIGURACION DE BITS" ES AHI DONDE MODIFICAS los valores que te mencionaron antes
 
Arriba