فهرست مطالب

چکیده:……………………………………………………………. 1

برای دانلود رایگان قسمت های بیشتراز فایل به انتهای مطلب مراجعه کنید

فصل اول :

تفاوت microprocessor با microcontroller :
میکرو کنترولر یک پردازنده است که در یک قطعه کوچک ساخته شده است.یک میکرو پروسسور به همراه وسایل جانبی یک میکرو کامپیوتر است .وقتی تمام این قطعات داخل یک تراشه سیلیکونی قرارمی گیرد؛ میکرو کنترولر نامیده می شود.میکرو کنترولر در حقیقت یک کامپیوتر تک تراشه ارزان قیمت است.تک تراشه بدین معنی که تمامی اجزای کامپیوتر از جمله پورت های ورودی و خروجی ، واحد پردازشگر مرکزی و سایر ملزومات آن تماما در یک تراشه کوچک جای گرفته اند.ایده اصلی فشرده سازی ، کاهش حجم و هزینه و همچنین سهولت قرار گرفتن در مدارات پیچیده تر و بزرگتر است.
میکرو کنترولر ها معمولا در مواقعی استفاده می شوند که توانایی پردازش بالایی لازم نباشد و در عوض حجم کوچکی و مصرف انرژی کم مد نظر باشد . در ادامه به تشریح قسمت های مختلف میکرو کنترلر AVR atmega32 می پردازیم البته به دلیل زیاد بودن حجم مطالب بیشتر سعی می کنیم به توضیح قسمت هایی بپردازیم که در این پروژه از آنها استفاده نموده ایم .
ساختار کلی میکرو کنترلر AVR Atmega32 :
میکرو کنترلر AVR Atmega32 یک میکرو کنترلر 8بیتی می باشد با معماری RISC می باشد . بدین معنی که تمامی رجیسترهای ، DATA BUS و خانه های حافظه آن بصورت 8بیتی می باشد . این میکرو دارای 32 رجیستر 8بیتی با کاربرد عمومی نیز می باشد (R0 تا R31 ) . علاوه بر این ها این میکرو دارای 8 پورت 8بیتی نیز می باشد (PORTA ، PORTB ، PORTC ، PORTD ) . بلوک دیاگرام کلی این میکرو در شکل زیر مشاهده می شود :

6.

آشنایی با AVR Atmega16ا…………………………………………… 2
تفاوت microprocessor با microcontroller :….ا……………………. 3
ساختار کلی میکرو کنترلر AVR Atmega32 :ا……………………….. 3
انواع حافظه در میکرو کنترلرهای خانواده AVR :ا…………………….. 5
حافظه ………………..SRAM :ا………………………………………… 6
حافظه EEPROM :ا……………………………………………………… 7
نحوه برنامه ریزی حافظه FLASH ا……………………………………….7
Codevision AVR : ا………………………………………………………7
AVR studio ا……………………………………………………………: 8
BASCOM AVR :ا……………………………………………………….. 9
پورتهای میکرو کنترلر Atmega 32 :ا………………………………… 10
Timer/Counter در میکرو کنترلر Atmega32 : ا………………………11
مبدل آنالوگ به دیجیتال ADC(A to D)ا……………………………..: 17

فصل دوم :

روش scanning :
ما سطرهای صفحه کلید مذکور را به چهار بیت کم ارزشتر port A و ستون های صفحه کلید را به چهار بیت پر ارزش تر port A متصل نموده ایم . سپس هر 65ms یکبار کل صفحه کلید را اسکن می کنیم . برای این کار ابتدا ستون اول را که به port A.4 متصل است را از طریق فرامین میکرو کنترلر صفر می کنیم که در واقع این ستون را زمین کرده ایم سپس بیت های 1 تا 3 پورت A که ستونهای صفحه کلید به آنها متصل هستند را چک می کنیم اگر هر کدام از این بیتها صفر شده بود به معنی این است که کلید متصل به این ستون اول و این سطر فشرده شده است . مثلاً اگر بیت شماره 0 پورت A ( البته دقیق تر رجیستر PINA ) صفر شده باشد ، با توجه به شکل صفحه کلید در این پروژه یعنی کلید عدد 1 فشرده شده است ، ویا اگر بیت شماره 1 صفر شده باشد به این معنی است که کلید عدد 4 فشرده شده است ، اگر بیت شماره 2 صفر شده باشد به این معنی است که کلید عدد 7 فشرده شده است و نهایتاً اگر بیت شماره 3 پورت A صفر شده باشد به معنی این است که کلید PROG که کلید آخر ستون اول صفحه کلید ما می باشد فشرده شده است . البته فرض بر این است که هیچگاه دو کلید با هم فشرده نمی شود چون با این روش امکان تشخیص فشرده شدن یک کلید همزمان وجود دارد در ضمن مقادیر اولیه PORTA با عدد FF هگزادسیما مقدار دهی شده است و همچنین بعد از هر سری اسکن شدن صفحه کلید دوباره این مقادیر به این پورت نسبت داده می شود . حال اگر هیچکدام از بیتهای 0 تا 3 پورت A صفر نشده بود به این معنی است که هیچکدام از کلیدهای ستون اول فشرده نشده است پس مقدار صفری که به این ستون داده بودیم مجدد تبدیل به 1 منطقی و یا همان 5 ولت می کنیم و به سراغ ستون دوم می رویم . و همان روا را برای ستون دوم انجام می دهیم و تا ستون چهارم پیش می رویم . البته اگر هنگام اسکن کردن کلیدی فشرده شده باشد از پروسه ی اسکن کردن صفحه کلید خارج می شویم تا 65ms بعدی فرا برسد .

6....
Key pad 3×4 آشنایی با…………………………………………………… 20
روش scanning :ا……………………………………………………………. 22
نحوه تعیین فواصل زمانی در روش scanning :ا…………………………. 23

فصل سوم :

دستور اول و دوم عدد 87 هگزادسیمال را در باس داده LCD که به PORTB میکرو کنترلر متصل است قرار می دهد دستور سوم RS را برار صفر قرار می دهد بدین ترتیب ثبات دستور LCD انتخاب می شود و محتویات باس داده در ثبات دستور قرار می گیرد تا اجرا شود ، دستور چهارم RW را صفر می کند که در نتیجه کدی که در باس داده قرار گرفته در LCD نوشته می شود ، دستور پنجم و ششم پایه فعال ساز E را یک و سپس صفر می کند که چون میکرو ما در این پروژه با یک مگاهرتز کلاک داخلی کار ی کند بنابراین فاصله دستور پنج و شش برابر 1 میکرو ثانیه است که خیلی بیشتر از 450 نانو ثانیه می باشد و در نهایت دستور هفتم تابعی را فراخوانی می کند تا تاخیر لازم برای LCD فراهم شود تا دستورات را پردازش کند تا اینجا ما مکان نما را به خانه 87 برده ایم و آماده نوشتن هستیم . دستور هشتم و نهم کد هگزا دسیمال کاراکتر A را در باس داده LCD قرار می دهد دستور دهم پایه RS را برابر 1 می کند بنا براین ثبات داده LCD انتخاب می شود و اطلاعات روی باس داده در ثبات داده LCD قرار می گیرد ، دستور یازدهم RW را برابر صفر قرار می دهد تا در LCD نوشته شود ، دستور دوازدهم و سیزدهم و چهارده نیز کار مشابه دستورات پنج و شش و هفت را انجام می دهند . هم اکنون حرف بزرگ A در خانه 87 در LCD نمایش داده می شود .
البته هنگام روشن شدن LCD بطور پیش فرض با یک سطر بالا کار می کند و تمامی کاراکترها بصورت بلنک می باشد و یا مثلاً مکان نما خاموش و حروف روشن است . بنا براین هنگامی که برای اولین بار دستگاه روشن می شود باید با یک سری فرمان LCD را در حالتی قرار دهیم که نیاز داریم و فقط یک با انجام آن هنگام روشن شدن دستگاه کافی میباشد . مثلاً اگر بخواهیم LCD بصورت دو سطری کار کند باید از فرمان 38 استفاده کنیم . و یا مثلاً اگر بخواهیم کاراکترها روشن و مکان نا چمک بزند باید از دستور F استفاده کنیم . همچنین در ابتدا یک بار باید LCD را پاک کنیم که برای این منظور از دستور 1 استفاده می کنیم . در ضمن مکان نما بصورت پیش فرض در خانه 80 قرار دارد بنا براین اگر بخواهیم مکان نما برای شروع در جای دیگری باشد باید دستورات لازم را به LCD بدهیم و بقیه موارد هم مانند جدول فوق می باشد .
در این پروژه ما پایه های LCDرا بوسیله پین هدر متصل کرده ایم که در صورت نیاز برای استفاده در سایر پروژه ها براحتی بتوان از روی مدار آنرا برداشت و در جای دیگر استفاده کرد .

6
آشنایی با LCD 2×16 ا……………………………………………………..24
ال سی دی های کاراکتری……………………………………………… : 25
نحوه فرمان دادن به LCD :ا………………………………………………… 28

فصل چهارم :

همانطور که قبلاً توضیح دادیم برنامه ای که میخواهیم بر روی یک میکرو اجرا شود را باید بوسیله محیط های مختلف برنامه نویسی که وجود دارد نوشته وسپس یک فایل Hex از برنامه خود تولید کنیم تا بتوانیم این فایل HEX را درون حافظه Flash میکرو اصطلاحاً پروگرام کنیم ، که این کار توسط یک پروگرامر صورت می گیرد .
ساختار پروگرمرهای خانواده AVR اساساً بسیار ساده است . پروگرمها از یک کابل برای ارتباط سریال ساخته شده اند که یک سر آنها به پایه های خاصی از میکرو متصل می شوند و یک سر دیگر نیز به کامپیوتر و با یک یکی از پروتکلهای ارتباط سریال یا موازی اطلاعات را به حافظه فلش میکرو منتقل می کنند . امروزه پروگرامر های متنوعی در بازار وجود دارد . اغلب پروگرامر های موجود در بازار یا استاندارد خود شرکت سازنده میکرو می باشد که نقشه پروگرمر را در اختیار کابران قرار داده تا بتوانند براحتی آن را بسازند و میکرو خود را پروگرام کنند و یا شرکت ها مختلفی پروگرامرهای خاص خودشان را به بازار عرضه کرده اند . اغلب پروگرامر ها برای پروگرام کردن یک سری از میکرو ها و یا حتی چند خانواده مختلف می باشند و می توانند از طریق USB و یا پورت (موازی)COM به میکرو متصل شوند . تصویر پروگرامری که ما در این پروژه استفاده کرده ایم را در شکل زیر مشاهد می کنید . این پروگرامر برای شرکت جام جم می باشد :

آشنایی با Programer ا………………………………………………………33
ساختار یک Programmer ا…………………………………………………: 33
کابل انتقال فایل از کامپیوتر به میکرو………………………………………. 34
پروگرام کردن میکرو بوسیله کامپایلرها :……………………………………. 35
پایه های مربوط به پروگرام کردن میکرو……………………………………. 36
برنامه پروگرامر PROGISP :ا………………………………………………… 39

فصل پنجم :

همچنين اين آي سي بسيار ارزان و در دسترس است و كا ر كردن با آن بسيار ساده است.
از سه پايه اين آي سي يكي مربوط به ولتاژ كار است (Vs)،‌يك پايه زمين (GND) و يك پايه ولتاژ خروجي (Vout) است كه دما را مشخص ميكند. به ازاي هر درجه تغيير در دما ولتاژ اين پايه 10 ميلي ولت تغيير پيدا ميكند. مثلاً چنانچه دما 10 درجه افزايش بيابد ولتاژ خروجي 0.1 ولت زياد ميشود. اين تغييرات را ميتوان براي تقويت به يك ترانزيستور داد يا اينكه مستقيماً‌به يك مبدل آنالوگ به ديجيتال اعمال نمود.
همچنين براي تست ميتوانيم پايه هاي خروجي را به يك ولت متر ديجيتال متصل نموده و مقدار دما را مستقيماً‌ از روي صفحه بخوانيم ( چون دقيقاً به ازاي هر درجه 10 ميلي ولت داريم مثلاً در 25 درجه سانتي گراد ولتاژ پايه خروجي 250 ميلي ولت است كه با انتخاب رنج مناسب براي ولت متر مقدار 25 مشاهده ميشود)
انواع:
LM35 و LM35A اندازه گيري دما از 55- تا 150+ درجه سانتي گراد
LM35C و LM35CA از 40- تا 110+ درجه سانتي گراد
LM35D از 0 تا 100+ درجه سانتي گراد
لازم به ذكر است كه در دماهاي زير صفر درجه مقدار ولتاژ در پايه هاي خروجي نسبت به زمين منفي ميشود.
در اين پروژه از يك LM35D استفاده شده است،‌كه براي سنجش دما بايد ولتاژ خروجي آي سي (Vout) به پايه شماره 40 از ميكرو كه يك مبدل آنالوگ به ديجيتال است متصل گردد. در شكل يك سنسور LM35DZ را مشاهده ميكنيد. به اين نكته توجه نماييد كه سنسور از بالا نمايش داده شده و پايه ها به سمت خارج است.

آشنایی باسنسور LM35 ا………………………………………………….41

فصل ششم :

از این برد برای قرار دادن قطعات الکترونیکی مختلف پایه دار و اتصال پایه های به یکدیگر از طریق ایجاد باس بر روی این برد می باشد . این بردها دارای سواخهای متعددی بروی خود می باشند که از طریق همین سواخ ها نیز شنیده می شود . در بازار این بردهای در اندازه های 400 ،700،1000،1200،2300، و . . . وجود دارند . جنس خود این برد از آیق می باشد که در مقابل حرارت نیز بسیار مقامند . بر روی یک طرف این بردها لایه نازکی از مس وجود داد و بر روی دیگر آنها چیزی وجود ندارد . فاصله این سواخ ها نیز استاندارد و بر اساس فاصله پایه های قطعات الکترونیکی است که سبب می شود این قطعات به راحتی بر روی یک برد سوراخ دار قرار بگیرد . قطعات بر روی قسمت آیق برد قرار می گیرندو پایه هایشان از قسمتی که لایه مسی دارد بیرون می آید . این لایه مسی بصورت مربعی شکل در اطراف هر یک از سوراخها محیط شده اند ، با سایر مربهای مسی ارتباطی ندارند یعنی هر سوارخ در حالت عادی با سایر سوراخها در ارتباط نیست . حال می توان به عنوان مثال با یک سیم مسی نازک که مخصوص این کار می باشد ابتدا پایه الکترونیکی مورد نظر را که قرار است به یک پایه دیگر وصل شود ، در محل خروجی خود از برد به مربع مربوط به آن سوراخ لحیم کنیم سپس با سیم مسی بین این دوپایه یک باس ایجاد کنیم . مثلاً بعد از مشخص شدن مسیر بصورت دقیق سیم را از محل های ارتباط در فواصل مختلف بر روی مربع های مسی لحیم کنیم . این کار باعث می شود که یک سیسم به هیچ وجه با سیم دیگر در ارتباط نباشد . فلسفه این مربع مسی بر روی یک عایق نیز همین است که هنگام لحیم کردن یک مربع لحیم به مربعهای دیگر سرایت نکند چون در بین مربع ها فاصله باریکی از عایق وجود دارد که لحیم را به خود جذب نمی کند .
Micro Boxا…………………………………………………………………… 44
برد سوراخ دار……………………………………………………………….. : 44
BOX :ا………………………………………………………………………… 47
تک سویچ :…………………………………………………………………… 48

فصل هفتم :

با انتخاب گزينه ADC Interrupt ميتوان وقفه مربوط به اتمام عمل تبديل ADC را فعال نمود. براي انتخاب نوع ولتاژ مرجع نيز بايد از قسمت Volt. Reff. استفاده كنيد. فركانس كلاك ورودي به ADC توسط بخش ADC Clock تعيين ميشود.
ADC يك پايه تغذيه آنالوگ مجزا دارد (AVCC).
‌اين پايه نبايد بيش از VCC+0.3V و VCC-0.3v اختلاف داشته باشد. ولتاژ مرجع ميتواند به صورت داخلي با مقدار 2.56V و يا ولتاژ پايه AVCC و يا بصورت خارجي و متصل به پايه AREF ،‌همراه با يك خازن براي كاهش نويز انتخاب گردد.
ارتباط سريال USART
ارتباط سريال USART يكي از پروتكل هايي است كه توسط انواع كامپيوترها نيز حمايت ميشود و لذا براي برقراري ارتباط بين ميكرو كنترلرها و كامپيوتر غالباً از اين روش استفاده ميشود و به دليل مطالعه آن از اهميت زيادي برخوردار است. در صورتي كه در CodeWizard نوع تراشه را ATmega16 انتخاب نماييدبا كليك بر روي قسمت USART صفحه اي مطابق شكل زیر را خواهيد ديد كه ميتوانيد در قسمت Mode مد عملكرد USART را بصورت سنكرون ويا آسنكرون تعريف نماييد. در قسمت Communication parameter نيز ميتوانيد هر يك از فرمتهاي فريم رايج در ارتباط آسنكرون را انتخاب كنيد. براي فعال سازي ارتباط سريال به صورت گيرنده و يا فرستنده بايد به ترتيب گزينه هاي Transmitter و Receiver را انتخاب كنيد. با فعال كردن هر كدام از آنها اين امكان فراهم ميشود كه وقفه مربوطه را نيز فعال كنيد.
در صورتي كه هر يك از وقفه هاي مربوط به ارسال يا دريافت فعال شود CodeVision براي آنها يك بافر نرم افزاري ايجاد ميكند كه اندازه اين بافرها نيز در همان پنجره قابل تنظيم خواهد بود. اين اندازه بيانگر تعداد بايت هاي بافر ميباشد و بايد طوري انتخاب شود كه از حداكثر طول داده بيشتر باشد.

مبدل آنالوگ به ديجيتال ………………………………………………………49
ارتباط سریال USART ا………………………………………………………..49

فصل نهم :

نحوه اتصال قطعات……………………………………………………………..52
شماتیک کلی مدار……………………………………………………………. 52

برای دانلود رایگان قسمت های بیشتراز فایل به انتهای مطلب مراجعه کنید

فصل دهم

سورس برنامه ها ………………………………………………………………….56

 



  مقطع کارشناسی ارشد

بلافاصله بعد از پرداخت به ایمیلی که در مرحله بعد وارد میکنید ارسال میشود.


فایل pdf غیر قابل ویرایش

قیمت25000تومان

خرید فایل word

قیمت35000تومان