راه اندازی at24c512 در کدویژن | آموزش حرفه‌ای AVR – بخش چهارم

راه اندازی at24c512 در کدویژن

سلام و درودی دوباره خدمت دوست داران AVR. در این قسمت از آموزش نحوه راه اندازی at24c512 که یک eeprom خارجی است را همراه با برنامه شرح خواهیم داد. قبل از اینکه وارد جزییات بشیم، باید گفت که خیلی مواقع احتیاج به یک حافظه eeprom خارجی ضروری می‌شود و در میکروکنترلرهای AVR به رغم وجود […]

آموزش بوت لودر avr در کدویژن | آموزش حرفه‌ای avr – بخش سوم

آموزش حرفه‌ای avr - بخش سوم

درود فراوان بر شما. در قسمت قبل، آموزش بوت لودر avr بصورت کامل از لحاظ پیکربندی شرح داده شد و توابع آن در نرم افزار Atmel Studio گفته شد. اما برای کار کردن با بوت لودر در کدویژن کتابخانه‌ای وجود ندارد. لذا بر آن شدم که کتابخانه موجود در Atmel Studio را برای کدویژن بازنویسی […]

بوت لودر avr و توابع آن در Atmel Studio | آموزش حرفه‌ای AVR – بخش دوم

آموزش حرفه‌ای avr - بخش دوم

در AVR و در اکثر میکروکنترلرها قسمتی از حافظه وجود دارد که به آن بوت لودر می‌گویند. بوت لودر قسمتی در آخر حافظه Flash است که وظیفه اصلی آن ذخیره برنامه‌ای جهت پروگرام کردن میکروکنترلر است. به عنوان مثال می‌توان برنامه‌ای در بوت لودر avr نوشت که برنامه اصلی را از طریق سریال USART یا […]

فایل hex چیست | خواندن فایل هگز از میکرو | آموزش حرفه‌ای AVR – بخش اول

آموزش حرفه‌ای AVR - بخش اول

مدت زمان زیادی از انتشار آخرین مطلب بنده گذشته است و امروز قراره در مورد اینکه فایل hex چیست، صحبت کنیم. همچنین چگونگی خواندن فایل هگز از میکرو را بهتون آموزش خواهم داد و در آخر ساختار کلی یک فایل هگز بیان خواهد شد. اینکه دانستن ساختار فایل هگز چه کمکی میکنه؛ باید بگم که […]

آموزش مقدماتی AVR – بخش هجدهم | فیوز بیت های atmega8 و لاک بیت ها

فیوزبیت‌ها در ATmega16

در این بخش در مورد فیوز بیت ها و لاک بیت ها صحبت میکنیم که در تمامی میکروکنترلرهای AVR وجود دارند و نقش آن ها اساسیت. با تنظیم فیوز بیت ها اعمالی نظیر تنظیم کلاک میکرو، قفل کردن میکرو در برابر کپی کردن برنامه و مدیریت حافظه بوت لودر (قسمت نوزدهم) را می‌توان انجام داد. […]

آموزش مقدماتی AVR – بخش هفدهم | مقایسه کننده آنالوگ (Analog Comparator)

آموزش راه اندازی مقایسه کننده آنالوگ در میکروکنترلر avr

همانطور که از موضوع این مطلب مشخص است، مقایسه کننده آنالوگ از هر مدلی که باشد دو سیگنال آنالوگ را مقایسه کرده و نتیجه مقایسه را بصورت ۰ یا ۱ منطقی برمی‌گرداند. یکی از کابردهای متداول این نوع مقایسه کننده‌ها، مدارات اشمیت تریگر است. اشمیت تریگر هر نوع سیگنال آنالوگ اعم از سینوسی یا مثلثی […]

آموزش مقدماتی AVR – بخش شانزدهم | مبدل ADC

مبدل آنالوگ به دیجیتال یا به اختصار ADC، بخش جدا نشدنی تمامی میکروکنترلرها از جمله AVR است. چون عملیات درون میکروکنترلر به صورت دیجیتال (۰ و ۱) است، سیگنال‌هایی که به صورت آنالوگ از بیرون به میکرو اعمال می‌شوند، باید قابل سنجش باشند. مبدل ADC سیگنال آنالوگ را به دیجیتال تبدیل می‌کند تا برای میکروکنترلر […]

آموزش مقدماتی AVR – بخش پانزدهم | رابط SPI

پروتکل ارتباطی SPI در ATmega16

رابط SPI یا ارتباط جانبی سریال (Serial Peripheral Interface)، یک رابط دو طرفه بوده و برای اولین بار توسط شرکت موتورولا  استفاده و نامگذاری شد. این نوع ارتباط بر پایه‌ی سیستم Master/Slave (ارباب و برده) است و بر خلاف دو رابط سریال USART و I2C، سرعت بسیار بالایی دارد. از طرفی به دلیل بالا بودن […]

آموزش مقدماتی AVR – بخش چهاردهم | توابع I2C (قسمت دوم)

در قسمت اول آموزش سریال I2C، در مورد چگونگی عملکرد این پروتکل و برنامه‌نویسی رجیسترهای آن صحبت شد. اما درست است که مقداردهی و دسترسی مستقیم به رجیسترها باعث کنترل بیشتر برنامه‌نویس می‌شود؛ اما این کار پیچیدگی‌های زیادی دارد. به خصوص زمانی که از واحد I2C استفاده می‌کنیم. در نرم افزار CodeVision توابعی برای کار […]

آموزش مقدماتی AVR – بخش سیزدهم | سریال I2C (قسمت اول)

رابط I2C در ATmega16

در قسمت قبل این سری از آموزش، در مورد مفهموم سریال و کاربرد مهم آن در ارتباطات بین میکروکنترلرها، کامپیوترها و از همه مهم‌تر، تبادل داده با سنسورها و ماژول‌های الکترونیکی، صحبت کردیم. در نهایت هم نوع خاصی از ارتباط سریال به نام USART به طور کامل شرح داده شد. در این مطلب در مورد […]

آموزش مقدماتی AVR – بخش دوازدهم | سریال USART

رابط سریال USART در ATmega16

در تمام میکروکنترلرها مثل AVR و PIC و یا میکروهای سطح بالا نظیر ARM، همواره برای تبادل اطلاعات میان میکروکنترلرها و یا برقراری ارتباط با بردهای الکترونیکی مثل سنسورهایی که با سریال اطلاعات را رد و بدل می‌کنند، پورت‌ها یا رابط‌هایی مثل USART وجود دارد که این امر را میسر می‌سازد. دقت شود که USART […]

آموزش مقدماتی AVR – بخش یازدهم | تایمر ۲

در دو قسمت قبل به صورت مفصل در مورد تایمر کانتر ۰ و همچنین تایمر کانتر ۱ صحبت کردیم. نحوه عملکرد این دو تایمر کانتر، مدهای کاری و چگونگی خروجی گرفتن از آن‌ها را به صورت کامل همراه با مثال توضیح دادیم. همینطور تفاوت‌های این دو تایمر کانتر با یکدیگر و مزیت‌های هر کدام گفته […]