Sei sulla pagina 1di 2

; PIC16F1829 Configuration Bit Settings

; Assembly source line config statements


#include "p16f1829.inc"

; CONFIG1
; __config 0xC7E4
__CONFIG _CONFIG1, _FOSC_INTOSC & _WDTE_OFF & _PWRTE_OFF & _MCLRE_ON & _CP_OFF &
_CPD_OFF & _BOREN_ON & _CLKOUTEN_ON & _IESO_OFF & _FCMEN_OFF
; CONFIG2
; __config 0xDCFF
__CONFIG _CONFIG2, _WRT_OFF & _PLLEN_OFF & _STVREN_OFF & _BORV_LO & _LVP_OFF

#DEFINE SWITCH RA2


#DEFINE LED RA5

ORG 0x00 ; origen del ensamblado


GOTO MAIN ; rutina de inicio

;PROGRAMA PRINCIPAL
ORG 0x10
MAIN ; Configuracion del oscilador interno de 8MHZ
BANKSEL OSCCON
MOVLW 0X70
MOVWF OSCCON

;Limpiamos los registros Porta A & LATA


BANKSEL PORTA
CLRF PORTA
BANKSEL LATA
CLRF LATA

;Configuramos los pines RA5 : output y RA2,RA3 : INPUT


BANKSEL TRISA
MOVLW b'00000100'
MOVWF TRISA

;Configuramos los pines como I/O digitales


BANKSEL ANSELA
CLRF ANSELA

;Habilitamos la resistencia pullpus para el pin RA2


BANKSEL OPTION_REG
BCF OPTION_REG,NOT_WPUEN ; habilitamos resistencias pullpus globales
BANKSEL WPUA
MOVLW 0x04
MOVWF WPUA

BANKSEL PORTA ; Seleccionamos el Banco 0

LOOP
BTFSC PORTA,SWITCH ; Testeamos si el pulsador esta presionado
GOTO LED_OFF

LED_ON
BSF PORTA,LED ; Apagamos el LED
GOTO LOOP

LED_OFF
BCF PORTA,LED ; Encendemos el LED
GOTO LOOP

END

Potrebbero piacerti anche