اطلاعیه

Collapse
No announcement yet.

تابلو روان با اتصال پورت سریال

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

    #16
    پاسخ : تابلو روان با اتصال پورت سریال

    سلام دوست من
    البته اگر در مورد نرم افزارش مشگل نداری میتونی به صورت زیر کار کنی یک آی سی کانتر که سطرها را تغذیه میکند و یک شیفت رجیستر که عمودی را تغذیه میکند. حالا شماباید اطلاعاتی را که در خروجی پورت میفرستید به این صورت باشد که با اعلام سیگنال RTS (REQUEST TO SEND ) پایه شماره 7 پورت سریال که به ورودی شمارنده متصل است شمارنده یکی به جلو میرود یعنی سطر بعدی روشن میشود وحالا با اعمال TXD (transmit DATA) پایه شماره 3 پورت سریال به شیفت رجیستر میتوانید اطلاعات آن سطر را اعمال کنید. امیدوارم کافی باشد در صورت نیاز بیشتر میتوانم برایت شماتیک آنرا رسم کنم اما برای برنامه ریزی پورت سریال باید ویزوال بیسیک بلد باشی و فایل dll.com آنرا هم روی کامپیوترت بریزی
    بعدا یه جمله قشنگ مینویسم

    دیدگاه


      #17
      پاسخ : تابلو روان با اتصال پورت سریال

      دوست عزیز ممنون از راهنماییت ولی من برنامه نویسیم زیاد خوب نیست و تازه کار کردن با میکرو رو یاد گرفتم :redface: اگه برات امکان داره بطور خیلی ساده و ابتدایی واسم توضیح بده اصول کار تابلو رو بلدم ولی برنامه نویسی ...
      کمتر به سایت میام .....

      دیدگاه


        #18
        پاسخ : تابلو روان با اتصال پورت سریال

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

        دیدگاه


          #19
          پاسخ : تابلو روان با اتصال پورت سریال

          نوشته اصلی توسط پروفسور
          سلام بسیار خوب
          با استفاده از میکرو خیلی سادهتر میتونی اینکار را انجام بدهی البته ما با یک کار خیلی کوچولو والبته با قابلیت کم شروع میکنیم و اگه فکر کردی میتونم کمکت کنم به کارمون ادامه میدیم ووارد مراحل بزگتری میشویم. ابتدا گفتی که طرز کار یک ماتریس 8 در 8 را بلدی خوب حالا سطرها را با یک مرحله تقویت جریان با یک ترانزیستور یونیورسال به یک گروه از پورتها متصل کن وستونها را هم به گروه دیگری از پورتها متصل کن البته آن پورتها را هم با 8 ترانزیستور یونیورسال تقویت کن خوب حالا اگه پورتها را فرماندهی کنی میتونی هر کارکتری را روی ماتریس نمایش بدهی.من نمیدونم چه جوری نقشه روی این سایت پلود میشه. :cry2:
          ممنون امیدوارم که تا اخرش کمکم کنی امروز کتاب کاهه قسمت مربوط به اتصال به میکرو به پورت سریال رو خوندم ولی چیز زیادی متوجه نشدم :angry: :angry:
          کمتر به سایت میام .....

          دیدگاه


            #20
            پاسخ : تابلو روان با اتصال پورت سریال

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

            دیدگاه


              #21
              پاسخ : تابلو روان با اتصال پورت سریال

              من میخوام که یه تابلو روان درست کنم که بدون پروگرام کردن دوباره میکرو از طریق پورت سریال حروف و کارکترها رو روی تابلو نمایش بدم و اینکه ایا میشه کاری کرد که کیبورد کامپیوتر مستقیما به میکرو وصل بشه ؟ منظورم اینه حروف مستقیما بوسیه کیبورد تایپ بشه و روی led ها نمایش داده بشه
              کمتر به سایت میام .....

              دیدگاه


                #22
                پاسخ : تابلو روان با اتصال پورت سریال

                من اینکارو انجام ندادم ولی میدوتم با دستور config keyboard = pin x.x ,data =pin x.x ,keydata= table میتونی کیبرد را به میکرو متصل کنی وبعد دستور زیر کلید فشرده شده را میخانه ()VAR = GETATKBd اما برای اینکار نمیتوانید از وقفه استفاده کنید و باید این دستور را در حلقه قرار دهید بنابراین میکرو در اشغال میماند ونمیتواند کار دیگری انجام دهد به همین علت شما میتوانید از دو میکرو استفاده کنید که به صورت I2C یا RS232 یا SPI به هم مرتبط شده اند واولی با کیبرد در ارتباط باشد ودومی که حامل برنامه اصلی است با میکرو اولی از طریق وقفه در ارتباط باشد و اطلا عات ورودی را میتونی روی یک Eeprom یا E2PROM نگهداری کنی البته نیاز است که کار برنامه ریزی رو بلد باشی و اگر غیر اینست ابتدا با کارهای کوچک شروع کن وبعد یکی یکی اجزای خارجی را متصل کن و کارکن و بعد سیستم کلی را بساز مطمعا باش زیاد طول نمیکشه حالا بگو از کجا شروع کنیم.
                بعدا یه جمله قشنگ مینویسم

                دیدگاه


                  #23
                  پاسخ : تابلو روان با اتصال پورت سریال

                  از همون کارهای کوچیک شروع کنیم شما بگو از هرجا که صلاح میدونی
                  کمتر به سایت میام .....

                  دیدگاه


                    #24
                    پاسخ : تابلو روان با اتصال پورت سریال

                    نوشته اصلی توسط پروفسور
                    من نمیدونم چه جوری نقشه روی این سایت پلود میشه. :cry2:
                    به این لینک مراجعه کنید: http://www.eca.ir/forum2/index.php/topic,8713.0.html
                    موفق باشید

                    دیدگاه


                      #25
                      پاسخ : تابلو روان با اتصال پورت سریال

                      من خودم با اتصال دو میکرو بصورت سریال شروع کردم به نظر شما کدوم روش اتصال میکروها بهتره ؟
                      من این برنامه رو با توجه به مثال کتاب کاهه نوشتم ممکنه شما هم در مورد روشی که پیشنهاد میکنید توضیح بدین

                      اینو ببین که چطوره
                      http://www.4shared.com/file/26892414/223ac521/SPI.html?cau2=403tNull
                      کمتر به سایت میام .....

                      دیدگاه


                        #26
                        پاسخ : تابلو روان با اتصال پورت سریال

                        شما از حلقه استفاده کردی منظورم این بود که اگه میخای از کیبورد استاندارد کامپیوتر استفاده کنی میتونی توسط همون کتابی که اشاره کردی کیبورد رو به میکرو منتقل کنی وبعد به صورت مستر واسلیو که در همان کتاب به آن اشاره شده صفحه 280 با میکروی بعدی ضمن اجرای برنامه اصلی این اطلاعات را بخونی و اطلاعات کارکترها رو روی EEPROM ذخیره و برای نمایش فراخانی کنی مثلا هربار که به کلیدی از کیبرد اشاره شد دادهای خروجی کیبرد به آدرسی از EEPROM اشاره کند که کارکتر مورد نظر شما آنجاست.در مورد اینکه ازچه روشی برای ارتباط استفاده کنی با توجه به اینکه شما داعما نمیخای به کیبورد فرمان بدی پس سرعت بالایی نمیخای و میتونی هرروشی را که مسلط تری امتحان کنی
                        واین اصولی تزین راه اما من روشی رو پیدا کردم که توسط یک میکرو اطلاعات رو میخونم و برنامه نیز جاریست اما روش خوبی نیست و تلاشم بیهوده بود
                        بعدا یه جمله قشنگ مینویسم

                        دیدگاه


                          #27
                          پاسخ : تابلو روان با اتصال پورت سریال

                          حالا حتما باید از eprom خارجی استفاده کرد ؟ و اینکه از رم خارجی استفاده کنم به میکرو مستر باید متصل بشه (میکرویی که کیبورد رو میخوام به اون متصل کنم ) یا اسلیو ؟
                          کمتر به سایت میام .....

                          دیدگاه


                            #28
                            پاسخ : تابلو روان با اتصال پورت سریال

                            خوب بله چون در برنامه شما از یک LCD استفاده شده که درون خودش دارای ROMاست که اطلاعات کارکترها روی آن ذخیره شده CGROMاما شما میخای با تابلو روان کار کنی پس یقینا شما هم باید محلی رو برای ذخیره اطلا عات مربوط به کارکترها ایجاد کنی و هروقت نیاز بود آنها را برای نمایش فراخونی کنی در ضمن وقتی شما در مدارت از ATMEGA 32استفاده میکنی و چیزی به پورت port cمتصل میکنی اگر JTAGE رو غیر فعال نکنی پورت موردنظر کارنمیکنه یعنی اگه شما اینکاری کا گفتم رو انجام نداده باشی در مداری که ساختی چیزی روی نمایشگرت دیده نمیشه. :cry2:
                            بعدا یه جمله قشنگ مینویسم

                            دیدگاه


                              #29
                              پاسخ : تابلو روان با اتصال پورت سریال

                              سلام بازم ممنون از راهنماییت
                              اگه ممکنه درباره اتصال رم خارجی واسم توضیح بدی و اینکه در این پروا¾ه فقط کار خواندن از رم باید صورت بگیره :question: (دیتا بیس حروف و کارکترها)

                              من کتاب کاهه قسمت مربوط به اتصال EEPROM رو خوندم اگه ممکنه بیشتر واسم توضیح بدی
                              کمتر به سایت میام .....

                              دیدگاه


                                #30
                                پاسخ : تابلو روان با اتصال پورت سریال

                                خوب یک EEPROM را مطابق شکل صفحه 286به دو پایه از آی سی متصل کن پایه ها فرقی نمیکنه دو پایه اختیاری از پورتها ( پورت باشد )حالا با دستور
                                config scl = portX.X و config sda = portX.X این پایه هارو به میکرو معرفی کن البته مطابق روال باید میکرو وفرکانس کار رو تعریف کرده باشی وبعد تعریف سرعت انتقال baud=XXXX$ وبرایتعریف فرکانس کاری ارتباط config I2C delay = x که X میتواند تا 255 انتخاب شود در این حالت فرکانس کلاک انتقال دادها میشود فرکانس میکرو تقسیم بر عدد X و در حقیقت خط چهارم که جهت نمایش اطلاعات روی برنامه ترمینال امولاتور است که با آن کاری نداریم و میشود آنرا حذف کرد ( config serialout=buffered,size=10 ) خوب حالا که پیکره سخت افزاری کامل شد بریم سراغ نرم افزار. :applause:
                                ابتدا دو عامل مهم رو در نظر بگیر اول اینکه ما ممکنه چندین قطعه ( آی سی یا چیپ ) روی پایه های SAD و SCL داشته باشیم و بخایم هرزمان خاستیم با هرکدام آنها ارتباط برقرار کنیم پس باید راهی برای فراخونی اونا داشته باشیم و دوم اینکه EEPROM با حافظه های بزگ حتی در ایران موجود است بنابراین آدرس آنها در هشت بیت نمیگنجد بنا براین در آدرس دهی از عدد بالا و پائین استفاده میکنیم یعنی MSB و LSB یعنی هنگام آدرس دهی برای EEPROM اشاره شده در کتاب آقای کاهه شما باید برای فراخونی یک آدرس ابتد بایت بالا و بعد بایت پاینی را به صورتی که شرح خواهم داد ارسال نماید اما این پایان کار نیست در حقیقت شما باید با یاد گرفتن اصول ارتباط بتوانید با مراجعه به دیتا شیت حافظه مورد نظر بنا بر دستور سازنده آنرا آدرس دهی کنید. :angry:
                                خوب حالا از اول شروع کنیم: oo:
                                گفتیم ممکنه چند قطعه روی خطوط MSB و LSB قرار گرفته باشه و ما باید بتونیم در هر زمان به قطعه مورد نظر دسترسی داشته باشیم و اونو صدا کنیم و اونم به ما جواب بده در حقیقت ما برای قطعات متصل به خطوط اسم میزاریم و وقتی اون اسم رو صدا کردیم اون به ما جواب میده :bye
                                به جدول صفحه 255 نگاه کن این جدول در حقیقت بایت آدرس نام داره که شامل اطلاعاتی از جمله نام ( وسیله) ونوع استفاده مورد نیاز (خواندن - نوشتن)

                                البته این پاین کار نیست .

                                (H = High(Ad
                                (L = Low(Ad
                                I2cstart
                                I2cwbyte 160
                                I2cwbyte H
                                I2cwbyte L
                                I2cstart
                                I2cwbyte 161
                                I2crbyte An, Nack
                                I2cstop
                                Waitms 100
                                Cls: Home
                                Lcd An
                                Lcd " "
                                Lcd Ad
                                Incr Ad
                                Waitms 50



                                برنامه بالا را ببین دو متغیر Ad و An در حقیقت Ad آدرس است و با هربار اجرا شدن برنامه یکی به آدرس اضافه میشه و با اشاره به اون آدرس اطلاعات اون آدرس به An منتقل میشه وروی نمایشگر نمایش داده میشه .
                                در خط اول و دوم متغیر آدرس تبدیل به دو بایت بالا و پاین شده و این به این دلیله که ممکن آدرس شما بیشتر از 255 باشه مثلا 1024 یا 2048 یا ......
                                و پرو توکل ارتباط با آی سی های AT 2402A/04A/08A به این صورت تعریف شده ( ممکنه برای یک آی سی دیگه اینطور نباشه و به صورت دیگه ای باشه
                                و ما باید توسط دیتا شیت اون به این راه دست پیدا کنیم )

                                خط سوم دستور شروع کاررو صادر میکنه که تقریبا همیشه همینه.
                                خط بعد اولین اطلا عات رو روی خطوط میفرسته این خط در حقیقت قطعه مورد نظررو صدا میکنه مقدار 160 در حقیقت نام قطعه و دستور ارسالی برای اون قطعه است وبرای حافظه های مختلف این مقدار فرق میکنه اما برای AT 2402A/04A/08A به صورت جدول صفحه 255 قابل محاسبه است و شما باید توسط دیتا شیت آی سی مورد نظر اونو محاسبه کنید.
                                برای آی سی های مورد اشاره مقدار هشت بیتی این عدد در حقیقت شامل 1010 برای MSB است و کوچکترین بیت در سمت LSB اگر صفر باشد عمل نوشتن روی حافظه و اگر یک باشد عمل خوندن حافظه انجام خواهد شد. و سه بیت بعدی با توجه به صفر و یک بودن پایه های همنام روی آی سی مقدار داده میشوند.
                                پس در اینجا یعنی در مثال ما دستور نوشتن برای قطعه ای صادر شده اولا از سری AT 2402A/04A/08A بوده و دوما که تمام پایه های آدرس اون به زمین متصل شده ودیگه اینکه در این گروه شما برای هر فرمانی ابتدا دستور نوشتن رو صادر کنی و بعد چنانچه در همین برنامه میبینی دستور خوندنو .
                                در خطوط بعدی چنانچه گفتم آدرس مورد نظر رو ارسال میکنی میتونی به جای متغیر های H و L از عدد هم استفاده کنی و فقط آدرس مود نظرو قراربدی
                                خط بعدی چنانچه اشاره شد چون هدف ما خوندن بوده باید ابتدا با دستور نوشتن قطعه رو صدا میکردیم و آدرس رو وارد میکردیم و حالا میرسیم به زمان خوندن
                                مجددا فرمان شروع صادر میشه و به دنبال اون اینبار عدد 161 یعنی میخواهیم بخونیم ( به جای بیت اول LSB یک قرار دادیم)
                                ودستور بعدی مقدار حافظه رو میخونه و Nack به آی سی اطلاع میده که فعلا باهاش کاری نداریم و خط بعد فرمان توقف عملیات

                                البته روش دیگری هم برای خوندن ونوشتن هست که به اونا متوالی یا صفحه ای میگن اگه سوالی نداری بریم سراغ مطلب بعدی :nerd:
                                در ضمن اگه دیر جواب میدم چون متخصصین مخابرات ایران در منطقه ما برای سیمکشی تلفن از کابل نوری استفاده کردن( از سازندگان کابل نوری جلو زدن :eek و این باعث شده که خطوط اینترنت روی آنها مدام اشکال دارند. :cry2: :angry:
                                keshtpour@gmail.com
                                بعدا یه جمله قشنگ مینویسم

                                دیدگاه

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