طراحی کنترلر، مدارت دلخواه، پروژه ها و تمرینات درس میکروکنترلرها
بر اساس رنج حداقل و حداکثر تعریف شده توسط کاربر و با توجه به دمای محیط، سرعت موتور بین 10 تا 99 به صورت خودکار تنظیم می شود.این پروژه یک مدار واسط I/O می باشد که دارای 12 خروجی رله است. توسط نرم افزار کنترلی که قابل نصب بروی ویندوز های XP, Win7, Win8, Win10 می باشد می توان هر 12 رله را به صورت مجزا فعال و غیر فعال کرد.با استفاده از میکروکنترلر ATMEGA8 و کیبورد 3×4 می توان حروف و اعداد را تایپ کرد و درون یک متغییر ذخیره نمود و محتوای این متغییر بر روی نمایشگر LCD نمایش داده می شود. در صورتی که فضای LCD پر شود کاراکترها به سمت چپ شیفت داده می شوند. تمامی حروف و اعداد کوچک و بزرگ انگلیسی قابل تایپ می باشند.این پروژه یک فرستنده گیرنده رادیویی با برد 100 تا 200 می باشد، که قابلیت کنترل 20 کانال مجزا به همراه کنترل سرعت موتور DC را دارد. از ماژول HMT و HMR و 20 عدد دیپ سوئیچ و درایور L298N برای موتور استفاده شده است.با استفاده از ماژول HM-R و HM-T ابتدا به کمک سنسور LM35 دما اندازه گیری شده و به ماژول HM-T ارسال می شود، در سمت گیرنده سیگنال توسط HM-R دریافت شده و بر اساس مقدار دما دور موتور به صورت PWM کنترل می شود. همچنین قابلیت تعریف رنج دمای کاری برای موتور نیز امکان پذیر می باشد.
پروژه کنترل دور موتور با PWM برحسب دما با avr

MCP-18

پروژه کنترل دور موتور با PWM برحسب دما با avr
پروژه کنترل رله توسط پورت USB با AVR و C شارپ 12 کاناله

MCP-39

پروژه کنترل رله توسط پورت USB با AVR و C شارپ 12 کاناله
پروژه تایپ حروف و اعداد با کیبورد 3.4 به زبان سی با avr

MCP-3

پروژه تایپ حروف و اعداد با کیبورد 3.4 به زبان سی با avr
پروژه کنترل 20 کاناله-به همراه کنترل سرعت موتور با avr

MCP-10

پروژه کنترل 20 کاناله-به همراه کنترل سرعت موتور با avr
پروژه کنترل بی سیم دور موتور برحسب دما با avr

MCP-8

پروژه کنترل بی سیم دور موتور برحسب دما با avr

آموزش برنامه نویسی

تاس الكترونيكي به زبان C (برنامه نویسی به زبان سی)

در مورخه : چهارشنبه، 21 بهمن ماه، 1388 موضوع : زبان سی8051

/*  تاس الكترونيكي */
برنامه به اين صورت مي باشد كه با استفاده از يك شستي كه به يكي از پورت هاي ميكرو متصل مي كنيم با هر بار فشار دادن شستي يك عدد از 1 تا 6 به طور تصادفي براي ما توليد مي كند و اين عدد به مدت 2 ثانيه روي پورت 1 نمايش داده مي شود و بعد اين مدت زمان اگر دوباره فشار دهيم عددي ديگر براي ما توليد مي كند.برنامه به اين صورت مي باشد:


 بیشتر

شمارنده 3رقمي به زبان اسمبلي COUNTER

در مورخه : چهارشنبه، 21 بهمن ماه، 1388 موضوع : اسمبلی8051

اين شمارنده به زبان اسمبلي نوشته شده و از 000 تا 999 را مي شمارد و با رسيدن به عدد 999 تمام ثبات ها و حافظه هاي مورد استفاده شده را ريست مي كند و از نو شروع به شمارش مي كند اين روند همين طور ادامه دارد. همانطور كه ميدانيد به علت بالا بودن سرعت ميكروكنترلر (اگر از كريستال 11.0592 مگاهرتزي استفاده شود سرعت اجراي هر دستور توسط ميكر حدود 1.085 ميكرو ثانيه مي شود) اگر بخواهيم از يك پورت ميكرو اطلاعاتي بخوانيم (بستگي به شرايط برنامه دارد) بايد از يك تاخير استفاده كنيم. مثلا من در اين شمارنده از يك كليد براي شمارش استفاده كرده ام (با هر بار فشار داده يك عدد به عدد قبلي اضافه مي كند) كه اگر از برنامه تاخيري استفاده نكنم با هر بار فشار دادن كليد به علت بالا بودن سرعت ميكرو اين كليد را بيش از هزار بار از زير دست من مي خواند و مي بينيم كه يك دفعه شمارنده يك عدد بسيار بزرگي را به ما نشان مي دهد. MGH
در ضمن اگر بخواهيم به جاي كليد استفاده شده در مدار از يك مولد پالس يا گيرنده مادون قرمز و يا هر سنسور ديگر كه بخواهيم سرعت عمل بشتري داشته باشيم مي توان مدت زمان تاخير را كم كرد تا به سرعت دلخواه رسيد.



 بیشتر

ساختار دستور تصميم گيري if و else (زبان سي C)

در مورخه : چهارشنبه، 21 بهمن ماه، 1388 موضوع : زبان سی8051

ساختار if كه نام ديگرش، دستور انتقال كنترل شرطي است، شرطي را تست مي كند و در صورتي كه شرايط آن شرط برقرار باشد مجموعه اي از دستورات را اجرا مي كند. كه اين دستور به دو صورت مي باشد:
روش اول:


(شرط) if
;دستور
else
;دستور


اگر بخواهيم تنها يك دستور بعد از if و else بنويسيم از اين روش استفاده مي كنيم.



 بیشتر