- پیش نیاز فیلم های زبان C ساخته شده در سایت LPCARM.ir
- آموزش از سطح صفر تا سطح حرفه ای
- روش آموزش فیلم ضبط شده به صورت
دیدن چند فیلم، انجام تمرین و مجدد فیلمهای بعدی
- پشتیبانی و بررسی تمرینها در حین دوره
- تمرین ها و پروژه های متعدد تا پایان دوره
- برآورد تقریبی دوره حدود 50 ساعت آموزش
- نیاز به تهیه برد آموزشی از بازار هم دارد
- برخی از کدها در پروتئوس شبیه سازی می شوند
سرفصل های تدریس شده
- تدریس به صورت رجیستری
- بررسی دیتاشیت میکروکنترلر
- بررسی معماری داخلی میکروکنترلر
- بررسی سخت افزار لازم برای میکروکنترلر
- چگونگی دیباگ میکروکنترلر
- معرفی زبان اسمبلی برای
- کار با واحد GPIO
- پروژه راه اندازی کلید و LED
- پروژه تشخیص تایم کلید و پالس
- پروژه کاربا ال سی دی کاراکتری
- پروژه سون سگمنت و دات ماتریس
- راه اندازی موتور سروو، استپر و DC
- راه اندازی رله
- راه اندازی صفحه کلید و پروژه قفل رمزی
- معماری وقفه های میکروکنترلر
- راه اندازی پایه یا به صورت وقفه ای
- مدیریت وقفه ها
- راه اندازی واحد تایمر و PWM
- ساخت تاخیر با واحد تایمر
- پروژه کنترل نور LED با PWM
- راه اندازی واحد UART
- پروژه ارتباط با کامپیوتر
- کار با مبدل های ADC و DAC میکروکنترلر
- پروژه راه اندازی سنسور دما
- پروژه ولت متر
- راه اندازی واحد SPI
- پروژه افزایش پایه ها با شیفت رجیستر
- پروژه ارتباط با دیگر میکروکنترلرها
- راه اندازی واحد I2C
- پروژه ساعت با آی سی DS1307
- پروژه EEPROM با آی سی AT24Cxx
- پروژه ارتباط با دیگر میکروکنترلرها
- کار با تایمر سگ نگهبان (Watchdog)
دیگر مزایای دوره، برخورداری از آپدیت دوره در آینده
این دوره در واقع بخش اول دوره جامع میکروکنترلرها می باشد
خرید دوره از فروشگاه به نشانی http://lpcarm.ir/shop
به شکل ریزتر عناوین جلسات دوره را در زیر مشاهده نمایید
در این دوره ما با تمامی بخش های میکروکنترلر AVR کار خواهیم کرد و از نرم افزارهای مختلفی برای کار استفاده می نماییم از کامپایلر CodeVisionAVR و Microchip Studio (نسخه قدیمی تز Atmel Studio بود) و Avr Studio و Arduino IDE استفاده می نماییم. برنامه ها را روی برد ریخته و به کمک پروتئوس شبیه سازی می کنیم و برنامه ها به زبان سی و اسمبلی نوشته شده اند
ویدیوهای چند جلسه اول دوره را از کانال آپارات ما ببینید
فیلم 10 جلسه اول دوره
جلسه چهارم برنامه ریزی آردینو با USBASP
جلسه پنجم برنامه ریزی AVR با USBASP
جلسه ششم برنامه نویسی LED Blink
جلسه هشتم کد نویسی عمیق تر GPIO
جلسه اول کار عملی!
دانلود دیتاشیت AVR و بررسی آن
دانلود و نصب نرم افزار شبیه ساز Proteus
رسم یک مدار Blink LED با میکروکنترلر در پروتئوس
بررسی مقاومت لازم برای LED و مقاومت سری E12 و …
بررسی شماتیک برد آردینو uno و شرح پایه های AVR
جلسه دوم کار عملی!
بررسی آردینو نانو و اتصالات آن
دانلود و نصب برنامه Arduino
نصب درایور CH340
اجرای برنامه avrdudess برای برنامه ریزی آردینو
جلسه سوم بستن عملی مدار
بستن عملی مدار blink LED بر روی برد برد به کمک آردینو uno
جلسه چهارم برنامه ریزی آردینو با USBASP
نصب درایور پروگرمر usbasp
انتقال بوت لودر آردینو به برد آردینو
برنامه ریزی یک فایل HEX بر روی AVR با کمک avrdudess
جلسه پنجم برنامه ریزی AVR با USBASP
اتصالات لازم جهت برنامه ریزی AVR
بستن عملی AVR روی برد برد و برنامه ریزی آن به کمک usbasp
معرفی برنامه khazama و prog isp جهت برنامه ریزی AVR
جلسه ششم برنامه نویسی LED Blink
دانلود و نصب CodeVisionAVR
ساخت پروژه با کامپایلیر CodeVision
شبیه سازی AVR با نرم افزار پروتئوس
ساخت LED چشمک زن و برنامه نویسی صفر تا 100
جلسه هفتم بررسی دیتاشیت AVR
دانلود دیتاشیت AVR
بررسی بخش های اول دیتاشیت
بررسی روشهای برنامه ریزی و فیوز بیت های AVR
بررسی مشخصات الکتریکی AVR
جلسه هشتم کد نویسی عمیق تر GPIO
بررسی عمیق تر GPIO و رجیسترهای آن
دسترسی بیتی به رجیستر
استفاده از AND و OR جهت دسترسی بیتی
برنامه نویسی کنترل GPIO
جلسه نهم تبدیل مبنا و کد نویسی جنرال
تبدیل مبنای 2 و 16
کاربرد دستور شیفت
ماکرو نویسی در AVR
اتصال کلید به AVR و مفهوم مقاومت پول آپ و پول داون
جلسه دهم نمایشگر LCD کاراکتری
معرفی پایه های LCD کاراکتری و بستن عملی آن بر روی برد برد
معرفی توابع محتلف کار با LCD کاراکتری
معرفی کتابخانه stdio.h و تابع sprintf
برنامه نویسی شمارنده و نمایش آن بر روی LCD
جلسه یازدهم نمایشگر LCD کاراکتری
معرفی کدهای ASCII
بررسی عمیق تر تابع sprintf
نمایش ساعت بر روی LCD
برنامه نویسی تابلو روان بر روی LCD
جلسه دوازدهم پروتکل سریال (UART)
معرفی سیگنالینگ پروتکل و اتصالات لازم
بررسی کامل رجیسترهای UART به کمک دیتاشیت
برنامه نویسی صفر تا 100 راه اندازی UART
معرفی مبدل های USB به سریال
جلسه سیزدهم پروتکل UART بخش دوم
معرفی Code Wizard جهت تسریع در محاسبات UART
ارتباط AVR با کامپیوتر از طریق پورت سریال و استفاده از نرم افزار hercules
انجام پروژه کنترل LED با کامپیوتر
حل تمرین تابلو روان
جلسه چهاردهم وقفه (Interrupt)
توضیح وقفه و کاربرد آن
بررسی رجیسترهای وقفه خارجی و برنامه نویسی آن
نوشتن کد کنترل LED از طریق PC با وقفه
چگونگی دیباگ با پروتئوس و قرار دادن break point
جلسه پانزدهم سون سگمنت
معرفی انواع سون شگمنت و ولتاژ لارم برای روشن شدن آن
ساخت مدار دیکدر سون سگمنت به کمک آرایه
برنامه نویسی نمایش شمارنده بر روی سون سگمنت تک رقمی
معرفی سون سگمنت مالتی پلکس چند رقمی و تمرین نمایش شمارنده بر روی آن
جلسه شانزدهم تایمر
کاربرد های تایمر
بررسی رجیسترهای تایمر
برنامه نویسی فعال سازی تایمر
حل تمرین نمایش سون سگمنت 4 رقمی با تایمر
جلسه هفدهم بخش PWM از تایمر
مفهوم PWM (Pulse Width Modulation) یا همان مدولاسیون عرض پالس
تنظیم رجیسترهای تایمر جهت تولید PWM
بررسی روند رسیدگی به وقفه در میکروکنترلر و مفهوم پشته (stack)
برنامه نویسی پروژه تولید ولتاژ با PWM و فعال سازی حالت CTC
جلسه هجدهم بخش کپچر و RTC تایمر
مفهوم capture در میکروکنترلر
بررسی عمیق رجیسترها و بیت های مرتبط با کپچر در دیتاشیت
برنامه نویسی تشخیص عرض پالسهای ورودی با AVR
عیب یابی برنامه capture با شبیه سازی با پروتئوس
جلسه نوزدهم بخش RTC تایمر
معرفی تایمر 2 و رجیسترهای آن و چگونگی تنظیم تایمر 2 در مد RTC
بررسی مدهای کم کننده مصرف توان (مدهای sleep)
برنامه نویسی استفاده از مدهای sleep جهت کاهش مصرف توان
معرفی دستور اسمبلی sleep
جلسه بیستم مبدل آنالوگ به دیجیتال
شرح ویژگی های ADC و طریقه تبدیل ولتاژ به عدد
بررسی رجیسترهای بخش ADC در AVR
مفهوم ولتاژ مرجع و برنامه نویسی خواندن مقدار ولوم به کمک ADC
معرفی سنسور دما و خواندن دماهای منفی با LM35
شرح عملکرد خازن سنج و اهم متر با کمک ADC
جلسه بیست و یکم پروتکل SPI
شرج کاربرد و اتصالات و سیگنالینگ پروتکل SPI
بررسی رجیسترهای SPI در دیتاشیت AVR
معرفی آی سی شیفت رجیستر 74595
برنامه نویسی و کنترل LED با آی سی شیفت رجیستر
تمرین کنترل سون سگمنت با دو آی سی 74595
جلسه بیست و دوم پروتکل I2C (IIC)
بررسی کاربرد های پروتکل I2C
شرح سیگنالینگ و اتصالات پروتکل I2C و مفهوم ACK و NAK
استفاده از کتابخانه i2c.h و برنامه نویسی با کمک آن
نوشتن برنامه برقراری ارتباط با EEPROM خارجی
جلسه بیست و سوم پروتکل IIC بخش دوم
تکمیل کد EEPROM از جلسه قبل
معرفی رجیسترهای i2c سخت افزاری و بررسی انواع status آن
برنامه نویسی i2c سخت افزاری با کمک رجیسترها
معرفی آی سی ساعت DS1307 و شرح عملکرد آن
جلسه بیست و چهارم مقایسه گر آنالوگ
بررسی رجیسترهای مرتبط با مقایسه گر آنالوگ
شرح چگونگی عملکرد مقایسه گر آنالوگ
بررسی کاربردهای مقایسه گر آنالوگ
برنامه نویسی ربات مسیریاب با کمک مقایسه گر آنالوگ
جلسه بیست و پنجم زبان اسمبلی بخش اول
شرح کامل ارتباط CPU AVR با حافظه Program و Data
بررسی بخش های مختلف حافظه Data مانند cache و SFR و SRAM
بررسی آدرس های موجود برای رجیسترهای SFR و Data Memory
معرفی SREG و کاربرد تک تک بیتهای آن
بررسی دستورات اسمبلی AVR
جلسه بیست و ششم زبان اسمبلی بخش دوم
بررسی دستور اسمبلی LDI و RJMP و تاثیر آن در رجیسترها
ساخت پروژه با برنامه Microchip Studio
شبیه سازی برنامه اسمبلی به کمک Microchip studio
بررسی دستورات اسمبلی JMP و SET و CLR و OUT
چگونگی ذخیره متغیر در رم یا کش در زبان C
جلسه بیست و هفتم زبان اسمبلی بخش سوم
فعال سازی وقفه و تنظیم بردارهای وقفه به زبان اسمبلی
تنظیم اشاره گر پشته (stack pointer) برای عملکرد صحیح AVR
نوشتن تابع Delay_ms با زبان اسمبلی
برنامه نویسی کنترل LED چشمک زن به زبان اسمبلی
جلسه بیست و هشتم زبان اسمبلی بخش چهارم
در این جلسه یک تمرین تولید شکل موج با زبان اسمبلی از صفر تا 100 نوشته شده است
فعال سازی تایمر به زبان اسمبلی
جمع و تفریق بر روی یک عدد 16 بیتی به زبان اسمبلی
نهایی کردن برنامه و شبیه سازی آن با پروتئوس
کاهش سرعت خواندن کلیدها با ایجاد تاخیر
جلسه بیست و نهم زبان اسمبلی بخش پنجم
نوشتن برنامه تولید فرکانس در جلسه قبل بدون تایمر
حل تمرین مبدل پارالل به سریال و برنامه نویسی از صفر تا 100
نوشتن پورت سریال UART به شکل نرم افزاری
در این جلسه تمرین جدیدی تحت عنوان مبدل پارالل به سریال برنامه نویسی می شود و برای تمرین و کار با زبان اسمبلی می تواند به تسلط بیشتر به این زبان کمک نماید و نیز پروتکل UART به شکل نرم افزاری پیاده سازی شده است
جلسه سی ام زبان اسمبلی بخش ششم
حل تمرین مبدل باینری به BCD و نمایش روی دو سون سگمنت انجام می شود
حل تمرین صفحه کلید ماتریسی به AVR متصل شده است و عدد وارد شده در صفحه کلید بعد از زدن 8 یا # بر روی یک سون سگمنت 4 رقمی به شکل هگز نمایش داده می شود
قرار داده اطلاعات سون سگمنت ها در حافظه Flash و خواندن آنها با دستور LPM
نوشتن دستور switch case به زبان اسمبلی
اسکن صفحه کلید و تازه سازی سون سگمنت به زبان اسمبلی
جلسه سی و یکم بوت لودر
بررسی بوت لودر در AVR و رجیسترهای مرتبط با آن
بررسی بخش RWW و PcPage و PCWord
بررسی رجیستر اشاره گر X و Y و Z
پاک کردن یک سکتور از فلش AVR و نوشتن داده جدید روی آن
جلسه سی و دوم نکات پایانی دیتاشیت AVR
بررسی فیوزبیت های AVR
بررسی روشهای برنامه ریزی AVR
معرفی تایمر سگ نگهبان (watchdog timer) و تنظیم آن
معرفی رجیسترهای EEPROM داخلی AVR
جلسه سی و سوم برنامه ریزی AVR معیوب
گاهی اوقات به دلیل عدم برنامه ریزی صحیح AVR باعث می شویم که AVR به مد کلاک خارجی برود که در این حالت تا هنگامی که کلاک خارجی به آن متصل نشود، کار نمی کند.
در این جلسه به ریکاوری کردن یک AVR معیوب پرداخته می شود و با کمک پروگرمر USBASP این مشکل حل می شود
جلسه سی و چهارم کار با Microchip Studio
ساخت پروژه زبان C به کمک Microchip studio
بررسی دیتاشیت LCD کاراکتری
اتصال LCD کاراکتری به AVR و برنامه نویسی از صفر آن با Microchip Studio
تست و عیب یابی کد LCD کاراکتری
جلسه سی و پنجم وقفه در Microchip Studio
طریقه نوشتن تابع وقفه در Microchip studio و راه اندازی وقفه خارجی
اتصال پروگرمر JTAG ICE به AVR و دیباگ خط به حط AVR با نرم افزار AVR Studio و کامپایلر Win AVR (این مدل پروگرمر فقط در AVR Studio کار می کند)
اتصال پروگرمر AVR JTAGICE MKII و دیباگ خط به خط AVR با Microchip Studio
جلسه سی و ششم پروژه بخش اول
حل تمرین نمایش روی سون سگمنت با دو آی سی 74595
اتصال صفحه کلید ماترسی به AVR
اتصال EEPROM و آی سی ساعت به AVR
اتصال سنسور دما LM35 و مقاومت LDR (فتوسل) به AVR
جلسه سی و هفتم پروژه بخش دوم
نوشتن کد خواندن اطلاعات از صفحه کلید ماتریسی
نوشتن کد برقراری ارتباط با آی سی DS1307
عیب یابی و تکمیل برنامه های فوق
جلسه سی و هشتم پروژه بخش سوم
خواندن سنسور دما و نمایش روی ال سی دی
منو بندی LCD برای کنترل و تنظیم پروژه
جلسه سی و نهم پروژه بخش چهارم
تنظیم پارامترهای منوها با کمک صفحه کلید
این جلسه برنامه نویسی به شکل حرفه ای انجام می شود و نیاز است که چند با آن را ببینید و خودتان تمرین انجام بدهید تا برای شما ملکه بشود
جلسه چهلم پروژه بخش پنجم
منو بندی پروژه با کمک پورت سریال
در این جلسه تنظیم زمان از طریق پورت سریال را برنامه نویسی می کنیم و با کامندهای دریافت شده از پورت سریال کار می کنیم
جلسه چهل و یکم برنامه نویسی به زبان آردینو
این جلسه دستورات مختلف آردینو بررسی شده اند و چگونگی شبیه سازی و استفاده از توابع مختلف در آردینو همه بررسی شده اند و در نهایت کد یک LCD رنگی TFT برای آردینو نوشته شده است
ساخت پروژه با آردینو و شبیه سازی با پروتئوس
دانلود کتابخانه های مختلف در آردینو و بررسی چند کتابخانه مانند Ada Fruint و MCU Friend
آپدیت دوره پروژه صفحه کلید موبایل بخش اول
اتصال صفحه کلید ماترسی به AVR و برنامه نویسی با کدویژن
اسکن صفحه کلید به کمک تایمر
دریافت کلید ها و نمایش بر روی LCD
دیباگ برنامه به کمک پروتئوس
آپدیت دوره پروژه صفحه کلید موبایل بخش دوم
نمایش حروف مختلف روی LCD با هر بار زدن کلید ها
در این جلسه هربار که کلید های صفحه کلید را فشار می دهیم باید حرف تغییر نماید مثلا با زدن کلید 4 باید حرف g-h-i-4 نشان داده بشود و اگر تا تایمی صبر کردیم و مجدد همین کلید را زدیم حرف دوم را به همین شکل بپذیرد
آپدیت دوره پروژه صفحه کلید موبایل بخش سوم
در این جلسه مجدد تمامی برنامه نوشته شده به شکل خط به خط توضیح داده می شود و بررسی شده است
جلسه میکروکنترلر Xmega
در انتهای دوره میکروکنترلر xmega هم کار می کنیم
به زودی….