I dropped in a segment of your configuration setup and still not even a simple toggle of an I/O port. I don't see the problem
@ device HS_OSC, LVP_OFF, WDT_OFF
; @ Device pic16F877A, HS_OSC, BOD_OFF, PWRT_ON, WDT_ON, PROTECT_OFF
DEFINE OSC 20
' Set Debugin pin port
DEFINE DEBUGIN_REG PORTC
DEFINE DEBUG_BAUD 4800
' Set Debugin pin bit
DEFINE DEBUGIN_BIT 7
' Set Debugin mode: 0 = true, 1 = inverted
DEFINE DEBUGIN_MODE 1
DEFINE INTHAND myint
' Configure internal registers
TRISD = %00000000
TRISC = %00000000
CMCON = %00000111 ' Comparators OFF to allow inputs on pins
PIE1 = %00000001 ' enable TMR1 overflow interrupt
PIE2 = %00000000
PIR2 = %00000000
T1CON = %00100000 ' stop TMR1
PIR1.0 = 0 ' clear bit 0 TMR1 interrupt flag
TMR1H = $8C
TMR1L = $A0 ' loads 36000 - gives 24 mS on CRO
T1CON = %00100001 ' start TMR1
wsave VAR BYTE $70 system ' Saves W
ssave VAR BYTE bank0 system ' Saves STATUS
psave VAR BYTE bank0 system ' Saves PCLATH
fsave VAR BYTE bank0 system ' Saves FSR
servo1 VAR byte bank0
servo2 VAR byte bank0
servo3 VAR byte bank0
servo4 VAR byte bank0
chksum1 var byte bank0
chksum var byte bank0
sv01 var byte bank0
sv02 var byte bank0
sv03 var byte bank0
sv04 var byte bank0
portc.0=0
goto mainloop
asm
; Save W, STATUS and PCLATH registers, if not done previously
myint movwf wsave
swapf STATUS, W
clrf STATUS
movwf ssave
movf PCLATH, W
movwf psave
; Save and restore FSR and any other registers used
bCf portc.0
movf 127,w
movwf _servo1
movwf _servo2
movwf _servo3
movwf _servo4
; Restore saved registers
movf psave, W
movwf PCLATH
swapf ssave, W
movwf STATUS
swapf wsave, F
swapf wsave, W
retfie ; Return from interrupt
endasm
mainloop:
pause 100
portc.0=1
goto mainloop





Bookmarks