I can't find that topic...
Here is cut/paste from my code for PIC18LF14K50
Code:
DEFINE OSC 4
Define INTHAND myint ' Define interrupt handler
DEFINE NO_CLRWDT 1
OSCCON=%01010110
OSCCON2.2=0
OSCTUNE.7=1
OSCTUNE.6=1
REFCON0=0
REFCON1=0
ADCON1=0
ADCON2=0
ANSEL =0
ANSELH=0
CM1CON0=0
CM2CON0=0
SRCON0=0
SRCON1=0
WPUA=0
WPUB=0
WDTCON=0
SLRCON=0
RCON.7=0
RCON.6=0
UCON=0
IOCA=0
IOCB=0
T0CON=0
T1CON=%00001111
T2CON=0
T3CON=%00000110
INTCON=192
INTCON2=0
INTCON3=0
PIR1=0
PIR2=0
PIE1=1
PIE2=0
IPR1=0
IPR2=0
porta=0
portb=0
portc=0
trisa=255
trisb=255
trisc=255
'RTC_________________________
Seconds VAR BYTE bankA
Minutes VAR Byte bankA
Hours var byte bankA
clear
GoTo OverInt ' jump over the interrupt handler and sub
ASM
myint
movlb .0
;If PIR1.0 =1 then
BTFSS PIR1,0
GOTO End_RTC
MOVLW .252 ; TMR1H=252
MOVWF TMR1H
CLRF PIR1 ; Clear TMR1 int flag
INCF _Ticks,F
;if ticks>31 then
MOVLW .31
CPFSGT _Ticks
GOTO End_RTC
INCF _Seconds,F
CLRF _Ticks
; if seconds > 59 then
MOVLW .59
CPFSGT _Seconds
GOTO End_RTC
CLRF _Seconds
INCF _Minutes,F
;if minutes > 59 then
MOVLW .59
CPFSGT _Minutes
GOTO End_RTC
CLRF _Minutes
INCF _Hours,F
;if hours > 23 then
MOVLW .23
CPFSGT _Hours
GOTO End_RTC
CLRF _Hours
End_RTC
;Do your other stuff here
retfie FAST
ENDASM
OverInt:
Main:
@ Sleep
'program starts here 32 times in sec
goto Main
This is example for PIC's that have fast return stack, and saves and restores WREG, STATUS and BSR registers...
Bookmarks