اطلاعیه

Collapse
No announcement yet.

حساب کردن میانگین با میکرو atmega32

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

    حساب کردن میانگین با میکرو atmega32

    من این برنامه رو برای حساب کردن میانگین 4 عدد نوشتم ولی جواب نمیده.
    $regfile = "m32def.dat"
    $crystal = 8000000
    Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , E = Pinb.3 , Rs = Pinb.2
    Config Lcd = 16 * 2
    Config Kbd = Portc
    Dim A As Byte , B As Integer , V(4) As Integer , J As Byte , Ave As Single , Sum(3) As Integer

    J = 0

    Do
    J = J + 1
    B = 0

    Main:
    A = Getkbd()
    If A > 15 Then Goto Main
    If A = 12 Then Goto Main1
    B = B * 10
    B = B + A
    Goto Main

    Main1:
    V(j) = B

    Loop Until J = 4

    Sum(1) = V(1) + V(2)
    Sum(2) = V(3) + V(4)
    Sum(3) = Sum(1) + Sum(2)
    Ave = Sum(3) / 4

    Lcd "ave=" ; Ave

    End

    اشکال برنامه چیه ؟ چرا جواب نمیده.
    اشکال باید توی قسمت main (دریافت عدد ) باشه.خودم که تست میکنم انگار درسته ولی نمیدونم چرا جواب نمیده.

    #2
    پاسخ : حساب کردن میانگین با میکرو atmega32

    داداش شرمنده اگر C بود کمکت میکردم

    دیدگاه


      #3
      پاسخ : حساب کردن میانگین با میکرو atmega32

      کسی نبود جواب بده ؟؟؟؟

      دیدگاه


        #4
        پاسخ : حساب کردن میانگین با میکرو atmega32

        تغییرات زیر رو بدین درست میشه

        کد:
        $regfile = "m32def.dat"
        $crystal = 8000000
        Config Lcd = 16 * 2
        Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , E = Pinb.3 , Rs = Pinb.2
        Config Kbd = Portc , Debounce = 50 , Delay = 200
        
        
        Dim A As Byte , B As Integer , V(4) As Integer , J As Byte , Ave As Single , Sum(3) As Integer
        
        Cls
        J = 0
        
        Do
          J = J + 1
          B = 0
        
          Main:
          A = Getkbd()
          If A > 15 Then Goto Main
          If A = 12 Then Goto Main1
          B = B * 10
          B = B + A
          Cls : Lcd B
          Goto Main
        
          Main1:
          V(j) = B
          Cls
          B = 0
        
        Loop Until J = 4
        
        Sum(1) = V(1) + V(2)
        Sum(2) = V(3) + V(4)
        Sum(3) = Sum(1) + Sum(2)
        Ave = Sum(3) / 4
        
        Lcd "ave=" ; Ave
        Do : Loop
        End
        من نمىآ‌توانم فرضیه «بىآ‌اخلاقى انسان» را بپذیرم، و من اخلاق را منحصرا امرى انسانى و متعلق به انسان مىآ‌دانم که هیچ نوع قدرت مافوق انسانى در پشت آن وجود ندارد
        آلبرت اینشتین
        منبع: http://fa.wikiquote.org

        دیدگاه

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