آموزش تکمیلی میکروکنترلر avr و نرم افزار codevisionavr
TRANSCRIPT
:مدرس
محمد امین مصالییکنترل-مهندس برق
دانشگاه شیراز
و نرم افزارAVRآموزش پیشرفته میکروکنترلر CodevisionAVR
1
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
مقدمه
2
داخلیکاربردپرامکاناتازبخشیباآشنایی•
ATMEGA32:انتخابیمیکروکنترلر
هاپروژهومثالهابربیشترتمرکز•
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
فهرست مطالب
3
معماریوقفهها•
شمارندهها/تایمرها•
مقایسهگرآنالوگ•
مبدلآنالوگبهدیجیتال•
USARTدرگاهسریال•
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
معماری وقفه ها
4
(Interrupt)وقفهچیست؟
ااتفاقیاستسختافزاریکهباعثمیشودپردازندهاجرایروالعادیبرنامهر
.موقتارهاکندوبهآناتفاقرسیدگیکند
آندستهازاتفاقاتیکهمیتوانندوقفهایجادکنند=منابعوقفه
(Interrupt Service Routine)اجرایتابعوقفه=رسیدگیبهوقفه
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
معماری وقفه ها
5
وقفههایپرچمداروبدونپرچم
چیست؟(Flag)پرچم
.کهدراثررخدادهایمعینیصفرویکمیشوندI/Oخانههایبیتیخاصیدرفضایرم
:پاکشدنپرچمبهدوصورتانجاممیشود
اجرایتابعوقفهمربوط–1
دربیتپرچم ’1‘نوشتن–2
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
معماری وقفه ها
6
(Interrupts Priority)تقدموقفهها
برداروقفهچیست؟
عبآدرسمعینیازحافظهبرنامهکهدرصورتاتفاقافتادنوقفهوپذیرشآن،اجرایبرنامهبهآنمکانمنش
.میشود
.تراستتقدماجراباآنوقفهایستکهآدرسبرداریآنپایینAVRدرمعماریوقفههای
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
معماری وقفه ها
7
شروطپذیرشوقفه
.فعالکنندهکلیوقفههافعالباشد–1
یککردنبیتIدرSREG
یا
دستوراسمبلیSEI
.وقفهموردنظرفعالشدهباشد–2
.تابعوقفهدیگریدرحالاجرانباشد–3
دازنوعپرچمدرصورتیکهتابعوقفهایدرحالاجراباشدووقفهجدیدیاتفاقبیفتد،درصورتیکهوقفهجدی:نکته
.دارباشد،پسازاتماماجرایتابعوقفهجاری،وقفهجدیدپذیرفتهمیشود
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
معماری وقفه ها
8
وقفههایخارجی
حساسیتوقفه
لبهباالرو
لبهپایینرو
’0‘سطحمنطقی
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
شمارنده ها/ تایمر
9
(:Counter)وشمارنده(Timer)تفاوتتایمر
.تایمرکالکدرونیچیپرامیشماردوشمارندهکالکواردشوندهازبیرونبهچیپ
ATMEGA32شمارندههای/تایمر
بیتی8:شمارندهصفر/تایمر
بیتی16:شمارندهیک/تایمر
بیتی8:شمارندهدو/تایمر
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
شمارنده ها/ تایمر
10
شمارندهصفر/تایمر
رجیسترهایمربوط
TCNT0 : رجیسترشمارشی
TCCR0 : تنظیمات
OCR0 : رجیسترمقایسهای
TIMSK : تنظیماتوقفهتایمرها
TIFR : پرچمهایتایمرها
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
شمارنده ها/ تایمر
11
شمارندهصفر/تایمر
(Modes of Operation)حالتهایعملکرد
(Normal)حالتعادی•
CTCحالت•
(Fast PWM)سریعPWMحالت•
(Phase Correct PWM)تصحیحفازPWMحالت•
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
شمارنده ها/ تایمر
12
شمارندهصفر/تایمر
PWMتعریفموج
PWMمخففPulse Width Modulationنوعی
شکلموجدیجیتالاستکهپهنایپالسصفرویکآن
.قابلکنترلباشد
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
شمارنده ها/ تایمر
13
شمارندهیک/تایمر
رجیسترهایمربوط
TCNT1H , TCNT1L : جفترجیسترشمارشی
TCCR1A , TCCR1B : تنظیمات
OCR1AH, OCR1AL , OCR1BH, OCR1BL : رجیسترهایمقایسهای
ICR1H , ICR1L : جفترجیسترداماندازی
TIMSK : تنظیماتوقفهتایمرها
TIFR : پرچمهایتایمرها
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
شمارنده ها/ تایمر
14
شمارندهیک/تایمر
(Modes of Operation)حالتهایعملکرد
(Normal)حالتعادی•
CTCحالت•
(Fast PWM)سریعPWMحالت•
(Phase Correct PWM)تصحیحفازPWMحالت•
(Phase & Frequency Correct PWM)تصحیحفازوفرکانسPWMحالت•
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
شمارنده ها/ تایمر
15
شمارندهدو/تایمر
رجیسترهایمربوط
TCNT2 : رجیسترشمارشی
TCCR2 : تنظیمات
OCR2 : رجیسترمقایسهای
TIMSK : تنظیماتوقفهتایمرها
TIFR : پرچمهایتایمرها
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
(Analog Comparator)مقایسه گر آنالوگ
16
مقایسهگرچیست؟
.یکیازامکاناتدرونیمیکروکنترلرکهولتاژآنالوگبیندوپایهراباهممقایسهمیکند
برایاعمالتنظیماتمقایسهگرACSRرجیستر
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
(ADC)مبدل آنالوگ به دیجیتال
17
تعاریفاولیه
oورودیSingle-Ended(یکطرفه)وورودیDifferential(تفاضلی)
oرزولوشنتبدیل
oدقتتبدیل
oزمانتبدیل
oپلهولتاژ
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
(ADC)مبدل آنالوگ به دیجیتال
18
رجیسترهایمربوط
ADCH , ADCL → ADCW :داده جفترجیستر
ADCSRA , ADMUX , SFIOR: رجیسترهایتنظیمات
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
USARTدرگاه سریال
19
Universal Synchronous/Asynchronous Receiver/Transmitterمخفف
حالتهایعملکرد
(Synchronous)همزمان•
(Asynchronous)ناهمزمان•
:پایهها
TXD(فرستادنداده)،RXD(دریافتداده)،XCK(کالکحالتهمزمان)
:فریمداده
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
USARTدرگاه سریال
20
(Baud Rate)نرخمبادله
دریافتهربیت/مدتزمانارسال
رجیسترهایمربوط
UDR : رجیسترداده
UCSRA , UCSRB , UCSRC : رجیسترهایتنظیمات
UBRRH , UBRRL : رجیسترهایتنظیمنرخمبادله
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
تشکر و قدردانی
21
در پناه ایزد یکتا
پیروز و سربلند باشید
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org
اسالید ها بر مبنای نکات مطرح شده در فرادرساین « CodevisionAVRنرم افزار و AVRآموزش کاربردی میکروکنترلر »
.تهیه شده است
.ماییدبرای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه ن
faradars.org/fvee9404
22
AVRکاربردی میکروکنترلر آموزش
faradars.org/fvee9404
فرادرس
FaraDars.org