; values in CAPS, self defined pointers and labels not, ; optimize for size rather than speed radix dec processor pic16f627 list n=0,st=off #include "p16f627.inc" CONFIG_WORD = 0x3fff OPTION_REG_CONFIG = 0 ; set config word CONFIG_WORD &= _CP_OFF & _DATA_CP_OFF ; turn all code protection off CONFIG_WORD &= _LVP_OFF ; disable Low Voltage Programming CONFIG_WORD &= _BODEN_ON ; enable Brown-out Detect Reset CONFIG_WORD &= _MCLRE_OFF ; enable RA5 digital input CONFIG_WORD &= _PWRTE_ON ; enable power on timer CONFIG_WORD &= _WDT_OFF ; disable Watchdog Timer CONFIG_WORD &= _INTRC_OSC_NOCLKOUT ; use internal OSC, freeup RB7:RB6 __config CONFIG_WORD ; file registers in bank 0,1,2,3 dim_ctr equ 0x70 ; gets incremented until overflow dim_val equ 0x71 ; _ctr is reset to _val at INT dim_delta equ 0x72 ; dim_delta dim_slow equ 0x73 org 0x0000 reset_vector ; the chip starts executing our code here ; interrrupts are disabled by default, we are in bank 0 movlw 1<