Då ska vi se...
När jag kollar i "Configure -> Configuration Bits" så ser det ut så här:
Alltså det visar juh att den är på, men varför den är på kan jag inte förstå. Slår jag av den manuellt i detta fönster och sedan trycker "Build All" så slås den på igen, så det är defenitivt i koden som WD Timern slås på (För att svara på V-g's fråga).
Meddelandet som jag får upp ser ut så här:

(Säkert helt irellevant för att lösa problemet men när jag ändå tagit en Screenshoot så är det väl lika bra att använda den.

)
Koden ser ut så här:
Kod: Markera allt
;************************************************************************
; Processor: 12F629 *
; *
;************************************************************************
; *
; *
; *
; *
;************************************************************************
processor 12f629
include <p12f629.inc>
;**** CONFIGURATION
__config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON ;& _LVP_OFF
errorlevel -302 ; no "register not in bank 0" warnings
errorlevel -312 ; no "page or bank selection not needed for this device" messages
;=====================================================================
; File register use
;=====================================================================
cblock H'20'
; variables used for context saving
cs_W
cs_STATUS
endc
;=====================================================================
; Konstanta värden
;=====================================================================
goto Start
;=====================================================================
; INTERRUPT SERVICE ROUTINE
;=====================================================================
ISR ORG 0004h
; save context
movwf cs_W ; save W
movf STATUS,w ; save STATUS
movwf cs_STATUS
; service Timer0 interrupt
bcf INTCON,T0IF ; clear interrupt flag
movlw b'111111'
banksel GPIO
xorwf GPIO
;Första pulsen
isr_end ; restore context then return
movf cs_STATUS,w ; restore STATUS
movwf STATUS
swapf cs_W,f ; restore W
swapf cs_W,w
retfie
;***** MAIN PROGRAM
Start
;---------------------------------------------------------------------
; Set up I/O
;---------------------------------------------------------------------
banksel GPIO
clrf GPIO ;Init GPIO
movlw 07h ;Set GP<2:0> to
movwf CMCON ;digital IO
bsf STATUS,RP0 ;Bank 1
;clrf ANSEL ;Digital I/O
movlw b'000000' ;Set GP<3:2> as inputs
movwf TRISIO ;and set GP<5:4,1:0>
;as outputs
; configure Timer0
movlw b'00000111' ; Prescaler = Ingen
Banksel OPTION_REG ;
movwf OPTION_REG ;
banksel GPIO
;---------------------------------------------------------------------
; Initialize memory
;---------------------------------------------------------------------
; configure interrupts
bsf INTCON, GIE
bsf INTCON, T0IE
bsf INTCON, PEIE
loop
goto loop
nop
END
Jag gissar att det blir fel någonstans så att inte min __config inställning blir rätt men jag lyckas inte "debugga". Alltså jag hittar inte så att jag kan se vilket värde Config registret har när jag kört igång koden. Hittar inte adress 2007h i "File Registers" fönstret eller så att jag kan lägga till det i "Watch" fönstret. Skulle vilja se det binära talet för att kunna jämföra med bitarna i manualen på sidan 52 (eller 54 beroende på om man tittar på PDF numreringen eller sidnumreringen längst ner på sidan).
Alla tips tas tacksamt emot.
MVH Peter F