اطلاعیه

Collapse
No announcement yet.

تغییر دادن مقدار متغیر با دستور IF در بسکام

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

    تغییر دادن مقدار متغیر با دستور IF در بسکام

    سلام دوستان..
    من یه سوال خیلی مهم داشتم...
    مثلا من دارم یه برنامه مینویسم....توش یه متغیر به نام H دارم...از نوع مثلا بایت...مقدارش رو فرضا رو 10 قرار دادم...حالا من میخوام یه سری کلید قرار بدم و با استفاده از کلید ها مقدار متغیر رو به مقدار دلخواه تغییر بدم...مثلا تو یه حلقه دستورات زیر رو نوشتم...مثلا...
    -------
    اگر پین B.0 ، یک شد ، متغیر H را به مقدار 125 برسان...
    اگر پین B.1 ، یک شد ، متغیر H را به مقدار 4 برسان...
    و کد های دیگر....
    ----------------------------------------
    ممنون میشم اگه یه کد خیلی ساده هم واس نمونه بگین....


    #2
    پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

    نوشته اصلی توسط amir4elec نمایش پست ها
    سلام دوستان..
    من یه سوال خیلی مهم داشتم...
    مثلا من دارم یه برنامه مینویسم....توش یه متغیر به نام H دارم...از نوع مثلا بایت...مقدارش رو فرضا رو 10 قرار دادم...حالا من میخوام یه سری کلید قرار بدم و با استفاده از کلید ها مقدار متغیر رو به مقدار دلخواه تغییر بدم...مثلا تو یه حلقه دستورات زیر رو نوشتم...مثلا...
    -------
    اگر پین B.0 ، یک شد ، متغیر H را به مقدار 125 برسان...
    اگر پین B.1 ، یک شد ، متغیر H را به مقدار 4 برسان...
    و کد های دیگر....
    ----------------------------------------
    ممنون میشم اگه یه کد خیلی ساده هم واس نمونه بگین....

    سلام
    برنامه زیر برای ATmega8 است:
    $regfile="m8def.dat"
    $crystal=8000000
    config pinb.0=input
    config pinb.1=input
    dim h as byte
    do
    if pinb.0=1 then h=125
    if pinb.1=1 then h=4
    loop
    end


    جدیدترین ویرایش توسط اشکان غفارزاده; ۲۳:۵۸ ۱۳۹۵/۰۸/۰۴.

    دیدگاه


      #3
      پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

      آقا دستت درد نکنه...فقط یه سوال دیگه اونجایی که نوشتی H=255 رو باید تو همون خط شرط گذاری بنویسم یا خط بعدی؟؟؟فرقی میکنه؟؟؟

      دیدگاه


        #4
        پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

        خواهش. همینطوری که هست درسته ولی اگه میخوای به غیر از مقدار دادن به H کار دیگه ای هم بکنی میتونی خط بعدی بنویسی ولی باید بعدش END IF بزاری مثل خط پایین.
        IF pinb.0=1 then
        h=125
        endif
        اگه سوالی داشتی برو سایت ***.ir تو قسمت تماس با ما مطرح کن پاسخ میدیم.
        جدیدترین ویرایش توسط ir02x6; ۲۳:۵۴ ۱۳۹۵/۰۸/۰۴.

        دیدگاه


          #5
          پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

          من توی بسکام این برنامه رو نوشتم ارور میده
          If pind.2 = 1 then
          Set pinb.0
          Wait 4
          Reset pinb.0

          If pind.3 = 1 then
          Set pinb.0
          Set pinb.1
          Set pinb.2
          Wait 4
          Reset pinb.0
          Reset pinb.1
          Reset pinb.2

          If pind.4 = 1 then
          Set pind.1
          Wait 4
          Reset pind.1

          If pind.5=1 then
          Set pind.2
          Wait 4
          Reset pind.2

          End if
          End

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

          دیدگاه


            #6
            پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

            نوشته اصلی توسط P.maddah39 نمایش پست ها
            من توی بسکام این برنامه رو نوشتم ارور میده
            If pind.2 = 1 then
            Set pinb.0
            Wait 4
            Reset pinb.0

            If pind.3 = 1 then
            Set pinb.0
            Set pinb.1
            Set pinb.2
            Wait 4
            Reset pinb.0
            Reset pinb.1
            Reset pinb.2

            If pind.4 = 1 then
            Set pind.1
            Wait 4
            Reset pind.1

            If pind.5=1 then
            Set pind.2
            Wait 4
            Reset pind.2

            End if
            End

            کامپایل نمیشه کسی میدونه چرا ارور میده؟
            کجاش ایراد داره؟؟
            با درود
            من بسکام کار نکردم
            ولی هر برنامه ای یک تایع ماین داره و دستوراتی برای تعریف متغیر ها و کتابخانه ها

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

            و چیزی که از کامنت دوستان فهمیدم شما باید بعد هر دستور ایف یک اند ایف بذارید تا بتونید از ایف های بعدی استفاده کنید
            یعنی شما پایان هر پاراگراف برنامه یک اند ایف بذارید
            و نگران نباشید دوستان راهنماییتون میکنن
            جدیدترین ویرایش توسط کاکو; ۱۵:۴۷ ۱۴۰۱/۱۱/۱۹.

            دیدگاه


              #7
              پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

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

              دیدگاه


                #8
                پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

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

                If pind.5=1 then
                Set pind.2
                Wait 4
                Reset pind.2

                End if
                End

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

                فهمیدم
                شما خروجی ها رو هم پین تعریف کردید

                جدیدترین ویرایش توسط کاکو; ۱۶:۱۱ ۱۴۰۱/۱۱/۱۹.

                دیدگاه


                  #9
                  پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

                  وقتی نمینویسیم ms یا us واحد رو
                  ثانیه در نظر میگیره.
                  راستی یه سوال دیگه چرا توی زمان
                  من زدم 4 ولی 15ثانیه طول میکشه؟
                  آیا بخاطر کریستال خارجی هست؟
                  دوستان عزیز همه ما بدون هیچ توقعی توی این انجمن دانسته هامون رو با هم به اشتراک میگذاریم. کمترین توقع یک لایک می باشد.

                  دیدگاه


                    #10
                    پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

                    نوشته اصلی توسط P.maddah39 نمایش پست ها
                    وقتی نمینویسیم ms یا us واحد رو
                    ثانیه در نظر میگیره.
                    راستی یه سوال دیگه چرا توی زمان
                    من زدم 4 ولی 15ثانیه طول میکشه؟
                    آیا بخاطر کریستال خارجی هست؟
                    متوجه شدید که خروجی ها رو پین تعریف میکردید ؟
                    اره برای اینکه 15 ثانیه طول کشیده روشن شدنش ؟ پس چرا خوشحال نشدی ؟
                    من بسکام کار نکردم ولی خب اگر اون یک دستور تاخیر باشه فرکانس انتخابی روی اون زمان تاثیری نداره
                    و اینکه اگر از محیط مجازی برای تست استفاده کردی باز میتونه زمان دقیق نباشه و باید واقعی تست کنی

                    دیدگاه


                      #11
                      پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

                      این سایت باید اصلاح بشه. نمیشه پست
                      های تکراری رو حذف کرد .
                      جدیدترین ویرایش توسط P.maddah39; ۱۷:۳۷ ۱۴۰۱/۱۱/۱۹.
                      دوستان عزیز همه ما بدون هیچ توقعی توی این انجمن دانسته هامون رو با هم به اشتراک میگذاریم. کمترین توقع یک لایک می باشد.

                      دیدگاه


                        #12
                        پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

                        نوشته اصلی توسط P.maddah39 نمایش پست ها
                        وقتی نمینویسیم ms یا us واحد رو
                        ثانیه در نظر میگیره.
                        راستی یه سوال دیگه چرا توی زمان
                        من زدم 4 ولی 15ثانیه طول میکشه؟
                        بخاطر کریستال و اسیلاتور خارجی
                        هست که زمان درست اجرا نمیشه؟
                        تایمر ها از فرکانس کاری میکرو تاثیر میگیرن
                        ولی اگه اون یک دستور تاخیر باشه نه و مستقل عمل میکنه
                        حالا تابع تاخیر در اینجا متاثر باشه از فرکانس میکرو .. نمیدونم

                        اگر از محیط مجازی برای تست استفاده میکنید .. دقیق نیست و باید واقعی ازمایشتونو انجام بدید

                        دیدگاه


                          #13
                          پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

                          اون برنامه ای که توی پست اولم گذاشتم
                          اصلا اجرا نشد
                          این که میگم 4 و 15 ثانیه یه برنامه دیگه
                          هست داخل بسکام
                          الان اومدم توی کدویژن ولی باز هم یه
                          اروری میده که متوجه نمیشم از کجاست
                          ؟؟
                          دوستان عزیز همه ما بدون هیچ توقعی توی این انجمن دانسته هامون رو با هم به اشتراک میگذاریم. کمترین توقع یک لایک می باشد.

                          دیدگاه


                            #14
                            پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

                            خب کل برنامه تو بذار
                            نترس برنامه ت اونقدر ابتدایی که ارزش دزدیدن نداره
                            برنامه تو از اول تا اخر کپی کن تا ردیفت کنم

                            دیدگاه


                              #15
                              پاسخ : تغییر دادن مقدار متغیر با دستور IF در بسکام

                              برنامه توی عکس مشخصه فقط اون قسمتش
                              که نوشته ==1 تو عکس نیوفتاده
                              برنامه سادست میاد 4 تا ورودی رو میگیره
                              سه تا خروجی رو بترتیب برای اولی pd.2
                              خروجی pinb.0 رو فعال میکنه
                              و برای دومی pd.3 هر سه خروجی pb.0 _
                              Pb.1 _ pb.2 رو فعال میکنه و برای سومی
                              Pd.4 خروجی pb.0 _و pb.1 و برای چهارمی
                              Pd.5 خروجی های pb.0 و pb.2 رو فعال
                              میکنه و در هر فعالیت 4 ثانیه توقف داره
                              معرفی میکرو و ورودی خروجی و فرکانس
                              کاری هم در در کد ویزارد مشخص کردم
                              جدیدترین ویرایش توسط P.maddah39; ۱۸:۳۹ ۱۴۰۱/۱۱/۱۹.
                              دوستان عزیز همه ما بدون هیچ توقعی توی این انجمن دانسته هامون رو با هم به اشتراک میگذاریم. کمترین توقع یک لایک می باشد.

                              دیدگاه

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