آموزش کاربردی میکروکنترلرهای AVR از 0 تا 100
یکی از بهترین و جامع ترین جزوهای آموزش میکروکنترلر AVR به زبان c
برای آموزش الکترونیک دیجیتال
فصل 1 مقدمه . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ....... ................................ 1
1 - 1 پیشگفتار مولف . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - .... ................................ 1
1 - 2 مدارهای الکتریکی و الکترونیکی . . . . . . . . . . . . . . . . . . . . . . . . . - ......................... 2
1 - 2 - 1 سیستم های الکترونیکی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ............................... 4
1 - 2 - 2 تفاوت سیستم دیجیتال با آنالوگ . . . . . . . . . . . . . . . . . . . . . . . . . . - .......................... 5
1-3- آشنایی با اجزای مدارهای الکترونیکی . . . . . . . . . . . . . . . . . . . . . . ...................... 6
1-3-1- آشنایی با بردبورد . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ................................ 6
1 - 3 - 2 آشنایی با مقاومت الکتریکی - : .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 7
1 - 3 - 3 آشنایی با خازن - : .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 9
1 - 3 - 4 آشنایی با سلف . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - .. ................................ 11
1-3-5- آشنایی با دیود . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ................................ 12
1 - 3 - 6 آشنایی با - LED .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 14
1 - 3 - 7 آشنایی با منابع تغذیه . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - .............................. 15
1-3-8- رگولاتور یا تنظیم کننده ولتاژ : .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 18
1-3-9- آشنایی با سون سگمنت . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 18
1-3-10- آشنایی با ترانزیستور . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................ 20
1-3-11- آشنایی با آی سی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ................................ 22
1 - 3 - 12 برد مدار چاپی ) - pcb ............................. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ) 24
1 - 3 - 13 المان های نصب سطحی ) - smd ........................ . . . . . . . . . . . . . . . . . . . . . . . . ) 24
1 - 3 - 14 آشنایی با کریستال . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ............................... 25
1 - 4 اصول الکترونیک دیجیتال . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ............................. 25
1-4-1- تفاوت الکترونیک آنالوگ و دیجیتال . . . . . . . . . . . . . . . . . . . . . . . ....................... 26
1-4-2- تعریف سیگنال دیجیتال . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 26
1 - 4 - 3 مفهوم فرکانس . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ... ................................ 27
1-4-4- سیگنال کلاک (Clock) .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 29
1-5- آشنایی با سیستم اعداد باینری . . . . . . . . . . . . . . . . . . . . . . . . . . .......................... 29
1 - 5 - 1 تبدیل اعداد از مبنای - 2 به مبنای 10 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
- 5 - 2 تبدیل اعداد از مبنای - 10 به مبنای 2 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 32
1-5-3- اعداد در مبنای 16 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . 32
1 - 6 تعریف واحد های اندازه گیری حافظه . . . . . . . . . . . . . . . . . . . . . . - ...................... 33
فصل 2 ساختار میکروکامپیوتر و تفاوت آن با میکروکنترلر . . . . . . . . . . . . . . . - ............... 35
2-1- تعریف کامپیوتر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ................................ 35
2-2- تعریف میکروکامپیوتر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 36
2-2-1- تعریف میکروپروسسور ( CPU ) .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 37
2 - 2 - 2 تعریف - ROM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 38
2-2-3- انواع حافظه های ROM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 38
2 - 2 - 4 تعریف - RAM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 40
2-2-5- انواع حافظه های RAM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 41
2 - 2 - 6 تعریف - PORT .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 41
2 - 2 - 7 تعریف - BUS ..................................... 41
2-3- تعریف میکروکنترلر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................ 42
2-4- انواع میکروکنترلرها . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................ 43
فصل 3- معرفی میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 45
3-1- معرفی و تاریخچه ساخت . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................. 46
3-2- انواع میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 46
3-3- معماری و ساختار میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 47
3-3-1- هسته مرکزی CPU ( واحد پردازش مرکزی .................. . . . . . . . . . . . . . . . . . . ) 47
3-3-2- واحد محاسبه و منطق (Arithmetic Logic Unit) .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 49
3-3-3- رجیسترهای CPU .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 49
رجیستر های عمومی General Purpose Registers .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 49
3-3-4- نحوه عملکرد واحد CPU .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 51
3-3-5- خط لوله Pipelining .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 51
3-4- معماری حافظه در AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 52
3-4-1- حافظه داده SRAM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . 53
3-4-2- حافظه داده EEPROM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 53
3-4-3- حافظه برنامه FLASH .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 53
- 5 - 2 تبدیل اعداد از مبنای - 10 به مبنای 2 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 32
1-5-3- اعداد در مبنای 16 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . 32
1 - 6 تعریف واحد های اندازه گیری حافظه . . . . . . . . . . . . . . . . . . . . . . - ...................... 33
فصل 2 ساختار میکروکامپیوتر و تفاوت آن با میکروکنترلر . . . . . . . . . . . . . . . - ............... 35
2-1- تعریف کامپیوتر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ... ................................ 35
2-2- تعریف میکروکامپیوتر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 36
2-2-1- تعریف میکروپروسسور ( CPU ) .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 37
2 - 2 - 2 تعریف - ROM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 38
2-2-3- انواع حافظه های ROM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 38
2 - 2 - 4 تعریف - RAM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 40
2-2-5- انواع حافظه های RAM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 41
2 - 2 - 6 تعریف - PORT .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 41
2 - 2 - 7 تعریف - BUS ..................................... 41
2-3- تعریف میکروکنترلر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................ 42
2-4- انواع میکروکنترلرها . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................ 43
فصل 3- معرفی میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 45
3-1- معرفی و تاریخچه ساخت . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................. 46
3-2- انواع میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 46
3-3- معماری و ساختار میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 47
3-3-1- هسته مرکزی CPU ( واحد پردازش مرکزی .................. . . . . . . . . . . . . . . . . . . ) 47
3-3-2- واحد محاسبه و منطق (Arithmetic Logic Unit) .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 49
3-3-3- رجیسترهای CPU .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 49
رجیستر های عمومی General Purpose Registers .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 49
3-3-4- نحوه عملکرد واحد CPU .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 51
3-3-5- خط لوله Pipelining .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 51
3-4- معماری حافظه در AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 52
3-4-1- حافظه داده SRAM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. . 53
3-4-2- حافظه داده EEPROM .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 53
3-4-3- حافظه برنامه FLASH .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 53
واحد کنترل کلاک سیستم در میکروکنترلر Atmega32 .. .. .. .. .. .. .. .. .. .. .. .. .. 88
5-7- فیوز بیت ها در میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 90
5 - 8 فیوز بیت های تنظیم کلاک . . . . . . . . . . . . . . . . . . . . . . . . . . . - ........................... 91
5-8-1- نوسان ساز با کریستال خارجی . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................... 92
5-8-2- نوسان ساز با کریستال فرکانس پائین . . . . . . . . . . . . . . . . . . . . . . . ....................... 93
5-8-3- نوسان ساز با RC خارجی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............................. 94
5-8-4- نوسان ساز با اسیلاتور RC کالیبره شده داخلی . . . . . . . . . . . . . . . . . . .................. 95
5-8-5- نوسان ساز با کلاک خارجی . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................ 96
5 - 9 تنظیم دیگر فیوز بیت ها . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ............................. 97
5-10- تنظیم فیوز بیت ها در نرم افزار کدویژن . . . . . . . . . . . . . . . . . . . . . ..................... 98
5-11- تنظیم پروتئوس در حالت استفاده از کریستال خارجی . . . . . . . . . . . . . ............. 99
فصل 6- آموزش برنامه نویسی C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 101
6-1- معرفی کوتاه زبان C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 101
6-2- کلمات کلیدی در زبان C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 102
6-3- ویژگی های یک برنامه به زبان C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 102
6-4- ساختار یک برنامه به زبان C در کامپیوتر . . . . . . . . . . . . . . . . . . . ................... 103
6-5- تفاوت برنامه نویسی برای کامپیوتر و میکروکنترلر . . . . . . . . . . . . . . .............. 103
6-6- ساختار برنامه میکروکنترلر به زبان C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 104
6-7- متغیرها در زبان C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 104
6-7-1- نحوه تعریف متغیرها . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 105
6-7-2- ویژگی های نام متغیر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 105
6-7-3- انواع متغیر ها از نظر محل تعریف در برنامه . . . . . . . . . . . . . . . . . . .................. 105
6-7-4- محل تعریف متغیرها در حافظه میکروکنترلر . . . . . . . . . . . . . . . . . . .................. 105
6-8- توابع در زبان c .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 106
6-8-1- انواع توابع در زبان c .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 107
6-8-2- تعریف توابع در زبان c .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 108
6 - 8 - 3 اعلان و بدنه تابع . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - ................................ 108
6 - 8 - 4 فراخوانی تابع . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - .. ................................ 109
6-9- تعریف ثوابت در زبان C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 110
- 10 دستورات شرطی در - C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 111
6-10-1- دستور شرطی if .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 111
6-10-2- دستور شرطی switch .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 112
6-11- حلقه های تکرار در C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 112
6-11-1- حلقه while .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 113
6 - 11 - 2 حلقه - do…while .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 113
6 - 11 - 3 حلقه - for 113
6-11-4- دستور break و continue در حلقه ها . . . . . . . . . . . . . . . . . . . . . . . ....................... 114
6-12- اتصال کلید به میکرو . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 115
6 - 13 آرایه ها در - C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 119
6-13-1- آرایه های یک بعدی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 119
6-13-2- آرایه های چند بعدی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 120
6-13-3- مقدار دهی به آرایه های چند بعدی . . . . . . . . . . . . . . . . . . . . . . ...................... 121
6 - 14 رشته ها در - C .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 121
6-14-1- تعریف یک کاراکتر . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................ 122
6-14-2- تعریف رشته ) آرایه ای از کاراکتر ها ..................... . . . . . . . . . . . . . . . . . . . . . ) 122
6 - 14 - 3 کاراکترهای کنترلی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - .............................. 123
6-15- عملگرها . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...... ................................ 124
6-15-1- عملگرهای محاسباتی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................... 124
6-15-2- عملگرهای مقایسه ای و منطقی . . . . . . . . . . . . . . . . . . . . . . . . . . .......................... 125
6-15-3- عملگرهای ترکیبی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ................................ 125
6-15-4- تعریف عملگرهای بیتی . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............................. 126
6-15-5- تقدم کلی در عملگرها . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............................. 127
6-16- تبدیل نوع در محاسبات . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................. 127
6-17- اتصال سون سگمنت به میکرو . . . . . . . . . . . . . . . . . . . . . . . . . . .......................... 127
6-17-1- راهنمای آی سی 7448 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 128
6-17-2- سون سگمنت های مالتی پلکس . . . . . . . . . . . . . . . . . . . . . . . . . ......................... 131
6-18- اتصال صفحه کلید به میکرو . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................... 133
6-19- اتصال صفحه کلید 4 در 4 به میکرو . . . . . . . . . . . . . . . . . . . . . . . ....................... 138
6-19-1- برنامه حرفه ای تر اتصال صفحه کلید 4 در 4 به میکرو
فصل 7 آموزش کدویزارد - AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 141
7-1- واحد پورت های ورودی/خروجی . . . . . . . . . . . . . . . . . . . . . . . ....................... 141
7-1-1- رجیسترهای واحد I/O .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 143
7-1-2- نحوه فعالسازی مقاومت پول آپ . . . . . . . . . . . . . . . . . . . . . . . . ........................ 144
7-2- CodeWizard چیست ؟ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............................. 144
7-2-1- شروع کار با ابزار CodeWizard .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 144
7-3- راه اندازی LCD های کاراکتری . . . . . . . . . . . . . . . . . . . . . . . . ........................ 147
7 - 3 - 1 تنظیمات - LCD کاراکتری در کدویزارد . . . . . . . . . . . . . . . . . . . . .................... 150
7-3-2- توابع کار با LCD کاراکتری . . . . . . . . . . . . . . . . . . . . . . . . . . . ........................... 150
7-4- معرفی و تشریح واحد وقفه های خارجی . . . . . . . . . . . . . . . . . . . ................... 156
7-4-1- انواع منابع وقفه در میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 156
7-4-2- راه اندازی واحد وقفه خارجی در Atmega32 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 156
7-5- واحد مبدل آنالوگ به دیجیتال ADC .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 162
7 - 5 - 1 تنظیمات واحد - ADC در AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 163
7-5-2- تنظیمات کدویزارد برای راه اندازی واحد ADC .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 164
فصل 8 راه اندازی ارتباطات سریال با کدویزارد . . . . . . . . . . . . . . . . . . . - ................... 169
8-1- ارتباطات سریال و موازی در میکروکنترلرها . . . . . . . . . . . . . . . . . ................. 169
8-2- پروتکل های ارتباطی سریال و سرعت آنها . . . . . . . . . . . . . . . . . . . ................... 170
8-3- نوع فرستنده و گیرنده . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .............................. 170
8-4- انواع حالت ارتباط سریال . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................ 170
8-5- روش ارسال اطلاعات سریال . . . . . . . . . . . . . . . . . . . . . . . . . . .......................... 171
8-6- راه اندازی واحد USART .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 171
8-6-1- قالب ارسال/دریافت دیتا در پروتکل UART ( آسنکرون .......... . . . . . . . . . . ) 172
8-6-2- پروتکل های استاندارد UART .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 173
8 - 6 - 3 استاندارد - RS232 .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 174
8-6-4- تنظیمات واحد USART در کدویزارد . . . . . . . . . . . . . . . . . . . . . . ...................... 176
8-6-5- توابع پرکاربرد stdio.h در هنگام کار با واحد USART .. .. .. .. .. .. .. .. .. .. .. .. .. 177
8-6-6- توابع پرکاربرد کتابخانه string.h برای کار با رشته ها . . . . . . . . . . . . . ............. 180
8 - 6 - 7 ماژول های مبدل - USB به سریال . . . . . . . . . . . . . . . . . . . . . . . . ........................ 186
- 6 - 8 انواع مبدل های - USBtoTTL .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 187
8 - 6 - 9 اتصال ماژول - USB به میکرو . . . . . . . . . . . . . . . . . . . . . . . . . . .......................... 189
8-7- واحد ارتباط سریال SPI .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 189
8-7-1- طرز کار واحد SPI .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 190
8-7-2- خصوصیات واحد SPI در میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 190
8-7-3- شبکه بندی چندین Slave در پروتکل SPI .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 190
8-7-4- تنظیمات واحد SPI در کدویزارد . . . . . . . . . . . . . . . . . . . . . . . . ........................ 191
8 - 8 راه اندازی واحد تایمر/کانتر . . . . . . . . . . . . . . . . . . . . . . . . . - ......................... 198
8-8-1- رجیستر چیست ؟ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ................................ 199
8-8-2- کانتر یا شمارنده چیست ؟ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................ 199
8-8-3- واحد تایمر/کانتر چیست ؟ . . . . . . . . . . . . . . . . . . . . . . . . . . . . ............................ 200
8-8-4- واحد تایمر/کانتر در میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 200
8-8-5- انواع واحد تایمر/کانتر در میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. 201
8 - 8 - 6 معرفی رجیستر های واحدهای تایمر/کانتر - 8 بیتی . . . . . . . . . . . . . ............. 203
8-8-7- معرفی و تشریح تایمر/کانتر ساده 8 بیتی . . . . . . . . . . . . . . . . . . . ................... 204
8-8-8- معرفی و تشریح تایمر/کانتر پیشرفته 8 بیتی . . . . . . . . . . . . . . . . . . .................. 205
8-8-9- بررسی تایمر/کانتر 8 بیتی پیشرفته در حالت ساده ( Normal ) .. .. .. .. .. .. .. .. 206
8-8-10- PWM چیست ؟ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ................................ 208
8-8-11- تولید PWM به روش نرم افزاری و بدون استفاده از واحد تایمر . . . . . . . ....... 209
8-8-12- بررسی تایمر/کانتر 8 بیتی پیشرفته در حالت PWM سریع ( Fast PWM ) .. .. 210
8-8-13- بررسی تایمر/کانتر 8 بیتی پیشرفته در حالت PWM تصحیح فاز ( Phase Correct PWM ) ....................................... 211
8-8-14- معرفی اجمالی رجیسترهای تایمر/کانترهای 16 بیتی . . . . . . . . . . . . . ............. 212
8-8-15- معرفی و تشریح تایمر/کانتر پیشرفته 16 بیتی . . . . . . . . . . . . . . . . . ................. 213
8-8-16- تایمر/کانتر 16 بیتی پیشرفته در حالت ساده ( Normal ) .. .. .. .. .. .. .. .. .. .. .. .. 214
8-8-17- تایمر/کانتر 16 بیتی پیشرفته در حالت مقایسه ( CTC ) .. .. .. .. .. .. .. .. .. .. .. .. 215
8-8-18- تایمر/کانتر 16 بیتی پیشرفته در حالت PWM سریع ( Fast PWM ) .. .. .. .. .. .. 216
8-8-19- تایمر/کانتر 16 بیتی پیشرفته در حالت PWM تصحیح فاز ( Phase Correct PWM )217
8-8-20- تایمر/کانتر 16 بیتی پیشرفته در حالت PWM تصحیح فاز و فرکانس ( Phase & Frequency Correct PWM ) .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 218
8-8-21- تنظیمات واحد تایمر/کانتر در کد ویزارد CodeWizard .. .. .. .. .. .. .. .. .. .. .. .. 219
- 8 - 22 چند مثال شبیه سازی شده . . . . . . . . . . . . . . . . . . . . . . . . . . - .......................... 223
8-8-23- راه اندازی RTC در میکروکنترلرهای AVR .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 232
8-8-24- تایمرسگ نگهبان . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. ................................