Displaying temperature Setpoints


Closed Thread
Results 1 to 40 of 59

Hybrid View

  1. #1
    Join Date
    Oct 2008
    Posts
    47


    Did you find this post helpful? Yes | No

    Red face

    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.

    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
    im realy desperate to get this thing working guys....

  2. #2
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Looks like you removed the command to goto

    checkdone:
    Dave
    Always wear safety glasses while programming.

  3. #3
    Join Date
    Oct 2008
    Posts
    47


    Did you find this post helpful? Yes | No

    Question

    but there was no command prior to this that said goto checkdone. . .

  4. #4
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    Quote Originally Posted by Kalind View Post
    but there was no command prior to this that said goto checkdone. . .
    OOPPS, gettemp runs into checkdone.

    Do the relays work?
    Dave
    Always wear safety glasses while programming.

  5. #5
    Join Date
    Oct 2008
    Posts
    47


    Did you find this post helpful? Yes | No

    Default

    well, i tested the relay port using a multimeter and there seems to be no voltage output when tempc>=highpt and the same goes for he highled port.

  6. #6
    Join Date
    Nov 2003
    Location
    Wellton, U.S.A.
    Posts
    5,924


    Did you find this post helpful? Yes | No

    Default

    In post #37 the code worked but was slow.
    In post #43 the outputs on PORTA does not work.

    ADCON1 and ADCON0 has been changed between the two post??
    Dave
    Always wear safety glasses while programming.

  7. #7
    Join Date
    Oct 2008
    Posts
    47


    Did you find this post helpful? Yes | No

    Exclamation

    well i thought by changing the oscillator settings it would sought out th delay but obviously no change. im trying to do some code concerning high led and low led outputs. will post it by the end of today. please take a look at it and let me know if im going the right path

Similar Threads

  1. Write Onewire data toa I2C memory / read ASCI
    By Eugeniu in forum mel PIC BASIC Pro
    Replies: 67
    Last Post: - 16th November 2008, 20:19
  2. Displaying temperature using a -40 to 185F??
    By jblackann in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 15th January 2008, 19:45
  3. Conversion problem
    By eva in forum mel PIC BASIC Pro
    Replies: 4
    Last Post: - 15th March 2007, 19:21
  4. Help for decimal conversion
    By eva in forum mel PIC BASIC Pro
    Replies: 2
    Last Post: - 15th March 2007, 19:20
  5. Serout "onewire.bas"
    By puru in forum mel PIC BASIC Pro
    Replies: 3
    Last Post: - 6th July 2005, 01:14

Members who have read this thread : 0

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts