اطلاعیه

Collapse
No announcement yet.

مشکل نوشتن اعداد اعشاری بر روی lcd گرافیکی

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل نوشتن اعداد اعشاری بر روی lcd گرافیکی

    با سلام. من قبلا که با lcd کاراکتری کار میکردم با استفاده از دستور Fusing به راحتی تا چند رقم اعشار رو نشون می داد.
    اما حالا میخوام از lcd گرافیکی استفاده کنم و این برنامه رو نوشتم ولی روی lcd مینویسه: 0.000000654 :eek: عکسش هم میذارم..
    به نظرتون مشکل از برنامه هستش؟

    $regfile = "m8def.dat"
    $crystal = 4000000
    Dim X As Single
    $include "font8x8.font"
    $lib "glcdks108.lbx"
    Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Cd = 0 , Rd = 1 , Enable = 2 , Ce2 = 3 , Ce = 4 , Reset = 5
    Setfont Font8x8

    Cls
    X = 1.2546688
    X = Fusing(x , "#.##&quot
    Lcdat 4 , 1 , X
    End

    :surprised:
    آن چه یافت می نشود، آنم آرزوست.

    #2
    پاسخ : مشکل نوشتن اعداد اعشاری بر روی lcd گرافیکی

    بالاخره خودم راه حلشو پیدا کردم (بعد از کلی جستجو.. :read. گفتم شاید به درد یکی بخوره :eek:
    چون دستور fusing دقت زیادی نداره و کلا همه چی رو میریخت به هم.. :surprised:
    به جای اینکه از دستور fusing برای گرد کردن اعداد اعشاری استفاده کنیم، از دستور config single استفاده می کنیم.شکل کلی این دستور به این صورته:

    CONFIG SINGLE = SCIENTIFIC , DIGITS = value

    به جای value می تونیم از 0 تا 7 استفاده کنیم که من از 2 استفاده کردم. یعنی متغیر single رو تا 2 رقم بعد از اعشار گرد میکنه.
    بنابراین برنامه به این صورت میشه:

    regfile = "m8def.dat"
    $crystal = 4000000
    CONFIG SINGLE = SCIENTIFIC , DIGITS = 2
    Dim X As Single

    $include "font8x8.font"
    $lib "glcdks108.lbx"
    Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Cd = 0 , Rd = 1 , Enable = 2 , Ce2 = 3 , Ce = 4 , Reset = 5
    Setfont Font8x8

    Cls
    X = 1.2546688
    Lcdat 4 , 1 , X " اینجا روی lcd نشون میده: 1.25 "

    End

    پس آفرین به خودم.... :applause: :applause:
    آن چه یافت می نشود، آنم آرزوست.

    دیدگاه


      #3
      پاسخ : مشکل نوشتن اعداد اعشاری بر روی lcd گرافیکی

      نوشته اصلی توسط FARSHID_63
      بالاخره خودم راه حلشو پیدا کردم (بعد از کلی جستجو.. :read. گفتم شاید به درد یکی بخوره :eek:
      چون دستور fusing دقت زیادی نداره و کلا همه چی رو میریخت به هم.. :surprised:
      به جای اینکه از دستور fusing برای گرد کردن اعداد اعشاری استفاده کنیم، از دستور config single استفاده می کنیم.شکل کلی این دستور به این صورته:

      CONFIG SINGLE = SCIENTIFIC , DIGITS = value

      به جای value می تونیم از 0 تا 7 استفاده کنیم که من از 2 استفاده کردم. یعنی متغیر single رو تا 2 رقم بعد از اعشار گرد میکنه.
      بنابراین برنامه به این صورت میشه:

      regfile = "m8def.dat"
      $crystal = 4000000
      CONFIG SINGLE = SCIENTIFIC , DIGITS = 2
      Dim X As Single

      $include "font8x8.font"
      $lib "glcdks108.lbx"
      Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = Portc , Cd = 0 , Rd = 1 , Enable = 2 , Ce2 = 3 , Ce = 4 , Reset = 5
      Setfont Font8x8

      Cls
      X = 1.2546688
      Lcdat 4 , 1 , X " اینجا روی lcd نشون میده: 1.25 "

      End

      پس آفرین به خودم.... :applause: :applause:
      خداوند را شاکریم به درگاهش که افراد باهوشی :nerd: چون شما مشکلات :applause: را حل و در کمال سخاوت برای عموم قرار می دهید. خداوند توفیق حل مشکلات را به شما عنایت کند.
      بیایید تا دانسته هایمان را قسمت کنیم.
      (بنیاد امور خاص)
      ---------------------------------------

      دیدگاه

      لطفا صبر کنید...
      X