Bueno aca les muestro el momento del desbloqueo.
Primero inicio la netbook y presionó el reset de la placa de microcontrolador para que no actúe y así mostrar que está bloqueada.
En el segundo arranque el microcontrolador funciona normal y desbloquea la netbook. Es necesario aclarar que sin la placa se bloquea nuevamente.
El codigo de fuente en ensamblador
#include <p16F886.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF &_BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON &_PWRTE_OFF & _WDT_OFF & _INTRC_OSC_CLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
d1 equ 0x23
d2 equ 0x24
d3 equ 0x25
org 0
Start:
bsfSTATUS,RP0; }-select Register Bank 3
bsfSTATUS,RP1; }
bcfANSELH,4; make IO Pin RB0 digital
bcfSTATUS,RP1; Deselect Register Bank 3
; leaving Bank 1 selected
bcfTRISB,0 ; make IO Pin RB0 an output
bcfTRISB,1 ; make IO Pin RB0 an output
bcfTRISB,2 ; make IO Pin RB0 an output
bcfSTATUS,RP0; back to Register Bank 0
bsfPORTB,0 ; turn on LED RB0 (DS1)
;hasta ahora solo enciende el led de estado en rb0
;delay de 2,4 segundos
;2399997 cycles
movlw0xDA
movwfd1
movlw0x7D
movwfd2
movlw0x04
movwfd3
Delay_0
decfszd1, f
goto$+2
decfszd2, f
goto$+2
decfszd3, f
gotoDelay_0
;3 cycles
goto$+1
nop
;enciende led rb1
bsfPORTB,1 ; turn on LED RB0 (DS1)
;delay de 1 segundo y luego apagar y entrar en modo sleep
;702000 cycles
movlw0x7f
movwfd1
movlw0x3f
movwfd2
movlw0x01
movwfd3
Delay_1
decfszd1, f
goto$+2
decfszd2, f
goto$+2
decfszd3, f
gotoDelay_1
;6 cycles
goto$+1
goto$+1
goto$+1
bsfPORTB,2 ; turn on LED RB0 (DS1)
goto $
end
Primero inicio la netbook y presionó el reset de la placa de microcontrolador para que no actúe y así mostrar que está bloqueada.
En el segundo arranque el microcontrolador funciona normal y desbloquea la netbook. Es necesario aclarar que sin la placa se bloquea nuevamente.
El codigo de fuente en ensamblador
#include <p16F886.inc>
__CONFIG _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF &_BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_ON &_PWRTE_OFF & _WDT_OFF & _INTRC_OSC_CLKOUT
__CONFIG _CONFIG2, _WRT_OFF & _BOR21V
d1 equ 0x23
d2 equ 0x24
d3 equ 0x25
org 0
Start:
bsfSTATUS,RP0; }-select Register Bank 3
bsfSTATUS,RP1; }
bcfANSELH,4; make IO Pin RB0 digital
bcfSTATUS,RP1; Deselect Register Bank 3
; leaving Bank 1 selected
bcfTRISB,0 ; make IO Pin RB0 an output
bcfTRISB,1 ; make IO Pin RB0 an output
bcfTRISB,2 ; make IO Pin RB0 an output
bcfSTATUS,RP0; back to Register Bank 0
bsfPORTB,0 ; turn on LED RB0 (DS1)
;hasta ahora solo enciende el led de estado en rb0
;delay de 2,4 segundos
;2399997 cycles
movlw0xDA
movwfd1
movlw0x7D
movwfd2
movlw0x04
movwfd3
Delay_0
decfszd1, f
goto$+2
decfszd2, f
goto$+2
decfszd3, f
gotoDelay_0
;3 cycles
goto$+1
nop
;enciende led rb1
bsfPORTB,1 ; turn on LED RB0 (DS1)
;delay de 1 segundo y luego apagar y entrar en modo sleep
;702000 cycles
movlw0x7f
movwfd1
movlw0x3f
movwfd2
movlw0x01
movwfd3
Delay_1
decfszd1, f
goto$+2
decfszd2, f
goto$+2
decfszd3, f
gotoDelay_1
;6 cycles
goto$+1
goto$+1
goto$+1
bsfPORTB,2 ; turn on LED RB0 (DS1)
goto $
end