مجموعه آموزش های پایه ای میکروکنترلر avr و نرم افزار...
TRANSCRIPT
![Page 1: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/1.jpg)
:مدرس
محمد امین مصالییکنترل-مهندس برق
دانشگاه شیراز
و نرم افزارAVRآموزش میکروکنترلر CodevisionAVR
1
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 2: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/2.jpg)
مقدمه
2
الکترونیکیمحصوالتنشدنیجدابخشهایازیکیمیکروکنترلرها•
میکروکنترلرهایخانوادهپرکاربردترینومحبوبترینازیکیAVRمیکروکنترلرهای•
(ATMEL)سازندهکارخانهوسیلهبهرسانیروزبهوتولید• فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 3: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/3.jpg)
فهرست مطالب
3
AVRآشناییاولیهبامیکروکنترلرهای•
ساختارحافظه•
ساختارپورتها•
CodevisionAVRاربانرمافزارک•
انجامیکپروژهنمونهوشبیهسازیدرنرمافزارپروتئوس•
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 4: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/4.jpg)
AVRآشنایی اولیه با میکروکنترلر های
4
AVRبیتی8های:
(ATTINY)سریکوچک•
(AT90S)سریمتوسط•
(ATMEGA)سریمگا•
مگاسریAVRبیتیخانواده8میکروکنترلرهایبراساس:مبنایآموزش
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 5: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/5.jpg)
5
(Fuse Bit)فیوزبیت
(Lock Bit)بیتقفل
.بهمعنایبرنامهریزیشده’0‘بهمعنایبرنامهریزینشدهو’1‘•
.امکانپذیراستJTAGدسترسیبهبیتهایفیوزوقفلدرزمانبرنامهریزیمیکروکنترلربهوسیلهپروگرمریا•
.درصورتاستفادهازبیتهایقفل،اینکاردرانتهایبرنامهریزیبقیهقسمتهاانجامشود•
.امابیتهایفیوزدستنخوردهباقیمیمانند.کردنچیپ،پاکمیشوند(Erase)بیتهایقفل،باپاک•
AVRآشنایی اولیه با میکروکنترلر های
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 6: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/6.jpg)
6
منابع کالک سیستم
اسیالتورکریستالی•
اسیالتورکریستالیفرکانسپایین•
خارجیRCاسیالتور•
کالیبرهشدهداخلیRCاسیالتور•
کالکخارجی•
AVRآشنایی اولیه با میکروکنترلر های
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 7: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/7.jpg)
7
سیستمResetمنابع
•Power-Onشدن
RESETازطریقپایه•
Watchdog)تایمرنگهبان• Timer)
Brownکاهشولتاژتغذیهازحد• – Out(درصورتیکهفیوزبیتBODENفعالباشد)
JTAGازResetدریافتفرمان•
AVRآشنایی اولیه با میکروکنترلر های
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 8: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/8.jpg)
8
ساختار حافظه
Program)حافظه برنامه Memory)
(Flash)فلشنوعازایحافظه•
کاربرتوسطشدهنوشتهبرنامهذخیره•
flashوconstکلیدیکلماتبابرنامهدرشدهتعریف(خواندنیفقط)ثابتمقادیرذخیره•
:میشودتقسیمبخشدوبهبرنامهحافظه
Bootبخش•
(Application)کاربردیبخش•
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 9: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/9.jpg)
9
RAM(SRAM Data Memory)حافظه داده
(SRAM)استاتیکرمنوعازحافظه•
برنامهدراستفادهموردموقتدادههایذخیرهبرای•
فضاایندربرنامهدرشدهتعریفمتغیرهایذخیره•
ساختار حافظه
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 10: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/10.jpg)
10
:میشودتقسیمبخشسهبهRAMحافظهRegister)رجیستریفایلبخش• File)I/Oبخش•
.پذیرندآدرسبیتبخشایناولبایت32:نکته
ADMUX.ADLAR = 1;TIFR.TOV1 = 1;TIFR |= ( 1<< TOV1);
کاربررمبخش•oداخلی(Internal)oخارجی(External)
ساختار حافظه
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 11: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/11.jpg)
11
EEPROM(EEPROM Data Memory)حافظه داده
ماندگارهایدادهذخیرهبرای•
.میشوندذخیرهفضاایندرCزباندرeepromنوعازشدهتعریفمتغیرهای•
:مثال
eeprom char e1;eeprom unsigned int e2 = 1234;
ساختار حافظه
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 12: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/12.jpg)
12
ساختار پورتها
مفهوم پورت، ورودی و خروجی
بیرونباسیستمهایدادهتبادل•
«خروجی»و«ورودی»پورتمفهوم•
.باشدخروجییاورودیمیتواندفقطواحدآندرپورتپایههر:نکته•
RAMحافظهI/Oفضایدرکهآنهابهمربوطرجیسترهایدرتنظیماتاعمالوبرنامهنویسیطریقازپورتهابهدسترسی•
.استامکانپذیردارند،قرار
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 13: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/13.jpg)
13
ساختار پورتها
نکات کاربردی
خیربعضیوپذیرندآدرسبیتپورتهاازبعضی•
:مثال
PORTB.3 = 0;PORTF.3 = 0;
.ندهیدمجازغیرولتاژورودیپورتهایروی.نکشیداضافهجریانخروجیپورتهایاز•
.شودفعالغیرJTAGENفیوزبیتباید،آنهاازاستفادهبرای.باشندمیJTAGارتباطبهمربوطپینهاازبعضی•
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 14: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/14.jpg)
14
معرفی رجیستر های مربوط به پورت ها
(CبرایپورتDDRCمثال)DDRرجیستر1.
.کندمیتعریفخروجیعنوانبهپورترویراآنمتناظرپینرجیستر،اینبیتهردریکدادنقرار•
.کندمیتعریفورودیعنوانبهپورترویراآنمتناظرپینبیت،هردرصفردادنقرار•
DDRBاگرمثال = :بودخواهدزیرصورتبهBپورتپینهایوضعیتشود،تنظیم11010101
ساختار پورتها
PB0PB1PB2PB3PB4PB5PB6PB7
خروجیخروجیورودیخروجیورودیخروجیورودیخروجی
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 15: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/15.jpg)
15
پورت هامعرفی رجیستر های مربوط به
(AبرایپورتPINAمثال)PINرجیستر.2
.میرودکاربهپورترویدادههایخواندنبرایواست«خواندنیفقط»رجیستراین
:مثال
inp = PINC;
b = PIND.3;
if (PINA.7 == 0) break;
ساختار پورتها
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 16: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/16.jpg)
16
پورت هابهمربوطرجیستر هایمعرفی
(DپورتبرایPORTDمثال)PORTرجیستر.3
استشدهتعریفخروجیعنوانبهپورتکهحالتیدر:
.میشودپورترویآنمتناظرپینشدنیکیاصفرباعثرجیسترایندریکیاصفرنوشتنحالتایندر
استشدهتعریفورودیعنوانبهپورتکهحالتیدر:
پولصورتبهراورودیدرآن،یکنوشتنو(Tri-State)باالامپدانسصورتبهراورودیرجیستر،ایندرصفرنوشتنحالتایندر
.میکندپیکربندی(Pull-Up)دارآپ
ساختار پورتها
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 17: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/17.jpg)
17
:مثال
DDRB = 0b00101100;
PORTB = 0b01101001;
:نتیجهدوخطدستورباالایناست
PB0PB1PB2PB3PB4PB5PB6PB7
ورودیپولآپدار
ورودیامپدانسباال
ورودیخروجییکخروجیصفرامپدانسباال
ورودیپولخروجییکآپدار
ورودیامپدانسباال
ساختار پورتها
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 18: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/18.jpg)
18
CodevisionAVRکار با نرم افزار
.آوردمیفراهمAVRمیکروکنترلرهایبرایاسمبلیوCزبانبهبرنامهنویسیبرایراتوانمندIDEیکCodevisionAVRافزارنرم
مثلجانبیامکانات
پروگرمراندازراه•
سریالترمینال•
...ودیباگابزار•
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 19: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/19.jpg)
19
.اندشدهتعریفبزرگحروفباهمگیمیکروکنترلربهمربوطفایلهدردررجیسترهاناموتعاریف
.استضرورینکتهاینذکراست،حساسبزرگوکوچکحروفبهCزبانکهآنجاییاز
:گرفتخواهدخطازیردستورازکامپایلرمثال
PortG= 0x27;
CodevisionAVRکار با نرم افزار
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 20: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/20.jpg)
20
endasm#وasm#پردازندهپیشعبارتدوبیندستوراتاین.کرداستفادهنیزاسمبلیکدهایازمیتوانCزبانبرنامهمیاندر
.میگیرندقرارPORTB.2 = 1;#asmnopadd r0, r1#endasm
:نماییمعملزیرفرمبهبایدبنویسیم،خطیکدررااسمبلیدستورچندیایکبخواهیماگر
#asm (“nop \ add r0, r1”)
CodevisionAVRکار با نرم افزار
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 21: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/21.jpg)
21
floatوbool،char،int،longمثلهاییداده.کندمیپشتیبانیاستانداردCزباندادهانواعازکدویژن
جملهاز.داردوجودنیزجزئیتفاوتهاییاما
bitبیتیتکدادهشدناضافه•
یکیاصفرمقدارفقط
(Global)سراسریصورتبهتعریف
.شونداستفادهیونیونیاساختار،آرایهصورتبهنباید
Professionalازغیرهاینسخهدرمضاعفدقتبااعشاریدادهوجودعدم•
.نندیکساfloatوdoubleداده،دیگرورژنهایدر
.شوداضافهبرنامهبهstdbool.hفایلهدر،boolدادهازاستفادهصورتدر•
CodevisionAVRکار با نرم افزار
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 22: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/22.jpg)
22
آنکردنکامپایلوبرنامهنوشتنپروژه،ساخت
میکروکنترلرسیآیریزیبرنامه
CodevisionAVRکار با نرم افزار
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 23: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/23.jpg)
پروگرمردستگاهروی•
DIPپکیجباچیپهایبرای
(On-Board)بردروی•
پروگرمرISP
کابلJTAG
برنامه ریزی آی سی میکروکنترلر
MCU PGM PC
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 24: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/24.jpg)
24
ISPپروگرمر
SPIسریالروشبهریزیبرنامه
:نیازهاپیش
میکروکنترلرتغذیهمنبع•
میکروکنترلرکالکمنبع•
برنامه ریزی آی سی میکروکنترلر
MCU PGM PCParallel , Serial , USB
MOSIMISOSCKRESET
VDD VDD
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 25: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/25.jpg)
25
انجام پروژه های نمونه و شبیه سازی در نرم افزار پروتئوس
رقمABCDEFGهگزا دسیمالکد
3F11111100
0601100001
5B11011012
4F11110013
6601100114
6D10110115
7D10111116
0711100007
7F11111118
6F11110119
فرادرس
FaraDars.org CodevisionAVR و نرم افزار AVR مجموعه آموزش های پایه ای میکروکنرتلر
faradars.org/fvee9310
![Page 26: مجموعه آموزش های پایه ای میکروکنترلر AVR و نرم افزار CodevisionAVR](https://reader031.vdocuments.net/reader031/viewer/2022012313/55d36ecebb61ebce1b8b462d/html5/thumbnails/26.jpg)
ای میکروکنترلرآموزش های پایه »این اسالید ها بر مبنای نکات مطرح شده در مجموعه فرادرس های
AVR و نرم افزارCodevisionAVR»
.شده استتهیه
.برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایید
faradars.org/fvee9310