تبلیغات
پاوردی POWERD - آموزش CodeVission جلسه سوم-پایه های میکروکنترلر AVR و رجیسترها
پاوردی POWERD
دانشنامه برق
گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من گروه طراحی قالب من
درباره ما


این سایت با هدف ارتقا علمی مهندسان برق ایجاد شده است.
موضوعات پاوردی تمام گرایش ها برق را از جمله قدرت، کنترل، مخابرات،الکترونیک،مکاترونیک و مهندسی پزشکی را شامل می شود.

مدیر وبلاگ : عباس نجفی
نویسندگان
تبلیغات
معرفی پایه های  میکروکنترلر ATmega32:
پایه های GND به زمین متصل میشوند. پایه VCC  و  AVCC   به +۵ ولت متصل میشوند .
پایه های PA0-PA7 مربوط به پورت A
پایه های PB0-PB7 مربوط به پورت B
پایه های PC0-PC7 مربوط به پورت C
پایه های PD0-PD7 مربوط به پورت D
پایه های XTAL1   و   XTAL2  هم جهت اتصال به کریستال میباشند. پایه AREF هم جهت استفاده در مقایسه کننده آنالوگ کاربرد دارد.
اینو تو جلسه مبدل آنالوگ به دیجیتال در میکروکنترلرهای AVR توضیح میدم.
پایه های میکرو کنترلر ATMega32


رجیسترها:
از نون شب واجبتره-حتما خوب بخونیدش-البته اگه نفهمیدید ، تو قسمت پروژها خودتون یاد میگیرید...

۱) رجیستر DDRx
این رجیستر دارای ۸ بیت است که مقدار هر بیت تعیین کننده ورودی یا خروجی بودن همان بیت در پورت مورد نظر است. اگر مقدار بیت مورد نظر ۰ باشد»»»پین ورودی تعریف میشود.(یعنی اطلاعات میگیره از خارج!!!) اگر مقدار بیت مورد نظر ۱ باشد»»»پین خروجی تعریف میشود.(یعنی اطلاعات میده!!!)
برای DDRD داریم :
رجیسترهای میکروکنترلر

همونطور که ملاحظه میکنید ۸ تا بیت داریم که از شماره های ۰-۷ شماره گذاری شده اند.ترتیب هم از راست به چپه !
برای مثال میخوایم پین سوم از پورت D رو بعنوان ورودی و پین ششم از همین پورت رو بعنوان خروجی تعریف کنیم.باید چه مقادیری رو به پین ها بدیم ؟!
پین سوم یعنی شماره ۲ یعنی DDRD.2 (توجه : شمارش پایه های هر پورت از ۰ شروع میشه)
پین ششم هم یعنی شماره ۵ یعنی DDRS.5
پس مقدار رجیستر DDRD=00100000 میباشد.

۲) رجیستر PORTx
مقدار هریک از بیت های این رجیستر تعیین کننده High یا Low بودن پین متناظر است.
از این رجیستر تنها هنگام نوشتن در پورت استفاده می شود.
توضیح :
فرض کنید که در نظر داریم یه LED رو به یکی از پین های میکرو وصل کنیم و فرمان بدیم که اون LED روشن بشه !
میایم چیکار میکنیم ؟! خوب دقت کنید !
ما با DDRx میگیم که فلان پین (یا پایه یا بیت !!! ) رو یک کن (یعنی خروجی کن—یعنی این پایه باید اطلاعات بفرسته یعنی ….)
حالا باید بگیم که ولتاژ هم اعمال کن که این کار به کمک این ریجستر انجام میشه.
حالا اگه بیت متناظر همون پین رو در رجیستر PORTx برابر مقدار ۱ قرار بدیم،وضعیت اون بیت(پین) به حالت High میرود و ولتاژ به پین مورد نظر وارد میشود.
توجه : این رجیستر دارای ۸ بیت است که مقدار هر بیت تعیین کننده High یا Low بودن همان بیت در پورت مورد نظر است.
اگر مقدار بیت ۰  باشد»»»وضعیت LOW
اگر مقدار بیت  ۱ باشد»»»وضعیت HIGH
برای PORTD داریم :
رجیسترهای میکروکنترلر

۳) رجیستر PINx
این رجیستر تعیین کننده وضعیت فیزیکی بیت(پین) مورد نظر برای CPU است.
از این رجیستر تنها هنگام خواندن از پورت استفاده میشود.
اگر پین مورد نظر بعنوان ورودی در نظر گرفته شده باشد،بیت متناظر با آن در رجیسترPINx ،حاوی اطلاعات دریافتی از همان پین مورد نظر در میکرو است.
توضیح : همونطور که گفتم فقط هنگامی که میخوایم از پایه اطلاعات رو بخونیم یا به عبارتی پایه(پین) موردنظرمون رو ورودی تعریف کرده باشیم از این رجیستر استفاده میکنیم.
فرض کنید یه سنسور رو به یکی از پایه های میکرو وصل کرده ایم و این سنسور در شرایط مختلف مقدار ۰ یا ۱ را برمیگرداند.
حتما میدونید که چون سنسور داره اطلاعات رو به سمت میکرو میفرسته و میکرو هم باید اون اطلاعات رو دریافت کنه،در نتیجه پین مورد نظر باید در حالت ورودی تنظیم شده باشه !
اون موقع اگه خواستیم متوجه بشیم که الان سنسور مقدارش ۱ هست یا ۰ میایم و مقدار بیت متناظر در رجیستر PINx رو قرائت میکنیم.
پس :
رجیسترهای میکروکنترلر

این رجیستر دارای ۸ بیت است که مقدار هر بیت تعیین کننده High یا Low بودن همان بیت در پورت مورد نظر است.
اگر مقدار بیت ۰ باشد»»»»وضعیت   LOW
اگر مقدار بیت ۱ باشد»»»»وضعیت   HIGH

اگر بیت مورد نظر در حالت ورودی تنظیم شده باشد و بیت مورد نظر آن در رجیستر PORTx بصورت High تعریف شده باشد،مقاومت پول آپ داخلی فعال میشود.
در صورتیکه بیت مورد نظر در رجیستر PORTx بصورت LOW تعریف شود،پین مورد نظر به صورت Tri-State یا Hi-z در آمده که معنای آن این است که پین موردنظر وضعیت مشخصی ندارد.همانند هنگامی که برای پین هیج مقداری در رجیسترهای DDRx و PORTx و RINx تعریف نکرده باشیم (حالت پیشفرض).





نوع مطلب : آموزش نرم افزار، ◄کدویژن CodeVission AVR، 
برچسب ها : پایه های میکروکنترلر، رجیسترهای میکروکنترلر AVR، آموزش کدویژن، آموزش Codevission، آموزش AVR، آموزش برنامه نویسی میکرو کنترلر،
لینک های مرتبط :
عباس نجفی
پنجشنبه 6 اسفند 1394
پنجشنبه 6 اسفند 1394 12:56 ب.ظ
سلام خسته نباشید
موفق باشی
عباس نجفی بسیار ممنونم از شما
 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر
نظرات پس از تایید نشان داده خواهند شد.




صفحات جانبی
آمار سایت
  • کل بازدید :
  • بازدید امروز :
  • بازدید دیروز :
  • بازدید این ماه :
  • بازدید ماه قبل :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :
امکانات جانبی
logo-samandehi



در این وب
در كل اینترنت
به سایت مرجع تخصصی برق (ایران الکتریک) خوش آمدید
کلیه حقوق این وبلاگ برای پاوردی POWERD محفوظ است

آوازک