اطلاعیه

Collapse
No announcement yet.

آرایه در زبان Basic !!!

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

    آرایه در زبان Basic !!!

    دوستان به نظر شما ارایه تو Bascom چجوری تعریف میشه؟
    من از این دستور استفاده کردم ولی برنامه error میده....
    للطفا راهنماییی کنید.
    کد:
     $regfile = "M32def.dat"
     $crystal = 8000000
    
     '---------------------
    
     Config Portb.0 = Output
    
    
     Const A = -1
     Const B = 1
     Const I = 1
     Dim K As Word , S1 As Word , S2 As Word , S3 As Word , S4 As Word
     Dim S5 As Word
     'Dim N As Integer , H As Long , A As Word , B As Word
     Dim X(100) As Long
     X(1) = 0
     K = 1
    
    
     For K = 0 To N
    
         S1 = 0.1 * A
         S2 = S1 + I
         S3 = S2 * X(k)
         S4 = 0.1 * B
         S5 = S3 + S4
         X(k + 1) = S5
    
            If S5 > 0.7 Then
            Set Portb.0
             End if
    
     Next K
    
     End
    صبرت که تمام شد نرو!
    "معرفت"
    تازه از آن لحظه آغاز می شود...

    #2
    پاسخ : آرایه در زبان Basic !!!

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

    www.intelart.ir


    ساخت کنترلر دما PID فازي با AVR [آموزشی]

    دیدگاه


      #3
      پاسخ : آرایه در زبان Basic !!!

      نوشته اصلی توسط RoboRazi
      دوستان به نظر شما ارایه تو Bascom چجوری تعریف میشه؟
      من از این دستور استفاده کردم ولی برنامه error میده....
      للطفا راهنماییی کنید.
      کد:
       $regfile = "M32def.dat"
       $crystal = 8000000
      
       '---------------------
      
       Config Portb.0 = Output
      
      
       Const A = -1
       Const B = 1
       Const I = 1
       Dim K As Word , S1 As Word , S2 As Word , S3 As Word , S4 As Word
       Dim S5 As Word
       'Dim N As Integer , H As Long , A As Word , B As Word
       Dim X(100) As Long
       X(1) = 0
       K = 1
      
      
       For K = 0 To N
      
           S1 = 0.1 * A
           S2 = S1 + I
           S3 = S2 * X(k)
           S4 = 0.1 * B
           S5 = S3 + S4
           X(k + 1) = S5
      
              If S5 > 0.7 Then
              Set Portb.0
               End if
      
       Next K
      
       End
      oo:
      !!!!
      شما از صدتا متغییر لونگ استفاده کردی oo: oo:
      دلیل ارور هم کمبود حافظه است
      تازه متغییر های از نوع وورد(WORD)برای اعداد اعشاری مناسب نیست(اینم خودش یه اروره)...باید نوع متغییر رو SINGLEبزاری...
      تازه مشکلات دیگری هم در برنامه هست که من الان وقتشونو ندارم
      1 در دنیا 100 در آخرت (درس و مشق فعالیتمو تو انجمن کم کرده)
      من آنچه شرط بلاغست با تو میآ‌گویم. تو خواه از سخنم پند گیر و خواه ملال. سعدی
      !Electronic On! Programming On
      هوشمندانه سوال بپرسیم!
      http://ir02x6.persiangig.com/logo/eca/tanks_01.png

      دیدگاه


        #4
        پاسخ : آرایه در زبان Basic !!!

        متغیر N رو تعریف و مقداردهی نکردی. (خطی که N تعریف شده کامنت شده).
        لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
        لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
        با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
        اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
        يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"

        دیدگاه


          #5
          پاسخ : آرایه در زبان Basic !!!

          نوشته اصلی توسط punisher.x64
          آرایه رو درست تعریف میکنید...ارور چی هست؟
          شاید مشکل از جای دیگه باشه...یه بار تو برنامه فقط یه آرایه رو تعریف کنید ببینید بازم ارور میده یانه؟
          ممنون از توجهتون
          مشکل برنامه رفع شد
          صبرت که تمام شد نرو!
          "معرفت"
          تازه از آن لحظه آغاز می شود...

          دیدگاه


            #6
            پاسخ : آرایه در زبان Basic !!!

            نوشته اصلی توسط mahan.rafiee
            oo:
            !!!!
            شما از صدتا متغییر لونگ استفاده کردی oo: oo:
            دلیل ارور هم کمبود حافظه است
            تازه متغییر های از نوع وورد(WORD)برای اعداد اعشاری مناسب نیست(اینم خودش یه اروره)...باید نوع متغییر رو SINGLEبزاری...
            تازه مشکلات دیگری هم در برنامه هست که من الان وقتشونو ندارم
            ممنون از نظرتون....
            حق باشما بود مشکل اصلی از نوع متغیر ها بود
            برنامه اینطوری شد...
            کد:
             $regfile = "M32def.dat"
             $crystal = 8000000
            
             '---------------------
            
             Config Portb.0 = Output
            
             Const A = -1
             Const B = 1
             Const I = 1
             Const N = 100
             Dim K As Single , S1 As Single , S2 As Single , S3 As Single , S4 As Single
             Dim S5 As Single
             Dim X(100) As Long
             X(1) = 0
             K = 1
            
            
            
            
             For K = 0 To N
            
                 S1 = 0.1 * A
                 S2 = S1 + I
                 S3 = S2 * X(k)
                 S4 = 0.1 * B
                 S5 = S3 + S4
                 X(k + 1) = S5
            
                    If S5 > 0.7 Then
                    Set Portb.0
                     End If
            
             Next K
            
             End
            صبرت که تمام شد نرو!
            "معرفت"
            تازه از آن لحظه آغاز می شود...

            دیدگاه


              #7
              پاسخ : آرایه در زبان Basic !!!

              حالا اگه بخوام همین درایه های آرایه X رو روی LCD نشون بدم باید چی کار کرد...میشه از ADC استفاده کرد؟میشه راهنمایی کنید دقیقا باید چیکار کرد

              لطفا راهنمایی کنید....

              اضافه شده در تاریخ :
              لطفا راهنمایی کنید
              صبرت که تمام شد نرو!
              "معرفت"
              تازه از آن لحظه آغاز می شود...

              دیدگاه


                #8
                پاسخ : آرایه در زبان Basic !!!

                نوشته اصلی توسط RoboRazi
                حالا اگه بخوام همین درایه های آرایه X رو روی LCD نشون بدم باید چی کار کرد...میشه از ADC استفاده کرد؟میشه راهنمایی کنید دقیقا باید چیکار کرد

                لطفا راهنمایی کنید....
                ADC واسه چی؟
                شما میخواین درایه های یک آرایه رو روی السیدی نشون بدید.خب واسه نشون دادن یک کاراکتر روی السیدی بسته به نوع السیدی و کتابخونه ای که ازش استفاده میکنید باید توابع خاص اون رو استفاده کنید...حالا اگه این درایه ها از نوع عددی هستند باید اول اون ها رو به کاراکتر یا رشته تبدیل کنید و بعد بفرستیدشون روی السیدی...
                السیدی شما چیه؟
                چی رو میخواید روش نشون بدید؟عدد هست یا متن؟
                تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                www.intelart.ir


                ساخت کنترلر دما PID فازي با AVR [آموزشی]

                دیدگاه


                  #9
                  پاسخ : آرایه در زبان Basic !!!

                  میخوام که درایه های این آرایه رو روی یه LCD (که البته کیفیت نمایشش بالا باشه) رسم کنم....درواقع هدف رسم نمودار آرایه بر حسب زمان هستش
                  حالا باید چیکار کنم؟
                  راستی میشه LCD کامپیوتر رو به میکرو وصل کرد؟چون هدف رسم نموداره بایستی رزولوشن تصویر هم بالا باشه که نقطه نقطه بودن نمودار مشخص نباشه...شما LCD مناسب سراغ دارید؟
                  صبرت که تمام شد نرو!
                  "معرفت"
                  تازه از آن لحظه آغاز می شود...

                  دیدگاه


                    #10
                    پاسخ : آرایه در زبان Basic !!!

                    فکر نکنم بشه!از یه AVR 8بیتی همچین توقعی نداشته باشید...!!!
                    LCD های رنگی 3 اینچ و 2.5 اینچ موجود در فروشگاه رو میتونید متصل کنید...
                    اگه میخواید نمودار دقیق رسم بشه و از یه السیدی با کیفیت استفاده کنید بهتره اطلاعات رو با پورت سریال بفرستید روی کامپیوتر اون وقت با یه برنامه داخل کامپیوتر اطلاعات ارسالی رو رسم کنید...البته اگه مجاز به استفاده از کامپیوتر هستید وگرنه اینکه بخواید مستقیما السیدی کامپیوتر رو متصل کنید که نمیشه...
                    تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                    www.intelart.ir


                    ساخت کنترلر دما PID فازي با AVR [آموزشی]

                    دیدگاه


                      #11
                      پاسخ : آرایه در زبان Basic !!!

                      ممنون از نظرتون...
                      اون ارتباط سریال که گفتید رو بی اطلاعم ولی این LCD 3inch شاید کفایت کنه ولی 3 inch خیلی کوچیک نیست؟اونم واسه یه نمودار؟
                      حالا شما میشه هردو شو لطف کنید توضیح بدین...البته اگه وقتتونو نمیگیره
                      اگه دوستان دیگری هم این پست رو میبینن ممنون میشم نظراتشونو اعلام کنند....
                      صبرت که تمام شد نرو!
                      "معرفت"
                      تازه از آن لحظه آغاز می شود...

                      دیدگاه


                        #12
                        پاسخ : آرایه در زبان Basic !!!

                        نوشته اصلی توسط RoboRazi
                        ممنون از نظرتون...
                        اون ارتباط سریال که گفتید رو بی اطلاعم ولی این LCD 3inch شاید کفایت کنه ولی 3 inch خیلی کوچیک نیست؟اونم واسه یه نمودار؟
                        حالا شما میشه هردو شو لطف کنید توضیح بدین...البته اگه وقتتونو نمیگیره
                        اگه دوستان دیگری هم این پست رو میبینن ممنون میشم نظراتشونو اعلام کنند....
                        خواهش میکنم...کار ما اینه که جواب سوالای همدیگرو بدیم دیگه...
                        السیدی بزرگتر رو فکر کنم به زور بتونید درایو کنید!تازه اگه تسک های اضافی هم داشته باشه که هیچی!
                        ولی اگه میتونید همزمان از کامپیوتر هم استفاده کنید کافیه که اون متغیری که قراره بر حسب زمان رسم بشه رو مرتبا با پورت سریال به کامپیوتر ارسال کنید...حالا باید یه برنامه هم واسه کامپیوتر بنویسید حالا با هر زبانی که مسلط هستید...سی شارپ یا بیسیک میتونن مناسب باشند...
                        خب کار میکرو اینه که متغیر رو اندازه بگیره و به پورت سریال ارسال کنه و کار برنامه کامپیوتری هم اینه که این ورودی ها رو تشخیص بده ، پردازش کنه و در نهایت بر حسب زمان رسم کنه...
                        حالا واسه رسم میتونید از Picturebox داخل **** یا ابزارهای ویژوال دیگه استفاده کنید که نمونه هاش تو نت فراوونه...
                        خودم قبلا این کار رو کردم....برنامه ش رو با بیسیک 6 نوشتم خیلی راحت بود....فقط چون سیستمم فرمت شد دیگه ندارمش وگرنه میذاشتمش اینجا!
                        خودتون هم میتونید در عرض 1 ساعت برنامه شو بنویسید...کاری نداره
                        تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                        www.intelart.ir


                        ساخت کنترلر دما PID فازي با AVR [آموزشی]

                        دیدگاه


                          #13
                          پاسخ : آرایه در زبان Basic !!!

                          خب از ADC نبایستی استفاده کرد؟؟این ارتباط سریال هم چجوریه؟؟فایل کاملی در این مورد سراغ دارید که کمک کنه...
                          صبرت که تمام شد نرو!
                          "معرفت"
                          تازه از آن لحظه آغاز می شود...

                          دیدگاه


                            #14
                            پاسخ : آرایه در زبان Basic !!!

                            از ADC وقتی استفاده میشه که قراره یک سیگنال انالوگ به دیجیتال تبدیل بشه...
                            اگه قصد دارید که یک سری اطلاعات که حالا از هرجایی ممکن هست وارد میکرو بشند رو روی مانیتور نشون بدید از پروتوکل UART استفاده کنید...
                            پیشنهاد میکنم قبلش دیتاشیت میکرو رو مطالعه کنید در مورد UART توضیحات کاملی داده...وبرای استفاده هم میتونید از کتابخونه هایی که واسه همین کار طراحی شدند استفاده کنید...
                            کافیه که 3 رشته سیم استفاده کنید : 1- یکیش به ground میکرو و کامپیوتر متصل میشه و در واقع همون Common هست 2-یکی RX که خط دریافت هست 3- TX که خط ارسال هست
                            حالا اگه شما میخواید فقط روی کامپیوتر اطلاعات ارسال کنید کافیه که از 2 رشته از این 3 رشته استفاده کنید یعنی TX میکرو رو به RX کامپیوتر و Ground هم که بینشون مشترک هست رو متصل کنید...به همین سادگی...
                            تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                            www.intelart.ir


                            ساخت کنترلر دما PID فازي با AVR [آموزشی]

                            دیدگاه


                              #15
                              پاسخ : آرایه در زبان Basic !!!

                              دنبال این روش که گفتید رفتم ولی ظاهرا بحث خیلی زیادیه و حتی یه آی سی واسط بین میکرو وکامپیوتر لازمه و همچنین تنظیمات در داخل کامپیوتر رو هم لازم داره ولی حالا شما خودتون االبته اگه وقتتونو نمیگیره ،برنامه ای رو دارید که یک یا دو تا ورودی به کامپیوتر بفرسته...مثلا همین آرایه X تو برنامه ای که نوشتم رو بفرسته؟
                              صبرت که تمام شد نرو!
                              "معرفت"
                              تازه از آن لحظه آغاز می شود...

                              دیدگاه

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