Estoy intentando copiar el código que programa en mi microcontrolador PIC16F886. He establecido las siguientes opciones de CONFIGURACIÓN en MPLABX y las compilé, obtuve el código hexadecimal de salida. Pero no importa cómo lo configure, puedo leer el programa desde el microcontrolador PIC a un archivo hexadecimal.
Comparé mi archivo hexadecimal original y el que descargué del microcontrolador PIC. Ambos tienen un texto diferente, pero cuando descargo uno descargado en otro dispositivo en blanco, funciona exactamente de la misma manera que funciona mi código compilado original.
¿Estoy haciendo algo mal? ¿Por qué puedo leer el programa incluso después de configurar el bit de protección del código? Consejo amable. Gracias.
#pragma config FOSC = HS // Oscillator Selection bits (HS oscillator: High-speed crystal/resonator on RA6/OSC2/CLKOUT and RA7/OSC1/CLKIN)
#pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = ON // Code Protection bit (Program memory code protection is enabled)
#pragma config CPD = ON // Data Code Protection bit (Data memory code protection is enabled)
#pragma config BOREN = ON // Brown Out Reset Selection bits (BOR enabled)
#pragma config IESO = ON // Internal External Switchover bit (Internal/External Switchover mode is enabled)
#pragma config FCMEN = ON // Fail-Safe Clock Monitor Enabled bit (Fail-Safe Clock Monitor is enabled)
#pragma config LVP = OFF // Low Voltage Programming Enable bit (RB3 pin has digital I/O, HV on MCLR must be used for programming)