دانلود pdf میکروکنترلرهای AVR از 0 تا 100 کمیاب و عالی
مقدمه این نوشتار با هدف آشنایی عمیق و کاربردی با میکروکنترلرهای AVR از 0 تا 100 تدوین شده است. در ابتدا، مؤلف به معرفی کلی این مجموعه و نحوه مطالعه جزوه میپردازد تا مسیر یادگیری برای خواننده هموار شود. این رویکرد گام به گام، از ابتداییترین مفاهیم الکترونیک شروع کرده و به تدریج به مباحث پیچیدهتر و تخصصی میکروکنترلرهای AVR میرسد، بدین ترتیب مخاطب بدون پیشزمینه نیز میتواند گام به گام در این حوزه پیشرفت کند.
در فصل نخست، به اصول بنیادین مدارهای الکتریکی و الکترونیکی پرداخته میشود. این بخش شامل آشنایی با اجزای اصلی مانند مقاومت الکتریکی، خازنها، دیودها و دیودهای نورانی (LED) است.
همچنین، رگولاتورها یا تنظیمکنندههای ولتاژ، منابع تغذیه، نمایشگرهای هفت قسمتی (سون سگمنت)، ترانزیستورها و مدارهای مجتمع (آیسیها) مورد بررسی قرار میگیرند تا پایهای مستحکم برای ورود به دنیای الکترونیک دیجیتال فراهم شود.
فصل دوم، خواننده را با مفاهیم اولیه مدارهای الکترونیکی دیجیتال آشنا میکند. در این قسمت، تفاوتهای اساسی بین الکترونیک آنالوگ و دیجیتال، سیگنالهای دیجیتال و مفهوم فرکانس در آنها تشریح میشود.

تعریف سیگنال ساعت (کلاک) و آشنایی با سیستمهای اعداد دودویی (باینری) و شانزدهدهی، همراه با روشهای تبدیل اعداد از مبناهای ۲ و ۱۰، از جمله مهمترین مباحث این فصل هستند که در درک معماری میکروکنترلرها نقش کلیدی دارند.
فصل سوم، به تشریح تمایزات و تعاریف کامپیوتر، میکروکامپیوتر و میکروکنترلر میپردازد. این بخش شامل تعریف ریزپردازنده (CPU) و انواع حافظهها از جمله حافظه فقط خواندنی (ROM) و حافظه دسترسی تصادفی (RAM) و همچنین تشریح درگاهها (پورتها) و گذرگاهها (باسها) است. در نهایت، مفهوم میکروکنترلر و انواع آن به تفصیل بیان میشود تا درک جامعی از ماهیت میکروکنترلرهای AVR به دست آید.
نوع فایل: پی دی اف – 274 صفحه
فهرست مطالب:
- آموزش کاربردی میکروکنترلرهای AVR از 0 تا 100
- مقدمه مولف
- نحوه مطالعه این جزوه
- فصل اول: آشنایی با اصول اولیه و اجزای مدارهای الکتریکی و الکترونیکی
- آشنایی با اجزای مدارهای الکتریکی و الکترونیکی
- آشنایی با مقاومت الکتریکی
- آشنایی با خازن
- آشنایی با دیود ها
- آشنایی با LED
- آشنایی با منابع تغذیه
- رگولاتور یا تنظیم کننده ولتاژ
- آشنایی با سون سگمنت
- آشنایی با ترانزیستور ها
- آی سی ها
- فصل دوم: آشنایی با اصول اولیه مدارهای الکترونیکی دیجیتال**
- تفاوت الکترونیک آنالوگ و دیجیتال
- سیگنال دیجیتال
- مفهوم فرکانس
- فرکانس در سیگنالهای دیجیتال
- تعریف سیگنال کلاک (Clock)
- آشنایی با سیستم اعداد باینری
- تبدیل اعداد از مبنای ۲ به مبنای ۱۰
- اعداد در مبنای ۱۶
- تبدیل اعداد از مبنای ۱۰ به مبنای ۲
- تعریف کامپیوتر
- تعریف میکروکامپیوتر
- تعریف میکروپروسسور (CPU)
- تعریف ROM
- انواع حافظههای ROM
- تعریف RAM
- انواع حافظههای RAM
- تعریف PORT
- تعریف BUS
- تعریف میکروکنترلر
- انواع میکروکنترلرها
- فصل چهارم: معرفی و ساختار میکروکنترلرهای AVR
- معرفی میکروکنترلر AVR
- تاریخچه ساخت
- معماری و ساختار میکروکنترلرهای AVR
- هسته مرکزی (واحد پردازش مرکزی یا CPU)
- انواع معماری پردازنده ها
- واحد محاسبه و منطق (Arithmetic Logic Unit)
- مفهوم ثبات یا رجیستر
- رجیستر های عمومی General Purpose Registers
- رجیستر دستور Instruction Register
- واحد رمز گشایی دستور Instruction Detector
- رجیستر شمارنده برنامه Program Counter
- وضعیت رجیستر Status & Control Register
- رجیستر اشاره گر پشته Stack Pointer
- نحوه عملکرد واحد CPU
- خط لوله Pipelining
- معماری حافظه در AVR
- حافظه داده SRAM
- حافظه داده EEPROM
- حافظه برنامه FLASH
- واحد ورودی/خروجی (Input/Output)
- واحد کنترل کلاک ورودی
- واحد تایمرها و کانترها (Timers & Counters)
- واحد تایمر سگ نگهبان Whatchdog
- واحد کنترل وقفه Interrupt
- واحد ارتباطی JTAG
- واحد مبدل آنالوگ به دیجیتال (ADC)
- واحد مقایسه کننده آنالوگ
- واحد ارتباطات سریال
- فصل پنجم: آشنایی و راه اندازی میکروکنترلر 32Atmega
- خصوصیات، ویژگی ها و عملکرد 32ATMega
- تشریح عملکرد پایه ها در 32ATMEGA
- معماری و ساختار داخلی میکروکنترلر 32Atmega
- واحد پردازش مرکزی (CPU)
- واحد حافظه برنامه Flash
- واحد حافظه داده SRAM
- واحد حافظه داده EEPROM
- رجیسترهای واحد ورودی/خروجی
- نحوه فعالسازی مقاومت پول آپ
- حداقل سخت افزار راه اندازی میکروکنترلر 32Atmega
- فصل ششم: آموزش نرم افزارهای Proteus و CodeVision
- معرفی کلی نرم افزارهای Proteus و CodeVision
- کدویژن (AVR CodeVision)
- دانلود و نصب نرم افزارهای Proteus و CodeVision
- مراحل کلی انجام یک پروژه میکروکنترلری
- مثال عملی: برنامه چشمک زن LED
- طراحی سخت افزار (مثال عملی: برنامه چشمک زن LED)
- شبیه سازی توسط نرم افزارها (مثال عملی: برنامه چشمک زن LED)
- شروع به کار با نرم افزار پروتئوس (مثال عملی: برنامه چشمک زن LED)
- شروع به کار با نرم افزار AVR CodeVision (مثال عملی: برنامه چشمک زن LED)
- پیاده سازی مدار (مثال عملی: برنامه چشمک زن LED)
- پروگرام کردن میکرو توسط نرم افزار CodeVision (مثال عملی: برنامه چشمک زن LED)
- تست و عیب یابی (مثال عملی: برنامه چشمک زن LED)
- تولید، ارتقا و بهبود (مثال عملی: برنامه چشمک زن LED)
- واحد کنترل کلاک سیستم در میکروکنترلر 32Atmega
- فیوز بیت ها در میکروکنترلرهای AVR
- نوسان ساز با کریستال خارجی
- نوسان ساز با کریستال فرکانس پائین
- نوسان ساز با RC خارجی
- نوسان ساز با اسیالتور RC کالیبره شده داخلی
- رجیستر کالیبراسیون OSCCAL
- نوسان ساز با کلاک خارجی
- تنظیم فیوز بیت ها در نرم افزار کدویژن
- تنظیم پروتئوس در حالت استفاده از کریستال خارجی
- معرفی کوتاه زبان C
- کلمات کلیدی در زبان C
- ویژگی های یک برنامه به زبان C
- ساختار یک برنامه به زبان C در کامپیوتر
- تفاوت برنامه نویسی برای کامپیوتر و میکروکنترلر
- ساختار برنامه میکروکنترلر به زبان C
- متغیرها در زبان C
- نحوه تعریف متغیرها
- محل تعریف متغیرها در حافظه میکروکنترلر
- توابع در زبان C
- انواع توابع در زبان C
- فراخوانی تابع
- مثال برنامه نویسی با توابع
- کلاس های حافظه متغیرها
- نحوه تعریف کلاس حافظه یک متغیر
- کلاس حافظه اتوماتیک
- کلاس حافظه ثبات
- کلاس حافظه خارجی
- کلاس حافظه استاتیک
- ثابت ها در زبان C
- دستورات شرطی در زبان C
- دستور شرطی switch
- حلقه های تکرار در زبان C
- اتصال کلید به میکرو
- مثال عملی: برنامه کنترل LED با کلید
- آرایه ها در C
- تعریف آرایه یک بعدی
- آرایه های چند بعدی
- مقدار دهی به آرایه های چند بعدی
- رشته ها
- تعریف یک کاراکتر
- تعریف رشته (آرایه ای از کاراکترها)
- عملگرها
- عملگرهای محاسباتی
- عملگرهای ترکیبی
- تعریف عملگرهای بیتی
- تقدم کلی در عملگرها
- تبدیل نوع در محاسبات
- اتصال سون سگمنت به میکرو
- راهنمای آی سی: ۷۴۴۸
- نحوه کار آی سی
- تغذیه آی سی
- پیاده سازی مدار روی بردبورد
- سون سگمنت های مالتی پلکس
- اتصال صفحه کلید به میکرو
- مثال عملی: صفحه کلید و سون سگمنت مالتی پلکس
- معرفی و بررسی واحدهای میکروکنترلر 32Atmega
- معرفی و تشریح واحد ورودی/خروجی (پورت های I/O)
- رجیسترهای واحد I/O در 32Atmega
- نحوه فعالسازی مقاومت پول آپ
- شروع کار با ابزار CodeWizard
- راه اندازی LCD های کارکتری با کدویزارد
- تنظیمات CodeWizard برای راه اندازی LCD کاراکتری
- توابع کار با LCD کاراکتری
- فرمت متغیرهای کاراکتری ارسالی
- مثال عملی: LCD کاراکتری و صفحه کلید
- معرفی و تشریح واحد وقفه های خارجی
- انواع منابع وقفه در میکروکنترلرهای AVR
- راه اندازی واحد وقفه خارجی در 32Atmega
- مثال عملی: LCD کاراکتری و صفحه کلید با وقفه خارجی
- معرفی و تشریح واحد مبدل آنالوگ به دیجیتال ADC
- ولتاژ مرجع واحد ADC در AVR
- دقت نمونه برداری واحد ADC در AVR
- سرعت نمونه برداری واحد ADC در AVR
- تعداد کانال های ADC در میکروکنترلرهای AVR
- فرکانس کار واحد ADC در AVR
- تنظیمات CodeWizard برای راه اندازی واحد ADC
- تعریف ضریب تفکیک
- مثال عملی: دماسنج دیجیتال با سنسور LM35 و LCD
- ارتباطات سریال و موازی در میکروکنترلرها
- انواع پروتکل های ارتباطی سریال در میکروکنترلرهای AVR
- نوع فرستنده و گیرنده در ارتباط سریال
- انواع حالت ارتباط سریال
- روش ارسال اطالعات سریال
- معرفی و تشریح واحد ارتباطی سریال USART
- قالب ارسال/دریافت دیتا در پروتکل UART (آسنکرون)
- بیت شروع START
- بیت های داده DATA
- بیت توازن PARITY
- بیت یا بیت های پایان STOP
- مفهوم Baud Rate
- پروتکل های ارتباطی UART تحت استانداردهای RS423, RS232, RS422, RS485
- استاندارد RS232
- تنظیمات واحد USART در CodeWizard
- توابع پرکاربرد stdio.h در هنگام کار با واحد USART
- تعیین طول و دقت خروجی در تابع printf
- تابع scanf
- تابع sprintf
- تابع sscanf
- توابع پرکاربرد کتابخانه string.h برای کار با رشته ها
- مثال عملی: نمایش دما روی LCD و ارسال به کامپیوتر
- معرفی و تشریح واحد ارتباط سریال SPI
- طرز کار واحد SPI
- خصوصیات واحد SPI در میکروکنترلرهای AVR
- شبکه بندی چند Slave توسط یک Master در پروتکل SPI
- تنظیمات واحد SPI در CodeWizard
- مثال عملی: ارتباط SPI بین دو میکروکنترلر با LCD و صفحه کلید
- رجیستر چیست؟
- کانتر یا شمارنده چیست؟
- واحد تایمر/کانتر چیست؟
- مفهوم تایمر
- مفهوم کانتر
- تفاوت اصلی در مفهوم تایمر با کانتر
- مهمترین ویژگی های یک واحد تایمر/کانتر در میکروکنترلرهای AVR
- انواع واحد تایمر/کانتر در میکروکنترلرهای AVR
- معرفی اجمالی رجیسترهای واحد تایمر/کانتر
- رجیستر کنترل تایمر/کانتر (TCCRX)
- رجیستر تایمر/کانتر (TCNTX)
- رجیستر مقایسه خروجی (OCRX)
- رجیستر پوشش وقفه تایمر/کانتر (TIMSK)
- رجیستر پرچم سر ریز تایمر/کانتر (TIFR)
- معرفی و تشریح تایمر/کانتر ساده ۸ بیتی
- محاسبه زمانبندی سر ریز شدن تایمر در حالت ساده
- معرفی و تشریح تایمر/کانتر پیشرفته ۸ بیتی
- بررسی تایمر/کانتر ۸ بیتی پیشرفته در حالت ساده (Normal)
- بررسی تایمر/کانتر ۸ بیتی پیشرفته در حالت مقایسه (CTC)
- تولید PWM به روش نرم افزاری و بدون استفاده از واحد تایمر
- بررسی تایمر/کانتر ۸ بیتی پیشرفته در حالت PWM سریع (Fast PWM)
- بررسی تایمر/کانتر ۸ بیتی پیشرفته در حالت PWM تصحیح فاز (Phase Correct PWM)
- معرفی اجمالی رجیسترهای تایمر/کانترهای ۱۶ بیتی
- رجیستر های مقایسه خروجی تایمر/کانتر در تایمر/کانترهای ۱۶ بیتی
- معرفی و تشریح تایمر/کانتر پیشرفته ۱۶ بیتی
- تایمر/کانتر ۱۶ بیتی پیشرفته در حالت مقایسه (CTC)
- تایمر/کانتر ۱۶ بیتی پیشرفته در حالت PWM سریع (Fast PWM)
- تایمر/کانتر ۱۶ بیتی پیشرفته در حالت PWM تصحیح فاز (Phase Correct PWM)
- تایمر/کانتر ۱۶ بیتی پیشرفته در حالت PWM تصحیح فاز و فرکانس (Phase Correct Frequency & Phase)
- تنظیمات واحد تایمر/کانتر در CodeWizard
- راه اندازی RTC در میکروکنترلرهای AVR
- تایمر سگ نگهبان
- تنظیمات تایمر Watchdog در CodeWizard
قیمت: 165/500 تومان
در فصل چهارم، به معرفی و بررسی ساختار میکروکنترلرهای AVR پرداخته میشود. پس از بیان تاریخچه ساخت، معماری و ساختار داخلی این میکروکنترلرها مورد واکاوی قرار میگیرد.
هسته مرکزی (واحد پردازش مرکزی یا CPU) با تشریح انواع معماری پردازندهها، واحد محاسبه و منطق (ALU)، مفهوم ثبات (رجیستر) و انواع آن شامل ثباتهای عمومی، ثبات دستور، واحد رمزگشایی دستور، ثبات شمارنده برنامه، ثبات وضعیت و کنترل، و ثبات اشارهگر پشته به دقت معرفی میشوند. همچنین، نحوه عملکرد واحد CPU و خط لوله (Pipelining) در این بخش توضیح داده میشود.
مطالب مرتبط
- دانلود pdf نقشه های برق یا نقشه های الکتریکال ساختمان کمیاب در 182 صفحه
- دانلود pdf ایزوله الکتریکی در 53 صفحه
معماری حافظه در میکروکنترلرهای AVR، شامل حافظههای داده SRAM (حافظه دسترسی تصادفی استاتیک) و EEPROM (حافظه فقط خواندنی قابل پاک شدن و برنامهریزی الکتریکی)، و همچنین حافظه برنامه فلش (FLASH) در ادامه فصل چهارم بررسی میگردد.
در این قسمت به واحدهای ورودی/خروجی، واحد کنترل ساعت ورودی، واحدهای زمانسنج و شمارنده (تایمر و کانتر)، واحد زمانسنج نگهبان (Watchdog)، واحد کنترل وقفه، واحد ارتباطی JTAG، واحد مبدل آنالوگ به دیجیتال (ADC)، واحد مقایسهکننده آنالوگ و واحد ارتباطات سریال نیز اشاره میشود.
فصل پنجم به طور خاص بر میکروکنترلر ATmega32 تمرکز دارد. این فصل شامل خصوصیات، ویژگیها و عملکرد ATmega32، تشریح عملکرد پایهها، و معماری و ساختار داخلی آن است. اجزای اصلی داخلی مانند واحد پردازش مرکزی، واحدهای حافظه برنامه فلش، حافظه داده SRAM و EEPROM، و همچنین ثباتهای واحد ورودی/خروجی بررسی میشوند. همچنین، نحوه فعالسازی مقاومت بالاکش (Pull-up) و حداقل سختافزار مورد نیاز برای راهاندازی میکروکنترلر ATmega32 آموزش داده میشود.
در فصل ششم، به آموزش نرمافزارهای شبیهسازی پروتئوس (Proteus) و برنامهنویسی کدویژن (CodeVision) پرداخته میشود. پس از معرفی کلی و مراحل دانلود و نصب این نرمافزارها، مراحل کلی انجام یک پروژه میکروکنترلری تشریح میگردد. یک مثال عملی با برنامه چشمکزن دیود نورانی (LED) برای طراحی سختافزار، شبیهسازی، شروع به کار با نرمافزارهای پروتئوس و AVR CodeVision، پیادهسازی مدار، برنامهریزی (پروگرام کردن) میکرو و تست و عیبیابی آن ارائه میشود.
ادامه فصل ششم به موضوعات پیشرفتهتر مانند واحد کنترل ساعت سیستم در میکروکنترلر ATmega32، فیوز بیتها در میکروکنترلرهای AVR، انواع نوسانسازها شامل کریستال خارجی، کریستال فرکانس پایین، RC خارجی، و نوسانگر RC کالیبره شده داخلی و همچنین نوسانساز با ساعت خارجی میپردازد. ثبات کالیبراسیون OSCCAL و نحوه تنظیم فیوز بیتها در نرمافزار کدویژن و پروتئوس نیز در این بخش مورد بررسی قرار میگیرد.
فصل هفتم به آموزش برنامهنویسی به زبان C و انجام پروژههای کاربردی با میکروکنترلر ATmega32 اختصاص دارد. معرفی کوتاه زبان C، کلمات کلیدی، ویژگیها و ساختار یک برنامه C در کامپیوتر و میکروکنترلر ارائه میشود. متغیرها، نحوه تعریف آنها، محل تعریف در حافظه میکروکنترلر، توابع و کلاسهای حافظه، ثابتها، دستورات شرطی (از جمله دستور شرطی انتخاب یا switch) و حلقههای تکرار در زبان C به دقت آموزش داده میشوند.
این فصل در ادامه به مباحثی مانند اتصال کلید به میکرو، مثال عملی کنترل دیود نورانی (LED) با کلید، آرایهها (شامل تکبعدی و چندبعدی) و رشتهها در C میپردازد. عملگرهای محاسباتی، ترکیبی و بیتی به همراه تقدم کلی آنها و تبدیل نوع در محاسبات نیز مورد بحث قرار میگیرند.
اتصال نمایشگر هفت قسمتی (سون سگمنت) به میکرو، راهنمای مدار مجتمع (آیسی) ۷۴۴۸، نحوه کار و تغذیه آن، پیادهسازی مدار روی بردبرد، نمایشگرهای هفت قسمتی مالتیپلکس، اتصال صفحهکلید به میکرو و در نهایت یک مثال عملی از صفحهکلید و نمایشگر هفت قسمتی مالتیپلکس، مجموعه این مباحث را تکمیل میکند.
فصل هشتم، با عنوان “آشنایی با CodeWizard و راهاندازی واحدهای میکروکنترلر ATmega32 از 0 تا 100 به همراه انجام پروژههای عملی”، به معرفی و تشریح واحدهای مختلف میکروکنترلر میپردازد. در این بخش، معرفی واحد ورودی/خروجی (درگاههای I/O)، ثباتهای مربوطه و نحوه فعالسازی مقاومت بالاکش (Pull-up) ارائه میشود.
سپس ابزار CodeWizard و شروع کار با آن برای راهاندازی نمایشگرهای کاراکتری (LCD)، توابع مربوطه و یک مثال عملی از نمایشگر کاراکتری (LCD) و صفحهکلید بررسی میگردد. همچنین، واحد وقفههای خارجی، انواع منابع وقفه، راهاندازی وقفهها در ATmega32 و یک مثال عملی از آن تشریح میشود.
در ادامه فصل هشتم، واحد مبدل آنالوگ به دیجیتال (ADC) شامل ولتاژ مرجع، دقت و سرعت نمونهبرداری، تعداد کانالها، فرکانس کار و تنظیمات CodeWizard برای آن بررسی میگردد. یک مثال عملی دماسنج دیجیتال با حسگر LM35 و نمایشگر (LCD) نیز ارائه میشود.
ارتباطات سریال و موازی در میکروکنترلرها، انواع پروتکلهای ارتباطی سریال، واحد ارتباطی سریال USART و قالب ارسال/دریافت داده در پروتکل UART (ناهمگام) شامل بیتهای شروع، داده، توازن و پایان و مفهوم نرخ باود (Baud Rate) توضیح داده میشوند.
پروتکلهای ارتباطی UART تحت استانداردهای RS423, RS232, RS422, RS485، تنظیمات USART در CodeWizard، توابع پرکاربرد stdio.h و string.h و مثال عملی نمایش دما روی نمایشگر (LCD) و ارسال به کامپیوتر نیز مورد بحث قرار میگیرند.
واحد ارتباط سریال SPI، طرز کار، خصوصیات، شبکهبندی چند واحد پیرو (Slave) توسط یک واحد فرمانده (Master) و تنظیمات CodeWizard و مثال عملی ارتباط SPI بین دو میکروکنترلر با نمایشگر (LCD) و صفحهکلید نیز پوشش داده میشوند.
ثبات، شمارنده، واحد زمانسنج/شمارنده، مفهوم زمانسنج (تایمر) و شمارنده (کانتر)، تفاوتهای اصلی آنها، ویژگیها و انواع این واحدها در میکروکنترلرهای AVR به همراه معرفی اجمالی ثباتهای کنترل، زمانسنج/شمارنده، مقایسه خروجی، پوشش وقفه و پرچم سرریز مورد بررسی قرار میگیرند.
همچنین، زمانسنج/شمارندههای ساده و پیشرفته ۸ بیتی و ۱۶ بیتی در حالات عادی، مقایسه (CTC)، مدولاسیون عرض پالس (PWM) سریع و مدولاسیون عرض پالس با تصحیح فاز و فرکانس توضیح داده شده و در نهایت تنظیمات مربوطه در CodeWizard، راهاندازی زمانسنج بلادرنگ (RTC) و زمانسنج نگهبان (Watchdog) در میکروکنترلرهای AVR نیز به تفصیل بیان میگردند. این مجموعه کامل، یادگیری جامع میکروکنترلرهای AVR از 0 تا 100 را تضمین میکند و در انتها با “منابع و مراجع” به پایان میرسد.