فهرست مطالب

چکیده:……………………………………………………………. 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تومان