Escolar Documentos
Profissional Documentos
Cultura Documentos
;
NOME DO PROJETO: INTERRUPTOR LIGA/DESLIGA COM 12F629
;
CLIENTE: EDSON
;
DESENVOLVIDO POR: ROBERTO TAKESHI MATINO
;
VERSAO: 1.0
DATA: 17/08/10
;******************************************************************************
;
DESCRICAO DO ARQUIVO:
;
;INTERRUPTOR LIGA/DESLIGA COM LED DE STAND BY.
;
;
;******************************************************************************
;
ARQUIVOS DE DEFINICOES
#include <p16f628a.inc>
__CONFIG _BOREN_ON & _CP_ON & _DATA_CP_OFF & _PWRTE_ON & _WDT_ON & _LVP_OFF &
_MCLRE_OFF & _INTOSC_OSC_NOCLKOUT
;*******************************************************************************
;
PAGINACAO DE MEMORIA
;DEFINICAO DE COMANDOS DE USUARIO PARA ALTERACAO DA PAGINA DE MEMORIA
#DEFINE
#DEFINE
;******************************************************************************
;
VARIAVEIS
;DEFINICAO DOS NOMES E ENDERECOS DE TODAS AS VARIAVEIS UTILIZADAS PELO SISTEMA
CBLOCK 0X20
FILTRO_BOTOES
ENDC
;******************************************************************************
;
FLAGS INTERNOS
;DEFINIAO DOS FLAGS UTILIZADOS PELO SISTEMA
;******************************************************************************
;
CONSTANTES
;DEFINIAO DAS CONSTANTES UTILIZADAS PELO SISTEMA
FILTRO_TECLA
EQU
.250
;******************************************************************************
;
ENTRADAS
;DEFINIAO DOS PINOS QUE SERAO UTILIZADOS COMO ENTRADA
;COMENTAR O SIGNIFICADO DOS ESTADOS (0 E 1)
#DEFINE
BOTAO1 PORTA,2
;PORTA DO BOTAO
;0 -> PRESSIONADO
;1 -> LIBERADO
;******************************************************************************
;
SAIDAS
;DEFINICAO DOS PINOS QUE SERAO UTILIZADOS COMO SAIDA
;COMENTAR O SIGNIFICADO DOS PINOS (0 E 1)
#DEFINE
#DEFINE
#DEFINE
LED_EQUIP
LED_STANDBY
SAIDA_EQUIP
PORTB,0
PORTB,1
PORTB,3
;******************************************************************************
;
INICIALIZAAO DA EEPROM
;******************************************************************************
;
VETOR DE RESET
ORG
0X000
GOTO
INICIO
;******************************************************************************
;
INICIO DAS INTERRUPCOES
ORG
0X0004
RETFIE
;******************************************************************************
;
INICIO DO PROGRAMA
INICIO
CLRF
CLRF
PORTA
PORTB
;LIMPA O PORTA
;LIMPA O PORTB
BANK1
MOVLW B'00000100'
MOVWF TRISA
MOVLW B'00000000'
MOVWF TRISB
MOVLW B'10001010'
MOVWF OPTION_REG
MOVLW B'00000000'
MOVWF INTCON
BANK0
MOVLW B'00000111'
MOVWF CMCON
;RETORNA AO BANCO 0
;DEFINE O MODO DE OPERACAO DO COMP. ANALOGICO
;******************************************************************************
; AS INTRUES A SEGUIR FAZEM COM QUE O PROGRAMA TRAVE QUANDO HOUVER UM
; RESET OU POWER-UP, MAS PASSE DIRETO SE O RESET FOR POR WDT. DESTA FORMA,
; SEMPRE QUE O PIC LIGADO, O PROGRAMA TRAVA, AGUARDA UM ESTOURO DE WDT
; E COMEA NOVAMENTE. ISTO EVITA PROBLEMAS NO START-UP DO PIC.
BTFSC STATUS,NOT_TO
GOTO $
;******************************************************************************
;
INICIALIZACAO DAS VARIAVEIS
BSF
LED_STANDBY
;ACENDE LED_STANDBY
;******************************************************************************
;
ROTINA PRINCIPAL
MAIN
VARRE
CLRWDT
BTFSS BOTAO1
GOTO TRATA_BOTAO_INTERR
MOVLW FILTRO_TECLA
MOVWF FILTRO_BOTOES
;SALVA EM FILTRO_BOTOES
GOTO VARRE
TRATA_BOTAO_INTERR
MOVF FILTRO_BOTOES,F
BTFSC STATUS,Z
GOTO VARRE
DECFSZ FILTRO_BOTOES,F
GOTO VARRE
BTFSS LED_EQUIP
GOTO ENTRA_ACIONA_EQUIP
SAI_ACIONA_EQUIP
BCF
BSF
BCF
GOTO
LED_EQUIP
LED_STANDBY
SAIDA_EQUIP
;APAGA LED_EQUIP
;ACENDE LED_STANDBY
;DESLIGA EQUIPAMENTO
VARRE
ENTRA_ACIONA_EQUIP
BCF
BSF
BSF
LED_STANDBY
LED_EQUIP
SAIDA_EQUIP
;APAGA LED_STANDBY
;ACENDE LED_EQUIP
;LIGA EQUIPAMENTO
GOTO VARRE
;******************************************************************************
;
FIM DO PROGRAMA
END