; values in CAPS, self defined pointers and labels not, ; optimize for size rather than speed radix dec processor pic12f675 list n=0,st=off #include "p12f675.inc" CONFIG_WORD = 0x3fff OPTION_REG_CONFIG = 0 ; set config word CONFIG_WORD &= _CPD_OFF & _CP_OFF ; turn all code protection off CONFIG_WORD &= _BODEN_ON ; enable Brown-out Detect Reset CONFIG_WORD &= _MCLRE_OFF ; enable GP3 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 GP4 and GP5 __config CONFIG_WORD ; file registers in bank 0,1 dim0_ctr equ 0x20 ; gets incremented until overflow dim1_ctr equ 0x21 ; dimX is turned on at overflow dim0_val equ 0x22 ; _ctr is reset to _val at INT dim1_val equ 0x23 ; (INT is zero crossing) io_buf_hi equ 0x24 ; io buffer (HIGH) io_buf_lo equ 0x25 ; io buffer (LOW) io_buf_bits equ 0x26 ; amount of bits in buffer org 0x0000 reset_vector ; the chip starts executing our code here ; interrrupts are disabled by default, we are in bank 0 movlw 1<