ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 3 از 3
  1. #1
    2012/07/22
    27
    11

    سوال در مورد یه نکته ی برنامه نویسی


    سلام دوستان
    یه سوال داشتم . من خیلی جاها دیدم برای مقدار دادن به یه رجیستر میان به جای برابر قرار دادنش با مقدار یا استفاده از and , or ، از شیفت به شکل زیر استفاده میکنن . میشه یه توضیح بدید در مورد نحوه ی عملکرد این نوع مقدار دهی ؟
    PORTB=(1<<PORTB2)|(1<<PORTB1)|(1<&l t;PORTB0);
    TCCR0=(1<<WGM01)|(1<< CS01);
    اگه میشه نحوه ی استفاده از این روش رو بهم یاد بدید و یه مرجع که این جور نکات توش باشه بهم معرفی کنید .
    با تشکر
  2. #2
    2006/02/09
    154
    3

    پاسخ : سوال در مورد یه نکته ی برنامه نویسی


    PORTB=( 1 << PORTB2 ) | ( 1 << PORTB1 ) | ( 1 << PORTB0 );
    TCCR0 = ( 1 << WGM01 ) | ( 1 << CS01 );
    اين روش براي خوانايي بيشتر برنامه مي باشد بدين معني كه برنامه نويس در مرجعات بعدي آسانتر بتواند كد نوشته شده را بررسي كند .

    در فيلم آموزشي زير جناب استاد كي نژاد از دقيقه 3 درباره اين نوع كد نويسي توضيحاتي ارائه داده اند:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت



    همچنين در پست زير نيز توضيحاتي ارائه كرده اند:

    [quote author=طراح link=topic=41476.msg227946#msg227946 date=1287482881]

  3. #3
    2011/05/22
    سمنان
    1,222
    21

    پاسخ : سوال در مورد یه نکته ی برنامه نویسی

    همونطور که دوستمون گفتن، هم برای خوانایی بیشتر برنامه و هم پویایی برنامه از این روش استفاده میشه.
    بذار با یه مثال ساده توضیح بدم:
    فرض کن داخل برنامه، میخوای یکی از رجیسترها رو مقداردهی کنی و فقط میخوای یکی از بیتآ*های اون رو دستکاری کنیدر حالی که بقیهآ*ی بیت ها دستکاری نشن و همون مقدار قبلیشون رو داشته باشن! مثلا میخوای بیت پنجم از یک رجیستر 8 بیتی (یا هرچیز دیگه) رو در وسط برنامه 0 کنی یا 1 کنی!
    یک راهش اینه که بیای بشینی محاسبه کنی که مقدار رجیستر الان باید چه مقداری باشه؟ (توجه داشته باش که نمیخوای بیتآ*های دیگه تغییری کنن!) و بعدش محاسبات لازم رو انجام بدی و مقدار جدید رو در رجیستر بنویسیس، اما راه دیگه ش که خیلی کارت رو ساده تر میکنه، استفاده از همین تکنیکه! خب قرار بود بیت پنجم از یک رجیستر رو 0 یا 1 کنیم. فرض کن اسم رجیسترش، REG باشه. میخوایم بیت پنجم اون رو 1 کنیم بدون اینکه بقیه ی بیت ها تغییری کنن. از دستور زیر استفاده میکنیم:
    REG|=1<<4;
    خب این دستور چیکار میکنه؟ اینکار رو میکنه: اول 00000001 رو 4 تا شیفت میده به راست که میشه 00010000 (یعنی بیت پنجم از سمت چپ برابر با یک شد) بعدش این مقدار رو با REG به صورت بیتی or میکنه (بیت ها رو متناظرا، or میکنه) و در همون REG ذخیره می کنه. بنابراین بیت پنجم REG برابر میشه با 1.
    حالا برای صفر کردن همون بیت پنجم، از دستور زیر استفاده میشه:
    REG&=~(1<<4);
    خب این دستور چیکار میکنه؟ ابتدا 00000001 رو به 00010000 تبدیل میکنه، بعد با دستور ~، تبدیل میشه به 11101111 و در نهایت، مقدار رجیستر REG رو با این مقدار and بیتی میکنه.
    دراین مثال، ما میدونستیم که میخوایم بیت 5 رو دستکاری کنیم، از اونجایی که در میکرو، تک تک بیت های رجیسترها، نام هایی دارن برای خودشون، در برنامه نویسی به کمک دستور define، مقادیری رو به اون نام ها اختصاص میدن.
    ...
    :read:
    1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
    2: چيزي به نام تصادف و شانس وجود نداره ... 3: دانش بهتره يا ثروت؟ بدون "شعور" هيچکدوم!
    4: دلا معاش چنان کن که گر بلغزد پاي***فرشتهآ*ات به دو دست دعا نگه دارد (حافظ)
    5:

    مهمان عزیز شما حق دیدن لینک ها را ندارید

    عضویت

نمایش نتایج: از 1 به 3 از 3

موضوعات مشابه

  1. کمک در مورد یک نکته برنامه نویسی
    توسط rezash86 در انجمن XMEGA
    پاسخ: 1
    آخرين نوشته: 2015/05/17, 12:51
  2. نکته برنامه نویسی
    توسط aliut در انجمن ربات های مسیر یاب
    پاسخ: 0
    آخرين نوشته: 2014/10/23, 16:42
  3. یک سوال در مورد برنامه نویسی
    توسط soltanmanesh در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2014/05/10, 23:03
  4. سوال در مورد برنامه نویسی spi میکرو
    توسط miladchalipa2002 در انجمن برنامه نویسی و اینترفیس
    پاسخ: 0
    آخرين نوشته: 2011/03/18, 12:43
  5. سوال در مورد برنامه نویسی در AVR STUDIO
    توسط alt.ir در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2010/08/17, 15:44

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •