بخش دهم آموزش AVR : آموزش کامل ارتباط سریال I2C

مقدمه همانطور که در قسمت های قبلی آموزش گفته شد ، در میکروکنترلرهای AVR ارتباط سریال در 4 پروتکل زیر وجود دارد :USART : پایه های Rx و Tx SPI : پایه های MISO ، MOSI ، SCK و SS I2C : پایه های SDA و SCL USB : پایه های D+ و D-نکته : تنها برخی از میکروکنترلرهای AVR از ارتباط USB پشتیبانی می کنند و در Atmega32 ارتباط USB وجود ندارد.معرفی ارتباط سریال I2C I2C مخفف عبارت Inter Integrated Circuit به معنای [...]

بیشتر بدانید ...

بخش نهم آموزش AVR : برنامه نویسی پیشرفته C برای میکروکنترلر

مقدمه با توجه به استفاده از زبان برنامه نویسی C به صورت گسترده در انواع میکروکنترلرها به عنوان منعطف ترین زبان برنامه نویسی و لزوم درک این زبان پرکاربرد ، شاهد عدم استفاده از تمام قابلیت های این زبان در پروژه های مربوطه هستیم. در جزوه حاضر سعی شده است تا این قابلیت های برنامه نویسی پیشرفته تشریح و در اختیار همگان قرار گیرد و نکاتی که در برنامه نویسی پیشرفته باید رعایت شود تا سیستم روان ، بدون هنگ [...]

بیشتر بدانید ...

بخش هشتم آموزش AVR : راه اندازی واحد تایمر/کانتر ( 2 )

مقدمه : در بخش گذشته یکی از مهمترین واحدهای میکروکنترلرهای AVR را به طور مفصل تشریح کردیم. در این بخش با هدف آشنایی با تنظیمات و برنامه نویسی واحد تایمر/کانتر چند مثال کاربردی ارائه می کنیم.مثال 1 برنامه ای بنویسید که با استفاده از Timer0 میکروکنترلر Atmega32 که کلاک کاری آن 1Mhz است ، فرکانس 100 هرتز را روی پایه PORTB.7 تولید کند. از حالت نرمال Timer0 استفاده کنید. حل : مرحله اول : طراحی سخت افزار در پروتئوس برای اندازه گیری فرکانس تولید [...]

بیشتر بدانید ...

بخش هفتم آموزش AVR : راه اندازی واحد تایمر/کانتر ( 1 )

مقدمه یکی از مهمترین واحدهای میکروکنترلر واحد تایمر/کانتر می باشد که در اکثر پروژه های مهم وجود آن ضروری است. این واحد از نظر سخت افزاری متشکل از یک شمارنده اصلی و چندین رجیستر برای تنظیمات می باشد به طوری که با اعمال تنظیمات متفاوت چندین کاربرد مختلف از این سخت افزار خاص می شود. از مهمترین کاربردهای این سخت افزار میتوان به تایمر ( زمان سنج ) ، کانتر ( شمارنده ) ، Real Time Clock ( زمان سنج [...]

بیشتر بدانید ...

بخش ششم آموزش AVR : آموزش راه اندازی واحدهای ارتباط سریال

مقدمه اساسا انتقال اطلاعات به دو شکل موازی و سریال صورت می گیرد . در ارتباط موازی n بیت اطلاعات توسط n خط موازی منتقل می شود اما در ارتباط سریال اطلاعات از طریق یک خط به صورت پشت سر هم انجام می گیرد. شکل زیر نحوه ارتباط سریال و موازی را مابین دو کامپیوتر نشان می دهد . همانطور که مشاهده می شود به علت اینکه در انتقال سریال n بیت داده از طریق یک خط عبور می کند [...]

بیشتر بدانید ...

بخش پنجم آموزش AVR : آموزش کدویزارد Codewizard

مقدمه در فصل های گذشته به طور مقدماتی با نحوه کار با واحد I/O و رجیسترهای مربوط به تنظیم آنها آشنا شدیم و با استفاده از آن ها کلید ، صفحه کلید و نمایشگر سون سگمنت را راه اندازی کردیم . در این فصل نیز ابتدا به شرح مجدد واحد I/O و سپس معرفی ابزار Codewizard ( جادوگر کد ) خواهیم پرداخت و در ادامه به معرفی و بررسی واحد های دیگر نظیر تایمرها و کانترها ، ارتباطات سریال ، [...]

بیشتر بدانید ...

بخش چهارم آموزش AVR : آموزش برنامه نویسی C به همراه انجام پروژه

مقدمه در فصل های گذشته به این نکته اشاره کردیم که قدرتمندترین زبان برنامه نویسی میکروکنترلرها زبان c و c++ می باشد . همچنین اشاره کردیم که برنامه نویسی برای یک ماشین بر مبنای پردازنده های RISC با برنامه نویسی برای یک ماشین بر مبنای پردازنده های CISC تفاوت اساسی دارد و آن هم حساسیت بیشتر RISC نسبت به CISC می باشد که برنامه نویس را مجبور می کند تا با دقت بیشتر و درک بیشتر سخت افزار برنامه نویسی [...]

بیشتر بدانید ...

بخش سوم آموزش AVR : نحوه کار با نرم افزارهای Proteus و CodeVision

مقدمه در بخش گذشته با معماری و ساختار میکروکنترلر Atmega32 آشنا شدیم. گفتیم مهمترین بخش میکروکنترلر Atmega32 که با آن سر و کار داریم رجیسترها هستند. رجیسترها کنترل و تنظیمات تمام بخش های میکروکنترلر را بر عهده دارند و باید به خوبی با نحوه عملکرد آنها آشنا شد. گفتیم که در Atmega32 به تعداد ۶۴ رجیستر برای کنترل مجموعه سیستم میکروکنترلر وجود دارد که در قسمت SRAM حافظه قرار دارد. با تنظیم و مقدار دهی به این رجیسترها در برنامه [...]

بیشتر بدانید ...

بخش دوم آموزش AVR : بررسی و راه اندازی میکرو کنترلر ATMEGA32

مقدمه در بخش قبلی آموزش ، معماری و ساختار کلی میکروکنترلرهای AVR را با هم بررسی کردیم . برای اینکه شما بتوانید بهترین ، مناسب ترین و کم هزینه ترین میکروکنترلر AVR را برای پروژه خاص خود انتخاب کنید ، شرکت Atmel انواع این میکروکنترلرها را در بسته بندی های گوناگون ، با امکانات متغیر و ساختار داخلی کمی متفاوت با آنچه که در فصل قبل گفته شد را تولید می کند ، به طوری که : تمامی میکروکنترلرهای AVR [...]

بیشتر بدانید ...

بخش اول آموزش AVR : معرفی و معماری میکروکنترلرهای AVR

مقدمه تا این بخش از آموزش متوجه شدیم که میکروکنترلرها انواع مختلفی دارند و بسته به نوع کاری که مورد نظر است ، یکی از خانواده های میکروکنترلرها که برای انجام آن مناسب تر است ، انتخاب می شود . مثلا اگر سرعت پردازش بسیار بالا بدون هنگ کردن و قابلیت تغییر کل برنامه در یک کاربرد خاص در یک پروژه نیاز باشد (مانند پروژه های نظامی و فرکانس بالا ) بهتر است به سراغ FPGA و انواع آنها رفت [...]

بیشتر بدانید ...