Segue o código:
;*************************************************************************************************************
;Alarme residencial
;*************************************************************************************************************
#include <P16F877A.inc> ;modelo do PIC
;*************************************************************************************************************
TEMP1 equ 22h ;Variavel temporaria
TEMP2 equ 23h ;Variavel temporaria
TEMP3 equ 24h ;Variavel temporaria
#define BANK0 BCF STATUS, RP0 ;Seta o banco 0 de memória
#define BANK1 BSF STATUS, RP0 ;Seta o banco 1 de memória
#define buzzer PORTC,4
;*************************************************************************************************************
org 00h ;vetor de reset
goto inicio ;vai para o inicio do programa
;*************************************************************************************************************
;Rotina de inicio do programa
;*************************************************************************************************************
inicio
bsf STATUS,RP0 ;muda para banco 1
movlw 06h
movwf ADCON1 ;Usar as portas A e E como I/O e nao como A/D
movlw B'00000000'
clrf TRISA
clrf TRISB
clrf TRISC
clrf TRISD
clrf TRISE
movlw B'00000000'
movwf TRISA
movlw B'00000000'
movwf TRISC
movlw B'00000000'
movwf TRISD
movlw B'00000000'
movwf TRISE
movlw .31
movwf TRISB
clrf OPTION_REG
bcf STATUS,RP0 ;muda para banco 0
clrf PORTA
clrf PORTB
clrf PORTC
clrf PORTD
clrf PORTE
;*************************************************************************************************************
;Rotina principal
;*************************************************************************************************************
principal
bsf buzzer
call Delay
call Delay
call Delay
bcf buzzer
call Delay
call Delay
call Delay
goto principal
;*************************************************************************************************************
; Subrotina de atraso
;*************************************************************************************************************
Delay
movlw 10 ;move 10 para o acumulador
movwf TEMP1 ;move o valor do acumulador para TEMP1
LABEL1
movlw 50 ;move 50 para o acumulador
movwf TEMP2 ;move o valor do acumulador para TEMP2
LABEL2
movlw 50 ;move 50 para o acumulador
movwf TEMP3 ;move o valor do acumulador para TEMP3
LABEL3
decfsz TEMP3,F ;decrementa TEMP3, skip se zero
goto LABEL3 ;vai para o endereço LABEL3
decfsz TEMP2,F ;decrementa TEMP2, skip se zero
goto LABEL2 ;vai para o endereço LABEL2
decfsz TEMP1,F ;decrementa TEMP1, skip se zero
goto LABEL1 ;vai para o endereço LABEL1
return
end ;diretiva de fim do programa
Uma coisa que começou a acontecer hoje, ao tentar abrir o MPLab aparece a mensagem "Acesso Negado" e fecha o MPLab, não consigo mais usar o programa (meu SO é o Windows 7 x64 RC 7600), tentei abrir o MPLab como administrador e acontece a mesma coisa, alguem sabe como resolver isso tambem? obrigado, até mais.