اطلاعیه

Collapse
No announcement yet.

مقایسه ورودی و نمایش بر روی LCD (مشکلش کجاست؟)

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

    مقایسه ورودی و نمایش بر روی LCD (مشکلش کجاست؟)

    سلام به همه دوستان

    بعد مدتها دوباره اومد سر برنامه نویسی خیلی چیزا یادم روفته ..... :sad:

    یه برنامه ساده نوشتم که چندتا ورودی دریافت می کنه و در خروجی، عدد بزرگ ترینشون رو نمایش می ده

    $regfile = "m32def.dat"
    $crystal = 1000000

    Config Lcdpin = Pin , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 , Rs = Portd.2 , E = Portd.3
    Config Lcd = 16 * 2

    Config Porta = Input
    Config Portc = Input
    Config Portb = Input


    If Porta >= Portb And Portb >= Portc And Porta >= Portc Then
    Goto A

    Elseif Porta >= Portb And Portb <= Portc And Porta >= Portc Then
    Goto B

    Elseif Porta >= Portb And Portb <= Portc And Porta <= Portc Then
    Goto C

    Elseif Portb >= Porta And Portb >= Portc And Porta >= Portc Then
    Goto D

    Elseif Portb >= Porta And Portb >= Portc And Porta <= Portc Then
    Goto E

    Elseif Portb >= Porta And Portb <= Portc And Porta <= Portc Then
    Goto F

    Else
    Reset Portd.0
    Reset Portd.1
    Reset Portd.2
    Reset Portd.3
    Reset Portd.4
    Reset Portd.5

    End If

    A:
    Do
    Cls
    Home
    Lcd Porta
    Waitms 1000
    Loop

    B:
    Do
    Cls
    Home
    Lcd Porta
    Waitms 1000
    Loop

    C:
    Do
    Cls
    Home
    Lcd Portc
    Waitms 1000
    Loop

    D:
    Do
    Cls
    Home
    Lcd Portb
    Waitms 1000
    Loop

    E:
    Do
    Cls
    Home
    Lcd Portb
    Waitms 1000
    Loop

    F:
    Do
    Cls
    Home
    Lcd Portc
    Waitms 1000
    Loop

    Return


    شایدم مشکلم کلا مدار پروتئوسم باشه حالا فعلا برنامه رو بررسی کنید ببینیم کجاش سوتی دادم

    ممنونم
    لطفا به دکمه ی تشکر من به هیچ وجه دست نزنید ....
    اگه یه جایی مشکل کسی را حل کردم فقط ازش می خوام .... برام دعا کنه ..... همین.

    #2
    پاسخ : مقایسه ورودی و نمایش بر روی LCD (مشکلش کجاست؟)

    والا خیلی بلد نیستم ولی :
    اولا if هات رو نمیدونم چطور نوشتی ! :eek:
    بعدش هم داخل هر کدوم از زیربرنامه هات رفت (a,b,c,d,f) همونجا گیر میکنه و دیگه بیرون نمیاد !
    آخر برنامه end مینویسند return چرا نوشتی ؟؟

    دیدگاه


      #3
      پاسخ : مقایسه ورودی و نمایش بر روی LCD (مشکلش کجاست؟)

      نوشته اصلی توسط reza_shushtar44
      والا خیلی بلد نیستم ولی :
      اولا if هات رو نمیدونم چطور نوشتی ! :eek:
      بعدش هم داخل هر کدوم از زیربرنامه هات رفت (a,b,c,d,f) همونجا گیر میکنه و دیگه بیرون نمیاد !
      آخر برنامه end مینویسند return چرا نوشتی ؟؟
      سلام داداش
      من این برنامه رو جور دیگه نوشته بودم یعنی به جای port ها از متغییر ها استفاده کرده بودم و جواب درست رو گرفته بودم

      بدون اون زیر برنامه ها هم این برنامه رو نوشته بودم اما باز .....
      لطفا به دکمه ی تشکر من به هیچ وجه دست نزنید ....
      اگه یه جایی مشکل کسی را حل کردم فقط ازش می خوام .... برام دعا کنه ..... همین.

      دیدگاه


        #4
        پاسخ : مقایسه ورودی و نمایش بر روی LCD (مشکلش کجاست؟)

        نوشته اصلی توسط reza_shushtar44

        بعدش هم داخل هر کدوم از زیربرنامه هات رفت (a,b,c,d,f) همونجا گیر میکنه و دیگه بیرون نمیاد !
        انگار حق با شماست توی زیر برنامه گیر میفته اما مشکل فقط همین جاش نیست!!!!

        نمی دونم چطور برنامه رو درست کنم ..... خیلی بهم ریخته شده .... :(
        لطفا به دکمه ی تشکر من به هیچ وجه دست نزنید ....
        اگه یه جایی مشکل کسی را حل کردم فقط ازش می خوام .... برام دعا کنه ..... همین.

        دیدگاه


          #5
          پاسخ : مقایسه ورودی و نمایش بر روی LCD (مشکلش کجاست؟)

          اگر من میخواستم همچین برنامه ای بنویسم ، سه تا متغییر تعریف میکردم و پورتها رو میریختم توشون . بعدش بصورت زیر بزرگ و کوچیکی شون رو تشخیص میدادم :
          po
          کد:
          A = Porta
          B = Portb
          C = Portc
          
           If A > B Then
           If A > C Then
           Cls
           Lcd "porta"
           End If
           End If
          
           If B > A Then
           If B > C Then
           Cls
           Lcd "portb"
           End If
           End If
          
           If C > A Then
           If C > B Then
           Lcd "portc"
           End If
           End If

          دیدگاه


            #6
            پاسخ : مقایسه ورودی و نمایش بر روی LCD (مشکلش کجا&#

            داداش دمت گرم که کمک می کنی

            جواب این برنامتون رو ال سی دیم "( " هست!!! oo:
            فکر کنم پروئوسم هم اشکال داره .....


            فرض کردم می خوام ورودی یکی از پورت ها رو روی ال سی دی نشون بدم این کارو کردم :

            برنامه توی بسکام:

            $regfile = "m32def.dat"
            $crystal = 8000000

            Config Lcdpin = Pin , Db7 = Portd.7 , Db6 = Portd.6 , Db5 = Portd.5 , Db4 = Portd.4 , Rs = Portd.2 , E = Portd.3
            Config Lcd = 16 * 2

            Config Porta = Input

            Do
            Cls
            Lcd Porta
            Wait 1
            Loop


            مدارش توی پروتئوس :


            لطفا به دکمه ی تشکر من به هیچ وجه دست نزنید ....
            اگه یه جایی مشکل کسی را حل کردم فقط ازش می خوام .... برام دعا کنه ..... همین.

            دیدگاه

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