اطلاعیه

Collapse
No announcement yet.

رند کردن یک عدد اعشاری به شکل صحیح

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

    رند کردن یک عدد اعشاری به شکل صحیح

    با سلام خدمت دوستان. یک راهنمایی لازم دارم. من یک آمپر متر که با avr کار میکنه را دارم که میخواهم مقدار آمپر را به صورت عدد صحیح و بدون اعشار بر روی lcd کارکتری نمایش دهد. محدوده نیز بین 1 میلی آمپر الی 300 میلی آمپر است. هر کاری میکنم نمی تونم عدد را به صورت بدون اعشار نشون بدم. دوستان اگه ممکنه راهنمایی کنن از دو دستور FORMAT و دستور Fusing هم استفاده کردم فقط میشه اعداد را به تعداد اعشار دلخوان تنظیم کرد نمیشه انگار کلا صحیح کرد. برنامه به بان بیسیک برای مگا 8 است.
    $regfile = "m8def.dat"
    $crystal = 1000000
    Config Lcdpin = Pin , Rs = Pind.1 , E = Pind.2 , Db4 = Pind.3 , Db5 = Pind.4 , Db6 = Pind.5 , Db7 = Pind.6
    Config Lcd = 16 * 2
    Cursor Off
    Cls

    Config Adc = Single , Prescaler = auto , Reference = Avcc
    Start Adc



    Config Portd = Output
    Dim W As Word
    Dim Input_mv as Single
    Dim Input_v As Single
    dim x as Single

    Dim W2 As Word
    Dim Input_mv2 As Single
    Dim Input_v2 As Single


    Current:
    Cls

    Do
    Gosub Read_the_adc
    Gosub Display_lcd
    Waitms 5
    Loop

    End

    '**********************************************


    '**********************************************
    Read_the_adc:

    W = Getadc(5)
    Input_mv = W * 0.422510455
    Input_v = Input_mv / 1000
    x=Input_mv
    W2 = Getadc(4)
    Input_mv2 = W2 * 4.8828125
    Input_v2 = Input_mv2 / 1000


    Return

    '**********************************************
    Display_lcd:

    Locate 1 , 1 : Lcd "B1: " ; Fusing(input_mv , "#.#") ; "mA"
    Locate 2 , 1 : Lcd "B2: " ; Fusing(input_mv2 , "#.#") ; "mA"
    Return

    '**********************************************
    '**********************************************
    '**********************************************

    همچنین این قسمت صفحه نمایش را به شکل ذیل درآوردم اما علامت اعشار ( نقطه) وجود داره. علامت نقطه را نمیشه حذف کرد بسکام خطا میده.
    Display_lcd:

    Locate 1 , 1 : Lcd "B1: " ; Fusing(input_mv , "#.") ; "mA"
    Locate 2 , 1 : Lcd "B2: " ; Fusing(input_mv2 , "#.") ; "mA"
    return

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