Bruce I adjust the code, but it doesnt blink the led on PortB.1(only high output) When I use the serial communicator and entering 1 (5x) it turns off the led PortB.1. I was expecting that it will trigger PortB.0.
Do I need to change some settings to have my target output?Code:CLEAR include "modedefs.bas" 'include serout defines DEFINE OSC 20 ;using a 4 MHz oscillator here TRISC = %10000000 OPTION_REG=%10000101 ;Page 48 or data sheet ;Bit 7=1 disable pull ups on PORTB ;Bit 5=0 selects timer mode ;Bit 2=1 } ;Bit 1=0 } sets Timer0 pre-scaler to 64 ;Bit 0=1 } INTCON=%10100000 ;Bit 7=1 Enables all unmasked interrupts ;Bit 5=1 Enables Timer0 overflow interrupt ;Bit 2 flag will be set on interrupt and has to be cleared ;in the interrupt routine. It is set clear to start with. RX var byte ' Receive byte X VAR BYTE ;Declare x as a variable i var byte TEMP var BYTE 52 Cnt VAR BYTE 49 symbol led1=PORTB.0 x=20 ALPHA VAR WORD ;this variable counts in the PauseUS loop BETA VAR BYTE ;this variable counts the 61 interrupt ticks TRISB = %11110000 ;sets the 3 output pins in the D port PORTB = %00000000 ;sets all pins low in the D port ON INTERRUPT GOTO INTERUPTROUTINE ;This line needs to be early in the program, before ;the routine is called in any case. MAINLOOP: High PORTB.1 For i = 0 to 10 Pause 1 Next i Low PORTB.1 For i = 0 to 10 Pause 1 Next i '''''''''''''''''''''''''''''''''''''''''''''''' IF Cnt=49 then led1=1-led1 pause 100 cnt=0 endif '''''''''''''''''''''''''''''''''''''''''''''''' GOTO MAINLOOP ;end of loop DISABLE INTERUPTROUTINE: serin PortC.7, T2400, RX 'Receive menu Cnt = Rx 'TOGGLE PORTB.2 'TMR0=0 ;clear Timer0 before exit INTCON.2 = 0 ;clears the interrupt flag. RESUME ;resume the main program ENABLE ;DISABLE and ENABLE must bracket the int routine END
_____________________
mbox





Bookmarks