اطلاعیه

Collapse
No announcement yet.

استفاده از پورت سریال در 8051

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

    استفاده از پورت سریال در 8051

    سلام دوستان

    من برای ارتباط با یک دستگاه و از طریق پورت سریال با یک AT89C2051 نیاز به ست کردن پارامترهای زیر دارم :
    Speed : 19200 bps
    Data bits : 8 bit
    Parity : Odd
    Stop bits : 2 bit
    اما ظاهرا این کار برای سری 8051 ناممکن است . لطفا در صورت امکان به من برای انجام این کار کمک کنید.
    با تشکر از شما دوستان.

    #2
    استفاده از پورت سریال در 8051

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

    دیدگاه


      #3
      استفاده از پورت سریال در 8051

      سلام . خوبید دوستان؟
      قضیه یه مقدار سخت هست تا جایی که من میدونم . چون پروتکلی که 2 تا بیت ختم رو حمایت کنه توی میکرو نداریم . اگه نباشه باید خودتون پروتکلش رو بنویسید و کار خیلی خیلی سخت میشه . یکی از آشناها میگفت همچین کاری کرده و خیلی سخته و باگ زیاد توش ایجاد میشه . ولی خوب کار نشد نداره .
      موفق باشید .
      شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
      هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
      چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

      دیدگاه


        #4
        استفاده از پورت سریال در 8051

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

        دیدگاه


          #5
          سلام

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

          در ویندوز xp چطوری میتونیم از سرعت غیر استاندار استفاده کنیم در پورت سریال؟

          برای گرفتن داده یا فرستادن داده به یه امولاتور؟
          ww.microworld.blogfa.com

          دیدگاه


            #6
            استفاده از پورت سریال در 8051

            سلام.
            من تازه بخش ارتباط سریال رو دارم میخونم پس شاید حرفم اشتباه باشه.
            به نظر من میشه از 2 تا استوپ بیت استفاده کرد.
            چون تو مدی که ما میتونیم از بیت توازن استفاده کنیم انتخاب بیت توازن (صفر یا یک بودنش با خودمونه).
            اینطوری میشه یک استوپ بیت دیگه اضافه کرد.
            حالا منم سوال

            فرض کنیم قراره ارتباط سریال بین میکرو و PC برقرار بشه.
            و اینکه مثلا قراره که میکرو یکسری اطلاعات دریافتی از محیط رو به PC بفرسته.
            تا اینجا که مشکلی نیست.
            اگر ما از مودی استفاده کنیم که استارت بیت و استوپ بیت هم داشته باشه ؛ اگر برنامه ای که توی PC وظیفه دریافت اطلاعات از میکرو رو داره دیر اجرا بشه و مثلا وقتی میکرو داره بیت سوم از بایت Nام اطلاعات رو میفرسته برنامه شروع به دریافت بکنه و بر حسب تصادف اون بیت 0 باشه (مثل استارت بیت) و بیت سوم بایت بعدی هم 1 باشه (مثل بیت استوپ)
            اونوقت چه اتفاقی میافته؟

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

            دیدگاه


              #7
              استفاده از پورت سریال در 8051

              دوست عزیز
              تا اونجائیکه سوادم می رسه
              تو میکرو یا هر سیستم دیجتالی که قراره یک سری اطلاعات ارسال یا دریافت بشه( به صورت سریال ) اونم تو حالت 8 بیتی
              یه راه برای تشخیص اشتباه و اطلاع دادن این اشتباه به سیستم فرستنده مبنی براین که درحین عملیات ارسالی اطلاعات دارای خطا هستند استفاده از بیت توازنه هستش

              دیدگاه


                #8
                استفاده از پورت سریال در 8051

                نوشته اصلی توسط Iran-PC

                فرض کنیم قراره ارتباط سریال بین میکرو و PC برقرار بشه.
                و اینکه مثلا قراره که میکرو یکسری اطلاعات دریافتی از محیط رو به PC بفرسته.
                تا اینجا که مشکلی نیست.
                اگر ما از مودی استفاده کنیم که استارت بیت و استوپ بیت هم داشته باشه ؛ اگر برنامه ای که توی PC وظیفه دریافت اطلاعات از میکرو رو داره دیر اجرا بشه و مثلا وقتی میکرو داره بیت سوم از بایت Nام اطلاعات رو میفرسته برنامه شروع به دریافت بکنه و بر حسب تصادف اون بیت 0 باشه (مثل استارت بیت) و بیت سوم بایت بعدی هم 1 باشه (مثل بیت استوپ)
                اونوقت چه اتفاقی میافته؟

                نمیدونم کسی متوجه شد یا نه.
                شاید بهتر نبود وقتی یک بایت ارسال و یا دریافت میشد روی یک خط دیگه 1 بیت به نشانه صحت یا اتمام کار قرار میگرفت؟
                سلام
                اگرتبادل اطلاعات سریال را به عهده USART های دو طرف بگذارید ، یعنی با نوشتن داده های کنترلی در ثبات های سریال PC و میکرو و همچنین نوشتن اطلاعاتی که قرار است جابجا شوند در ثبات بافر ، احتمال چنین حالتی که گفتید بسیار بسیار کم است ، زیرا نرم افزار شما داده ها را به صورت موازی ارسال و یا دریافت میکند و این USART ها هستند که تحت یک پروتکل خاص به صورت سریال داده ها را میگیرند و میفرستند .

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

                پیروز باشید.
                گر جان عاشق دم زند آتش بر این عالم زند
                وین عالم بی اصل را چون ذره ها بر هم زند

                دیدگاه


                  #9
                  استفاده از پورت سریال در 8051

                  سلام.
                  مرسی.
                  منم همینو میخواستم بشنوم.
                  که اطلاعاتی که اشتباهی توشه باز فرستاده بشه.
                  خیالم راحت شد مرسی.
                  اما اگر بتونید پروتوکولش رو هم بیید که خیلی عالی میشه.
                  راستی آخرین سرعتی که پورت سریال کامپیوتر میتونه بفرسته 9600 بیت در ثانیه هست؟ یعنی 1200 بایت؟
                  الهم عجل لولیک الفرج

                  دیدگاه


                    #10
                    استفاده از پورت سریال در 8051

                    سلام

                    ببخشید که دیر جواب میدم ............

                    از نظر سخت افزاری من نمیدونم پورت سریال PC چه محدودیتی داره ، اما اگه بخوای پروتکل سریال را نرم افزاری اجرا کنید ، سرعت ارسال به کلاک دو سیستمی که قراره با هم ارتباط داشته باشند بستگی خواهد داشت . چون میدونید که USB یک ارتباط سریاله اما سرعت انتقالش خیلی بالاست ، یه چیزی نزدیک به 4Mbps ،


                    و اما کد خطا یابی CRC :

                    ایجاد و بازیابی این کد یه مقدار پیچیده است و بیشتر در انتقال سریال به صورت بسته های اطلاعاتی کا ربرد داره. بسته اطلاعاتی تشکیل شده از پرچم شروع و پرچم پایان که هر کدام شامل چند بیت میباشند و بیتهای اطلاعاتی که بیش از یک بایت میباشد. به نظر من بهتر است کتاب یا مرجعی درباره ارتباط سریال تهیه کنید .

                    پاینده باشید.
                    گر جان عاشق دم زند آتش بر این عالم زند
                    وین عالم بی اصل را چون ذره ها بر هم زند

                    دیدگاه


                      #11
                      استفاده از پورت سریال در 8051

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

                      دیدگاه


                        #12
                        پاسخ : استفاده از پورت سریال در 8051

                        سلام
                        همیشه stop bit منطق یک دارد.بنابراین برای ایجاد دو STOP BIT کافی اسث بعد از ارسال هر داده به صورت سریال کمی تاخیر اضافه ایجاد کرد تا STOP BIT دوم تلقی گردد.

                        دیدگاه

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