اطلاعیه

Collapse
No announcement yet.

دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

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

    دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

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

    اگه دقت کرده باشید بعضی ها (حرفه ای ها! :biggrin واسه مقدار دادن به رجیسترها از شیفت دادن تک تک بیت های اون رجیستر و در نهایت Or کردن اون ها با هم رجیسترهاشون رو پیکره بندی میکنن...
    مثلا :

    کد:
    ADCSRA=(1<<ADEN)|(1<<ADIE)|(1<<ADPS2)|(1<<ADPS0);
    که معمولا خیلی ها اینجوری پیکره بندی میکنن :

    کد:
    ADCSRA=0X8D;
    یا :

    کد:
    ADCSRA=0B10001101
    هرسه خط بالا کار یکسانی را انجام میدهند ولی چرا خودمون را به زحمت بندازیم و اون همه تایپ کنیم؟...
    - اولا همونطور که گفتم خوانایی برنامه میره بالا
    - دوما دیگه نیازی به تبدیل باینری به هگزادسیمال نداریم که بعضا هم اشتباه پیش میاد و کلی دردسر میکشیم تا بفهمیم مشکل از کجاست!!!!
    - سوما بعدا اگه بخوایم یکی از بیت های اون رجیستر رو 1 یا 0 کنیم خیلی راحت تغییرش میدیم و دیگه نبازی به تبدیل دوباره باینری به هگزادسیمال و این حرفا نیست

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

    شاید بعضی ها یاد کدویزارد بیفتن...! نه اشتباه نکنید...کدویزارد واسه شما کد رو تولید میکنه...شما نمیدونید باید کدوم بیت ها 1 یا 0 باشن تا شما رو به مقصودتون برسونن....ولی اینجا شما باید کاملا به بیت هایی که قراره ست بشن واقف باشید!

    این یه تصویر از محیط برنامه ست :



    سعی کردم تا جایی که ممکنه برنامه کوچیک باشه تا کنار پروژه بشه ازش استفاده کرد... :read:
    همونطور که میبینید کافیه اسم(یا بخشی از اسم) رجیستر که میخواین پیکره بندیش کنید رو تایپ کنید(حروف بزرگ و کوچیک فرقی نداره) بعد یکی از جهت های بالا یا پایین کیبرد رو بفشارید...رجیستر با مقادیر پیشفرضش (که در دیتاشیت هست) ظاهر میشه و شما روی بیت های مورد نظرتون کلیک میکنید تا 1 یا 0 بشه بعد خودش اتومات کدش رو به ترتیب نزولی توی تکست باکس میذاره...کارتون که تموم شد روی دکمه Copy کلیک کنید تا رشته مورد نظر تو Clpboard کپی بشه و بعدش تو پروژه تون پیستش کنید...

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

    الان هم برای اولین بار این برنامه رو در انجمن ECA میزارم تا همه دوستان گلم که خیلی به من کمک کردن از این برنامه استفاده کنن تا شاید بتونم سهم کوچکی از زحمت هایی که کشیدن رو جبران کنم...
    در پایان ممنون میشم ازتون اگه پیشنهادی در مورد بهتر کردن این برنامه ارائه بدید...
    در حال حاضر برای مگا16 و مگا32 و اکثر رجیسترهای مگا8 میتونید ازش استفاده کنید...برای مدل های دیگه هم کم کم اضافه میکنم...
    عرض دیگه ای ندارم...

    بفرمایید :


    ================================================== ================
    تغییرات جدید اعمال شد....




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

    از لینک بالا ورزن جدید رو دانلود کنید...
    جدیدترین ویرایش توسط Mahdi.Faani; ۰۸:۵۰ ۱۳۹۵/۰۴/۱۸.
    تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

    www.intelart.ir


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

    #2
    پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

    واقعا عالیه خیلی خوب...
    با چه زبانی برنامه رو نوشتید؟!
    Someone who can change the world
    ELECTRONIC ENGINEER

    دیدگاه


      #3
      پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

      نوشته اصلی توسط abritco
      واقعا عالیه خیلی خوب...
      با چه زبانی برنامه رو نوشتید؟!
      خیلی ممنونم...
      با #C نوشتم دوست عزیز... :redface:
      تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

      www.intelart.ir


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

      دیدگاه


        #4
        پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

        سلام.خیلی ممنون.این ایده رو من خیلی وقت پیش داشتم،اما بخاطر نداشتن مهارت کافی تو زبانهای برنامه نویسی مخصوص کامپیوتر مثل همین C# و... بیخیالش شده بودم.دستتون درد نکنه.
        راستی اگه امکان داره سورس این برنامه رو قرار بدین تا واسه میکروهای PIC تکمیلش کنم.یه پیشنهاد دیگه هم داشتم.اینکه هر رجیستری رو که مقدار دهی میکنیم، بعد از مقدار دهی کردن، یه علامت + یا دکمه ی add register یا یه همچین چیزی باشه، که بعد از تکمیل تنظیمات یه رجیستر، بریم تظیمات رجیستر بعدی رو انجام بدیم و واسه بقیه رجیسترها هم همینطور.آخر سر یه بار کپی بزنیم و همه ی تنظیمات یه جا کپی بشه.
        سفارش دیگه ای ندارم!! :icon_razz:

        دیدگاه


          #5
          پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

          نوشته اصلی توسط شاهرخ مستقیمی
          سلام.خیلی ممنون.این ایده رو من خیلی وقت پیش داشتم،اما بخاطر نداشتن مهارت کافی تو زبانهای برنامه نویسی مخصوص کامپیوتر مثل همین C# و... بیخیالش شده بودم.دستتون درد نکنه.
          راستی اگه امکان داره سورس این برنامه رو قرار بدین تا واسه میکروهای PIC تکمیلش کنم.یه پیشنهاد دیگه هم داشتم.اینکه هر رجیستری رو که مقدار دهی میکنیم، بعد از مقدار دهی کردن، یه علامت + یا دکمه ی add register یا یه همچین چیزی باشه، که بعد از تکمیل تنظیمات یه رجیستر، بریم تظیمات رجیستر بعدی رو انجام بدیم و واسه بقیه رجیسترها هم همینطور.آخر سر یه بار کپی بزنیم و همه ی تنظیمات یه جا کپی بشه.
          سفارش دیگه ای ندارم!! :icon_razz:
          سلام دوست من...شما لطف دارید...
          پیشنهاد خیلی خوبیه...چشم حتما در اسرع وقت...اونو هم اضافه میکنم... :agree:
          تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

          www.intelart.ir


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

          دیدگاه


            #6
            پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

            سلام دوست من.ممنون واسه وقتی که گذاشتی. :rolleyes:
            چیز جالبیه :nice:
            واسه ارم ال پی سی 1768 هم خوبه درست کنید.اینم سفارش من :redface: :mrgreen:
            [img width=271 height=100]http://upload7.ir/imgs/2014-05/42296300898709327115.jpg[/img]

            خداروشکر! نمردیمو معنی تدبیر رو هم فهمیدیم.دی:

            دیدگاه


              #7
              پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

              ممنون

              یه باگ هم دیدم گفتم گزارش بدم درستش کنید چون رفعش کاری نداره !
              اونهم این که اگه مقدار برای رجیستر تعریف نشه و کلید Copy رو بزنیم با یه ارور مواجه میشیم.

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

              البته ببخشید دخالت کردم.
              * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
              * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
              *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
              حضرت علی(ع)
              آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

              دیدگاه


                #8
                پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

                نوشته اصلی توسط ah rad
                سلام دوست من.ممنون واسه وقتی که گذاشتی. :rolleyes:
                چیز جالبیه :nice:
                واسه ارم ال پی سی 1768 هم خوبه درست کنید.اینم سفارش من :redface: :mrgreen:
                متاسفانه خیلی سرم شلوغه...ولی چشم حتما اگه تونستم اونو هم اضافه میکنم...
                تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                www.intelart.ir


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

                دیدگاه


                  #9
                  پاسخ : دانلود کنید ****شیوه ای جدید برای مقدارد&#16

                  نوشته اصلی توسط احسان نوری
                  ممنون

                  یه باگ هم دیدم گفتم گزارش بدم درستش کنید چون رفعش کاری نداره !
                  اونهم این که اگه مقدار برای رجیستر تعریف نشه و کلید Copy رو بزنیم با یه ارور مواجه میشیم.

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

                  البته ببخشید دخالت کردم.
                  Thank U For FeedBack
                  اون مورد هم برطرف شد...امکانات جدید هم اضافه شد...
                  تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                  www.intelart.ir


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

                  دیدگاه


                    #10
                    پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

                    خیلی ممنون عالی بود

                    دیدگاه


                      #11
                      پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

                      نوشته اصلی توسط شاهرخ مستقیمی
                      سلام.خیلی ممنون.این ایده رو من خیلی وقت پیش داشتم،اما بخاطر نداشتن مهارت کافی تو زبانهای برنامه نویسی مخصوص کامپیوتر مثل همین C# و... بیخیالش شده بودم.دستتون درد نکنه.
                      راستی اگه امکان داره سورس این برنامه رو قرار بدین تا واسه میکروهای PIC تکمیلش کنم.یه پیشنهاد دیگه هم داشتم.اینکه هر رجیستری رو که مقدار دهی میکنیم، بعد از مقدار دهی کردن، یه علامت + یا دکمه ی add register یا یه همچین چیزی باشه، که بعد از تکمیل تنظیمات یه رجیستر، بریم تظیمات رجیستر بعدی رو انجام بدیم و واسه بقیه رجیسترها هم همینطور.آخر سر یه بار کپی بزنیم و همه ی تنظیمات یه جا کپی بشه.
                      سفارش دیگه ای ندارم!! :icon_razz:
                      ورژن جدیدشو دانلود کنید...الان دکمه اضافه کردن و حذف کردن رو هم به برنامه اضافه کردم....میتونید تمام تغییرات رو اعمال کنید و بعدش کپی روبزنید...یا اگه خواستید رجیستری که قبلا اضافه کردید رو حذف یا ویرایش کنید میتونید از کومبوباکس زیرین اونو پیدا کنید ، تغییرات رو اعمال کنید و در نهایت دکمه حذف یا اضافه رو کلیک کنید...
                      اگه ویرایش کرده باشید خودش مسنقیم تغییرات رو اعمال میکنه...اگه هم قصد حذفش رو داشتید روی دکمه حذف کلیک کنید...

                      از پست اول دانلود کنید...
                      تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                      www.intelart.ir


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

                      دیدگاه


                        #12
                        پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

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

                        www.intelart.ir


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

                        دیدگاه


                          #13
                          پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

                          نوشته اصلی توسط punisher.x64
                          ورژن جدیدشو دانلود کنید...الان دکمه اضافه کردن و حذف کردن رو هم به برنامه اضافه کردم....میتونید تمام تغییرات رو اعمال کنید و بعدش کپی روبزنید...یا اگه خواستید رجیستری که قبلا اضافه کردید رو حذف یا ویرایش کنید میتونید از کومبوباکس زیرین اونو پیدا کنید ، تغییرات رو اعمال کنید و در نهایت دکمه حذف یا اضافه رو کلیک کنید...
                          اگه ویرایش کرده باشید خودش مسنقیم تغییرات رو اعمال میکنه...اگه هم قصد حذفش رو داشتید روی دکمه حذف کلیک کنید...

                          از پست اول دانلود کنید...
                          عااااااالی بود....دست شما درد نکنه...کارت بیسته بیسته...خدایی خیلی لذت بردم... :wow: :applause:

                          راستی، واسه میکروهای PIC هم میشه همین کار رو انجام بدین؟

                          اگه لازمه کمکتون میکنم و رجیسترهای مهمه میکروهای پر کاربرد رو میدم بهتون.

                          راستی؛ اگه فرصت داشتین؛ و اگه زحمت نباشه؛ قابلیت انتخاب میکرو وجود داشته باشه که با انتخاب میکرو، رجیسترهای اون میکرو تو لیست ظاهر بشن و اضافه ها نشون داده نشن.

                          مجددا متشکرم... &lt;&gt;

                          دیدگاه


                            #14
                            پاسخ : پاسخ : دانلود کنید ****شیوه ای جدید برای مقدارد

                            نوشته اصلی توسط punisher.x64
                            Thank U For FeedBack
                            اون مورد هم برطرف شد...امکانات جدید هم اضافه شد...
                            آقا ممنون از ورژن جدیدتون

                            اما یه باگ دیگه هم کشف کردم !
                            اون هم تو زدن دکمه + ، اگه چندین بار این دکمه رو پشت سر هم بزنید خطا میده !!!

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

                            بازهم تشکر،موفق باشید
                            * هر گاه خدا بخواهد بنده اي را خوار كند، دانش را از او دور سازد.
                            * سخن بگوييد تا شناخته شويد، زيرا كه انسان در زير زبان خود پنهان است.
                            *بدترين دوست،آ‌ کسی است که براي او به رنج و زحمت افتي.
                            حضرت علی(ع)
                            آموزش AVR به ساده ترین زبان ممکن : Noise.Blog.IR

                            دیدگاه


                              #15
                              پاسخ : دانلود کنید ****شیوه ای جدید برای مقداردهی به رجیسترها***

                              نوشته اصلی توسط شاهرخ مستقیمی
                              عااااااالی بود....دست شما درد نکنه...کارت بیسته بیسته...خدایی خیلی لذت بردم... :wow: :applause:

                              راستی، واسه میکروهای PIC هم میشه همین کار رو انجام بدین؟

                              اگه لازمه کمکتون میکنم و رجیسترهای مهمه میکروهای پر کاربرد رو میدم بهتون.

                              راستی؛ اگه فرصت داشتین؛ و اگه زحمت نباشه؛ قابلیت انتخاب میکرو وجود داشته باشه که با انتخاب میکرو، رجیسترهای اون میکرو تو لیست ظاهر بشن و اضافه ها نشون داده نشن.

                              مجددا متشکرم... &lt;&gt;
                              شرمنده اگه دیر میام
                              بله واسه PIC هم میشه...فقط اگه شما رجیسترهاشو آماده کنید که خیلی عالی میشه...
                              در مورد انتخاب میکرو هم در نظر داشتم که بهش اضافه کنم ولی چون هنوز میکرو جدید بهش اضافه نشده منم پیگیرش نشدم..ولی خب مطمئنا با اضافه شدن میکروهای جدیدتر این قابلیت رو هم باید بهش اضافه کرد...

                              بازم ممنون از اظهار لطفتون
                              تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                              www.intelart.ir


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

                              دیدگاه

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