اطلاعیه

Collapse
No announcement yet.

کار با LCD و پورتها به صورتی مجزا

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

    کار با LCD و پورتها به صورتی مجزا

    سلام

    توی بسکام اگه بخوام LCD کار خودش رو انجام بده و دائما توی Do-Loop نیفته چیکار باید انجام بدم
    مثلا LCD تبلیغات رو نشون بده به محضی که ورودی ست شد LCD موضوع مرتبط با اونو نشون بده

    در کل میخوام DO-Loop برا LCD آشکار باشه اما برای اجرای کل برنامه پنهان

    با تشکر
    تخیل مهمتر از دانش است
    علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
    آلبرت انیشتین

    #2
    پاسخ : کار با LCD و پورتها به صورتی مجزا

    سلام


    دقیقا متوجه نشدم oo:

    باید شرط بزاری اگه این پین 1 شد این کارو انجام بده

    دیدگاه


      #3
      پاسخ : کار با LCD و پورتها به صورتی مجزا

      با سلام.
      دوست عزیز شما می تونید برنامه مربوط به LCD رو در حلقه اصلی بنویسید و چک شدن کلید و یا اعمال مرتبط رو به پین های اینتراپت خارجی بدین که در این صورت سایر کارها روی عملکرد نمایش تاثیری نداره.
      امیدوارم منظورتون رو درست متوجه شده باشم.
      موفق باشید
      چرا ناراحتی پاتریک!
      + امروز ی بچه دیدم سرچهارراه گل میفروخت
      - از دیدنش ناراحت شدی؟
      + نه
      پس چی ناراحتت کرده
      + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
      ------------------------------------------------------------------------------------------------------
      تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
      ------------------------------------------------------------------------------------------------------
      محصولات

      دیدگاه


        #4
        پاسخ : کار با LCD و پورتها به صورتی مجزا

        سلام
        بچه ها درست میگن یا باید شرط بذاری یا از اینتراپت ها استفاده کنی
        امام مهدی(عج): اگر شیعیان ما ، که خداوند طاعتشان دهد. در عهد ما وفادار و همدل بودند، هرگز دیدار ما (ظهور) به تاخیر نمی افتاد.(کدام عهد ؟)

        دیدگاه


          #5
          پاسخ : کار با LCD و پورتها به صورتی مجزا

          متاسفانه مداری که من ساختم و بردشم زدم یه دونه از 5 ورودیش روی اینتراپته!!و استفاده از اینتراپت برام مقدور نیست.

          اما شاید منطورمو خوب متوجه نشدین
          من میخوام میکرو با سرعت ورودیا رو چک کنه در صورتی که LCD عباراتی رو خیلی آروم نشون بده
          اصلا اگه لازمه بگین LCD رو حذف کنم :icon_razz:

          فکر کنم با دستور While-Wend یا Jmp-Goto و ... بشه کاری از پیش برد اگه زحمتی نیست چندتا مثال برام بذارید.

          بدرود
          تخیل مهمتر از دانش است
          علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
          آلبرت انیشتین

          دیدگاه


            #6
            پاسخ : کار با LCD و پورتها به صورتی مجزا

            بازم نفهمیدم چی شد :mrgreen:

            بازم می تونید شرط بزارید :mrgreen:

            سرعت AVR در اسلایتور 1M در ثانیه 1000000 خط رو اجرا میکنه

            دیدگاه


              #7
              پاسخ : کار با LCD و پورتها به صورتی مجزا

              نوشته اصلی توسط erfan m
              بازم نفهمیدم چی شد :mrgreen:

              بازم می تونید شرط بزارید :mrgreen:

              سرعت AVR در اسلایتور 1M در ثانیه 1000000 خط رو اجرا میکنه
              اصلا بزارین از اولش توضیح بدم
              ما از روی علاقه اومدیم یه پروگرامر ساختیم و چنتا سی دی و کتاب و ... تا شاید AVR رو یاد بگیریم :mrgreen:
              یه روزی از همین روزا اومدیم توی یه برد ساده ای که مدارش رو پایین تر قرار میدم 5 تا ورودی خیلی حساس داشته باشیم که این ضعیف بودن برنامه نویسیمون کار دستمون داد. :biggrin:

              میخوام هرکدوم از ورودیا مثل اینتراپت سریعا عمل کنن در حالی که روی ال سی دی عباراتی عاشقانه با ملایمتی خاص درج شه :rolleyes:

              با عرض پوزش مثال رو حفظی مینویسم از غلطای املایی چشم پوشی بفرمائید میخوام طرز Do-Loop نوشتن رو لطف کنید.
              مثال :
              Dim M as byte
              Dim A as byte
              Config Lcd ..........
              config Portd=Input
              config Port b=OutPut
              do
              lcd 'www.ECA.ir '
              waitms 100
              if port b.x = 1 then goto m
              cls
              lcd 'M.A.P'
              waitms 100
              if port b.x = 1 then goto A
              cls
              lcd 'AVR'
              waitms 100
              cls
              loop
              end
              M:
              .
              .
              .
              .
              A:
              .
              .
              .
              .
              return

              چطور میتونم تاخیرا رو برای IF ها حذف کنم در صورتی که برای LCD اعمال شه
              اینم عکس پروژه ضخیم بین المللی بنده :nerd:

              بدرود
              تخیل مهمتر از دانش است
              علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
              آلبرت انیشتین

              دیدگاه


                #8
                پاسخ : کار با LCD و پورتها به صورتی مجزا

                تازه فهمیدم :mrgreen:


                وقتی پین port b.x = 1 شد اول پرش میکنه به M بعد میاد متن رو روی ال سی دی می نویسه تا M تموم نشه نمی باید روی ال سی دی متن رو بنویسه اول روی ال سی دی بنویسه بعد بره سراغ M سریع تر انجام میشه :biggrin:

                if port b.x = 1 then goto m
                cls
                lcd 'M.A.P

                اگه بازم سرعت پایین بود کریستال 16Mhz بزارید :icon_razz:

                اگه وقفه ها رو کمتر کنید بازم سریع تر میشه اصلا وقفه ها رو حذف کنید

                بعد END IF ت کو :mrgreen:

                برای اون متن LCD "ECA" هم می تونی یه ELSE بزاری اگه هیچ کدوم از شرط ها برقرار نبود روی ال سی دی بنویسه ECA این جوری سریع تر هم میشه

                دیدگاه


                  #9
                  پاسخ : کار با LCD و پورتها به صورتی مجزا

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

                  اما این شکلی که من نوشتم :

                  اگه وقفه نذارم عبارتهای روی LCD آنچنان سریع میان و میرن که نمیشه خوندشون اما چک کردن ورودیا عالیه!!!
                  اگه بخوام وقفه بذارم رو سرعت چک کردن پورتای ورودی کند میشه اما LCD قابل حوندن میشه!!!

                  آیا روشی براش سراغ دارین؟؟؟

                  با سپاس
                  تخیل مهمتر از دانش است
                  علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
                  آلبرت انیشتین

                  دیدگاه


                    #10
                    پاسخ : کار با LCD و پورتها به صورتی مجزا

                    با سلام.
                    دوست عزیز برای این کار شما دو تا تابع تعریف می کنی یکی برای نمایش دیتا روی نمایشگر و بعدی واسه چک کردن کلید. تو حلقه do ... loop میای با استفاده از دستور Gosub هر دو تابعت رو مدام فراخوانی می کنی.
                    در زیربرنامه ها نه واسه LCD و نه کلیدها تاخیر نذار و در ضمن با دستور Debounce پین های میکرو یا همون کلیدات رو چک کن.
                    من از این روش جواب گرفتم درسته که روی LCD یه جزئی نوسان داشت ولی انچنان معلوم نبود.
                    البته نوشته هایی من روی LCD دیتای یه DS1307 بود یعنی یه ساعت نه متن متحرک!!!!
                    موفق باشید
                    چرا ناراحتی پاتریک!
                    + امروز ی بچه دیدم سرچهارراه گل میفروخت
                    - از دیدنش ناراحت شدی؟
                    + نه
                    پس چی ناراحتت کرده
                    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                    ------------------------------------------------------------------------------------------------------
                    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                    ------------------------------------------------------------------------------------------------------
                    محصولات

                    دیدگاه


                      #11
                      پاسخ : کار با LCD و پورتها به صورتی مجزا

                      نوشته اصلی توسط سوران آراسته
                      در زیربرنامه ها نه واسه LCD و نه کلیدها تاخیر نذار
                      متشکرم
                      اما اگه تاخیر نذارم خوندن متون متحرک روی LCD کار حضرت فیله!!! :eek:
                      مثلا میخوام 8 سطر متن متحرک داشته باشم.
                      اینطور که نمیشه :surprised:

                      ممنون میشم اگه با نمونه توضییخ بدین.

                      بدرود
                      تخیل مهمتر از دانش است
                      علم محدود است اما تخیل دنیا را دربر میآ‌گیرد
                      آلبرت انیشتین

                      دیدگاه


                        #12
                        پاسخ : کار با LCD و پورتها به صورتی مجزا

                        نوشته اصلی توسط سوران آراسته
                        البته نوشته های من روی LCD دیتای یه DS1307 بود یعنی یه ساعت نه متن متحرک!!!
                        دوست عزیز منم گفتم متن متحرک رو نمایش ندادم.
                        برنامه بالا رو هم که بهتون گفتم تو مجله نویـز شماره 10 با عنوان تنظیم دمای گلخانه موجوده.
                        نگاه کنید هر کجا مشکل داشتین بفرمایین تا در حد توان کمکتون کنم.
                        چرا ناراحتی پاتریک!
                        + امروز ی بچه دیدم سرچهارراه گل میفروخت
                        - از دیدنش ناراحت شدی؟
                        + نه
                        پس چی ناراحتت کرده
                        + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
                        ------------------------------------------------------------------------------------------------------
                        تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
                        ------------------------------------------------------------------------------------------------------
                        محصولات

                        دیدگاه

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