اطلاعیه

Collapse
No announcement yet.

مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

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

    مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

    سلام به تمامی دوستان عزیز در فروم بزرگ ECA ....
    بچه ها من واقعا توی کدنویسی خیلی خیلی مبتدی هستم و امیدوارم که اگر واقعا اشتباهات هم خنده دار بود به من نخندید و کمکم کنید ....
    دوستان من امروز شروع کردم که یک مداری بسازم که 4 موتور رو با استفاده از دو عدد l298 و atmega8کنترل کنه که وقتی مثلا یک دکمه رو یکبار میزنیم مدار شروع به کار کنه و وقتی شروع کرد و ابتدا موتور 1 روشن شه و بعد از 5 ثانیه خاموش شه و هم زمان موتور 2 روشن شه و بعد از 5 ثانیه خاموش شه و موتور 3 روشن شه دیگه تا موتور 4 به همین ترتیب باشه خوب وقتی وارد کدنویسی ها شدم مشکل پیدا کردم وتا یک جایی شو نوشتم گفتم ببینم کسی از استید میتونه کمکم کنه تا کد نویسیش رو درست کنم ....
    اینم از کد هایی که من نوشتم ...
    $regfile = "m8def.dat"
    $crystal = 1000000
    Dim A As Byte , B As Byte , C As Byte , M As Byte , H As Byte
    Config Portc = Output
    Config Portc.0 = Output
    Config Portc.1 = Output
    Config Portc.2 = Output
    Config Portc.3 = Output
    Config Portd = Output
    Config Portd.0 = Output
    Config Portd.1 = Output
    Config Portd.2 = Output
    Config Portd.3 = Output
    Config Portb = Input
    Config Portb.0 = Input
    Config Portb.1 = Input
    If Portb.0 = 1 Then Portd.0 And Portd.1 = 1 And Portd.2 And Portd.3 And Portc.0 And Portc.1 And Portc.2 And Portc.3 = 0
    Wait 5
    Then Portd.2 And Portd.3 = 1 Portd.0 And Portd.1 And Portc.0 And Portc.1 And Portc.2 And Portc.3 = 0
    Wait 5
    Then Portc.0 And Portc.1 = 1 Portd.0 And Portd.1 And Portd.2 And Portd.3 And Portc.2 And Portc.3 = 0
    Wait 5
    Then Portc.2 And Portc.3 = 1 Portd.0 And Portd.1 And Portd.2 And Portd.3 And Portc.0 And Portc.1 = 0
    End If
    If Portb.1 = 0 Then Portd.0 And Portd.1 And Portd.2 And Portd.3 And Portc.0 And Portc.1 And Portc.2 And Portc.3 = 0
    End If
    طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

    #2
    پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

    دوستان فقط خواهش مندم یکم زودتر کمکم کنید ......
    طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

    دیدگاه


      #3
      پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

      سلام
      من کدی که نوشتیو تریس نکردم که چه کار میکنه، ولی از اونجایی که گفتی میخوای وقتی دکمه ای زده بشه به ترتیب از موتور 1 هرکدوم 5ثانیه روشن بشن و خواموش بشن و موتور بعدی روشن بشه تا موتور چهارم یه کد خیلی ساده برات نوشتم که از کد خودت خیلی ساده تره.
      $regfile = "m8def.dat"
      $crystal = 1000000
      Config Portb.1 = Output
      Config Portb.2 = Output
      Config Portb.3 = Output
      Config Portb.4 = Output
      Config Pinb.0 = Input
      Do
      Debounce Pinb.0 , 0 , S , Sub
      Loop
      End

      Res:
      Reset Portb.1
      Reset Portb.2
      Reset Portb.3
      Reset Portb.4
      Return

      S:
      Set Portb.0
      Wait 5
      Gosub Res
      Set Portb.1
      Wait 5
      Gosub Res
      Set Portb.2
      Wait 5
      Gosub Res
      Set Portb.3
      Wait 5
      Gosub Res
      Set Portb.4
      Wait 5
      Gosub Res
      Return
      حالا اگه بازم جاییشو متوجه نشدی بگو.
      ;()((void (*)(void))0x0000))

      دیدگاه


        #4
        پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

        با سلام
        اشکال اول : در واقع یک کار اضافه است:
        Config Portc = Output یعنی همه پین ها خروجی هستند دیگر نیازی به موارد زیر نیست البته عکس این مورد
        صادق نیست!
        Config Portc.0 = Output
        Config Portc.1 = Output
        Config Portc.2 = Output
        Config Portc.3 = Output
        اشکال دوم : این یعنی چی ؟
        Portd.0 And Portd.1 = 1
        اشکال سوم : نمی دونم شاید اشکال نباشه اما باید توجه داشته باشید که برنامه که نوشتید گذر از اشتباهاتی که داره فقط یک بار اجرا میشه ، برنامه برای اینکه همواره اجرا بشه باید داخل do ...loop نوشته بشه.
        در کل برای کاری که می خواهید بکنید برنامتون رو البته با اجازتون به صورت زیر تغییر دادم :

        $regfile = "m8def.dat"
        $crystal = 1000000
        Dim A As Byte , B As Byte , C As Byte , M As Byte , H As Byte
        Config Portc = Output
        Config Portd = Output
        Config Portb = Input
        Do
        If Pinb.0 = 1 Then
        Portd = &B00000001
        Wait 5
        Portd = &B00000010
        Wait 5
        Portd = &B00000100
        Wait 5
        Portd = &B00001000
        Wait 5
        Else
        Portd = 0
        End If
        Loop
        End

        دیدگاه


          #5
          پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

          از دوستان عزیز واقعا ممنونم .....خدایی خیلی با مرام هستید ....
          ببخشید آقا مجتبی یک سری سوال برام پیش اومد ....
          1- این یعنی چی &B00000001 ؟
          2-آیا با کلید کار میکنه ؟؟؟؟؟؟
          3-پایه دیگر کلید فشاری باید به زمین وصل بشه ؟
          راستی بعد از اینکه موتور یک روشن شد و بعدش موتور 2 , حالا موتور های دیگه خاموش میشن ؟
          طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

          دیدگاه


            #6
            پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

            - این یعنی چی &B00000001 ؟یعنی :
            , portd.0=1 , portd.1=0 , portd.2=0 , portd.3=0 , portd.4=0 , portd.5=0 , portd.6=0 , portd.7=0
            2-آیا با کلید کار میکنه ؟؟؟؟؟؟ بله ، تا زمانی که pind.0=1 باشه موتور ها هر 5 ثانیه یک بار به ترتیب روشن میشن
            3-پایه دیگر کلید فشاری باید به زمین وصل بشه ؟ اگه با پرتئوس کار می کنید بگید تا فایلش رو براتون پلود کنم
            راستی بعد از اینکه موتور یک روشن شد و بعدش موتور 2 , حالا موتور های دیگه خاموش میشن ؟ در هر لحظه فقط یک موتور روشن خواهد بود.

            دیدگاه


              #7
              پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

              بفرمایید : protuse1.rar

              دیدگاه


                #8
                پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

                خیلی خیلی ممنون ....
                فقط ببخشید من چطوری باید توی کد نویسی حرفه ای بشم ؟؟؟؟
                طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

                دیدگاه


                  #9
                  پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

                  راستی مقاومتها همون 10 کیلو باشه ؟؟؟
                  و ولتاژ هم 5 ولت ؟
                  راستی به چه ترتیبی وصلش کنم به l298 ???

                  طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

                  دیدگاه


                    #10
                    پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

                    نوشته اصلی توسط sasan18s
                    فقط ببخشید من چطوری باید توی کد نویسی حرفه ای بشم ؟؟؟؟
                    راستش من در حدی نیستم که بخوام به این سوال جواب بدم ، اما به نظرم مثل ریاضی میمونه شما هر چقدر بیشتر مثال حل کنید بیشتر یادمی گیرید بیشتر مسلط می شید دیدتون نسبت به مسائل باز میشه و همیشه بهترین روش رو برای حل مسئله انتخاب می کنید ؛ خوب اینجا هم همین مسئله صادق هر چقدر بیشتر با دستورات آشنا بشید هر چقدر بیشتر برنامه بنویسید دید تون وسیعتر میشه و همیشه سعی خواهید کرد که بهینه ترین برنامه رو بنویسید ، مثلا همین برنامه خودتون شاید یکی بیاد این رو یک جور دیگه بنویسه مثلا بجای wait از تایمر ها استفاده کنه خوب این بستگی داره به شما که دقت براتون چقدر اهمیت داره اگه خیلی مهمه بهتره از تایمر استفاده کنید اگر نه که همین جواب کارتون رو میده یا مثلا یکی میگه من برنامه هام رو بزبان اسمبلی می نویسم
                    یا...

                    راستی مقاومتها همون 10 کیلو باشه ؟؟؟ بله
                    و ولتاژ هم 5 ولت ؟ بله چون ولتاژ کاری mega8 معمولی 5 ولت هست ولی این رو بیاد داشته باشید که برای درایو موتور هاتون باید از یک تغذیه متناسب با ولتاژ موتور هاتون و جریان مورد نیازشون استفاده کنید
                    راستی به چه ترتیبی وصلش کنم به l298 ??? بفرمایید : فایل پرتئوس رو اصلاح کردم
                    protuse1.rar

                    دیدگاه


                      #11
                      پاسخ : مشکل در قسمتی از کد نویسیهای مدار کنترلگر ...

                      واقعا دست شما درد نکنه خیلی خدایی با مرامید ....
                      طراحی برد و شماتیک و برنامه نویسی پروژه شما با هزینه اندک پذیرفته میشود ...برای سفارش پیغام خصوصی بدید ...

                      دیدگاه

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