آموزش تکمیلی میکروکنترلر avr و نرم افزار codevisionavr

22
مدرس: ی ید امین مصحم م مهندس برق- کنترله شیراز نشگا داروکنترلر پیشرفته میک آموزشAVR مافزار و نرCodevisionAVR 1 آموزشروکنترلر میکبردی کارAVR faradars.org/fvee9404 ﻓﺮادرسFaraDars.org

Upload: faradars

Post on 16-Apr-2017

231 views

Category:

Education


10 download

TRANSCRIPT

Page 1: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

:مدرس

محمد امین مصالییکنترل-مهندس برق

دانشگاه شیراز

و نرم افزارAVRآموزش پیشرفته میکروکنترلر CodevisionAVR

1

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 2: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

مقدمه

2

داخلیکاربردپرامکاناتازبخشیباآشنایی•

ATMEGA32:انتخابیمیکروکنترلر

هاپروژهومثال‌هابربیشترتمرکز•

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 3: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

فهرست مطالب

3

معماری‌وقفه‌ها•

شمارنده‌ها/‌تایمرها‌•

مقایسه‌گر‌آنالوگ•

مبدل‌آنالوگ‌به‌دیجیتال•

USARTدرگاه‌سریال‌•

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 4: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

معماری وقفه ها

4

(Interrupt)وقفه‌چیست؟‌

ا‌اتفاقی‌است‌سخت‌افزاری‌که‌باعث‌می‌شود‌پردازنده‌اجرای‌روال‌عادی‌برنامه‌ر

.‌موقتا‌رها‌کند‌و‌به‌آن‌اتفاق‌رسیدگی‌کند

آن‌دسته‌از‌اتفاقاتی‌که‌می‌توانند‌وقفه‌ایجاد‌کنند=‌منابع‌وقفه‌

(Interrupt Service Routine)اجرای‌تابع‌وقفه‌=‌رسیدگی‌به‌وقفه‌

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 5: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

معماری وقفه ها

5

وقفه‌های‌پرچم‌دار‌و‌بدون‌پرچم

چیست؟(Flag)پرچم‌

.‌که‌در‌اثر‌رخداد‌های‌معینی‌صفر‌و‌یک‌می‌شوندI/Oخانه‌های‌بیتی‌خاصی‌در‌فضای‌رم‌

:پاک‌شدن‌پرچم‌به‌دو‌صورت‌انجام‌می‌شود‌

اجرای‌تابع‌وقفه‌مربوط–1

در‌بیت‌پرچم ’1‘نوشتن‌–2

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 6: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

معماری وقفه ها

6

(Interrupts Priority)تقدم‌وقفه‌ها‌

بردار‌وقفه‌چیست؟

عب‌آدرس‌معینی‌از‌حافظه‌برنامه‌که‌در‌صورت‌اتفاق‌افتادن‌وقفه‌و‌پذیرش‌آن،‌اجرای‌برنامه‌به‌آن‌مکان‌منش

.‌می‌شود

.‌‌تر‌استتقدم‌اجرا‌با‌آن‌وقفه‌ایست‌که‌آدرس‌برداری‌آن‌پایینAVRدر‌معماری‌وقفه‌های‌

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 7: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

معماری وقفه ها

7

شروط‌پذیرش‌وقفه

.‌‌فعال‌کننده‌کلی‌وقفه‌ها‌فعال‌باشد–1

یک‌کردن‌بیت‌Iدر‌SREG

یا

دستور‌اسمبلی‌SEI

.‌‌وقفه‌مورد‌نظر‌فعال‌شده‌باشد–2

.‌تابع‌وقفه‌دیگری‌در‌حال‌اجرا‌نباشد–3

د‌از‌نوع‌پرچم‌در‌صورتی‌که‌تابع‌وقفه‌ای‌در‌حال‌اجرا‌باشد‌و‌وقفه‌جدیدی‌اتفاق‌بیفتد،‌در‌صورتی‌که‌وقفه‌جدی:‌نکته

.‌دار‌باشد،‌پس‌از‌اتمام‌اجرای‌تابع‌وقفه‌جاری،‌وقفه‌جدید‌پذیرفته‌می‌شود

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 8: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

معماری وقفه ها

8

وقفه‌های‌خارجی

حساسیت‌وقفه

لبه‌باالرو

لبه‌پایین‌رو

’0‘سطح‌منطقی‌

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 9: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

شمارنده ها/ تایمر

9

(:‌‌Counter)و‌شمارنده‌(Timer)تفاوت‌تایمر‌

.‌تایمرکالک‌درونی‌چیپ‌را‌می‌شمارد‌و‌شمارنده‌کالک‌وارد‌شونده‌از‌بیرون‌به‌چیپ

ATMEGA32شمارنده‌های‌/‌تایمر

بیتی8:‌شمارنده‌صفر‌/‌تایمر‌

بیتی16:‌شمارنده‌یک‌/‌تایمر‌

بیتی8:‌شمارنده‌دو‌/‌تایمر‌

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 10: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

شمارنده ها/ تایمر

10

شمارنده‌صفر/‌تایمر‌

رجیستر‌های‌مربوط

TCNT0 : رجیستر‌شمارشی

TCCR0 : تنظیمات

OCR0 : رجیستر‌مقایسه‌ای

TIMSK : تنظیمات‌وقفه‌تایمرها

TIFR : پرچمهای‌تایمرها

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 11: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

شمارنده ها/ تایمر

11

شمارنده‌صفر/‌تایمر‌

(Modes of Operation)حالتهای‌عملکرد‌

(Normal)حالت‌عادی‌•

CTCحالت‌‌•

(Fast PWM)سریع‌PWMحالت‌•

(Phase Correct PWM)تصحیح‌فاز‌PWMحالت‌•

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 12: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

شمارنده ها/ تایمر

12

شمارنده‌صفر/‌تایمر‌

PWMتعریف‌موج‌

PWMمخفف‌Pulse Width Modulationنوعی‌

شکل‌موج‌دیجیتال‌است‌که‌پهنای‌پالس‌صفر‌و‌یک‌آن

.قابل‌کنترل‌باشد‌

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 13: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

شمارنده ها/ تایمر

13

شمارنده‌یک/‌تایمر‌

رجیستر‌های‌مربوط

TCNT1H , TCNT1L : جفت‌رجیستر‌شمارشی

TCCR1A , TCCR1B : تنظیمات

OCR1AH, OCR1AL , OCR1BH, OCR1BL : رجیستر‌های‌مقایسه‌ای

ICR1H , ICR1L : جفت‌رجیستر‌دام‌اندازی

TIMSK : تنظیمات‌وقفه‌تایمرها

TIFR : پرچمهای‌تایمرها

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 14: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

شمارنده ها/ تایمر

14

شمارنده‌یک/‌تایمر‌

(Modes of Operation)حالتهای‌عملکرد‌

(Normal)حالت‌عادی‌•

CTCحالت‌‌•

(Fast PWM)سریع‌PWMحالت‌•

(Phase Correct PWM)تصحیح‌فاز‌PWMحالت‌•

(Phase & Frequency Correct PWM)تصحیح‌فاز‌و‌فرکانس‌PWMحالت‌•

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 15: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

شمارنده ها/ تایمر

15

شمارنده‌دو/‌تایمر‌

رجیستر‌های‌مربوط

TCNT2 : رجیستر‌شمارشی

TCCR2 : تنظیمات

OCR2 : رجیستر‌مقایسه‌ای

TIMSK : تنظیمات‌وقفه‌تایمرها

TIFR : پرچمهای‌تایمرها

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 16: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

(Analog Comparator)مقایسه گر آنالوگ

16

مقایسه‌گر‌چیست؟

.‌‌یکی‌از‌امکانات‌درونی‌میکروکنترلر‌که‌ولتاژ‌آنالوگ‌بین‌دو‌پایه‌را‌با‌هم‌مقایسه‌می‌کند

برای‌اعمال‌تنظیمات‌مقایسه‌گرACSRرجیستر‌

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 17: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

(ADC)مبدل آنالوگ به دیجیتال

17

تعاریف‌اولیه

oورودی‌Single-Ended(یکطرفه)و‌ورودی‌Differential(تفاضلی)

oرزولوشن‌تبدیل

oدقت‌تبدیل

oزمان‌تبدیل

oپله‌ولتاژ

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 18: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

(ADC)مبدل آنالوگ به دیجیتال

18

رجیسترهای‌مربوط

ADCH , ADCL → ADCW :داده‌‌ جفت‌رجیستر

ADCSRA , ADMUX , SFIOR: رجیسترهای‌تنظیمات

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 19: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

USARTدرگاه سریال

19

Universal Synchronous/Asynchronous Receiver/Transmitterمخفف‌

حالتهای‌عملکرد

(Synchronous)همزمان‌•

(Asynchronous)ناهمزمان‌•

:پایه‌ها‌

TXD(فرستادن‌داده‌)‌،RXD‌(دریافت‌داده‌‌)‌،XCK‌(کالک‌حالت‌همزمان‌)

:فریم‌داده‌

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 20: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

USARTدرگاه سریال

20

(Baud Rate)نرخ‌مبادله‌

دریافت‌هر‌بیت/مدت‌زمان‌ارسال

رجیسترهای‌مربوط

UDR : رجیستر‌داده

UCSRA , UCSRB , UCSRC : رجیسترهای‌تنظیمات

UBRRH , UBRRL : رجیسترهای‌تنظیم‌نرخ‌مبادله

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 21: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

تشکر و قدردانی

21

در پناه ایزد یکتا

پیروز و سربلند باشید

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org

Page 22: آموزش تکمیلی میکروکنترلر AVR و نرم افزار CodevisionAVR

اسالید ها بر مبنای نکات مطرح شده در فرادرساین « CodevisionAVRنرم افزار و AVRآموزش کاربردی میکروکنترلر »

.تهیه شده است

.ماییدبرای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه ن

faradars.org/fvee9404

22

AVRکاربردی میکروکنترلر آموزش

faradars.org/fvee9404

فرادرس

FaraDars.org