Need advice with LCD 2x16


Closed Thread
Results 1 to 10 of 10

Hybrid View

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


    Did you find this post helpful? Yes | No

    Default Re: Need advice with LCD 2x16

    You could add a leading zero if the value is less than 10 or if the value is less than 10 the position is X else the position is Y.
    Dave
    Always wear safety glasses while programming.

  2. #2
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Re: Need advice with LCD 2x16

    Quote Originally Posted by mackrackit View Post
    ... if the value is less than 10 the position is X else the position is Y.
    I think this is the answer ! I will try.

  3. #3
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Re: Need advice with LCD 2x16

    I use this code :
    Code:
     OWIn DQ2, 2, [temperature2.byte0, temperature2.byte1]  
    
    If Temperature2.15 then       
      Temperature2= ~Temperature2 +1
      Twist2 = 1
    Endif
     
    Dummy2 = 625 * Temperature2
    TempC2 = DIV32 10 
    TempC2 = (Temperature2 & $7FF) >> 4
    Float2 = ((Temperature2.Lowbyte & $0F ) * 25 )>>2
    Temperature2 = TempC2*100 + Float2
    
    If Twist2 then
      V2= 10000 - Temperature2               
      Twist2 = 0
     else
      V2= 10000 + Temperature2
    EndIf
    
    If V2 >= 10000 then                           
      Temperature2=V2-10000                   
     else                                   
      Temperature2=10000-V2                   
    EndIf
    How can I say "if temperature2 > 9.99 'C or temperature2 < -9.99 'C" ?

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


    Did you find this post helpful? Yes | No

    Default Re: Need advice with LCD 2x16

    Convert the temperature to an absolute value.
    From the manual
    4.17.4. ABS
    ABS returns the absolute value of a number. If a byte is greater than 127 (high bit set), ABS will return 256 - value. If a word is greater than 32767 (high bit set), ABS will return 65536 - value.
    B1 = ABS B0
    Then you are back to IF < 10.....Just remember your sign...
    Dave
    Always wear safety glasses while programming.

  5. #5
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Yes !

    I have good results, based on this "$FE, $14 - Move cursor right one position" :
    Code:
    if (temperature2/100) =>10 then
    LcdOut $FE, $c0, "OUT :  ", Sign2," ", DEC (Temperature2 / 100), ".", DEC Temperature2 dig 1, " ",223,"C " 
    else
    LcdOut $FE, $C0, "OUT :  ", Sign2," ", $14, DEC (Temperature2 / 100), ".", DEC Temperature2 dig 1, " ",223,"C " 
    endif
    Thanks !!!

  6. #6
    Join Date
    Jan 2005
    Location
    Montreal, Quebec, Canada
    Posts
    3,172


    Did you find this post helpful? Yes | No

    Default Re: Need advice with LCD 2x16

    If you wanted to move over an extra character to maintain alignment, why not just add an extra blank after SIGN2?

    Code:
     
    if (temperature2/100) =>10 then
    LcdOut $FE, $c0, "OUT : ", Sign2," ", DEC (Temperature2 / 100), ".", DEC Temperature2 dig 1, " ",223,"C " 
    else
    LcdOut $FE, $C0, "OUT : ", Sign2,"  ", DEC (Temperature2 / 100), ".", DEC Temperature2 dig 1, " ",223,"C " 
    endif
    Moving the cursor can give misleading information unless you clear the display first. $C0 sets the cursor position to the beginning of the 2nd line, it does not erase what was written previously.

    Let's say it is displaying 25C and the reading changes to 7C. If you move over 1 position, the 2 will still be there, giving 27C.
    Last edited by Demon; - 26th April 2011 at 06:17. Reason: Cause the code alignment gets all messed up when I clicked POST
    My Creality Ender 3 S1 Plus is a giant paperweight that can't even be used as a boat anchor, cause I'd be fined for polluting our waterways with electronic devices.

    Not as dumb as yesterday, but stupider than tomorrow!

  7. #7
    Join Date
    Dec 2008
    Location
    Ploiesti, ROMANIA
    Posts
    582


    Did you find this post helpful? Yes | No

    Default Re: Need advice with LCD 2x16

    Thank you !
    I try my code in ISIS and work ok ; it' possible, in 'real life' to work bad...but I do not have -yet- the hardware.
    Please remove .txt from simulation file.
    Attached Files Attached Files

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