در این پست با نحوه عملکرد وقفه در عمل آشنا خواهیم شد. پیشنهاد می کنیم قبل از خواندن ادامه این مقاله آموزش مربوط به وقفه را مطالعه نمایید. در این پروژه LED متصل به پورت B در حال چشمک زدن دائمی می باشد، می خواهیم زمانی که وقفه اتفاق افتاد LED متصل به پورت A سه بار چشمک بزند.
آموزش روشن کردن LED با یک کلید در آردوینو
با استفاده از یک کلید، سه LED را کنترل کرده تا به ترتیب چشمک بزنند. برای اتصال کلید به برد آردوینو یک پین را به دلخواه انتخاب می کنیم تا به عنوان ورودی قرار بگیرد همچنین به تعداد LED هایمان از پین های دیجیتال (۰ تا ۱۳) استفاده می کنیم تا آن ها را خروجی قرار دهیم، که ما در…
آموزش روشن کردن ۸ LED در AVR
در این پروژه قصد داریم هشت LED را به ترتیب روشن کنیم برای این کار از پورت A میکروکنترلر ATMEGA 16 استفاده کرده ایم. فرکانس کاری میکرو ۸ مگاهرتز در نظر گرفته شده است. در عکس زیر شماتیک مدار را میتوانید مشاهده کنید.
ارتباط سریال USART
ارسال و دریافت اطلاعات در AVR با پروتکل های مختلفی می شود. یکی از این روش ها ارتباط سریال می باشد. به صورت کلی داده ها به یکی از دو روش زیر ارسال و دریافت می شود. موازی (parallel): در روش موازی، اطلاعات n بیتی در n خط انتقال داده می شود. سریال (serial): در روش سریال، اطلاعات در یک…
آموزش برنامه نویسی آردوینو
برنامه نویسی آردوینو بر مبنای زبان برنامه نویسی ++C میباشد. با اینکه هسته آردوینو AVR است اما در آردوینو دیگر از تنظیم و مقدار دهی به رجیسترها خبری نیست و تمام تنظیمات با فراخوانی توابع مربوطه انجام میشود. به همین دلیل کار با آردوینو بسیار راحت تر از AVR است و کاربر درگیر مقدار دهی به رجیسترهای مختلف نخواهد شد.
LED چشمک زن با آردوینو
اولین و ساده ترین پروژه برای شروع LED چشمک زن می باشد که به توضیح و کد نویسی آن می پردازیم. برای انجام این پروژه ما یک پین دیجیتال را به دلخواه خروجی تنظیم می کنیم بنابراین پین ۸ را به عنوان خروجی مشخص کرده ایم. در ادامه به بررسی برنامه این پروژه می پردازیم.
فیوزبیت ها در AVR
فیوز بیت ها بخشی از حافظه FLASH هستند که برای تنظیمات خاصی استفاده می شوند و با پاک کردن میکروکنترلر از بین نمی روند و برای تنظیم آنها نیاز به برنامه نویسی خاصی نبوده و از طریق پروگرامر امکان پذیر است. فیوزبیت ها با صفر برنامه ریزی و با یک غیر فعال می شوند.
LED چشمک زن با AVR
در این پروژه از پورت A میکروکنترلر ATMEGA16 استفاده کردهایم. روند کار به اینگونه است که ابتدا پورت A را خروجی تعریف میکنیم سپس پین A.0 را به مدت ۱ ثانیه ۱ کرده و پس از آن همان پین را به مدت ۱ ثانیه ۰ میکنیم.
وقفه در AVR
وقفه به معنای تاخیر زمانی نیست بلکه به معنی قطع موقت برنامه ی جاری و سرویس دادن به تابع وقفه است. برای اینکه میکروکنترلر بتواند علاوه بر برنامه جاری به سایر قسمت ها یا المان دیگری سرویس بدهد باید از وقفه استفاده کنیم.
میکروکنترلر AVR
میکروکنترلرهای AVR ساخت شرکت Atmel هستند. این میکروکنترلرها بسته به نوع قابلیت و کاربردی که دارند دارای یک سری پایه های ورودی و خروجی هستند. به طور کلی تمامی میکروکنترلرهای AVR دارای ۳ رجیستر تنظیم کننده ی زیر می باشند. اما قبل از معرفی این رجیسترها باید بدانیم رجیستر چیست؟