It's for the same reason that I removed those two routines and decided to just make those pins high instead. the same thing happens...
It's for the same reason that I removed those two routines and decided to just make those pins high instead. the same thing happens...
I tried, in one last vain attempt to draw your attention to something that might be slowing down your whole project.
But, I can see that I've failed again, because you've failed AGAIN...or maybe just YOU have FAILED to READ your OWN code...AGAIN!
You don't think those 2 SOUND statements, with their ~3 seconds of sound making might not have anything to do with anything?
Ok, now I'm done... Some people you just can't prod into looking at their own stuff closer...because it's all good. Of course it's all good...they wrote it...how can they possibly be wrong or mistaken about anything? Their logic is great...it flows in the code just like it does in their minds...Or does it?!?!?!?!!!!????
Why don't you go ask your instructor for advise... You've got 48 hours...
Last edited by skimask; - 23rd October 2008 at 16:07.
ski, i removed both of those flashing routines and the problem was still there. then i removed the SOUND statements aswel. seemed to have sorted out the lag issue. the problem is that now i have only a high led and low led when the setpoints are reached but thats not even working
Code: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
I still see sound in that snippet and the leds are = 0 ???
Dave
Always wear safety glasses while programming.
what i meant was that i removed those lines of code. now im using the following which is without the other features i was planning to implement. below is the latest code.
im realy desperate to get this thing working guys....Code: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 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=%10001110 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 high highled high relayhigh else low relaylow low lowled endif If tempc<=lowpt then high lowled low relaylow else low relayhigh low highled 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 pause 50 if down = 0 then highpt = highpt - 1 pause 50 if highpt>100 then highpt=100 pause 50 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=100 end select goto main
Looks like you removed the command to goto
checkdone:
Dave
Always wear safety glasses while programming.
but there was no command prior to this that said goto checkdone. . .
Bookmarks