اطلاعیه

Collapse
No announcement yet.

کمک برای اشکال یابی برنامه زبان بسکام

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

    کمک برای اشکال یابی برنامه زبان بسکام

    سلام دوستان
    من یک برنامه برای ساخت ساعت با تایمر صفر نوشتم فرکانس رو 8 مگا و prescale رو 64 انتخاب کردم تا زمان تایمر 8 میکرو ثانیه بشه و مقدار اولیه تایمر رو 130 دادم تا با سریز شدن یعنی گذر کردن از 125 سیکل زمان یک میکرو ثانیه ایجاد بشه و مابقی دستورات هم ک معادلات ساعته
    الان نمیدونم چرا مقدار دادن به تایمر رو ارور میگیره
    ادرس فایل برنامه:

    ادرس فایل ورد از برنامه :


    من قصد کردم یک تایمر 5 کانال درست کنم چون چیزی پیدا نکردم و خودم مبتدی هستم گفتم اول ساخت ساعت رو یاد بگیرم بعد از روی اون تایمر بسازم
    جدیدترین ویرایش توسط sorek; ۱۸:۳۷ ۱۳۹۶/۱۱/۲۰.

    #2
    پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

    نوشته اصلی توسط sorek نمایش پست ها
    سلام دوستان
    من یک برنامه برای ساخت ساعت با تایمر صفر نوشتم فرکانس رو 8 مگا و prescale رو 64 انتخاب کردم تا زمان تایمر 8 میکرو ثانیه بشه و مقدار اولیه تایمر رو 130 دادم تا با سریز شدن یعنی گذر کردن از 125 سیکل زمان یک میکرو ثانیه ایجاد بشه و مابقی دستورات هم ک معادلات ساعته
    الان نمیدونم چرا مقدار دادن به تایمر رو ارور میگیره
    ادرس فایل برنامه:

    ادرس فایل ورد از برنامه :


    من قصد کردم یک تایمر 5 کانال درست کنم چون چیزی پیدا نکردم و خودم مبتدی هستم گفتم اول ساخت ساعت رو یاد بگیرم بعد از روی اون تایمر بسازم
    سلام
    من برنامه رو کامپایل کردم اما اروری نداد!
    از چه ورژنی استفاده میکنید؟
    من با 2.0.7.3 تست کردم

    دیدگاه


      #3
      پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

      نوشته اصلی توسط M3R-E نمایش پست ها
      سلام
      من برنامه رو کامپایل کردم اما اروری نداد!
      از چه ورژنی استفاده میکنید؟
      من با 2.0.7.3 تست کردم

      سلام
      ممنون از این که وقت گذاشتین
      من از ورژن 2.0.7.8 استفاده میکنم
      اینم اخطاریه ک میده
      الان با ورژنی که شما گفتین هم آزمایش میکنم

      دیدگاه


        #4
        پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

        نوشته اصلی توسط sorek نمایش پست ها
        سلام
        ممنون از این که وقت گذاشتین
        من از ورژن 2.0.7.8 استفاده میکنم
        اینم اخطاریه ک میده
        الان با ورژنی که شما گفتین هم آزمایش میکنم
        این ارور که الان میگه وقفه نیاز به return داره در ورتی که شما return هم گذاشتید!!
        به جای timer0 از tcnt0 استفاده کنید ببینید باز هم همین ارور میده؟

        دیدگاه


          #5
          پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

          نوشته اصلی توسط M3R-E نمایش پست ها
          این ارور که الان میگه وقفه نیاز به return داره در ورتی که شما return هم گذاشتید!!
          به جای timer0 از tcnt0 استفاده کنید ببینید باز هم همین ارور میده؟
          بازم ممنون
          با ورژنی ک شما گفتین کامپایل کردم الان درست شده
          فقط یه مشکلی هست الات تو پرتئوس هم تقریبا هر 10 ثانیه رو یک ثانیه نشون میده و هم lcd هی بروزرسانی میشه یا نوشته ها به صورت چشمک زنن
          نمیدونم چرا
          البته cls زیاد گذاشتم تو برنامه ک البته تو بنامه دیگه هم همین کار رو کردم ولی این مشکل نبود
          جدیدترین ویرایش توسط sorek; ۲۳:۱۳ ۱۳۹۶/۱۱/۲۰.

          دیدگاه


            #6
            پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

            نوشته اصلی توسط M3R-E نمایش پست ها
            این ارور که الان میگه وقفه نیاز به return داره در ورتی که شما return هم گذاشتید!!
            دستور end زا بردار ببین درست میشه؟

            دیدگاه


              #7
              پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

              نوشته اصلی توسط kamy007 نمایش پست ها
              دستور end زا بردار ببین درست میشه؟
              مشکل ارور حل شد و الان برنامه کامپایل میشه و مشکل از نسخه نرم افزار بسکام بود
              الان مشکل جدیدم اینه ک هر ده ثانیه رو یک ثانیه نشون میده
              من دستور شرطی میلی ثانیه رو ک 999 بود رو کردم 99 اما درست نشد
              بعد
              بعد از سریز شدن تایمر بجای اینکه به میلی ثانیه یک واحد اضافه کنه گذاشتم به ثانیه یک واحد اضافه کنه اما درست شد نمیدنمم مشکل از کجاست

              دیدگاه


                #8
                پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

                نوشته اصلی توسط sorek نمایش پست ها
                با ورژنی ک شما گفتین کامپایل کردم الان درست شده
                فقط یه مشکلی هست الات تو پرتئوس هم تقریبا هر 10 ثانیه رو یک ثانیه نشون میده و هم lcd هی بروزرسانی میشه یا نوشته ها به صورت چشمک زنن
                عع اشتباه جواب دادم شرمند M3R
                من زمانبندی ها رو چک نکردم ولی یک اشتباه دیدم
                If H > 24 Then : H = 0 : Cls
                اگر بگی بزرگتر از 24 به هر شبانه روز یه ساعت اضافه میشه میشه 25 ساعت

                دلیل: ادغام دو پست برای جلوگیری از اسپم

                نوشته اصلی توسط sorek نمایش پست ها
                عد از سریز شدن تایمر بجای اینکه به میلی ثانیه یک واحد اضافه کنه گذاشتم به ثانیه یک واحد اضافه کنه اما درست شد نمیدنمم مشکل از کجاست
                پیشنهاد اول یک زمان یک تانیه درست کن و با اون یه پورت را خاموش روشن کن با اسکوپ تو پرتئوس پورت را مانیتور کن و دقت رو ببین . البته میتونی یه زمان کمتر بسازی و با اسکوپ نگاهش کنی و بعد برو واسه بقیه
                جدیدترین ویرایش توسط kamy007; ۲۳:۵۵ ۱۳۹۶/۱۱/۲۰.

                دیدگاه


                  #9
                  پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

                  نوشته اصلی توسط kamy007 نمایش پست ها
                  عع اشتباه جواب دادم شرمند M3R
                  من زمانبندی ها رو چک نکردم ولی یک اشتباه دیدم
                  If H > 24 Then : H = 0 : Cls
                  اگر بگی بزرگتر از 24 به هر شبانه روز یه ساعت اضافه میشه میشه 25 ساعت

                  دلیل: ادغام دو پست برای جلوگیری از اسپم


                  پیشنهاد اول یک زمان یک تانیه درست کن و با اون یه پورت را خاموش روشن کن با اسکوپ تو پرتئوس پورت را مانیتور کن و دقت رو ببین . البته میتونی یه زمان کمتر بسازی و با اسکوپ نگاهش کنی و بعد برو واسه بقیه
                  ممنون از پیشنهادتون درمورد اسکوپ
                  با اسکوپ ک نگاه کردم وقتی timer0=130 باشه زمان هر سریز شدن تایمر حدودا 8 ثانیه طول میکشه
                  با گذاشتنtimer0=243 تقریبا یک ثانیه میشه ولی تو یک دقیقه هفت ثانیه میزنه
                  البته من میدونم ک باید زمان اجرای خط های برنامه رو هم حساب کرد ک حدودا برای برنامه من میشه 24 میکرو ثانیه
                  ولی خب فعلا بهش توجه نمیکنیم
                  مشکل چشمک زدن lcd رو هم با گذاشتن نمایش یک lcd خالی بجای cls درست کردم
                  الان دقیقا نمیدونم چرا محاسبات تایم من اشتباه
                  اینکه فرکانس میکرو 8 مگ و prescale رو 64 انتخاب کردم به خاطر این بود که تو یکی از مثال های جزوه اومده بود
                  الان محاسبات قاعدتا باید درست باشن دیگه چون تقسیم 8 مگ بر 64 میشه 125000 که این فرکانس تایمره
                  و با تقسیم 1 بر 125000 زمان تناوب هر سیکل بدست میاد ک میشه 0.000008 که 125 سیکل طی بشه میشه یک میلی ثانیه
                  و اگه timer0=130 قرار داشته باشه با هر سریز شدن 125 سیکل میشمره
                  ولی چرا بجای شمردن 125 سیکل باید 13 سیکل بشمره ؟
                  حالا نمیدونم چرا این محاسبات اشتباه و باچنین تفاوتی هستش :/
                  جدیدترین ویرایش توسط sorek; ۰۹:۱۰ ۱۳۹۶/۱۱/۲۱.

                  دیدگاه


                    #10
                    پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

                    نوشته اصلی توسط sorek نمایش پست ها
                    چرا این محاسبات اشتباه و باچنین تفاوتی هستش
                    سلام
                    من وقت نکردم برنامه ات رو ببینم
                    ولی فقط به این نکته اشاره کنم
                    که خیلی مواقع Proteus
                    یه هشدار مبنی بر Non Real Time بودن شبیه سازی میده
                    و اعلام میکنه به علت محدودیتهای پردازنده کامپیوتر، سرعت شبیه سازی اجرای کدها از سرعت اجرای واقعی کمتر است!
                    یعنی کدهات شبیه سازی میشن ولی با سرعتی کمتر از اجرا روی سخت افزار واقعی!
                    این مورد رو هم چک کن.
                    و بهتره که روی سخت افزار چک کنی.
                    ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

                    دیدگاه


                      #11
                      پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

                      نوشته اصلی توسط ubub نمایش پست ها
                      سلام
                      بهتره که روی سخت افزار چک کنی.
                      ممنون از وقتی ک گذاشتین
                      من هر تغییری ک تو برنامه میدم ic رو پروگرام میکنم و تست میکنم این نکته ایی که گفتین رو یک جایی خونده بودم
                      الان می خواهم بدونم مگه محاسباتی ک انجام دادم اشتباه ؟
                      اگه اشتباه ک باید چیکار کنم

                      دیدگاه


                        #12
                        پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

                        نوشته اصلی توسط sorek نمایش پست ها
                        ممنون از پیشنهادتون درمورد اسکوپ
                        با اسکوپ ک نگاه کردم وقتی timer0=130 باشه زمان هر سریز شدن تایمر حدودا 8 ثانیه طول میکشه
                        با گذاشتنtimer0=243 تقریبا یک ثانیه میشه ولی تو یک دقیقه هفت ثانیه میزنه
                        البته من میدونم ک باید زمان اجرای خط های برنامه رو هم حساب کرد ک حدودا برای برنامه من میشه 24 میکرو ثانیه
                        ولی خب فعلا بهش توجه نمیکنیم
                        مشکل چشمک زدن lcd رو هم با گذاشتن نمایش یک lcd خالی بجای cls درست کردم
                        الان دقیقا نمیدونم چرا محاسبات تایم من اشتباه
                        اینکه فرکانس میکرو 8 مگ و prescale رو 64 انتخاب کردم به خاطر این بود که تو یکی از مثال های جزوه اومده بود
                        الان محاسبات قاعدتا باید درست باشن دیگه چون تقسیم 8 مگ بر 64 میشه 125000 که این فرکانس تایمره
                        و با تقسیم 1 بر 125000 زمان تناوب هر سیکل بدست میاد ک میشه 0.000008 که 125 سیکل طی بشه میشه یک میلی ثانیه
                        و اگه timer0=130 قرار داشته باشه با هر سریز شدن 125 سیکل میشمره
                        ولی چرا بجای شمردن 125 سیکل باید 13 سیکل بشمره ؟
                        حالا نمیدونم چرا این محاسبات اشتباه و باچنین تفاوتی هستش :/
                        سلام
                        شما فرکانس کاری رو تو برنامه ای که نوشتید 8 مگاهرتز گذاشتید ، آیا تو پروتئوس هم الان فرکانس رو 8 مگاهرتز گذاشیتن؟
                        چون 1 ثانیه که شما محاسبه کردید 8 ثانیه طول میکشه احتمال زیاد فرکانس میکرو باشه
                        تو پروتئوس روی میکرو دوبار کلیک کنید و از قسمت clkdiv8 مقدار رو روی unprogramed بزارید (فرکانس پیش فرض مگا 88 روی 8 مگ تنظیم شده که تقسیم بر 8 میشه و با تغییر فیوزبیت clkdiv8 دیگه تقسیم بر 8 نمیشه)
                        موفق باشی

                        دیدگاه


                          #13
                          پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

                          نوشته اصلی توسط sorek نمایش پست ها
                          می خواهم بدونم مگه محاسباتی ک انجام دادم اشتباه ؟
                          توی بیسیک بهتره به جی incr x از معادل ریاضیش استفاده کنی:
                          x = x+1
                          خواستم یه نگاه به برنامه ات بندازم
                          گفتم آخرین ورژنش رو دوباره بذاری؟
                          همین جا آپش کن.
                          ...
                          پدر پیری بسوزه!
                          راستی فیوز بیتهای کلاک میکرو رو، روی 8 مگ تنظیم کردی یا نه؟
                          جدیدترین ویرایش توسط ubub; ۰۹:۵۱ ۱۳۹۶/۱۱/۲۱.
                          ◙◙◙◙◙ میخوام به دوستان یه کتاب معرفی کنم! وقت کردید، بخونید - اسمش هست قرآن، سال نشر 10، نویسنده: خدا . ◙◙◙◙◙

                          دیدگاه


                            #14
                            پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

                            نوشته اصلی توسط M3R-E نمایش پست ها
                            سلام
                            شما فرکانس کاری رو تو برنامه ای که نوشتید 8 مگاهرتز گذاشتید ، آیا تو پروتئوس هم الان فرکانس رو 8 مگاهرتز گذاشیتن؟
                            چون 1 ثانیه که شما محاسبه کردید 8 ثانیه طول میکشه احتمال زیاد فرکانس میکرو باشه
                            تو پروتئوس روی میکرو دوبار کلیک کنید و از قسمت clkdiv8 مقدار رو روی unprogramed بزارید (فرکانس پیش فرض مگا 88 روی 8 مگ تنظیم شده که تقسیم بر 8 میشه و با تغییر فیوزبیت clkdiv8 دیگه تقسیم بر 8 نمیشه)
                            موفق باشی
                            کاری که شما گفتین رو انجام دادم
                            توئ پروتئوس وضعیت بهتر شد ولی با ثانیه های بک ساعت مقایسه نکرم که تو یک دقیقه چقدر تفاوت داره
                            الان این برنامه رو رو ic پروگرام کردم دقیقا مثل قبل یک ثانیه طول میکشه

                            اما این برنامه ک زمان میرو ثانبه رو مثل مراحل قبل از 999 به 99 تغییر دادم

                            و مشکل یکم بهتر شد حالا تو هر دقیقه یک ثانیه بیشتر میشمره
                            جالبه ک جرا بیشتر میشمره باید کمتر میشمر چون زمان اجارای دستورات رو توش حساب نکردم

                            دیدگاه


                              #15
                              پاسخ : کمک برای اشکال یابی برنامه زبان بسکام

                              نوشته اصلی توسط sorek نمایش پست ها
                              ا اسکوپ ک نگاه کردم وقتی timer0=130 باشه زمان هر سریز شدن تایمر حدودا 8 ثانیه طول میکشه
                              با گذاشتنtimer0=243 تقریبا یک ثانیه میشه ولی تو یک دقیقه هفت ثانیه میزنه
                              تایمر رو خاموش کن و یک لوپ یک میلی ثانیه نرم افزاری درست کن و با اون یه پورت رو خاموش روشن کن و رو اسکوپ مانیتور کن که معلوم بشه کلاک میکروت درسته یا نه

                              دیدگاه

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