تالار گفتگوی کیش تک/ kishtech forum
  • سردر
  • جستجو
  • فهرست اعضا
  • سالنامه
  • راهنما
درود مهمان گرامی! ورود ثبت‌نام
ورود
نام کاربری:
گذرواژه‌:
گذرواژه‌تان را فراموش کرده‌اید؟
 
تالار گفتگوی کیش تک/ kishtech forum › پردیس فناوری کیش › مهندسی الکترونیک و الکتروتکنیک v
« قبلی 1 … 33 34 35 36 37 بعدی »

ساختار میکروکنترلر AVR

امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
حالت موضوعی
ساختار میکروکنترلر AVR
saedi1361 آفلاین
عضو جوان
**
ارسال‌ها: 22
موضوع‌ها: 22
تاریخ عضویت: Dec 2019
اعتبار: 0
#1
03-01-2020, 01:30 AM
میکروکنترلرهای AVR  دارای یک واحد مرکزی به نام MCU هستند. MCU مخفف عبارت Master Control Unit و به معنای واحد کنترل اصلی است. این واحد وظایف مهمی از قبیل مدیریت تمام فعالیت های میکروکنترلر و انجام تمام عملیات های لازم بر روی داده ها را بر عهده دارد.

همان طور که می دانیم و همچنین با توجه به این که میکروکنترلر AVR از معماری هاروارد استفاده می کند، حافظه ی آن شامل دو قسمت «حافظه ی برنامه» (FLASH) و «حافظه ی داده» (SRAM و EEPROM) می باشد. لازم به ذکر است که ارتباط با این حافظه ها از طریق گذرگاه های مجزا صورت می گیرد.

MCU قسمت های مختلفی دارد. در ادامه این قسمت ها را به طور خلاصه معرفی خواهد شد:

رجیسترهای عمومی

میکروکنترلر AVR دارای ۳۲ رجیستر عمومی است که به صورت R0 تا R31 نامگذاری شده اند. این رجیسترها که هشت بیتی هم هستند به طور مستقیم با واحد ALU در ارتباط اند. (در مورد واحد ALU در ادامه توضیحات مختصری ارائه شده است.)
موضوعی که در این جا نیاز به تأکید دارد در ارتباط با رجیستر های R26 تا R31 است. این رجیسترها که دو به دو با نام های Y ،X و Z نیز شناخته می شوند (یعنی R26 و R27 تشکیل یک بیت ۱۶ بیتی به نام X می دهند و به همین صورت برای Y و Z) رجیسترهای اشاره گر نام دارند. این رجیسترها علاوه بر کاربردهای عمومی برای آدرس دهی های غیرمستقیم کاربرد دارند. در مطالب آتی در مورد آدرس دهی غیرمستقیم بحث خواهد شد.
 
واحد ALU

ALU مخفف عبارت Arithmetic Logic Unit به معنای واحد حساب و منظق می باشد. تمامی عملیات های ریاضی مانند جمع و تفریق و …، و عملیات های منطقی مانند: AND، OR و …  توسط واحد ALU انجام می پذیرد.

رجیستر دستور (IR)

رجیستر دستور یا Instruction Register، برای نگهداری کد دستور العمل استفاده می شود.  کد دستورالعمل که در حافظه ی برنامه یا همان حافظه ی FLASH ذخیره شده است، قبل از اجرا به این رجیستر  (IR) منتقل شده و سپس اجرا می شود.

واحد رمزگشایی دستور (Instruction Decoder)

این واحد (ID) کد دستورالعمل را از رجیستر دستور گرفته و تشخیص می دهد که این کد مربوط به چه دستورالعملی است، سپس سیگنال های کنترلی مورد نیاز جهت اجرای آن دستورالعمل را تولید می نماید.

شمارنده ی برنامه (Program Counter)

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

چگونگی کار CPU

هنگامی که میکروکنترلر روشن می شود مقدار شمارنده ی برنامه (PC) با مقدار پیش فرض ۰۰۰۰H مقداردهی می شود. کدهای دستورالعمل که بعد از این آدرس در حافظه ی FLASH ذخیره شده اند توسط CPU به رجیستر دستور منتقل می گردند. واحدبازگشایی دستور این کد را از رجیستر دستور برداشته و پس از رمزگشایی کد تمامی سیگنال های کنترلی جهت انجام عملیات را صادر می کند. در نهایت ALU عملیات لازم بر روی داده ها را انجام داده و پس از آن مقدار PC تغییر می کند و آدرس دستورالعمل بعدی که باید انجام شود در آن قرار می گیرد.
ارسال‌ها
پاسخ
« قدیمی‌تر | جدیدتر »


موضوع‌های مشابه…
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ساختار زبان اسمبلی saedi1361 0 571 14-01-2020, 02:06 AM
آخرین ارسال: saedi1361
  تایمر WatchDog در میکروکنترلر AVR saedi1361 0 440 12-01-2020, 01:48 AM
آخرین ارسال: saedi1361

  • مشاهده‌ی نسخه‌ی قابل چاپ
پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان
  • تیم انجمن
  • صفحه‌ی تماس
  • تالار کیش تک / kishtech forum
  • بازگشت به بالا
  • بایگانی
  • نشانه‌گذاری تمامی انجمن‌ها به عنوان خوانده شده
  • پیوند سایتی RSS
زمان کنونی: 10-06-2025، 05:47 AM Persian Translation by MyBBIran.com - Ver: 6.5
Powered by MyBB, © 2002-2025 MyBB Group.