TITLE "Pulsador Bar"
processor 12F508
LIST P=12F508, f=inhx8m, r=dec ;(INHX8M= Formato de salida .hex, r=sistema decimal)
#include "p12f508.inc" ; Incluye datos de PIC12F508
__IDLOCS 0x3829 ; Solo ID de reconocimiento (tipo serial?)
__CONFIG _IntRC_OSC & _WDT_OFF & _MCLRE_OFF & _CP_ON
; ERRORLEVEL -207 ; found label after column 1
ERRORLEVEL -302 ; register in operand not in bank 0
;===============================================================================================
; CONFIGURACION
;==============================================================================================
; El PIC es configurado para usar casi todas las entradas y salidas
; posibles = 13. Por eso se usa el oscilador con cristal externo,
; Se define el clock interno a 4 MHz. Se usa el master reset (pata 4).
;*********************************************************************************************
; VARIABLES
;*********************************************************************************************
#DEFINE RAMSTART 0x07 ; Comienzo de la RAM
#DEFINE PULSADOR_ON GPIO, 0 ; Un 0 en GP0 comienza la cuenta.
#DEFINE MOZO GPIO, 5 ; Un 1 en GP5 enciende el el cartel.
#DEFINE CONTROL STATUS,Z
LLAMADA equ 1
CBLOCK RAMSTART
XMILLISEC ; Usado para el retardo
YMILLISEC ; Usado para el retardo
CUENTA1 ; Usado para los LOOPs Internos
CUENTA2 ; Usado para los LOOPs Internos
FLAGS
ENDC
;======================================================================================================
; VALOR DEL OSCILADOR
;======================================================================================================
;OSCCAL calibration value 12F508
ORG 0x1FF ; Calibración del Oscilador Interno
MOVLW 0X1E ; Valor a cargar.
ORG 0x00 ; Reset principal del programa.
MOVWF OSCCAL ; 00h min.freq, 80h stred freq, 0FFh pro max.freq
GOTO CONFIGURACION ; Comienzo del programa.
;*********************************************************************************************
; Comienzo es Seteo del Pic
;*********************************************************************************************
CONFIGURACION
CLRF GPIO
MOVLW B'00000001' ; GP5 GP4 GP3 GP2 GP1 GP0
TRIS GPIO ; S S S S S E
MOVLW 0X10
MOVWF CUENTA1 ; Cargo con las cantidades del LOOP
MOVWF CUENTA2 ; Cargo con las cantidades del LOOP
;======================================================================================================
;======================================================================================================
; COMIEZO DEL PROGRAMA =
;======================================================================================================
MAIN