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





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









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









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






جهت تبلیغ در وب سایت ECA کلیک کنید.

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

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2017/08/05
    5
    1

    سوال در مورد چگونگی ذخیره کردن بیت های یک بایت در متغیرهای جداگانه

    سلام دوستان
    من یک عدد 8 بیتی به عنوان ورودی دریافت میکنم حالا میخوام هرکدام از این بیتها برطبق ارزشش آن ورودی و خروجی ها را HIGH یا LOW کند.
    بطور مثال عدد 11001010 اگر وارد شود از راست به چپ بیت اول مربوط به پین دو و آن را LOW کند، بیت بعدی مربوط به پین 3 و آن را HIGH کند بیت سوم مربوط به پین چهارم و آن را صفر کند والی اخر.. باید از دستورات شیفت استفاده کنم؟؟ توی آردینو به چه صورت هست این دستورات؟
    شما چه روشی پیشنهاد میدید؟
    ممنون میشم راهنمایی کنید یا بگید چه مبحثی رو باید مطالعه کنم تازه برنامه نویسی رو شروع کردم
    ویرایش توسط rezayazdanish : 2017/08/08 در ساعت 13:36
  2. #2
    2017/07/20
    102
    80

    پاسخ : سوال در مورد چگونگی ذخیره کردن بیت های یک بایت در متغیرهای جداگانه

    خیلی ساده، توان های دو رو در نظر بگیر:
    1
    10
    100
    1000
    .
    .
    .
    کافیه عددی رو که دریافت می کنی با توان های مختلف 2 AND (&) کنی، اگر حاصل صفر شد یعنی اون بیت صفر بوده، اگر حاصل یک شد یعنی اون بیت خاص یک بوده.
  3. #3
    2017/08/05
    5
    1

    پاسخ : سوال در مورد چگونگی ذخیره کردن بیت های یک بایت در متغیرهای جداگانه

    میشه همون عددی که توی سوال نوشتم رو توضیح بدین
    و سوال دگه حالا اون بیت رو چجوری به پایه مورد نظرم اختصاص بزم؟
  4. #4
    2017/07/20
    102
    80

    پاسخ : سوال در مورد چگونگی ذخیره کردن بیت های یک بایت در متغیرهای جداگانه

    این تکه کد برای زبان C هست و در کد ویژن قابل کامپایل چرا پستم پاک شد؟؟؟؟؟؟ دوباره می نویسم.


    unsigned int i, j;

    j=1;

    for(i=0;i<8;i++) {

    if(j& target_register ==1) {

    // here
    }

    j =*2 ;

    }



    این حلقه ی ساده، دونه دونه ی بیت های متغیر مورد نظرت (فرض کردم هشت بیتیه، میتونه بیشتر باشه ) رو بررسی می کنه، و اگر یکیشون 1 بود، وارد اون if میشه


    خب ، حالا دوباره می رسیم به مقدار دادن به یک پورت که کار خیلی ساده ای هست.


    DDRC=0xFF;

    PORTC=17;
    //0b00010001

    PORTC=0x0a;
    //0b00001010

    PORTC=0b00110011;

    PORTC=0b11001010;

    PORTC=c;


    اینا هم انواع و اقسام مقدار دادن به پورت C با اعداد در مبنای 10 و 16 و 2 که معمولا دو راحت تره.

    در اخر هم یک متغیر به اسم سی رو ریختم توی پورت سی
    ویرایش توسط dark star : 2017/08/08 در ساعت 14:20
  5. #5
    2016/08/15
    4
    2

    پاسخ : سوال در مورد چگونگی ذخیره کردن بیت های یک بایت در متغیرهای جداگانه

    سلام میشه لطفا چند مثال دیگه با ورودی انالوگ و خروج 8بیت تایپ کنید برای درک موضوع ممنون
  6. #6
    2017/07/20
    102
    80

    پاسخ : سوال در مورد چگونگی ذخیره کردن بیت های یک بایت در متغیرهای جداگانه

    شیفت به چپ و راست << >>

    این شیفتها علامت عدد رو حفظ می کنند اما شیفت پایین به علامت رو خراب می کنه، (فقط صفر میریزه)

    <<<
    ویرایش توسط dark star : 2017/08/08 در ساعت 14:51 دلیل: ادیتور اینجا داغونم کرد
  7. #7
    2017/08/05
    5
    1

    پاسخ : سوال در مورد چگونگی ذخیره کردن بیت های یک بایت در متغیرهای جداگانه

    ممنون از باسخهای دوستان اما منظور من در آردینو بود یکم سرچ زدم با دستور bitRead میشه تمامی بیتهای یک عدد رو خیلی راحت خوند
    int b= bitRead(a,i); که a عدد و i شماره بیت مورد نظر هست حالا موندم چجوری به خروجیهام فرمان بدم شرط if میزارم که اگه برابر یک بود پین رو یک کن ولی نمیشه
نمایش نتایج: از 1 به 7 از 7

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

  1. سوال در مورد ذخیره تصاویر به رم
    توسط liamplm1382 در انجمن میکروکنترلرهای AVR
    پاسخ: 27
    آخرين نوشته: 2015/12/17, 20:33
  2. تبدیل یک بایت به 3 رقم bcd و ذخیره در 3 رجیستر
    توسط amir_moayeri در انجمن میکروکنترلرهای AVR
    پاسخ: 5
    آخرين نوشته: 2014/12/18, 18:14
  3. چگونگی ریختن دو بایت اطلاعات بر روی تعدادی پین میکرو ؟
    توسط AMIN GHAFFARI در انجمن میکروکنترلرهای AVR
    پاسخ: 6
    آخرين نوشته: 2013/11/05, 16:50
  4. یک سوال ساده. نحوه ذخیره کردن مقدار ترک در VB.NET
    توسط مهران چمنی در انجمن برنامه نويسي و اينترفيس
    پاسخ: 17
    آخرين نوشته: 2013/02/20, 22:49
  5. سوال در مورد مقدار دهی یک متغیر بایت به صورت بیتی
    توسط ua741 در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2010/04/10, 02:12

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

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

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

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

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