Here is my code_----


'DIGITAL TEMP CNTROLLER USING 16F876A'


DG1 VAR BYTE
DG2 VAR BYTE
DG3 VAR BYTE
DIGIT VAR BYTE
DG VAR BYTE
COUNTT VAR BYTE

NUMB VAR WORD
N VAR WORD
adval var word
temp var word
TEMPP VAR WORD


ADCON1=%10000000
adcon0=%00000101
TRISA=1
TRISB=%00111000
TRISC=0


gosub mread
n=numb
GOSUB DIGITCALC





'-------------------------------------------------------------------------

MAIN1:

GOSUB DISPLAY

IF PORTB.3=1 THEN MREAD

IF PORTB.3=0 THEN MAIN




GOTO MAIN1






'-------------------------------------------------------------------------
MAIN:

ADCON0.2=1

GO:
IF ADCON0.2=1 THEN GO

adval.HIGHBYTE = ADRESH
adval.lowbyte = ADRESL

'temp=(adval*500)/1024
temp=adval
N=temp
gosub display
gosub digitcalc


If adval>NUMB then PORTB.7=0
pause 1000
IF ADVAL< NUMB-5 THEN PORTB.7=1
pause 1000
GOTO MAIN1


'_____________________________________

UP:
IF NUMB=400 THEN MAIN
NUMB=NUMB+1
N=NUMB
GOSUB DIGITCALC
IF PORTB.4=1 THEN MEMORY
GOTO MAIN1


memory:
WRITE 0,numb.HighByte

WRITE 1,numb.LowByte

GOTO MAIN1

'_____________________________________

DOWN:
IF NUMB=0 THEN MAIN 'MIN LIMIT
NUMB=NUMB-1
N=NUMB
GOSUB DIGITCALC
IF PORTB.5=1 THEN MEMORY
GOTO MAIN1


'_____________________________________
MREAD:
READ 0,numb.HighByte

READ 1,numb.LowByte

n=numb
gosub digitcalc
IF PORTB.4=1 THEN UP
IF PORTB.5=1 THEN DOWN
goto main1











__________________________________________________ _
DISPLAY:


FOR COUNTT=0 TO 99

PORTC=DG1
PORTB.2=1
PAUSEUS 300
PORTB.2=0

PORTC=DG2
PORTB.1=1
PAUSEUS 300
PORTB.1=0

PORTC=DG3
PORTB.0=1
PAUSEUS 300
PORTB.0=0

NEXT COUNTT

RETURN

'_________________________________________________ _______________



'_________________________________________________ _________________________
DIGITCALC:

DIGIT=0
LP1:
IF N<100 THEN DS1
N=N-100
DIGIT=DIGIT+1
GOTO LP1
DS1:
GOSUB FND
DG1=DG


DIGIT=0
LP2:
IF N<10 THEN DS2
N=N-10
DIGIT=DIGIT+1
GOTO LP2

DS2:
GOSUB FND
DG2=DG

DIGIT=N
GOSUB FND
DG3=DG

RETURN




'_________________________________________________ _________________________


'_________________________________________________ _________________________
FND:

FND0:
IF DIGIT>0 THEN FND1
DG=$7E '%0111 1110
GOTO FNDEND

FND1:
IF DIGIT>1 THEN FND2
DG=$48 '%0100 1000
GOTO FNDEND

FND2:
IF DIGIT>2 THEN FND3
DG=$3D '%0011 1101
GOTO FNDEND

FND3:
IF DIGIT>3 THEN FND4
DG=$6D '%0110 1101
GOTO FNDEND

FND4:
IF DIGIT>4 THEN FND5
DG=$4B '%0100 0011
GOTO FNDEND

FND5:
IF DIGIT>5 THEN FND6
DG=$67 '%0110 0111
GOTO FNDEND

FND6:
IF DIGIT>6 THEN FND7
DG=$77 '%0111 0111
GOTO FNDEND

FND7:
IF DIGIT>7 THEN FND8
DG=$4C '%0100 1100
GOTO FNDEND

FND8:
IF DIGIT>8 THEN FND9
DG=$7F '%0111 1111
GOTO FNDEND

FND9:
DG=$6F '%0110 1111


FNDEND:



RETURN
'_________________________________________________ _________________________