im using a 4mhz crystal oscillator. I did define it in ADCON0. Bit 6-7 as 11. i would also like to know what difference would there be if i had to amplify the output signal from the LM35. and if i did, please explain to me whether i'd be getting more accurate results? N.B. 16F873
Define LCD_DREG PORTB
Define LCD_DBIT 0
Define LCD_RSREG PORTB
Define LCD_RSBIT 5
Define LCD_EREG PORTB
Define LCD_EBIT 4
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2
mode var byte
keyin var byte
adval var word
tempc var word
highpt var byte
lowpt var byte
highled var porta.1
lowled var porta.2
relayhigh var porta.3
relaylow var porta.4
buzzer var porta.5
up var portc.0
down var portc.1
sethighp var portc.2
setlowp var portc.3
maindisp var portc.4
highpt = 100
lowpt = 0
trisc= %00011111
trisa=%00000001
adcon1=%11110010
adcon0=%11000001
pause 100
lcdout $fe , 1
mode = 1
goto main
getkey:
pause 50
keyin = portc
return
gettemp:
adcon0.2=1
pause 1
checkdone:
if adcon0.2=1 then checkdone
adval.highbyte=adresh
adval.lowbyte=adresl
tempc=50*adval
tempc=tempc/100
If tempc>=highpt then
gosub high_flash
SOUND buzzer, [60, 100, 23, 200]
relayhigh = 1
else
relaylow = 0
lowled = 0
buzzer = 0
endif
If tempc<=lowpt then
gosub low_flash
SOUND buzzer, [20, 100, 23, 200]
relaylow = 1
else
relayhigh = 0
highled = 0
buzzer = 0
endif
return
main:
gosub gettemp
gosub getkey
if maindisp = 0 then mode = 1
pause 50
if sethighp = 0 then mode = 2
pause 50
if setlowp = 0 then mode = 3
pause 50
select case mode
case 1
write 0 , sethighp
pause 10
write 1 , setlowp
lcdout $fe , 1
Lcdout "TEMP = ",DEC tempc,$DF,"C"
case 2
lcdout $fe , 1
lcdout $fe , $80 , "High Setpoint:" , $fe , $c0 , dec highpt, $DF , "C"
if up = 0 then highpt = highpt + 1
if down = 0 then highpt = highpt - 1
if highpt>100 then highpt=0
case 3
lcdout $fe , 1
lcdout $fe , $80 , "Low Setpoint:" , $fe , $c0 , dec lowpt, $DF , "C"
if up = 0 then lowpt = lowpt + 1
if down = 0 then lowpt = lowpt - 1
if lowpt>100 then lowpt=0
end select
goto main
high_flash:
HIGH highled
PAUSE 350
LOW highled
PAUSE 350
RETURN
low_flash:
HIGH lowled
PAUSE 350
LOW lowled
PAUSE 350
RETURN
Bookmarks