مرجع جامع میکروکنترلر AVR

این کتاب حاصل ۳ سال تلاش مولفین و حداقل ۱۰ سال تجربه تدریس میکروکنترلرها است که به شکلی کاملا کاربردی و جامع به بررسی و آموزش AVR می پردازد. از آنجایی که مولفین، جزء تیم تدوین استاندارد درسی سازمان فنی و حرفه ای بوده اند این کتاب، اولین و تنها مرجع استاندارد درسی میکروکنترلر AVR سازمان فنی و حرفه ای می باشد.

 

نام کتاب: مرجع جامع میکروکنترلر AVR

مولف: رضا سپاس یار، یداله مهریزی
تعداد صفحه: ۶۰۸
نشر: کتاب آوا
شابک: ۹۷۸-۶۰۰-۶۵۵۸-۲۲-۶
قطع کتاب: وزیری

 

فهرست کلی

۱ توانایی شناخت سیستم‏ های تعبیه  شده

۲ توانایی رسم فلوچارت

۳ توانایی برنامه انویسی به زبان C

۴ مبانی طراحی یک سیستم مبتنی بر AVR

۵ توانایی استفاده از پورت‏ های I/O

۶ توانایی راه ‏اندازی LCD کاراکتری

۷ توانایی راه  اندازی صفحه کلید ماتریسی

۸ توانایی راه اندازی موتورهای پله ای

۹ توانایی برنامه نویسی مبتنی بر وقفه

۱۰ توانایی استفاده از وقفه های خارجی

۱۱ توانایی استفاده از زمان‏سنج/شمارنده  ها

۱۲ توانایی استفاده از USART

۱۳ توانایی استفاده از TWI

۱۴ توانایی استفاده از SPI

۱۵ توانایی استفاده از مبدل آنالوگ به دیجیتال

۱۶ توانایی استفاده از مقایسه کننده ی آنالوگ

۱۷ توانایی استفاده از EEPROM داخلی

۱۸ توانایی استفاده از Boot Loader

۱۹ توانایی استفاده از Mode های خواب

۲۰ توانایی استفاده از منابع Reset و برنامه نویسی متناسب با آن

۲۱ توانایی استفاده از Watchdog

پیوست الف. آشنایی با انواع حسگر ها

پیوست ب. پروگرام کردن AVR

پیوست ج. جدول کد های ASCII

پیوست د. مشخصات قطعات

پیوست ه. خلاصه ی رجیستر ها

پیوست و. فیوزبیت‏ ها

پیوست ز. تصحیح فایل mega32.h

پیوست ح. چیدمان پایه  های ATmega32

پیوست ط. خلاصه ی دستورالعمل‏ ها

پیوست ی. اشکال‏زدایی به کمک JTAGICE

منابع

 

فهرست کامل

فصل اول: توانایی شناخت سیستم‏ های تعبیه شده

آشنایی با اهمیت و کاربرد سیستم‏ های تعبیه شده

تجهیزات صنعتی

روباتیک

تجهیزات پزشکی

سیستم‏ های مخابراتی

خودرو های جدید

وسائل کاربردی

سایر زمینه  ها

۱٫۱ آشنایی با ویژگی‏ های مشترک سیستم‏ های تعبیه شده

۱٫۱٫۱ اعتبار

۱٫۱٫۲ بازدهی

۱٫۱٫۳ عملکرد تک کاربردی

۱٫۱٫۴ عملکرد بی درنگ

۱٫۱٫۵ واسط کاربری

۱٫۱٫۶ محیط کاری

۱٫۲ فرآیند طراحی یک سیستم تعبیه شده

۱٫۳ آشنایی با انواع ترنسدیوسرها و حسگرها

۱٫۴ آشنایی با روش‏ های آماده سازی سیگنال

۱٫۵ آشنایی با پردازنده  ها به عنوان واحد کنترل

۱٫۶  آشنایی با مدارات راه‌انداز

۱٫۷ آشنایی با خروجی‏ های یک سیستم کنترلی

۱٫۸ آشنایی با مفهوم سازگاری الکترومغناطیسی یا EMC

۱٫۹ آشنایی با روش‏ های تداخل

کوپلینگ هدایتی

کوپلینگ خازنی

کوپلینگ القایی

کوپلینگ تشعشعی

۱٫۱۱ آشنایی با برخی روش‏ های بهبود EMC

۱٫۱۱٫۱ نحوه ی چیدمان قطعات

۱٫۱۱٫۲ خطوط زمین

نحوه ی ایجاد نویز زمین

کاهش نویز مسیر زمین

۱٫۱۱٫۳ خط تغذیه

دیکوپل کردن تغذیه ی قطعات

۱٫۱۱٫۴ فیلتر خط

۱٫۱۱٫۵ شیلد و انواع آن

شیلد در مقابل کوپلینگ خازنی

شیلد در مقابل کوپلینگ القایی

 

فصل دوم: توانایی رسم فلوچارت

۲٫۱ مقدمه

۲٫۲ طراحی بالا به پایین و پایین به بالا

۲٫۳ آشنایی با فلوچارت و اجزاء اساسی آن

۲٫۲٫۱ شروع و بازگشت

۲٫۲٫۱  بلوک فرآیند

۲٫۲٫۲ بلوک تصمیم گیری

۲٫۳ طراحی یک فلوچارت سطح بالا

۲٫۴  آشنایی با سایر اجزاء فلوچارت

۲٫۳۱ ساختار ترتیب

۲٫۳٫۲ ساختار if-then-else

۲٫۳٫۳ ساختار while

۲٫۳٫۴ ساختار های مشتق شده

 

فصل سوم: توانایی برنامه نویسی مقدماتی به زبان C

۳٫۱ مقدمه

۳٫۲ آشنایی با مفهوم شناسه

۳٫۳ آشنایی با انواع داده

۳٫۴ آشنایی با مفهوم متغیر

۳٫۴٫۱ آشنایی با مفهوم متغیر عمومی، محلی و ایستا

۳٫۴٫۲ متغیرهای عمومی

۳٫۴٫۳ متغیر محلی

۳٫۴٫۴ متغیرهای ایستا

۳٫۴٫۵ کلمه ی کلیدی volatile

۳٫۵ آشنایی با مفهوم ثوابت

رهنمود پیش پردازنده ی #define

۳٫۶ آشنایی با مفهوم آرایه

۳٫۷ آشنایی با مفهوم رشته

۳٫۸ آشنایی با مفهوم ساختار

۳٫۹ آشنایی با مفهوم عملگر و انواع آن

۳٫۹٫۱ عملگرهای حسابی و بیتی

۳٫۹٫۲ عملگرهای یکانی

۳٫۹٫۳  عملگرهای رابطه ای و منطقی

عملگرهای انتساب

۳٫۱۰ آشنایی با یک برنامه ی ساده به زبان C

۳٫۱۱ آشنایی با دستورات انتخاب

۳٫۱۱٫۱ دستور if

۳٫۱۱٫۲ دستور if-else

۳٫۱۱٫۳ نردبان if-else-if

۳٫۱۲ دستور switch

۳٫۱۳ آشنایی با دستورات تکرار

۳٫۱۳٫۱ حلقه ی for

۳٫۱۳٫۲ حلقه ی while

۳٫۱۳٫۳  حلقه ی do-while

۳٫۱۴ پرش ‏های غیر شرطی

۳٫۱۴٫۱  دستور goto

۳٫۱۴٫۲ دستور break

۳٫۱۴٫۳  دستور continue

۳٫۱۵  آشنایی با تابع

 

فصل چهارم: مبانی طراحی یک سیستم مبتنی بر AVR

۴٫۱ آشنایی با میکروکنترلرها و ساختار عمومی آن‏ ها

۴٫۲ آشنایی با عملکرد میکروکنترلرها و اجزاء اساسی آن‏ ها

۴٫۳ آشنایی با نقش حافظه  ها در میکروکنترلر‏ ها

۴٫۴ آشنایی با مفاهیم برنامه نویسی و سطوح آن

۴٫۵  آشنایی با مفهوم برنامه ریزی کردن میکروکنترلر

۴٫۶  مقایسه ی زبان اسمبلی با زبان‏ های سطح بالا

۴٫۶٫۱  برخی مزایای زبان‏ های سطح بالا نسبت به اسمبلی

۴٫۶٫۲  مزایای زبان اسمبلی نسبت به زبان‏ های سطح بالا

۴٫۷  آشنایی با میکروکنترلرهای خانواده ی AVR

۴٫۷٫۱  سری tinyAVR

۴٫۷٫۲ سری megaAVR

۴٫۸ آشنایی با CPU میکروکنترلرهای AVR

۴٫۷ شناسایی نوع و نقش حافظه  های ATmega32

۴٫۷٫۱ حافظه ی برنامه

۴٫۷٫۲ فضای حافظه ی داده

رجیسترهای I/O

حافظه ی SRAM

۴٫۷٫۳ حافظه ی  EEPROM

۴٫۸  آشنایی با حداقل نیازها برای راه اندازی میکروکنترلر

۴٫۸ آشنایی با مفهوم فیوزبیت

۴٫۹ آشنایی با منابع تامین کلاک و تفاوت‏ های آن‏ ها

۴٫۹٫۱ نوسان‏ساز RC داخلی

۴٫۹٫۲ نوسان‏ساز RC خارجی

۴٫۹٫۳ کلاک خارجی

۴٫۹٫۴ کریستال کوارتز یا رزوناتور سرامیکی

۴٫۹٫۵ کریستال فرکانس پایین

 

فصل پنجم: توانایی استفاده از پورت‏ های I/O

۵٫۱ شناسایی کاربرد و مشخصه  های پورت‏ ها و پایه  های I/O

۵٫۱٫۱ وظیفه و مشخصات پین در وضعیت خروجی

۵٫۱٫۲ مشخصات پین در وضعیت ورودی و مفهوم مقاومت‏ های Pull-up

۵٫۲ آشنایی با سخت افزار پایه  های I/O در AVR

۵٫۳ آشنایی با رجیستر های مربوط به پورت‏ ها

۵٫۳٫۱ رجیسترهای DDR، PORT و PIN

۵٫۳٫۲ خواندن از پورت

۵٫۴ استفاده از LED برای نمایش وضعیت پایه

۵٫۵ آشنایی با اصول استفاده از کلیدهای فشاری و مفهوم Debouncing

یادآوری –  نحوه ی‏ عملکرد گیت اشمیت تریگر

۵٫۶ آشنایی با CodeWizardAVR برای تنظیمات I/O‏ ها

۵٫۷ آشنایی با تاخیرهای نرم افزاری

۵٫۸ شناسایی اصول استفاده از توابع تاخیر در ساخت یک برنامه ی‏ چشمک زن

 

فصل ششم: توانایی راه اندازی LCD کاراکتری

۶٫۱ آشنایی با LCD و انواع آن‏ ها‏

۶٫۲   انواع کانکتور LCD

۶٫۳  آشنایی با پایه  ها‏ی یک LCD کاراکتری

۶٫۴  صفحه نمایش LCD

۶٫۵  حافظه  ها‏ی کنترلر HD44780

۶٫۵٫۱ رجیستر‏ ها‏ی داده و دستورالعمل

۶٫۵٫۲ پرچم مشغول بودن

۶٫۵٫۳ رجیستر شمارنده ی آدرس

۶٫۵٫۴ حافظه ی نمایش داده

۶٫۵٫۵ حافظه ی ROM تولید کاراکتر

۶٫۵٫۶ حافظه ی RAM تولید کاراکتر

۶٫۶  مجموعه دستورالعمل‏ ها‏ی LCD

۶٫۶٫۱ پاک‏کردن نمایشگر

۶٫۶٫۲ بازگشت به ابتدای سطر اول

۶٫۶٫۳ کنترل وضعیت ورودی

۶٫۶٫۴ کنترل روشن و خاموش بودن نمایشگر

۶٫۶٫۵ جابجایی مکان‏نما یا نمایشگر

۶٫۶٫۶ تنظیم عملکرد

۶٫۶٫۷ تنظیم آدرس CGRAM

۶٫۶٫۸ تنظیم آدرس DDRAM

۶٫۶٫۹ پرچم مشغول بودن و رجیستر آدرس

۶٫۶٫۱۰ نوشتن داده

۶٫۶٫۱۱ خواندن داده

۶٫۷ نمودار‏ها‏ی زمانی دسترسی به کنترلر

۶٫۷٫۱ عملیات نوشتن

۶٫۷٫۲ عملیات خواندن

۶٫۸ اصول ارتباط‏دهی میکروکنترلر با نمایشگر LCD

۶٫۸٫۱ توابع پایه

۶٫۸٫۲ توابع کاربردی نمایشگر LCD

۶٫۸٫۳ نمونه برنامه ای برای ارتباط با LCD کاراکتری

۶٫۹ آشنایی با حافظه ی CGRAM و تعریف کاراکتر جدید

۶٫۱۰ استفاده از امکانات کامپایلر برای راه اندازی LCD

۶٫۱۱ استفاده از حافظه ی CGRAM با استفاده از توابع CodeVisionAVR

۶٫۱۲ نمایش مقدار متغیر بر روی LCD

 

فصل هفتم: توانایی راه اندازی صفحه کلید ماتریسی

۷٫۱ آشنایی با سخت افزار صفحه کلیدهای ماتریسی و مفهوم اسکن‏کردن

۷٫۲ آشنایی با چگونگی خواندن یک مقدار به کمک صفحه کلید

۷٫۲٫۱ شناسایی اصول نوشتن تابعی برای خواندن صفحه کلید

۷٫۳  شناسایی اصول استفاده از صفحه کلیدهای ماتریسی

پیاده سازی نرم افزار

 

فصل هشتم: توانایی کار با موتور پله ای

مقدمه

۸٫۱  آشنایی با ساختمان موتورهای پله ای و انواع آن‏ ها

۸٫۲ آشنایی با موتورهای پله ای تک‏قطبی

۸٫۴  درجه ی موتور پله ای

۸٫۵  نحوه ی عملکرد موتورهای پله ای تک قطبی و نیم‏پله

۸٫۶  نحوه ی عملکرد موتورهای پله ای تک قطبی و دوفاز

۸٫۷    آشنایی با سوییچ ترانزیستوری و ULN2003

۸٫۸    شناسایی اصول راه اندازی موتور پله ای با قطعه ی ULN2003

برنامه ی راه انداز موتور پله ای به روش تمام پله

تابع یک دور حرکت موتور در جهت عقربه  های ساعت

تابع یک دور حرکت موتور در خلاف جهت عقربه  های ساعت

۸٫۹ موتورهای مغناطیس دائم دو قطبی

۸٫۱۰  نحوه ی عملکرد موتور پله ای دو قطبی به صورت تمام پله

۸٫۱۱  نحوه ی عملکرد موتور پله ای دو قطبی به صورت نیم پله

۸٫۱۲  نحوه ی عملکرد موتور پله ای دو قطبی به صورت دوفاز

۸٫۱۳  نحوه ی عملکرد موتور پله ای دو رشته ای

۸٫۱۴  آشنایی با IC‏ های L297 و L298

۸٫۱۵  شناسایی اصول راه اندازی موتور پله ای با IC‏ های L297 و L298

 

فصل نهم: توانایی برنامه نویسی مبتنی بر وقفه

۹٫۱ آشنایی با مفهوم وقفه

۹٫۲   منابع وقفه میکروکنترلر ATmega32

۹٫۳  آشنایی با بیت‏ های پرچم وقفه و فعال ساز وقفه

۹٫۳٫۱ بیت‏ های پرچم وقفه

۹٫۳٫۲ بیت‏ های فعال‏ساز وقفه

۹٫۴ آشنایی با رفتار CPU هنگام ایجاد وقفه

۹٫۵ آشنایی با اولویت وقفه  ها

۹٫۶ آشنایی با روش ایجاد وقفه  های تودرتو

۹٫۷ آشنایی با روتین سرویس وقفه در کامپایلر CodeVisionAVR

 

فصل دهم: توانایی استفاده از وقفه  های خارجی

۱۰٫۱  آشنایی با مفهوم وقفه  های خارجی و پایه  های درخواست وقفه

۱۰٫۲ آشنایی با نحوه ی تنظیم و راه اندازی وقفه  های خارجی

۱۰٫۳  آشنایی با مفهوم حساسیت به لبه و سطح

۱۰٫۴  شناسایی اصول آماده سازی وقفه  های خارجی به کمک CodeWizardAVR

۱۰٫۵  شناسایی اصول تحریک وقفه  های خارجی به کمک کلیدهای فشاری

 

فصل یازدهم: توانایی استفاده از زمان‏سنج/شمارنده  ها

۱۱٫۱ آشنایی با شمارنده  های دیجیتال

۱۱٫۲ آشنایی با مفهوم سرریز شمارنده

۱۱٫۳ آشنایی با تفاوت زمان‏سنج‏ و شمارنده

۱۱٫۴ آشنایی با زمان‏سنج‏/شمارنده  ها در قطعه ی ATmega32

۱۱٫۵ آشنایی کلی با زمان‏سنج‏/شمارنده ی صفر

۱۱٫۶ آشنایی دقیق تر با زمان‏سنج‏/شمارنده ی صفر

انتخاب منبع کلاک زمان‏سنج‏/شمارنده

پرچم سرریز زمان‏سنج‏/شمارنده

۱۱٫۷ آشنایی با وضعیت‏ های کاری زمان‏سنج‏/شمارنده ی صفر

۱۱٫۸ آشنایی با وضعیت Normal در زمان‏سنج‏/شمارنده ی صفر

۱۱٫۹ زمان‏سنج‏/شمارنده با عملکرد زمان‏سنجی و شمارش در وضعیت Normal

۱۱٫۱۰ آشنایی با وقفه ی سرریز زمان‏سنج‏/شمارنده ی صفر

۱۱٫۱۱ آشنایی با زمان‏سنج‏/شمارنده با امکان مقایسه

واحد مقایسه ی خروجی در زمان‏سنج‏/شمارنده ی صفر

۱۱٫۱۲ آشنایی با وضعیت CTC در زمان‏سنج‏/شمارنده ی صفر

۱۱٫۱۳ آشنایی با روش تولید شکل موج در وضعیت CTC

۱۱٫۱۴ آشنایی با مفهوم Glitch و اثر آن هنگام تغییر فرکانس

۱۱٫۱۵ آشنایی با مفهوم مدولاسیون عرض پالس (PWM)

۱۱٫۱۷ آشنایی با وضعیت Fast PWM در زمان‏سنج‏ / شمارنده ی صفر

۱۱٫۱۸ آشنایی با وضعیت Phase Correct PWM در زمان‏سنج‏/شمارنده ی صفر

۱۱٫۱۹ آشنایی با بیتِ تغییر اجباری خروجیِ زمان‏سنج/شمارنده ی صفر

۱۱٫۲۰ آشنایی با نحوه ی تنظیم زمان سنج/شمارنده ی صفر با CodeWizardAVR

۱۱٫۲۱ آشنایی با ویژگی‏ های زمان‏سنج‏/شمارنده ی یک

۱۶ بیتی بودن زمان‏سنج/شمارنده ی یک

دو واحد مقایسه ی مستقل

وضعیت‏ های کاری فراوان

قابلیت ورودی شکار

۱۱٫۲۲ آشنایی با سخت افزار زمان‏سنج‏/شمارنده ی یک

۱۱٫۲۳ آشنایی با وضعیت‏ های کاری زمان‏سنج/شمارنده ی یک

۱۱٫۲۴ آشنایی با نحوه ی دسترسی به رجیستر های ۱۶ بیتی

۱۱٫۲۵ شناسایی وضعیت Normal در زمان‏سنج/شمارنده ی یک

۱۱٫۲۶ شناسایی اصول استفاده از زمان‏سنج/شمارنده ی یک در وضعیت Normal

۱۱٫۲۷ آشنایی با وضعیت‏ های CTC و تفاوت آن‏ ها

۱۱٫۲۹ آشنایی با وضعیت‏ های PWM در زمان سنج/شمارنده ی یک

۱۱٫۳۰ شناسایی وضعیت‏ های PWM Fast در زمان سنج/شمارنده ی یک

۱۱٫۳۱ آشنایی با روش تنظیم واحد تولید شکل موج

۱۱٫۳۲ آشنایی با روش تولید شکل موج در وضعیت Fast PWM

۱۱٫۳۳ آشنایی با Glitch در وضعیت‏ های PWM

۱۱٫۳۴ شناسایی وضعیت‏ های PWM Phase Correct در زمان سنج/شمارنده ی یک

۱۱٫۳۵ آشنایی با روش تنظیم واحد تولید شکل موج

۱۱٫۳۶ آشنایی با روش تولید شکل موج در وضعیت Phase Correct PWM

۱۱٫۳۷ آشنایی با وضعیت Phase and Frequency Correct PWM

۱۱٫۳۸ آشنایی با روش تنظیم واحد تولید شکل موج

۱۱٫۳۹ آشنایی با روش تولید شکل موج در وضعیت Phase and Frequency Correct

۱۱٫۴۰ آشنایی با قابلیت شکار در زمان سنج/شمارنده ی یک

نحوه ی دسترسی به ICR1

پایه ی ورودی شکار (ICP1)

حذف کننده ی نویز

انتخاب لبه ی سیگنال تحریک

۱۱٫۴۱ شناسایی اصول استفاده از قابلیت شکار زمان سنج/شمارنده ی یک

۱۱٫۴۲ آشنایی با نحوه ی تنظیم زمان سنج/شمارنده ی يك با CodeWizardAVR

۱۱٫۴۳ آشنایی با سخت افزار زمان‏سنج‏/شمارنده ی دو

۱۱٫۴۴ آشنایی با مفهوم عملکرد غیرهمزمان در زمان سنج/شمارنده ی دو

۱۱٫۴۵ آشنایی با وضعیت‏ های کاری زمان سنج/شمارنده ی دو

وضعیت CTC در زمان سنج شمارنده ی دو

وضعیت Fast PWM در زمان سنج شمارنده ی دو

وضعیت Phase Correct PWM در زمان سنج شمارنده ی دو

۱۱٫۴۶ آشنایی با واحد انتخاب منبع کلاک در زمان سنج/شمارنده ی دو

۱۱٫۴۷ آشنایی با سایر بیت‏ های رجیستر وضعیت غیرهمزمان

۱۱٫۴۸ استفاده از عملکرد غیرهمزمان برای ایجاد RTC

۱۱٫۴۹ آشنایی با نحوه ی تنظیم زمان سنج/شمارنده ی دو با CodeWizardAVR

 

فصل دوازدهم: توانایی استفاده از USART

۱۲٫۱ آشنایی با مفهوم ارتباط سریال

۱۲٫۲ آشنایی با مفهوم ارتباط سریال همزمان و غیرهمزمان

ارتباط سریال همزمان

ارتباط سریال غیر همزمان

۱۲٫۳ آشنایی با مفهوم Simplex، Full-Duplex و Half-Duplex

۱۲٫۴ آشنایی با مفهوم USART

۱۲٫۵ آشنایی با اجزای یک قاب داده

بیت شروع

بیت‏ های داده

بیت توازن

بیت يا بيت‌ هاي پایان

۱۲٫۶ آشنایی با مفهوم Baud Rate

۱۲٫۷ آشنایی با سخت افزار USART در قطعه ی ATmega32

۱۲٫۸ شناسایی اصول محاسبه ی نرخ انتقال در وضعیت‏ های مختلف USART

۱۲٫۹ آشنایی با مفهوم پلاریته ی کلاک در وضعیت همزمان

۱۲٫۱۰ آشنایی با رجیستر داده ی USART

۱۲٫۱۱ آشنایی با پرچم‏ های USART

پرچم RXC

پرچم TXC

پرچم UDRE

۱۲٫۱۲ آشنایی با بیت‏ های تنظیم قاب داده

تنظیم تعداد بیت‏ های داده

تنظیم بیت‏ توازن

تنظیم بیت‏ پایان

۱۲٫۱۳ آشنایی با پرچم‏ های خطا

خطای قاب

خطای سرریز

خطای توازن

۱۲٫۱۴ آشنایی با روش دسترسی به رجیستر های UCSRC و UBRRH

۱۲٫۱۵ شناسایی اصول آماده سازی USART

۱۲٫۱۶ آشنایی با استاندارد RS-232

۱۲٫۱۷ آشنایی با محیط ترمینال در نرم افزار CodeVisionAVR

۱۲٫۱۸ شناسایی اصول ارسال داده به شیوه ی سرکشی

۱۲٫۱۹ شناسایی اصول دریافت داده به شیوه ی سرکشی

۱۲٫۲۰ آشنایی با ارتباط چند پردازنده ای به کمک USART

۱۲٫۲۱ آشنایی با توابع کامپایلر CodeVisionAVR برای استفاده از USART

۱۲٫۲۲ آشنایی با توابع printf()، scanf()، sprintf() و sscanf()

تابع printf()

تابع scanf()

sprintf()

sscanf()

تنظیمات مربوط به توابع فرمت در کامپایلر CodeVision

۱۲٫۲۳ شناسایی اصول تنظیم USART به کمک CodeWizardAVR

ارسال و دریافت با استفاده از وقفه  های USART

۱۲٫۲۴ آشنایی با مفهوم بافر دایره ای

نوشتن در بافر

خواندن از بافر

نوشتن در بافر

خواندن از بافر

 

فصل سیزدهم: توانایی استفاده از TWI

۱۳٫۱ معرفی باس I2C

۱۳٫۲ آشنایی با نسخه  های استاندارد I2C

۱۳٫۳ آشنایی با مفاهیم باس I2C

۱۳٫۴ آشنایی با مشخصات فیزیکی باس

۱۳٫۵ آشنایی با عناصر باس I2C

شرایط شروع و پایان

شرایط باز شروع

انتقال داده

شرایط تصدیق و عدم تصدیق

۱۳٫۶ آشنایی با بسته  های آدرس و داده

بسته ی آدرس

بسته ی داده

۱۳٫۷ آشنایی با روش انتقال داده در باس I2C

۱۳٫۸ آشنایی با حکمیت در سیستم‏ های Multi-master

۱۳٫۹ آشنایی با واحد TWI در میکروکنترلر AVR

پایه  های SDA و SCL

واحد ارتباط دهی باس

مولد نرخ کلاک

واحد تطبیق آدرس

واحد کنترل

۱۳٫۱۰ آشنایی با نحوه ی تعیین کلاک ارتباط I2C

۱۳٫۱۱ آشنایی با رجیستر های واحد TWI

رجیستر TWCR

بیت‏ های ۷ و ۰ – TWINT و TWIE

بیت ۶ – TWEA

بیت ۵ – TWSTA

بیت ۴ – TWSTO

بیت ۳ – TWWC

بیت ۲ – TWEN

رجیستر TWSR

بیت‏ های ۳ تا ۷ – TWS[7:0]

رجیستر TWDR

رجیستر TWAR

بیت‏ های ۱ تا ۷ – TWA[6:0]

بیت‏ ۰ – TWGCE

۱۳٫۱۲ آشنایی با وضعیت‏ های کاری TWI

۱۳٫۱۳ آشنایی با وضعیت‏ Master Transmitter

۱۳٫۱۴ شناسایی اصول راه اندازی واحد TWI در وضعیت Master Transmitter

۱۳٫۱۵ آشنایی با وضعیت‏ Master Receiver

۱۳٫۱۶ شناسایی اصول راه اندازی واحد TWI در وضعیت Master Receiver

۱۳٫۱۷ آشنایی با وضعیت‏ Slave Transmitter

۱۳٫۱۸ شناسایی اصول راه اندازی واحد TWI در وضعیت‏ Slave Transmitter

۱۳٫۱۹ آشنایی با وضعیت‏ Slave Receiver

۱۳٫۲۰ شناسایی اصول راه اندازی واحد TWI در وضعیت‏ Slave

۱۳٫۲۱ شناسایی اصول راه اندازی واحد TWI به کمک CodeWizardAVR

۱۳٫۲۲ آشنایی با توابع نرم‏افزاری CodeVisionAVR برای دسترسی به باس I2C

۱۳٫۲۳ آشنایی با EEPROM های سری ۲۴

معرفی پایه  های AT24C64

سازمان حافظه ی AT24C64

عملکرد وسیله

عملیات نوشتن

عملیات خواندن

پیاده سازی برنامه ی دسترسی به EEPROM

 

فصل چهاردهم: توانایی استفاده از SPI

۱۴٫۱ آشنایی با مشخصه  های پروتکل SPI

۱۴٫۲ آشنایی با نحوه ی اتصال دو وسیله ی Master و Slave

۱۴٫۳ آشنایی با چگونگی انتقال داده بین Master و Slave

۱۴٫۴ آشنایی با واحد SPI در قطعه ی ATmega32

۱۴٫۵ آشنایی با روش فعال کردن واحد SPI و تعیین Master یا Slave بودن آن

۱۴٫۶ آشنایی با نحوه ی تغییر جهت پایه  های SPI در وضعیت Master و Slave

۱۴٫۷ آشنایی با رجیستر داده ی SPI

۱۴٫۸ آشنایی با پرچم‏ های SPI و وقفه ی آن

۱۴٫۹ آشنایی با نحوه ی تنظیم سرعت SPI

۱۴٫۱۰ آشنایی با وضعیت‏ های کاری SPI

۱۴٫۱۱ آشنایی با عملکرد پایه ی   در سیستم‏ های چند Slave

۱۴٫۱۲ شناسایی اصول انتقال یک بایت به روش سرکشی

برنامه ی میکروکنترلر Slave

۱۴٫۱۳ شناسایی اصول انتقال یک بایت به روش وقفه

۱۴٫۱۴ آشنایی با تنظیم SPI بوسیله ی CodeWizardAVR

 

فصل پانزدهم: توانایی استفاده از مبدل آنالوگ به دیجیتال

۱۵٫۱ آشنایی با مفهوم تبدیل آنالوگ به دیجیتال

۱۵٫۲ گسسته شدن سیگنال آنالوگ در زمان و مقدار

۱۵٫۳ مفهوم ولتاژ مرجع

۱۵٫۴ قانون نمونه برداری Nyquist و مشکل Aliasing

تئوری نمونهبرداری Nyquist           ۴۳۳

۱۵٫۵ آشنایی با سیگنال‏ های تک پایانه و تفاضلی

۱۵٫۶ آشنایی با یک نمونه مبدل آنالوگ به دیجیتال

۱۵٫۷ آشنایی با واحد ADC در میکروکنترلر AVR

۱۵٫۸ تغذیه ی واحد ADC

۱۵٫۹ آشنایی با روش انتخاب کانال ورودی

۱۵٫۱۰ آشنایی با روش انتخاب ولتاژ مرجع

۱۵٫۱۱ آشنایی با بیت فعال ساز، پرچم اتمام تبدیل و وقفه ی ADC

۱۵٫۱۲ آشنایی با رجیستر داده ی ADC

۱۵٫۱۳ آشنایی با بیت ADLAR و تاثیر آن بر رجیستر داده

۱۵٫۱۴ آشنایی با واحد انتخاب منبع کلاک ADC

  1. ۱۵ آشنایی با واحد انتخاب منبع تحریک ADC

۱۵٫۱۶ آشنایی با روش راه اندازی ADC به صورت Free Running

۱۵٫۱۷ شناسایی اصول تنظیم ADC به کمک CodeWizardAVR بدون استفاده از وقفه

۱۵٫۸ شناسایی اصول تنظیم ADC به کمک CodeWizardAVR با استفاده از وقفه

۱۵٫۱۹ بحث تکمیلی – ساختار ADC‏ های Successive Approximation

۱۵٫۲۰ برای مطالعه – آشنایی با انواع خطا های تبدیل در ADC

۱۵٫۲۰٫۱ ADC ایده‌آل، کامل و واقعی

۱۵٫۲۰٫۲ خطای Offset

۱۵٫۲۰٫۳ خطای Gain

۱۵٫۲۰٫۴ غیرخطی بودن ADC

۱۵٫۲۱ خطای ناشی از تغییر دما، ولتاژ تغذیه و فرکانس کاری ADC

۱۵٫۲۲ پهنای باند ورودی ADC

۱۵٫۲۳ امپدانس ورودی ADC

۱۵٫۲۴ شناسایی اصول نمونه برداری از ولتاژ یک پتانسیومتر در هر ثانیه و ارسال نتیجه از طریق پورت سریال

۱۵٫۲۵ شناسایی اصول ساخت دماسنج با حسگر LM35 ونمایش دما بر روی LCD

 

فصل شانزدهم: توانایی استفاده از مقایسه کننده ی آنالوگ

۱۶٫۱ آشنایی با مفهوم مقایسه کننده ی ولتاژ

۱۶٫۲ آشنایی با مقایسه کننده ی آنالوگ در میکروکنترلر AVR

۱۶٫۳ آشنایی با سخت افزار مقایسه کننده ی آنالوگ

۱۶٫۴ آشنایی با چگونگی انتخاب ورودی‏ های مقایسه کننده ی آنالوگ

۱۶٫۵ آشنایی با نحوه ی تعیین حساسیت وقفه ی مقایسه کننده ی آنالوگ

۱۶٫۶ آشنایی با چگونگی تحریک ورودی شکار بوسیله ی مقایسه کننده ی آنالوگ

۱۶٫۷ شناسایی اصول استفاده از CideWizardAVR برای تنظیم مقایسه کننده ی آنالوگ

۱۶٫۸ شناسایی اصول استفاده از مقایسه کننده ی آنالوگ برای اندازه‌گیری ظرفیت خازن

 

فصل هفدهم: توانایی استفاده از حافظه ی EEPROM داخلی

۱۷٫۱ آشنایی با کاربرد حافظه ی EEPROM داخلی

۱۷٫۲ آشنایی با نحوه ی ارتباط دهی حافظه ی EEPROM موازی

معرفی مدار مجتمع M28C16

توضیح پایه عملکرد پایه  ها:

۱۷٫۳ آشنایی با روش تعیین آدرس (رجیسترهای EEARH و EEARL)

۱۷٫۴ آشنایی با رجیستر داده ی EEPROM (EEDR)

۱۷٫۵ آشنایی با رجیستر کنترل EEPROM (EECR)

۱۷٫۶  نوشتن بر روی EEPROM در Mode خواب Power-Down

۱۷٫۷ آشنایی با ملاحظات دسترسی به حافظه ی EEPROM

۱۷٫۸ آشنایی با اصول نوشتن بر روی حافظه ی EEPROM

۱۷٫۹ آشنایی با اصول خواندن داده از حافظه ی EEPROM

۱۷٫۱۰ شناسایی اصول خواندن و نوشتن در EEPROM در یک برنامه ی کاربردی

 

فصل هجدهم: توانایی استفاده از Boot Loader

۱۸٫۱ آشنایی با کاربرد فضای Boot Loader و مفهوم خود برنامه ریزی

۱۸٫۲ آشنایی با نحوه ی طبقه بندی حافظه ی Flash

۱۸٫۳  آشنایی با قابلیت Read-While-Write    ۵۰۴

۱۸٫۴   آشنایی با نحوه ی آدرس دهی حافظه ی Flash

۱۸٫۵   آشنایی با رجیستر SPMCR و بیت‏ های آن

۱۸٫۶  آشنایی با پاک کردن صفحه

۱۸٫۷  آشنایی با بارگذاری بافر صفحه

۱۸٫۸  آشنایی با نوشتن صفحه

۱۸٫۹  آشنایی با Boot Lock Bit‏ ها و تنظیمات آن‏ ها

۱۸٫۱۰   آشنایی با تنظیم کردن Boot Lock Bit‏ ها به صورت نرم‏افزاری

۱۸٫۱۱    آشنایی با خواندن Fuse Bit‏ ها، Lock Bit‏ ها و Boot Lock Bit‏ ها به صورت نرم افزاری

۱۸٫۱۲   پرچم مشغول بودن بخش RWW (RWWSB)

۱۸٫۱۳  استفاده از وقفه ی SPM        ۵۲۴

۱۸٫۱۴   شناسایی اصول خود برنامه ریزی به کمک USART

 

فصل نوزدهم: توانایی استفاده از Mode های خواب

۱۹٫۱ مقدمه         ۵۳۶

۱۹٫۲ آشنایی با مدیریت توان و Mode‏ های خواب

۱۹٫۳ آشنایی با Mode خواب Idle

۱۹٫۴ آشنایی با Mode خواب ADC Noise Reduction

۱۹٫۵ آشنایی با Mode خواب Power-Down

۱۹٫۶ آشنایی با Mode خواب Power-Save

۱۹٫۷ آشنایی با Mode خواب Standby

۱۹٫۸ آشنایی با Mode خواب Extended Standby

۱۹٫۹ شناسایی اصول انتخاب Mode‏ های Sleep توسط بیت‏ های SM[2:0]

۱۹٫۱۰ شناسایی اصول فعال سازی Mode‏ های Sleep توسط بیت SE

۱۹٫۱۱ شناسایی اصول فعال سازی Mode‏ های Sleep در CodeVisionAVR و …

۱۹٫۱۲ آشنایی با راهکارهایی جهت کاهش توان مصرفی

۱۹٫۱۳ شناسایی اصول استفاده از Mode‏ های Sleep

 

فصل بیستم: توانایی تشخیص منابع Reset و برنامه نویسی متناسب با آن

۲۰٫۱ آشنایی با مفهوم Reset و تاثیر آن بر عملکرد میکروکنترلر

۲۰٫۲ آشنایی با Power-on Reset

۲۰٫۲ آشنایی با Reset خارجی

۲۰٫۳  آشنایی با Brown-out Detection

۲۰٫۴  آشنایی با WD Reset

۲۰٫۵  آشنایی با بیت های نشانه ی رخ دادن Reset

۲۰٫۶ شناسایی اصول تشخیص منبع Reset به کمک بایت MCUCSR

۲۰٫۷  شناسایی اصول تنظیم CodeWizardAVR برای تشخیص منبع Reset

۲۰٫۸  شناسایی اصول برنامه نویسی برای تشخیص منبع Reset و اجرای عملکرد متناسب با آن

 

فصل بیست و یکم: توانایی استفاده از Watchdog

۲۱٫۱ آشنایی با مفهوم و وظیفه ی زمان‏سنج Watchdog

۲۱٫۲ آشنایی با سخت افزار WDT در ATmega32

۲۱٫۳ آشنایی با رجیستر های WDT

۲۱٫۴ شناسایی اصول استفاده از WDT در یک برنامه

پیوست‌ ها

پیوست الف) آشنایی با انواع حسگرها

پیوست ب) پروگرام کردن AVR

پیوست ج) جدول کدهای ASCII

پیوست د) مشخصات قطعات megaAVR

پیوست هـ) خلاصه ی رجیسترها

پیوست و) فیوزبیت‏ ها

پیوست ز) تصحیح فایل mega32.h

پیوست ح) چیدمان پایه  های ATmega32

پیوست ط) خلاصه ی دستورالعمل‏ ها

پیوست ی) اشکال‏ زدایی به کمک JTAG ICE

منابع

 

مرجع جامع میکروکنترلر AVR

برای مشاهده با سایز بزرگتر بر روی تصویر کلیک کنید

 

 

 

پاسخ دهید

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