آموزش حرفه ای AVR بخش کدویزارد (نرم افزار کدویژن)
دوستان و همراهان عزیز سلام. امروز قصد داریم در مورد AVR و شروع برنامه نویسی این میکروکنترلر 8بیتی با نرم افزار کدویژن صحبت کنیم و به یادگیری بخش اول و اصلی این نرم افزار یعنی کدویزارد بپردازیم.
میکروکنترلرAVR چیست؟
اِیویآر (AVR)، خانوادهای از ریزکنترلگرهای جدید است که شرکت اتمل، آن را روانهٔ بازار الکترونیک کردهاست. این ریزکنترلگرهای هشت بیتی به خاطر دارا بودن قابلیت برنامهنویسی توسط کامپایلر زبانهای برنامهنویسی سطح بالا، مورد توجه قرار میگیرند. این ریزکنترلگرها از معماری ریسک برخوردارند. همچنین شرکت اتمل کوشیده است تا با استفاده از معماری پیشرفته و دستورهای بهینه، حجم کد تولید شده را پایین آورده و سرعت اجرای برنامه را بالا ببرد. یکی از مشخصات این نوع ریزکنترلگرها دارا بودن ۳۲ ثبات همه منظوره است. همچنین در این ریزکنترلگرها، از حافظههای کم مصرف و غیر فرار فلش و ایایپیرام استفاده میشود. (ادامه توضیحات در ویکی پدیا)
کامپایلر کدویژن (codevision) :
این نرم افزار یک کامپایلر زبان برنامه نویسی C می باشد که برای برنامه نویسی میکروکنترلر های AVR از آن استفاده می شود. این برنامه محیط برنامه نویسی و کامپایل کردن برنامه نوشته شده برای برنامه ریزی میکروکنترلر را برای شما فراهم می کند.
بسیاری از افراد حتی کسانی که رشته کامپیوتر می باشند با این نرم افزار به خوبی آشنا هستند. آخرین نسخه این نرم افزار قدرت بسیار بیشتری پیدا کرده است و از طرفی مشکلات قبلی آن برطرف شده است. این برنامه در تمامی نسخه های ویندوز قابل نصب است.
شروع برنامه نویسی با کدویژن:
در ابتدا باید تنظیمات اولیه میکرو را انجام دهیم. اگر به ریجیستر ها و توابع مورد نیاز AVR تسلط دارید باز هم پیشنهاد می کنیم از قابلیت کدویزارد که یکی از بخش های کدویژن است استفاده کنید. کدویزارد با استفاده از تنظمات ساده ای که شما انجام میدهید تنظیمات اولیه میکرو را برایتان انجام میدهد و خیالتان از بابت کد های اولیه راحت میشود.
آموزش کدویزارد را در قالب 8 جلسه تصویری برایتان آماده کردیم و تمامی قسمت های کدویزارد را مورد برسی قرار دادیم.
جلسه اول (ایجاد پروژه در کدویژن و نحوه وارد کردن توضیحات در برنامه)
جلسه دوم (تنظیمات اسم میکرو – سرعت پردازش – وضعیت پایه های ورودی و خروجی – وقفه خارجی)
کلاس سوم (کاربرد تایمر ها – تنظیمات خروجی تایمر – وقفه تایمر – دوره زمانی پالس خروجی)
جلسه چهارم (ادامه تنظیمات تایمر ها – مود های کاری بیشتر تایمر – خروجی PWM از تایمر)
برای تمامی آموزش ها نمونه برنامه به همراه فایل شبیه سازی آماده کردیم
برای خرید و دانلود فایل نمونه برنامه ها کلیک کنید
کلاس پنجم (پیکربندی پورت سریال میکرو و روش های آسنکرون و سنکرون)
جلسه ششم (تنظیم مقایسه کننده آنالوگ – راه اندازی آپ امپ داخلی میکرو)
کلاس هفتم (تنظیمات رابط های میکرو – چهار سیم دو سیم تک سیم)
جلسه هشتم (تنظیمات نمایشگر های کارکتری و گرافیکی – تاچ خازنی)
برای تمامی آموزش ها نمونه برنامه به همراه فایل شبیه سازی آماده کردیم.
برای خرید و دانلود فایل نمونه برنامه ها کلیک کنید
- پروژه دزدگیر تشخیص حرکت پیامکی با آردوینو - اکتبر 18, 2022
- آموزش توابع آردوینو (توابع پایه) - اکتبر 16, 2022
- دسترسی ساده به SPIFFS در ESP32 و ESP8266 - آگوست 30, 2022
سلام خسته نباشید
در خصوص PWM چون تنظیمات OCR در قسمت پیکره بندی قرار دارد و تغییرات در ان یک مرتبه خوانده می شود .
ایا راهی هست که بشود مقدار OCR را در برنامه تغییر داد وتغییرات اعمال شود
سلام، تنظیمات کدویزارد صرفا برای راحتی تنظیم اولیه هست!!!
داخل برنامه در تابع اصلی void main میتونید تمامی رجیستر ها رو ویرایش کنید و تغییر بدید، همچنین داخل برنامه اصلی میتونید از این رجیستر ها استفاده کنین.
رجیستر OCR رو از طریق جستجو در صفحه کدویژن پیدا کنید و تغییر بدید!!
ممنون از پاسخ گویی تان ولی
فکر یخ میکرو باسخ شروع به کار یه بار متن کد رو چک میکنه (پیکره بندی) و بعد وارد حلقه while میشود و دایم در این حلقه در حال چرخش است و وقتی که من بخواهم دستور OCR در قسمت WHILE برنامه تغییر بدم چون این تنظیم ابتدا شروع به کار میکرو خوانده شده دیگر تغییرات روی اون تاثیر گذار نیست
(من این مورد تست کردم )
سلام مجدد ، بله حق با شماست رجیستر پیکربندی مقایسه تایمر (OCR) داخل حلقه اصلی قابل تغییر نیست و فقط یک مرتبه مقدار دهی میشود!!!
اما در مود fast PWM با مقدار دهی به این رجیستر دیوتی سایکل موج مربعی رو تغییر میدیم.
مممنونم، خیلی مفید بود.