نمایش نتایج 1 تا 15 از 15

نام تاپیک: یادگیری اتمل استودیو

  1. #1

    یادگیری اتمل استودیو

    سلام
    ما یه میکرو داریم یه led و یه کلید که led به پورتa وکلید به پورت d وصله
    می خوام ب زدن کلید led روشن شه
    با تشکر

  2. #2

    نقل قول: یادگیری اتمل استودیو

    به نظر من ، قدم اول یاد گیری عملیات باینری در C هست. من چند تا از پر کاربردهاش رو می گم :

    عمل OR : دو عدد رو بیت به بیت با هم OR می کنه. مثال:
    A = 0x05 | 0xF2
    اینجا | عملگر OR هست و مقدار A برابر OR بیت به بیت دو عدد 0x05,0xFF میشه. خود 0x مشخص میکنه که این عدد در مبنای هگز یا شانزده هست (نه مبنای 10). عدد هگز رو میشه به سادگی به صورت باینری (مبنای 2) تبدیل کرد، کافیه هر رقم هگز رو به 4 رقم باینری معادلش بنویسید. مثلا 5 هگز میشه 0101 و F هگز میشه 1111 . بنابراین 0xF2=11110010 , 0x05=00000101 خواهد بود. اگر این عددها بیت به بیت OR بشن حاصل 0xF5 میشه.

    عملAND : مشابه قبلی ولی بیت به بیت با هم AND میشن. عملگرش رو با & نشون می دن. مثلا 0x18=0x18 & 0xFF

    عمل NOT: بیت به بیت قرینه میکنه . با ~ نشون میدن.
    ----------------------------------------------------------------
    خب در مورد سوال شما، فرض کنیم LED به پایه A.3 و کلید به پایه D.6 ,وصله. برنامه به این صورت میشه:
    PORTA |= (~(PIND>>6)&0x01)<<3
    البته این کار رو میشه به چند روش مختلف دیگه هم انجام داد (مثل استفاده از شرط و یا استفاده از عدد ثابت به جای شیفت دادن) ولی این طریق کد نوشتن 3 تا مزیت داره. اولا تعداد خطوط برنامه میاد پایین و معمولا برنامه هم سریعتر میشه ، ثانیا تغییر کد ساده هست (مثلا اگر کلید به پایه D.2 وصل بشه، کافیه 6 رو بکنید 2) و ثالثا تو خوندن کد بقیه مشکلی نخواهید داشت (اکثرا همینطوری کد می نویسن).
    سعی کنید این یک خط کد رو خوب درک کنید، چون بعدا از این جور کد ها زیاد خواهید دید.

  3. #3
    کاربر دائمی آواتار SEZAR.CO
    تاریخ عضویت
    آذر 1391
    محل زندگی
    پشت کامپیوتر
    پست
    319

    نقل قول: یادگیری اتمل استودیو

    به نظر من ، قدم اول یاد گیری عملیات باینری در C هست. من چند تا از پر کاربردهاش رو می گم :

    عمل OR : دو عدد رو بیت به بیت با هم OR می کنه. مثال:
    A = 0x05 | 0xF2
    اینجا | عملگر OR هست و مقدار A برابر OR بیت به بیت دو عدد 0x05,0xFF میشه. خود 0x مشخص میکنه که این عدد در مبنای هگز یا شانزده هست (نه مبنای 10). عدد هگز رو میشه به سادگی به صورت باینری (مبنای 2) تبدیل کرد، کافیه هر رقم هگز رو به 4 رقم باینری معادلش بنویسید. مثلا 5 هگز میشه 0101 و F هگز میشه 1111 . بنابراین 0xF2=11110010 , 0x05=00000101 خواهد بود. اگر این عددها بیت به بیت OR بشن حاصل 0xF5 میشه.

    عملAND : مشابه قبلی ولی بیت به بیت با هم AND میشن. عملگرش رو با & نشون می دن. مثلا 0x18=0x18 & 0xFF

    عمل NOT: بیت به بیت قرینه میکنه . با ~ نشون میدن.
    ----------------------------------------------------------------
    خب در مورد سوال شما، فرض کنیم LED به پایه A.3 و کلید به پایه D.6 ,وصله. برنامه به این صورت میشه:
    PORTA |= (~(PIND>>6)&0x01)<<3
    البته این کار رو میشه به چند روش مختلف دیگه هم انجام داد (مثل استفاده از شرط و یا استفاده از عدد ثابت به جای شیفت دادن) ولی این طریق کد نوشتن 3 تا مزیت داره. اولا تعداد خطوط برنامه میاد پایین و معمولا برنامه هم سریعتر میشه ، ثانیا تغییر کد ساده هست (مثلا اگر کلید به پایه D.2 وصل بشه، کافیه 6 رو بکنید 2) و ثالثا تو خوندن کد بقیه مشکلی نخواهید داشت (اکثرا همینطوری کد می نویسن).
    سعی کنید این یک خط کد رو خوب درک کنید، چون بعدا از این جور کد ها زیاد خواهید دید.
    عالی بود
    اگه سوالی بود بپرسید

  4. #4
    کاربر دائمی آواتار SEZAR.CO
    تاریخ عضویت
    آذر 1391
    محل زندگی
    پشت کامپیوتر
    پست
    319

    نقل قول: یادگیری اتمل استودیو

    با عرض سلام
    ما یه مدار مثل شکل داریم
    که میخواهیم چراغ ها طبق شکل روشن شوند
    اگه میشه کدش را با اتمل استیدیو بگید با تشکر
    عکس های ضمیمه عکس های ضمیمه  
    آخرین ویرایش به وسیله SEZAR.CO : پنج شنبه 05 بهمن 1391 در 16:01 عصر

  5. #5

    نقل قول: یادگیری اتمل استودیو

    بیت به بیت or یا & شوند یعنی چه
    یعنی حاصل چجور پیش بینی کردید

  6. #6
    کاربر دائمی آواتار SEZAR.CO
    تاریخ عضویت
    آذر 1391
    محل زندگی
    پشت کامپیوتر
    پست
    319

    نقل قول: یادگیری اتمل استودیو

    با عرض سلام
    &:مثلا داریم 1001و0101
    1001
    0101
    _____
    0001

    or:مثلا همون اعداد بالا
    1001
    0101
    _____
    1101

    با تشکر

  7. #7

    نقل قول: یادگیری اتمل استودیو

    مطمئنید درسته
    بعد می تونید کد نوشته شده را توضیح بدید
    نتونستم درکش کنم

  8. #8
    کاربر دائمی آواتار SEZAR.CO
    تاریخ عضویت
    آذر 1391
    محل زندگی
    پشت کامپیوتر
    پست
    319

    نقل قول: یادگیری اتمل استودیو

    مطمئنید درسته
    بله
    PORTA |= (~(PIND>>6)&0x01)<<3
    نتونستم درکش کنم
    میشه بگی کجاش نفهمیدی

  9. #9

    نقل قول: یادگیری اتمل استودیو

    اقا من اصلا امتحان کردم هیچی نشد اگه میشهبا پروتئوس بذارید

  10. #10

    نقل قول: یادگیری اتمل استودیو

    کسی نیست توضیح بدید
    به غیر از این کدی که اقا فرزاد گفت نباید چیزی بنویسیم
    0xff یا 0x00 نداره یا..........
    اگه میشه کمکم کنید

  11. #11

    نقل قول: یادگیری اتمل استودیو

    اون خط کد مربوط به الگوریتم برنامه بود. قبل از اون باید پایه های مورد نظر رو به صورت ورودی و خروجی تعریف کنید. رجیستر DDRx ورودی-خروجی پایه ها رو تعیین می کنه(x شماره پورته، مثل A,B,C,D). مثلا برای خروجی کردن 4 بیت اول پورت A باید بنویسید:
    DDRA |= 0x0F
    اگر این کد ها رو متوجه نمیشید باید یکم مقدمات زبان برنامه نویسی c رو مطالعه کنید.

  12. #12
    کاربر دائمی آواتار SEZAR.CO
    تاریخ عضویت
    آذر 1391
    محل زندگی
    پشت کامپیوتر
    پست
    319

    نقل قول: یادگیری اتمل استودیو

    کسی نیست توضیح بدید
    به غیر از این کدی که اقا فرزاد گفت نباید چیزی بنویسیم
    0xff یا 0x00 نداره یا..........
    اگه میشه کمکم کنید
    مشکلتون واقعا این بود؟؟؟

  13. #13

    نقل قول: یادگیری اتمل استودیو

    اقا
    پروتئوس قرار میدید

  14. #14
    کاربر دائمی آواتار SEZAR.CO
    تاریخ عضویت
    آذر 1391
    محل زندگی
    پشت کامپیوتر
    پست
    319

    نقل قول: یادگیری اتمل استودیو

    اقاپروتئوس قرار میدید
    کسی نیست توضیح بدید
    به غیر از این کدی که اقا فرزاد گفت نباید چیزی بنویسیم
    0xff یا 0x00 نداره یا..........
    اگه میشه کمکم کنید
    من به شما پیشنهاد می کنم یه سرچ کنید توی اینترنت چند تا نکته حرفی سخنی کتابی مقاله ای( & or پایه ای و........... ) یاد بگیری سر این موضوع 14 پت داده شده
    بفرما اینم پروئوس(ولی به حرفم دقت کنید)
    فایل های ضمیمه فایل های ضمیمه

  15. #15

    نقل قول: یادگیری اتمل استودیو

    مشکل نصب
    Blocking Issues:

    You must install the 32-bit Windows Imaging Component (WIC) before you run Setup. Please visit the Microsoft Download Center to install WIC, and then rerun Setup.

    ویندوزم xp sp2 هست

تاپیک های مشابه

  1. نیاز به یادگیری مدیریت سرور Linux
    نوشته شده توسط bernadet730 در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 4
    آخرین پست: شنبه 23 خرداد 1394, 08:02 صبح
  2. چگونه دانش دلفی را برای یادگیری ویژوال بیسیک به کار بگیریم..
    نوشته شده توسط RezaBS در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 2
    آخرین پست: سه شنبه 21 شهریور 1391, 22:42 عصر
  3. نحوه یادگیری سی و خانوادش
    نوشته شده توسط ehsan-ets در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 6
    آخرین پست: دوشنبه 16 خرداد 1384, 11:40 صبح
  4. دیباگ در محیط ویژوال استودیو
    نوشته شده توسط faramarz_s در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: پنج شنبه 27 شهریور 1382, 20:13 عصر
  5. یادگیری asp.net
    نوشته شده توسط soheyl_f در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: یک شنبه 22 تیر 1382, 06:31 صبح

قوانین ایجاد تاپیک در تالار

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