Hi There,
I'm trying different little things to get familiar with the use of TMR1 as a timer (I want to use it as a time base).
Starting with "easy" little things, I'm trying to have my LED toggeling when the button is pressed.
It does work (immediatley) as long as I have not defined the T1CON and PIE1 registers like hereunder. If I uncomment both T1CON and PIE1 registers, the led will not toggle before (about) one minute has past.
Why is this please?
RogerCode:' ====== DEFINES ================================================================================== DEFINE OSC 4 ' ====== FUSES ==================================================================================== ' PIC 16F690 @ __Config _FCMEN_OFF &_IESO_OFF &_CPD_OFF &_WDT_OFF &_INTRC_OSC_NOCLKOUT &_BOR_OFF &_CP_OFF &_PWRTE_OFF &_MCLRE_OFF ' ====== REGISTERS ================================================================================ ' 76543210 OPTION_REG = %10000000 ' PORT A&B Pull-Ups disabled (look WPUA & WPUB) INTEDG rising edge on A2 OSCCON = %01100000 ' Internal RC set to 4Mhz - not to be used with XTal ANSEL = %00000000 ' Analog inputs Channels 0 to 7 ANSELH = %00000000 ' Analog inputs Channels 8 to 11 ADCON0 = %00000000 ' A/D Module is OFF CM1CON0 = %00000000 ' Comparator1 Module is OFF CM2CON0 = %00000000 ' Comparator2 Module is OFF INTCON = %11000000 ' INTerrupts CONtrol: GIE is ON, PEIE is ON 'T1CON = %00111001 ' Timer1 OSC enabled, Timer1 enabled, presc.1:8 (RA4/RA5!!) 'PIE1 = %00000001 ' Enable TMR1IF overflow flag PORTA = %00000000 ' Ports High/Low (0 to 5) TRISA = %00000100 ' Set Input/Output (0 to 5) PORTB = %00000000 ' Ports High/Low (4 to 7) TRISB = %00000000 ' Set Input/Output (4 to 7) PORTC = %00000000 ' Ports High/Low (0 to 7) TRISC = %00000000 ' Set Input/Output (0 to 7) ' ====== VARIABLES ================================================================================ LED var PORTB.6 Btn var PORTA.2 ' ====== INITIALIZE =============================================================================== PAUSE 1000 'circuit settle time ' ====== PROGRAM ================================================================================== TEST: IF Btn = 0 THEN TOGGLE LED PAUSE 200 ENDIF GOTO TEST




Bookmarks