Code:
eeprom 1,[31,28,31,30,31,30,31,31,30,31,30,31]  ' month days lookup

' Set LCD DATA Port
 '---------------------------------------------------------------
 Define LCD_DREG PORTB
 'Set starting data bit
 Define LCD_DBIT 4 'rb4,rb5,rb6,rb7
 'Set LCD RS Port
 DEFINE LCD_RSREG portb
 'Set LCD RS Bit
 define LCD_RSBIT 3
 'Set LCD Enable Port
 Define LCD_EREG portb
 'Set LCD Enable Bit
 Define LCD_EBIT 2
 'Set number of LCD Lines
 Define LCD_LINES 2
 'Set Command Delay time in uS
 define LCD_COMMANUS 2000
 'Set Data delay time in uS
 define LCD_DATAUS 50
 test var byte
 test2 var byte
'--------------------------ds1820setup-------------------------------
DQ	VAR	PORTa.4			' One-wire data pin
temperature VAR	WORD			' Temperature storage
count_remain VAR BYTE			' Count remaining
count_per_c VAR	BYTE			' Count per degree C
'-----------------------------thermostat -----------------------------------
symbol heatmat = porta.3
target var word
heatlevel var word
halfsec var byte
heatlevelx var byte
locate var byte
target = 30
halfsec = 1
locate = 13
temp var byte
temp = 30
temp2 var byte
temp2 = 20
'------------------------------RTCsetup--------------------------------
DS_SCL VAR PORTB.0 	' I2C clock pin 
DS_SDA VAR PORTB.1 	' I2C data pin 
RTC CON %11010000 	' RTC device address (byte addressing)
 ' -------------- RTC definitions ----------------- 
SecReg 	CON $00 	' seconds address (00 - 59)' MSB of SecReg must be set to a 0 to enable RTC 
MinReg CON $01 	' minutes address (00 - 59) 
HourReg CON $02 	' hours address (01 - 12) or (00 - 23) 
DayReg CON $03 	' day address (1 - 7) 
DateReg CON $04 	' date address (01 - 28/29, 30, 31) 
MonthReg CON $05 	' month address (01 - 12) 
YearReg CON $06 	' year address (00 - 99) 
ContReg CON $07 	' control register 
RTCflag CON 0 		' RTC flag (location 0 of internal EEPROM) 
RTCset VAR BIT 	' bit to check if RTC has been set 
cntrl CON %00010000 	' sets the SQW/OUT to 1Hz pulse, logic level low 
'----------------symbols-------------------------
symbol up = porta.0
symbol down = porta.1        'three button interface
symbol enter = porta.2 
'-----------decimal value variables for menu display---------------

second  var byte
minute  var byte
hour    var byte
day     var byte
month   var byte
year    var byte
monthx  var byte
wday    var byte
second  = 0
minute  = 0
hour    = 12                           'set 12.00 1/1/08
day     = 1
month   = 1
year    = 08


'--------hex value variables for actual time display--------------

secondx var byte
minutex  var byte
hourx    var byte
dayx     var byte
monthxx  var byte
yearx    var byte
tempx    var byte         '' important this one
wdayx    var byte
wdayx       =   $1       'just in case need a value maybe rubbish
secondx     =   $00                    ' "  "

'---------------------other not sure----------------------
decx        var byte ' A swap variable
''''''''''''''''''''housekeeping'''''''''''''''''''''''
trisb = %00000000
trisa = %00000111
cmcon = 7        'switch off comparitor