کدویژن چیست و چه کاربردی دارد؟ + معرفی منابع یادگیری CodevisionAVR

۴۰۵۷ بازدید
آخرین به‌روزرسانی: ۹ اردیبهشت ۱۴۰۲
زمان مطالعه: ۱۰ دقیقه
دانلود PDF مقاله
کدویژن چیست و چه کاربردی دارد؟ + معرفی منابع یادگیری CodevisionAVRکدویژن چیست و چه کاربردی دارد؟ + معرفی منابع یادگیری CodevisionAVR

کدویژن ای‌وی‌آر (CodeVisionAVR) تنها محیط توسعه یکپارچه (IDE) موجود است که دارای یک مولد برنامه خودکار (CodeWizardAVR) برای تراشه‌های AVR8 ،AVR8X ،AVR DA ،AVR DB و XMEGA است. در این آموزش با کدویژن آشنا می‌شویم و منابع یادگیری آن را معرفی خواهیم کرد.

997696

کدویژن چیست؟

نرم‌افزار کدویژن يک کامپايلر زبان برنامه‌نويسی C است که برای پروگرام کردن ميکروکنترلرهای AVR مورد استفاده قرار می‌گیرد. اين برنامه محيط برنامه‌نويسی و کامپايل کردن برنامه نوشته شده برای برنامه‌ريزی ميکروکنترلر را فراهم می‌کند.

ویژگی‌های کدویژن

ویژگی‌های مهم کدویژن عبارتند از:

  • تحت ویندوز ویستا، ویندوز ۷، ویندوز ۸ و ویندوز ۱۰ نسخه ۳۲ و ۶۴ بیتی اجرا می‌شود.
  • برای استفاده از محیط توسعه یکپارچه (IDE) و کامپایلر سازگار با ANSI C مناسب است.
  • ویرایشگر با تورفتگی خودکار، برجسته‌سازی نحو برای اسمبلر C و AVR، پارامترهای تابع و اعضای ساختار/واحد تکمیل خودکار
ویژگی‌های کدویژن
  • کدویژن، علاوه بر اینکه خود IDE‌ است، می‌تواند به عنوان یک افزونه مجتمع با Microchip Studio 7 مورد استفاده قرار گیرد.
کدویژن
  • انواع داده‌های پشتیبانی شده: bit ،bool ،char ،int ،short ،long ،64-bit long ،float
  • کتابخانه ممیز شناور سریع با ضرب‌کننده سخت‌افزاری و دستورالعمل‌های پیشرفته پشتیبانی از همه تراشه‌های جدید ATmega
  • برنامه‌های افزودنی AVR برای موارد زیر:
    • دسترسی شفاف و آسان به حافظه EEPROM و FLASH، بدون نیاز به توابع خاص مانند سایر کامپایلرهای AVR
    • سطح دسترسی بیت به رجیسترهای ورودی/خروجی
    • پشتیبانی وقفه
    • پشتیبانی از قرار دادن متغیرهای بیتی در رجیستر‌های ورودی/خروجی همه‌منظوره (General Purpose I/O Registers) یا GPIOR موجود در تراشه‌های جدید (ATtiny2313 و ATmega48/88/168 و ATmega165/169/325/3250/329/3290/645/6450/649/6490 و ATmega1280/1281/2560/2561/640 و ATmega406 و غیره)
  • بهینه‌سازی‌های کامپایلر:
    • بهینه‌ساز Peephole
    • متغیرهای پیشرفته برای ثبت تخصیص‌دهنده (Allocator)، اجازه استفاده بسیار کارآمد از معماری AVR را می‌دهد.
    • بسته‌بندی معمول بلوک‌های زیرروال (Common Block Subroutine Packing) (آنچه که آن را «فشرده‌کننده کد» (Code Compressor) می‌نامند)، دنباله‌های کد تکراری را با فراخوانی زیرروال جایگزین می‌کند. این بهینه‌ساز بدون هیچ هزینه اضافی به صورت استاندارد در کدویژن در دسترس است.
  • حذف زیرعبارت مشترک
  • بهینه‌سازی حلقه
  • بهینه‌سازی شاخه
  • بهینه‌سازی فراخوانی زیرروال
  • بهینه‌سازی پرش متقابل (Cross-jumping)
  • درهم کردن ثابت
  • ادغام رشته‌های ثابت حرفی
  • بهینه‌سازی Store-copy
  • بهینه‌سازی حذف کد مرده
  • چهار مدل حافظه:
    • TINY (اشاره‌گرهای داده 8 بیتی برای تراشه‌هایی با حداکثر 256 بایت RAM)
    • SMALL (اشاره‌گرهایداده 16 بیتی برای تراشه‌های با بیش از 256 بایت RAM)
    • MEDIUM (برای تراشه‌های با 128k FLASH)
    • LARGE (برای تراشه های دارای 256 هزار یا بیشتر FLASH).
  • بهینه‌سازی انتخابی کاربر برای اندازه یا سرعت کد
  • امکان درج کد اسمبلر داخلی به صورت مستقیم در فایل منبع C
  • استفاده بسیار مؤثر از RAM: رشته‌های ثابت حرفی فقط در حافظه FLASH ذخیره می‌شوند و در RAM کپی نمی‌شوند و از آنجا قابل دسترسی نیستند؛ مانند سایر کامپایلرهای AVR.
  • اشکال‌زدایی سطح C: با ایجاد فایل نماد COFF، امکان مشاهده متغیر (شامل ساختارها و واحدها) در اشکال زدایی Atmel Studio 7 و AVR Studio 4.19 را می‌دهد.
  • کاملاً سازگار با شبیه‌سازهای مدار Atmel: مثلاً AVR JTAG-ICE و AVR Dragon و غیره.

کتابخانه‌های کدویژن

علاوه بر کتابخانه های استاندارد C، کامپایلر کدویژن مجموعه ای غنی از کتابخانه‌ها را طراحی کرده است که برای برآوردن تمام نیازهای برنامه‌نویس سیستم‌های جاسازی‌شده طراحی شده است. کتابخانه‌های کدویژن GPL نیستند، بنابراین موظف نیستید کد منبع برنامه تجاری خود را منتشر کنید یا برای استفاده تجاری آن‌ها حق امتیاز به شرکت بپردازید.

کتابخانه‌های کدویژن را در ادامه معرفی می‌کنیم.

LCD الفبایی (Alphanumeric LCD)

کامپایلر کدویژن دارای یک کتابخانه LCD الفبایی برای کنترل‌کننده‌های Hitachi HD44780 و Samsung KS0073 و Solomon Systech SSD1803 (نمایشگرهای DIP203 مونتاژ الکترونیکی) است که هر دو تراشه AVR و XMEGA هشت بیتی پشتیبانی می‌شوند. سیگنال‌های LCD را می‌توان به هر پینی از هر درگاه ورودی/خروجی به هر ترتیبی، مستقیماً از IDE کدویژن اختصاص داد و حداکثر انعطاف‌پذیری را برای طراحی فراهم کرد.

شیلدهای الفبایی عددی ال‌سی‌دی آردوینو با گسترش‌دهنده ورودی و خروجی PCF8574 و اتصال I2C نیز پشتیبانی می‌شوند.

LCD الفبایی

نمایشگر گرافیکی (Graphic Displays)

کامپایلر CodeVisionAVR C دارای یک کتابخانه گرافیکی قدرتمند برای نمایشگرهای LCD و TFT و OLED با وضوح تصویر 84x48 تا 800x480 پیکسل است.

صفحه لمسی (Touchscreen)

کامپایلر کدویژن با کتابخانه‌هایی برای کنترل‌کننده‌های صفحه لمسی خازنی و مقاومتی عرضه می‌شود که هر دو تراشه AVR و XMEGA هشت بیتی را پشتیبانی می‌کند. کتابخانه صفحه لمسی خازنی کنترلرهای FocalTech Systems FT5206 و FT5306 و FT5406 را که با استفاده از دو سیم (I2C) متصل می‌شوند، کنترل می‌کند. کتابخانه صفحه لمسی مقاومتی از کنترل‌کننده‌های استاندارد صنعتی ADS7843 و ADS7846 (XPT2046) از شرکت تگزاس اینسترومنتس (Texas Instruments) بهره می‌برد. این کتابخانه دارای توابع ویژه‌ای برای کالیبراسیون و فیلتر نویز است که از عملکرد قابل اعتماد صفحه لمسی اطمینان حاصل می‌کند.

اتصالات کنترل‌کننده را می‌توان مستقیماً از IDE کدویژن به هر بیت از هر پورت ورودی/خروجی به هر ترتیب اختصاص داد و حداکثر انعطاف‌پذیری را برای طراحی فراهم کرد.

صفحه لمسی کدویژن

USB

کامپایلر کدویژن دارای کتابخانه USB آسان برای استفاده در حالت دستگاه است. این کتابخانه به طور کامل توسط CodeWizardAVR پشتیبانی می‌شود و به شما این امکان را می‌دهد که در عرض چند دقیقه یک برنامه USB کاملاً کاربردی طراحی کنید:

کلاس‌های دستگاه زیر در حال حاضر توسط کتابخانه USB پشتیبانی می‌شوند:

  • کلاس دستگاه ارتباطی - پورت سریال مجازی
  • دستگاه رابط انسانی - صفحه کلید
  • دستگاه رابط انسانی - موس
  • دستگاه رابط انسانی - جوی استیک

کتابخانه دستگاه USB می‌تواند حداکثر دو رابط را برای تراشه‌های غیر XMEGA پیاده‌سازی کند. برای تراشه‌های XMEGA حداکثر چهار رابط پشتیبانی می‌شود. این امر اجازه می‌دهد دستگاه‌های USB ترکیبی (مثلاً ماوس و صفحه کلید) را با استفاده از یک کنترل‌کننده ایجاد کنید.

دستگاه رابط انسانی - عمومی تراشه‌های زیر را پشتیبانی می‌کند:

  • AT90USB646/647/1286/1287
  • AT90USB82/162
  • ATmega8U2/16U2/32U2
  • ATmega16U4/32U4
  • ATmega32U6
  • ATxmega 64A1U/128A1U
  • ATxmega 64A3U/128A3U/192A3U/256A3U
  • ATxmega 16A4U/32A4U/64A4U/128A4U
  • ATxmega 256A3BU
  • ATxmega 64B1/128B1
  • ATxmega 64B3/128B3
  • ATxmega 32C3/64C3/128C3/256C3/384C3

مثال صفحه پیکربندی CodeWizardAVR USB برای تراشه‌های غیر XMEGA:

کدویژن

مثال صفحه پیکربندی CodeWizardAVR USB برای تراشه‌های XMEGA:

کد ویژن

کارت SD/MMC

کامپایلر CodeVisionAVR دارای یک کتابخانه کارت حافظه MMC/SD/SD HC FLASH است که از رابط گذرگاه SPI استفاده و هر دو تراشه AVR هشت بیتی و XMEGA را پشتیبانی می‌کند. توابع دسترسی به دیسک FAT12 و FAT16 و FAT32 سطح پایین و سطح بالا اجرا می‌شوند.

برخی از سیگنال‌های کنترل کارت را می‌توان مستقیماً از IDE کدویژن به هر پینی از هر پورت ورودی/خروجی به هر ترتیب اختصاص داد و به حداکثر انعطاف‌پذیری رسید.

سیگنال‌های کنترل کارت

I2C

کامپایلر CodeVisionAVR دارای یک کتابخانه I2C نرم‌افزاری است که امکان کار در حالت اصلی را فراهم می‌کند. سیگنال‌های I2C را می‌توان مستقیماً از IDE کدویژن به هر پینی از هر پورت ورودی/خروجی به هر ترتیب اختصاص داد و حداکثر انعطاف‌پذیری را برای طراح فراهم کرد.

I2C
کتابخانه I2C مجموعه وسیعی از لوازم جانبی سازگار را پشتیبانی می‌کند:
  • ساعت‌های فیلیپس PCF8563 و PCF 8583 و Maxim DS1307 و DS3231
  • بسط‌دهنده ورودی/خروجی Philips PCF8574
  • سنسور دما/ترموستات Maxim DS1621
  • سنسور دمای نیمه‌هادی National Semiconductor LM75
  • صفحه نمایش LCD الفبایی عددی Arduino با اتصال I2C

توجه کنید که کتابخانه I2C با بیت بنگ تراشه‌های XMEGA را پشتیبانی نمی‌کند و برای این تراشه‌ها باید از کتابخانه TWI استفاده شود.

TWI

کامپایلر CodeVisionAVR دارای یک کتابخانه سخت‌افزاری TWI (I2C) است که امکان کار در حالت Master و Slave را فراهم می‌کند و هر دو تراشه AVR هشت بیتی، AVR8X ،AVR DA و XMEGA پشتیبانی می‌شوند.

CodeWizardAVR داخلی به کاربر اجازه می‌دهد تا کتابخانه TWI را به راحتی در حالت Master و Slave پیکربندی کند.

TWI

کتابخانه TWI مجموعه وسیعی از لوازم جانبی سازگار را پشتیبانی می‌کند:

  • ساعت‌های فیلیپس PCF8563 و PCF8583 و ساعت‌های زمان حقیقی ماکسیم DS1307 و DS3231
  • بسط‌دهنده ورودی/خروجی Philips PCF8574
  • سنسور دما/ترموستات Maxim DS1621
  • سنسور دمای National Semiconductor LM75
  • سنسورهای فشار BMP085 و BMP180 و MS5611-01BA03
  • نمایشگر LCD الفبایی عددی آردوینو با اتصال I2C

تک‌سیم (1Wire)

کامپایلر CodeVisionAVR دارای یک کتابخانه Maxim/Dallas Semiconductor 1 Wire بیت بنگ نرم‌افزاری است که هر دو تراشه AVR هشت‌بیتی و XMEGA را پشتیبانی می‌کند.

سیگنال  1Wire DATA را می‌توان مستقیماً از کدویژن به هر پینی از هر پورت ورودی/خروجی اختصاص داد و حداکثر انعطاف‌پذیری را برای طراح فراهم آورد.

تک‌سیم

کتابخانه 1Wire توابع ویژه‌ای برای لوازم جانبی سازگار زیر دارد:

  • سنسورهای دمای ماکسیم DS1820/DS18S20/DS18B20/DS1822
  • EEPROM ماکسیم DS2430/DS2433

RTC

کامپایلر CodeVisionAVR مجموعه‌ای از کتابخانه‌ها را دارد که از تراشه‌های محبوب ساعت بلادرنگ (Real Time Clock) یا RTC زیر پشتیبانی می‌کند:

  • Philips PCF8563 (رابط I2C/TWI)
  • Philips PCF8583 (رابط I2C/TWI)
  • Maxim DS1302 (رابط سریال سریال با بیت گنگ)
  • Maxim DS1307 (رابط I2C/TWI)
  • Maxim DS3231 (رابط I2C/TWI)

CodeWizardAVR داخلی به کاربر اجازه می‌دهد کتابخانه‌های RTC را به راحتی پیکربندی کند.

کدویژن

سنسورها

کامپایلر کدویژن مجموعه‌ای از کتابخانه‌ها را پشتیبانی می‌کند که از تراشه‌های محبوب دما، فشار، رطوبت و نور زیر استفاده می‌کند:

  • National Semiconductor LM75 (رابط I2C)
  • Maxim DS1621 (رابط I2C)
  • Maxim DS1820/DS18S20 (رابط تک‌سیم)
  • Maxim DS18B20 (رابط تک‌سیم)
  • Maxim DS1822 (رابط تک‌سیم)
  • Bosch Sensortec BMP085 (رابط I2C)
  • Bosch Sensortec BMP180 (رابط I2C)
  • Bosch Sensortec BMP280 (رابط I2C)
  • Measurement Specialties MS5611-01BA01/MS5611-01BA03 (رابط I2C)
  • ROHM Semiconductor BH1750FVI

اترنت

کامپایلر CodeVisionAVR دارای کتابخانه‌ای برای کنترلر Microchip ENC28J60 Ethernet است. تخصیص سیگنال برای تراشه ENC28J60 را می‌توان به راحتی در پیکربندی پروژه تنظیم کرد.

اترنت

سایر

سایر کتابخانه‌ها به صورت زیر هستند:

  • رابط جانبی سریال (SPI)
  • مدیریت توان
  • تأخیر
  • تبدیل کد BCD و  تبدیل کد خاکستری

CodeWizardAVR

ژنراتور برنامه خودکار داخلی برای تراشه‌های AVR و AVR8X و AVR DA و XMEGA به شما امکان می‌دهد در مدت چند دقیقه تمام کد مورد نیاز برای اجرای موارد زیر را بنویسید:

  • مقداردهی دسترسی به حافظه خارجی، از جمله XMEGA EBI
  • شناسایی منبع بازنشانی تراشه
  • نوسان‌ساز XMEGA و PLL و پیش‌فراخوان و راه‌اندازی اولیه ساعت‌های Peripheral
  • مقداردهی پورت‌های ورودی/خروجی
  • مقداردهی اولیه وقفه‌های خارجی
  • مقداردهی اولیه تایمر/شمارنده
  • تنظیم اولیه تایمر دیده‌بان (Watchdog)
  • مقداردهی USART و قطع ارتباط بافری
  • مقداردهی مقايسه‌کننده آنالوگ
  • مقداردهی ADC
  • مقداردهی XMEGA و AVR8X و AVR DA DAC
  • مقداردهی XMEGA و AVR8X و AVR DA RTC
  • مقداردهی رابط SPI
  • مقداردهی رابط CAN
  • مقداردهی TWI
  • مقداردهی باس I2C، سنور دمای LM75، ترموستات DS1621، ساعت‌های زمان واقعی PCF8563 و PCF8583 و DS1307 و DS3231 و سنسورهای فشار BMP085 و BMP180 و MS5611-01BA
  • مقداردهی ساعت زمان واقعی DS1302
  • باس تک‌سیم و مقداردهی سنسورهای دمای DS1820/DS18S20/DS18B20/DS1822
  • مقداردهی ماژول صفحه نمایش LCD/TFT/OLED الفبایی و گرافیکی
  • مقداردهی صفحه لمسی ADS7843 و ADS7846
  • کنترل‌کننده USB
CodeWizardAVR

LCD Vision کدویژن

LCD Vision یک برنامه همراه است که برای ایجاد، ویرایش فونت‌ها و تصاویر و استخراج آن‌ها در قالب کد منبع C یا داده های باینری، سازگار با کتابخانه نمایش گرافیکی کدویژن طراحی شده است.

فونت‌ها را می‌توان از ابتدا ایجاد کرد یا از فونت‌های سیستم نصب شده وارد کرد. همچنین می‌توان تصاویر را از ابتدا ایجاد کرد یا از فرمت‌های گرافیکی معروف، مانند BMP و JPG و GIF و PNG و ICO و WMF و EMF وارد کرد.

کد ویژن

توجه کنید که LCD Vision فقط با مجوز Advanced CodeVisionAVR قابل استفاده است.

پروگرمر چیپ (Chip Programmer) کدویژن

کدویژن دارای یک برنامه‌نویس تراشه AVR یا همان AVR Chip Programmer در سیستم است که پس از کامپایل موفق، برنامه‌نویسی خودکار را امکان‌پذیر می‌کند.

Chip Programmer

پروگرمرهایی که پشتیبانی می‌شوند، عبارتند از:

  • Atmel STK500 (اتصال سریال)
  • Atmel STK600 (اتصال USB)
  • Atmel AVRISP (اتصال سریال)
  • Atmel AVRISP MkII (اتصال USB)
  • Atmel AVR Dragon (اتصال USB)
  • Atmel JTAGICE MkII (اتصال USB)
  • Atmel JTAGICE 3 (اتصال USB)
  • Atmel-ICE (اتصال USB)
  • Atmel mEDBG (اتصال USB) - نیاز به نصب Atmel Studio 7 دارد.
  • Atmel EDBG (اتصال USB) - نیاز به نصب Atmel Studio 7 دارد.
  • Atmel AVR910 Application Note (اتصال سریال)
  • USBASP اصلی یا کلون (اتصال USB)

آردوینو و کدویژن

کدویژن و افزونه Atmel Studio این امکان را می‌دهد که برنامه کامپایل شده را به طور خودکار در یک برد توسعه سازگار با آردوینو بارگذاری کرد. این گزینه را می‌توان در منوی پیکربندی پروژه فعال کرد.

آردوینو کدویژن

بارگذار آردوینو از منوی Tools (ابزار) CodeVisionAVR IDE و Atmel Studio نیز در دسترس است.

آردوینو codevision

ترمینال (Terminal) کدویژن

کدویژن دارای یک ترمینال ارتباطات سریال داخلی است و برای اشکال‌زدایی سیستم‌های جاسازی‌شده‌ای که از ارتباط سریال (RS232 و RS422 و RS485) استفاده می‌کنند، مفید است.

ترمینال در کدویژن

معرفی فیلم آموزش پروژه محور پروتئوس و کدویژن - ساخت بازی دوز با میکروکنترلر ATmega16

معرفی فیلم آموزش پروژه محور پروتئوس و کدویژن - ساخت بازی دوز با میکروکنترلر ATmega16

یک از آموزش‌ها و منابع آشنایی با کدویژن، فیلم آموزش پروژه محور پروتئوس و کدویژن - ساخت بازی دوز با میکروکنترلر ATmega16 فرادرس است که در ۲ ساعت و ۴۵ دقیقه و در قالب ۲ درس ارائه شده است. درس یکم این آموزش شامل کلیات و تحلیل توابع مورد نیاز است و این موارد را در بر می‌گیرد: رجیسترهای تنظیم‌کننده میکروکنترلرهای AVR، ساختار کلی برنامه‌های زبان C، نحوه استفاده از صفحه‌کلید
نحوه استفاده از نمایشگر سون سگمنت، آشنایی با نمایشگر LCD متنی، معرفی نقش نرم‌افزارهای پروتئوس و CodeVisionAVR در پیاده‌سازی، معرفی جزییات و ویژگی‌های بازی دوز، تحلیل بازی دوز و بررسی نحوه پیاده‌سازی، معرفی توابع مورد استفاده در کدنویسی.

موضوع درس دوم این آموزش پیاده‌سازی بازی در نرم‌افزارها است و در آن به این مباحث پرداخته شده است: معرفی ابزارها و ICهای مورد استفاده در شبیه‌سازی بازی دوز، شبیه‌سازی سخت‌افزار بازی دوز در Proteus، کدنویسی بازی دوز در CodeVisionAVR، ارتباط شبیه‌سازی با کد و اجرای خروجی.

  • برای مشاهده فیلم آموزش پروژه محور پروتئوس و کدویژن - ساخت بازی دوز با میکروکنترلر ATmega16 + اینجا کلیک کنید.

معرفی فیلم آموزش پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR

معرفی فیلم آموزش پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR

یکی از بهترین منابع یادگیری اساسی نرم‌افزار کدویژن فیلم آموزش پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR فرادرس است که در ۳ ساعت و ۴۲ دقیقه و در قالب ۵ درس تهیه شده است. در درس اول این فیلم آموزشی آشنایی اولیه با میکروکنترلرهای AVR ارائه شده و در آن به میکروکنترلرهای این خانواده، مفهوم فیوز بیت (Fuse bits) و بیت قفل، منابع کلاک سیستم و منابع Reset سیستم پرداخته شده است. موضوع درس دوم ساختار حافظه است و در آن به مباحث حافظه برنامه (Flash)، حافظه داده (RAM) و حافظه EEPROM پرداخته شده است.

ساختار پورت‌ها در درس سوم ارائه شده و شامل موضوعاتی از قبیل مفهوم پورت، ورودی و خروجی و معرفی رجیسترهای مربوط به پورت‌ها است. کار با نرم افزار CodevisionAVR در درس چهارم مورد بحث قرار گرفته و در آن آشنایی اولیه با محیط نرم‌افزار، ساخت پروژه، نوشتن برنامه و کامپایل کردن آن و برنامه‌ریزی IC میکروکنترلر ارائه شده است. در نهایت، در درس پنجم چند پروژه نمونه و شبیه‌سازی در نرم‌افزار پروتئوس (Proteus) ارائه شده و در آن‌ها کار با پورت‌ها (کلید فشاری، LED و سون سگمنت)، اتصال صفحه کلید ماتریسی، اتصال LCD کاراکتری، پروژه قفل رمزی دیجیتال و پروژه راه‌اندازی استپر موتور (Stepper motor) آموزش داده شده است.

معرفی فیلم آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

معرفی فیلم آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

یکی دیگر از منبع بسیار مفید کدویژن فیلم آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR است که مدت آن ۴ ساعت و ۲۱ دقیقه بوده و در سه درس تهیه و ارائه شده است. در درس یکم این آموزش ویدیویی به معماری وقفه‌ها پرداخته شده است. در این درس به مباحث وقفه (Interrupt)، منابع وقفه، رسیدگی به وقفه، وقفه‌های پرچم‌دار و بدون پرچم، پرچم (Flag)، اجرای تابع وقفه، نوشتن ‘1’ در بیت پرچم، تقدم وقفه‌ها (Interrupts Priority)، بردار وقفه، شروط پذیرش وقفه، فعال‌کننده کلی وقفه‌ها، دستور اسمبلی SEI، فعال شدن وقفه مورد نظر، عدم اجرای تابع وقفه دیگری، وقفه‌های خارجی، حساسیت وقفه، لبه بالارو، لبه پایین‌رو و سطح منطقی 0 پرداخته شده است.

موضوع درس دوم تایمرها است و در آن، به این موضوعات پرداخته شده است: تفاوت تایمر (Timer) و شمارنده (Counter)، تایمر/شمارنده‌های ATMEGA32، تایمر/شمارنده صفر: ۸ بیتی، تایمر/شمارنده یک: ۱۶ بیتی، تایمر/شمارنده دو: ۸ بیتی، حالت‌های عملکرد (Modes of Operation)، حالت عادی (Normal)، حالت CTC، حالت PWM سریع (Fast PWM)، حالت PWM تصحیح فاز (Phase Correct PWM)
تعریف موج PWM، جفت رجیستر شمارشی TCNT1H, TCNT1L، تنظیمات TCCR1Aو  TCCR1B، رجیستر‌های مقایسه‌ای OCR1AH و OCR1AL و OCR1BH و OCR1BL، جفت رجیستر دام‌اندازی ICR1H و ICR1L، تنظیمات وقفه تایمرها TIMSK، پرچم‌های تایمرها TIFR.

در درس سوم آموزش مقایسه‌گر آنالوگ معرفی شده است. در درس چهارم مبدل آنالوگ به دیجیتال (تعاریف اولیه، ورودی Single-Ended (یک طرفه) و ورودی Differential (تفاضلی)، رزولوشن تبدیل، دقت تبدیل، زمان تبدیل، پله ولتاژ، جفت رجیستر داده ADCH , ADCL → ADCW، رجیسترهای تنظیمات DCSRA و ADMUX و SFIOR) معرفی شده‌اند.

در نهایت، در درس پنجم، پروژه‌هایی ارائه خواهد شد که در آن‌ها حالت‌های عملکرد، همزمان (Synchronous)، ناهمزمان (Asynchronous)، پایه‌ها، فریم داده، نرخ مبادله (Baud Rate) و رجیسترهای مربوط بیان شده است.

بر اساس رای ۱۱ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
HP InfoTech
نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *