اطلاعیه

Collapse
No announcement yet.

یوارت دوم mega64

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

    یوارت دوم mega64

    راه اندازی یوارت دوم mega64 با اینتراپت
    دوستان سلام
    من میخوام یوارت دوم mega64 رو با اینتراپتش (urxc1)راه اندازی کنم.
    بدون اینتراپت کار میکنه
    Config Com2 = 9600 , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0
    Open "COM2:" For Binary As #1
    اما نمیدونم چرا در وقفه جواب نمیده
    ضمنا من یوارت 1 رو با وقفه جواب میگیرم (urxc)
    اگه ممکنه یک sample برام بگذارید.
    از کمکتون ممنونم.
    ضمنا من با bascom کار میکنم
    متشکرم

    #2
    پاسخ : یوارت دوم mega64

    ببخشید می تونید نمونه برنامه برای شماره یک رو با اینتراپت اینجا بگذارید

    دیدگاه


      #3
      پاسخ : یوارت دوم mega64

      بله اینم برنامه:
      $regfile = "m64def.dat"
      $crystal = 16000000
      $baud = 9600

      Config Pind.5 = Output
      Config Pind.6 = Output
      Config Pind.7 = Output
      Config Portc = Output
      Config Timer0 = Timer , Prescale = 1
      Start Timer0
      '--------------------------------------------------------------------------------------------------------------------------------------------------

      Config Lcd = 20x4
      Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portd.7 , Rs = Portd.5 ', Rw = Pind.6

      '--------------------------------------------------------------------------------------------------------------------------------------------------


      Enable Interrupts
      '
      Enable Urxc

      On Urxc Urxc_isr

      '--------------------------------------------------------------------------------------------------------------------------------------------------


      Cls
      Dim Akey(30) As Dword
      Dim Ab(30) As Dword
      Dim N As Byte
      Dim Tim As Word

      '--------------------------------------------------------------------------------------------------------------------------------------------------



      N = 1


      Do
      Locate 1 , 1
      Lcd "a" ; Akey(5) ; Akey(6) ; Akey(7) ; Akey(8) ; Akey(9) ; Akey(10)
      Loop
      '--------------------------------------------------------------------------------------------------------------------------------------------------

      '-------- ----------------------------
      Urxc_isr:
      sbis usr,7 ' Wait for character
      rjmp urxc_isr ' wait until we can read the byte
      N = N + 1
      Akey(n) = Udr ' get the byte
      Return



      End


      '--------------------------------------------------------------------------------------------------------------------------------------------------



      دیدگاه


        #4
        پاسخ : یوارت دوم mega64

        ببین اینا رو بنویسی حله

        $baud1=9600
        enable urxc1
        on urxc1 myser
        enable interrupts

        do

        loop
        end

        myser:
        a=udr1


        return

        ببین دوست عزیز تو این چند خط بالا فقط روش رو بهت یاد دادم که هم از وقفش استفاده کنی و هم اینکه تو وقفه مقدار دریافتی رو بگیری
        همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

        قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

        [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

        دیدگاه


          #5
          پاسخ : یوارت دوم mega64

          خوب اشکال من دقیقا همینه که با این کار جواب نمیده

          دیدگاه


            #6
            پاسخ : یوارت دوم mega64

            مطمئنی کل خطها رو ببین چون من با این کار بارها و بارها با مگا 64 و 128 جواب گرفتم یه بار دیگه متن منو بخون و به عدد 1 که جلو برخی تنظیمات و رجیستر ها نوشتم دقت کن اگر نشد باز بگو شاید حلش کردیم
            همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

            قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

            [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

            دیدگاه


              #7
              پاسخ : یوارت دوم mega64

              ok
              حل شد عزیز
              دستت درد نکنه
              فقط اونجایی که وارد اینتراپت میشه نباید اول sbis usr,7 رو بنویسم؟

              دیدگاه


                #8
                پاسخ : یوارت دوم mega64

                چه خوب
                نه لازم نیست کلا تو زیر برنامه اینتراپت لازم نیست جز گرفتن مقدار کاره دیگه ایی انجام بدی البته من متوجه دستورت نشدم ولی اگر بگی که چه بیتی رو یک می کنی یعنی اسمشو بگی من می تونم بهت کمک کنم.
                همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

                قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

                [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

                دیدگاه


                  #9
                  پاسخ : یوارت دوم mega64

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

                  دیدگاه


                    #10
                    پاسخ : یوارت دوم mega64

                    آقا ناصر می شه توضیح بدید توی زیربرنامه خط اول و دوم چه کاری انجام می دهند

                    دیدگاه


                      #11
                      پاسخ : یوارت دوم mega64

                      اگر دیتا بود دریافت میکنه
                      اگر نبود برمیگرده به اول
                      با اینتراپت اولی هم کار میکنه

                      دیدگاه


                        #12
                        پاسخ : یوارت دوم mega64

                        من که خیلی متوجه نشدم منظورتون چیه

                        شما چه طوری با udr کار می کنید من هر مقداری که میدم udr برابر 13 میشه

                        دیدگاه


                          #13
                          پاسخ : یوارت دوم mega64

                          نوشته اصلی توسط aminsaeedi
                          من که خیلی متوجه نشدم منظورتون چیه

                          شما چه طوری با udr کار می کنید من هر مقداری که میدم udr برابر 13 میشه
                          به خاطر اینه که اگر از کامپیوتر می فرستی اطلاعاتو برای ارسال اطلاعات از کامپیوتر اخرش یه کاراکتر 13 می زنه که همون LF می شه برای اینکه این دیتا رو نگیری اگر از کامپیوتر می فرستی باید دیتا باینری بفرستی و اگر با میکرو دیگه می فرستی به جای print از printbin استفاده کن در این صورت دیگه فقط خود عدد رو می فرسته یا اینکه با میکرو دیگه اینو بنویس

                          print "s" ;
                          همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

                          قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

                          [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

                          دیدگاه


                            #14
                            پاسخ : یوارت دوم mega64

                            این طور که شما گفتید یعنی نمیشه بیشتر از یک بایت و یا یک رشته از این طریق دریافت کنیم

                            دیدگاه


                              #15
                              پاسخ : یوارت دوم mega64

                              چرا می شه شما باید برنامتو بصورت ارایه ای بنویسی و هر وقت اومدی تو اینتراپت شمارنده ایندکستو اضافه کنی و بعد تو خونه بعدی اطلاعات بعدی رو بنویسی اینطوری می تونی تا ان تا اطلاعات رو بفرستی حرفه ای ترین راه ارتباط سریال بهره برداری از وقفشه و در غیر اینصورت شما باید cpu رو خیلی معطل کنی.
                              همانطور كه مايل نيستم بنده كسي باشم، حاضر نيستم آقاي كسي باشم. كساني كه مخالف آزادي ديگرانند، خود لياقت آزادي را ندارند.((آبراهام لينكن))

                              قدرت شگفت انگيز نيروهاي خلاق و استعدادهاي نهفته آدمي هنگامي آشكار مي شود كه نيازي حياتي، تواناييهاي او را به فعاليت وادارد و كشش آرزويي، سراپاي وجودش را به جنب و جوش درآورد.((آبراهام لينكن))

                              [img width=343 height=100]http://www.elecdesigner.com/uploads/PRO-DESIGNER-GROUP.jpg[/img]

                              دیدگاه

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