اطلاعیه

Collapse
No announcement yet.

32 پین avr

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

    32 پین avr

    سلام
    خسته نباشید
    چه جوری میشه بجای داشتن 8 بیت از همه پینهای atmega32 استفاده کرد
    مثال
    dim a as byte

    do
    for a=0 to 7
    (portb=lookup(a,dat
    waitms 100
    loop
    end
    dat:
    data:1,2,4,8,16,32,64,128
    در این روش فقط میشود از 8 پین استفاده کر د چه کار کنم :cry2:
    دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

    #2
    پاسخ : 32 پین avr

    سلام دوستان
    بابا این همه کاربر امدن دست پر رفتند
    دست ما را هم بگیرید ممنون می شوم
    من که هر کاری کردم نشد ( :angry
    حیاتی :cry2:
    دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

    دیدگاه


      #3
      پاسخ : 32 پین avr

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

      دیدگاه


        #4
        پاسخ : 32 پین avr

        خوب اینطوری نمیشه
        مگه اینکه یه تابع بنویسی که وقتی بهش آرگومان ورودی دادی که اون هم میتونه و اونجا کار دستکاری کل پایه ها رو انجام بدی
        موفق باشی :smile:

        دیدگاه


          #5
          پاسخ : 32 پین avr

          نوشته اصلی توسط رضا حاجی زاده
          خوب اینطوری نمیشه
          مگه اینکه یه تابع بنویسی که وقتی بهش آرگومان ورودی دادی که اون هم میتونه و اونجا کار دستکاری کل پایه ها رو انجام بدی
          موفق باشی :smile:
          سلام ببخشید که من یه کم دیر سر می زنم اینترنتم نفتی
          منظور شما رو در ست متوجه نشدم اگه ممکنه بیشتر راهنمایی کنید زیاد وارد نیستم
          ممممممنونم
          دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

          دیدگاه


            #6
            پاسخ : 32 پین avr

            سلام

            منظورتون از همه پورتها چیه؟

            میخوای هر کدوم از داده های جدول رو بذاری روی یه پورت؟

            dim a as byte

            do

            for a =0 to 7
            porta=lookup(a,lab)
            incr a
            portb=lookup(a,lab)
            incr a
            portc=lookup(a,lab)
            incr a
            portd=lookup(a,lab)
            next
            waitms 100
            loop

            end

            lab:
            $data 1,2,4,8,16,32,64,128

            اینطوری میخوای یا جور دیگه ای؟
            به وبلاگم سر بزنید

            دیدگاه


              #7
              پاسخ : 32 پین avr

              سلام
              ممنون از اینکه به سوال من تازه وارد پاسخ میدهید :applause:
              راستش من مخوام یه flasher 32 کانال در ست کنم
              که با دادن دادها به جدول lookup روی تمام پورت ها انجام بده
              منتظر جوابتون هستم
              دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

              دیدگاه


                #8
                پاسخ : 32 پین avr

                سلام

                خوب همین کار رو بکن ... اینجا سرعت زیاد مهم نیست میشه راحت این کار رو کرد ... یا یه کلک زد که سریعتر بشه و کم ریخت و پاشتر

                dim a as byte

                do

                for a =0 to 1
                porta=lookup(a,l_porta)
                portb=lookup(a,l_portb)
                portc=lookup(a,l_portc)
                portd=lookup(a,l_portd)
                waitms 100
                loop

                end

                l_porta:
                $data 1,16

                l_portb:
                $data 2,32

                l_portc:
                $data 4,64

                l_portd:
                $data 8,128

                این کار برای جدول های بزرگ خیلی بهینهتره هم از نظر سرعت و هم حجم
                به وبلاگم سر بزنید

                دیدگاه


                  #9
                  پاسخ : 32 پین avr

                  سلام
                  ممنون
                  ولی این جوری تمام پورتها که با هم همزمان کار می کنن
                  منظورم این که با دادن دیتاها مثلا از PORTB.0 شروع و وقتی به PORTB.7 رسید ادامه اش
                  بره به PORT بعدی مثال:
                  DIM A AS BYTE
                  DO
                  FOR A=0 TO 7
                  PORTA.A=1
                  WAITMS 100
                  NEXT

                  FOR A=0 TO 7
                  PORTB.A=1
                  WAITMS 100
                  NEXT

                  FOR A=0 TO 7
                  PORTC.A=1
                  WAITMS 100
                  NEXT

                  FOR A=0 TO 7
                  PORTD.A=1
                  WAITMS 100
                  NEXT

                  LOOP
                  END
                  ولی تو این حالت نمیشه دیتاهارو برای تمام PORT ها داد چون اگر هم تو این حالت دیتا بدیم اون دیتا
                  برای PORT اول اجرا میشه وبرای PORT دوم دوباره همون دیتا از اول شروع می شه
                  حالا شما یه زحمتی بکشید منو بیشتر راهنمایی کنید .
                  امیدوارم منظورمو ذرست رسونده باشم
                  مممممنون
                  دنیا آنقدر وسیع است که برای همه مخلوقات جا هست. به جای آن که جای کسی را بگیرید، تلاش کنید جای واقعی خودتان را بیابید.

                  دیدگاه


                    #10
                    پاسخ : 32 پین avr

                    خوب خیلی کارا میتونی بکنی
                    کد:
                    porta.x=not nn
                    که nn as byte

                    یا
                    کد:
                    Dim Omid As Byte
                    Omid = 0
                    FOR A=0 TO 7
                    Portc.a = Omid
                    Incr Omid
                    WAITMS 100
                    NEXT
                    علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

                    دیدگاه

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