بایگانی/آرشیو برچسب ها : microcontroller

مد PWM در تایمرهای AVR (بخش دوم) – (جلسه ی ۲۰)

این بار می خواهیم یاد بگیریم که چطور تایمرها را برای استفاده در مد PWM برنامه ریزی کنیم. PWM مخفف عبارت Pulse Width Modulation و به معنای مدولاسیون پهنای پالس می باشد. مد PWM در میکروکنترلر AVR به طور سخت افزاری کنترل می شود. در این جا برای تشریح حالت PWM از تایمر صفر در میکروکنترلر ATmega16 استفاده می کنیم. ابتدا رجیسترهای مربوط به مد PWM برای تایمر صفر را معرفی می نماییم...

بیشتر بخوانید »

تایمر یک (TIMER1) و تایمر دو (TIMER2) در AVR – (جلسه ی ۱۴)

حال که مفاهیم مربوط به تایمر را در دو پست قبلی آموخته ایم، این بار به طور مختصر در مورد TIMER1 و TIMER2 صحبت خواهیم کرد. تمام کارهایی که در مورد تایمر صفر انجام دادیم در مورد تایمرهای ۱ , ۲ نیز انجام می دهیم.

بیشتر بخوانید »

اتصال keypad به AVR

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

بیشتر بخوانید »

منابع وقفه در AVR(جلسه ۱۱)

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

بیشتر بخوانید »

شبه دستورها – اسمبلی(جلسه ۹)

در این جلسه مفاهیم و ملزومات لازم برای برنامه نویسی اسمبلی AVR در Atmel Studio مطرح می‌شود. برخی از شبه دستورات(دستورالعمل های اسمبلر): تفاوت دستورات با دستورالعمل ها در این است که دستورات وظایف را برای cpu تعریف می کنند، در حالی که دستورالعمل ها یا شبه دستورات راهنما و هدایتگر اسمبلر هستند. شبه دستورات دراسمبلر AVR با علامت نقطه آغاز می شوند.

بیشتر بخوانید »

مدهای آدرس دهی – اسمبلی(جلسه ۸)

داده ها می توانند درون یک ثبات، بر روی حافظه، یا به صورت مقدار بی واسطه باشند.CPU با روش های مختلفی به داده ها دسترسی دارد که به این روشها مدهای آدرس دهی گویند. AVRجمعا ۱۳ مد آدرس دهی مجزا دارد که می توان آنها را به ۶ دسته تقسیم کرد: تک ثباتی(بی واسطه) ثبات مستقیم غیر مستقیم ثبات مستقیم فلاش غیر مستقیم فلاش

بیشتر بخوانید »

دستورهای محاسباتی – اسمبلی(جلسه ۷)

در ایجاد تأخیر زمانی توسط زبان اسمبلی برای AVR باید به فرکانس نوسانساز میکرو(داخلی یا خارجی) و همچنین چرخه های زمانی که برای اجرای یک دستور لازم است توجه کرد. چرخه های زمانی یا چرخه ماشین در AVR یک دوره تناوب نوسانگر است.اکثر دستورات در AVR بیش از یک یا دو چرخه ماشین برای اجرا شدن نیاز ندارند.

بیشتر بخوانید »

دستورهای پرش شرطی – اسمبلی(جلسه ۶)

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

بیشتر بخوانید »

رجیسترهای مهم AVR

AVR نیز همانند دیگر میکروپروسسورها برای تشخیص شرایط محاسباتی دارای یک ثبات پرچم میباشد. ثبات پرچم در AVR ثبات وضعیت(SREG) نام دارد که یک ثبات ۸ بیتی است.این ثبات در محدوده ثباتهای I/O قرار دارد.به بیت های این ثبات بیت های شرطی نیز می گویند بدین معنا که برخی از شرایطی را که بعد از اجرای یک دستور به وجود می آیند نشان می دهند.

بیشتر بخوانید »