مقاله میکروکنترلر


در حال بارگذاری
14 سپتامبر 2024
فایل ورد و پاورپوینت
2120
4 بازدید
۷۹,۷۰۰ تومان
خرید

توجه : به همراه فایل word این محصول فایل پاورپوینت (PowerPoint) و اسلاید های آن به صورت هدیه ارائه خواهد شد

  مقاله میکروکنترلر دارای ۴۸ صفحه می باشد و دارای تنظیمات در microsoft word می باشد و آماده پرینت یا چاپ است

فایل ورد مقاله میکروکنترلر  کاملا فرمت بندی و تنظیم شده در استاندارد دانشگاه  و مراکز دولتی می باشد.

توجه : در صورت  مشاهده  بهم ریختگی احتمالی در متون زیر ،دلیل ان کپی کردن این مطالب از داخل فایل ورد می باشد و در فایل اصلی مقاله میکروکنترلر،به هیچ وجه بهم ریختگی وجود ندارد


بخشی از متن مقاله میکروکنترلر :

میکروکنترلر

فهرست مطالب
عنوان صفحه
مقدمه ۱
سیر تکاملی میکروکنترلرها ۴
معماری داخلی میکروکنترلرها ۵
خانواده ۸۰۵۱ ۷
پیکر بندی پایه ها ۱۲
تایمر ۲۰
جریان و مقاومت در میکرو کنترلرها ۲۹
عملکرد تابلو روان ۳۱
نحوه نمایش در تابلو به صورت ثابت ۳۱
روش جاروب کردن ۳۳
روش شیفت دادن ۳۶
بررسی چگونگی نمایش بر روی دات ماتریکس ۳۸
LED های دورنگ ۴۰

زمان روشن بودن ۴۰

مقدمه
میکروکنترلر در واقع یک ریز پردازنده تک تراشه ای است که شامل حافظه داده ، حافظه برنامه ، ورودی و خروجی سریال و موازی ، تایمرها ، وقفه های بیرونی و داخلی می باشد که تمامی آنها روی یک تراشه واحد مجتمع شده اند و می توان آن را به قیمتی کمتر از ۲ دلار تهیه نمود۰ بر اساس تخمین های زده شده به طور متوسط تعداد ۳۵ میکرو کنترلر در وسایل خانگی یک خانواده متوسط آمریکایی وجود دارد۰ بیش از ۳۴ درصد میکروکنترلرها در اتوماسیون اداری نظیر چاپگرهای لیزری ، دستگاه های نمابر تلفنهای هوشمند و نظایر آنها به کار برده می شوند۰ بیش از یک سوم میکروکنترلرها در لوازم خانگی الکترونیکی به کار برده شده اند۰ در این د

سته بندی تولیداتی نظیرCD player ، تجهیزات صوتی hi-fi ، بازیهای ویدیویی ، ماشین لباسشویی ، دستگاههای پخت و پز و نظایر آنها قرار دارند۰
بازار تجهیزات مخابراتی ،ادوات نظامی و تجهیزات مربوط به اتومبیل ها بخش باقیمانده از

سهم کاربرد میکروکنترلرها را به خود اختصاص داده اند۰
میکروکنترلرها به طور معمول با استفاده از زبان اسمبلی مربوطه ، برنامه ریزی می شده اند۰ میکروکنترلرهای ساخت تولید کنندگان مختلف ، زبانهای اسمبلی متفاوتی دارند۰ زبان اسمبلی شامل عبارتهای کوتاهی برای دستورالعمل ها است به خاطر سپردن این عبارتها مشکل است ونیز برنامه های تهیه شده برای یک میکروکنترلر برای سایر انواع دیگر میکروکنترلرها قابل استفاده نمی باشد۰ سختی کار با زبان اسمبلی به خصوص در پیاده سازی پروژه های پیچیده ، متداولترین شکایتی است که در رابطه با برنامه ریزی میکروکنترلرها مطرح می شود۰ راه حل این مسئله ، استفاده از زبانهای سطح بالا می¬باشد۰ با این کار ، عملیات برنامه ریزی ساده تر گشته ، برنامه خواناتر و انعطاف پذیرتر شده و پشتیبانی از آن نیز ساده تر می گردد۰ برای اغلب میکرو کنترلرها کامپایلرهای C و BASIC متفاوتی موجود می باشند۰ کامپایلرهای BASIC معمولا‌ً به صورت مفسر بوده و کدهای حاصل از آنها کند می باشند۰
یکی دیگراز معایب زبان BASIC این است که اغلب کامپایلرهای BASIC ساختیافته نیستند در نتیجه برنامه سازی با آن کار دشواری می باشد۰ در این پروژه از یک کامپایلر حرفه ای C با تمام قابلیتهای آن جهت برنامه ریزی میکرو کنترلر خود استفاده خواهیم کرد۰ AT89C2051 متعلق به خانواده استاندارد میکروکنترلرهای ۸۰۵۱ می باشد۰ AT89C2051 یک مدار مجتمع ۲۰ پایه می باشد که از لحاظ کد، کاملاً سازگار با برادر بزرگترش ۸۰۵۱ است۰ این مدار مجتمع دارای یک درگاه سریال¬، ۱۵ بیت ورودی / خروجی موازی ، ۲ عدد تایمر / شمارنده ، ۶ منبع وقفه ، ۱۲۸ بایت حافظه RAM برای داده ها و ۲ کیلو بایت حافظه فلش قابل برنامه ریزی مجدد برای ذخیره کردن برنامه می

باشد۰ دلایل زیادی برای انتخاب AT89C2051 وجود دارد¬، از آن جمله می توان به سازگاری کامل آن با خانواده ۸۰۵۱ و سهولت پاک کردن و برنامه ریزی مجدد آن ، اشاره کرد۰ برای این مدار مجتمع نیازی به استفاده از اشعه ماوراء بنفش جهت پاک کردن حافظه برنامه نیست۰ حافظه را می توان با استفاده از یک مدار برنامه ریزی کننده ارزان قیمت پاک کرده و مجدداً آن را برنامه ریزی نمود۰ از دلایل دیگر انتخاب AT89C2051 کوچکی و ارزان بودن آن است۰
سیستم های میکرو کامپیوتری:

اصطلاح میکروکامپیوتربرای توصیف سیستمی به کار می رود که شامل یک ریز پردازنده، حافظه برنامه، حافظه داده و یک ورودی / خروجی ( I / O ) است۰ برخی از سیستم های میکرو کامپیوتری شامل اجزاء اضافی نظیر تایمرها ، شمارنده ها و مبدل های آنالوگ به دیجیتال هستند۰ با این تفاسیر می توان گفت که تمام موارد ، از یک سیستم کامپیوتر بزرگ که دارای چندین هارددیسک ، فلاپی درایو و چاپگر است ، تا یک سیستم کامپیوتری تک تراشه¬ای ، در زمره سیستم¬های میکرو کامپیوتری به حساب می¬ آیند۰

سیر تکاملی میکرو کنترلرها
اولین میکروکنترلرها در اواسط دهه ۱۹۷۰ ساخته شدند۰ این میکروکنترلرها در ابتدا پردازنده های ماشین حساب بودند که دارای حافظه برنامه کوچکی از نوع ROM ، حافظه داده بسیار محدود از نوع RAM و تعدادی درگاه ورودی / خروجی بودند۰
با توسعه فناوری سیلیکون ، میکروکنترلرهای ۸ بیتی قو یتری ساخته شدند۰
در این میکروکنترلرها علاوه بر بهینه شدن دستور العمل ها ، تایمر/ شمارنده روی تراشه¬، امکانات وقفه و کنترل بهینه شدن خطوط I / O نیز به آنها اضافه شده است۰ حافظه موجود بر روی تراشه هنوز هم محدود می باشد و در بسیاری موارد کافی نیست۰ یکی از پیشرفتهای قابل توجه در آن زمان، قابلیت استفاده از حافظه EPROM قابل پاک شدن با اشعه ماوراء بنفش روی تراشه بود۰ این قابلیت ، زمان طراحی و پیاده سازی محصول را به طور محسوسی کاهش داد و نیز برای اولین بار امکان استفاده میکروکنترلرها را در کاربردهایی که حجم تولید پایینی دارند ، فراهم ساخت۰
خانواده ۸۰۵۱ در اوایل دهه ۱۹۸۰ توسط شرکت اینتل معرفی گردید۰ از آن زمان تا کنون ، ۸۰۵۱ یکی از محبوبترین میکروکنترلرها بوده و بسیاری از شرکتهای دیگر نیز به تولید آن اقدام کرده اند۰ در حال حاضر مدل های مختلفی از ۸۰۵۱ وجود دارد که در بسیاری از آنها امکاناتی نظیر مبدل آنالوگ به دیجیتال ، حجم نسبتاً بزرگ از حافظه برنامه و حافظه داده ، مدولاتور عرض پالس ( PWM ) در

خروجیها و حافظه فلش ( flash ) که امکان پاک کردن و برنامه ریزی مجدد آن توسط سیگنال های الکتریکی وجود دارد ، تعبیه شده است۰
میکروکنترلرها اکنون به سمت ۱۶ بیتی شدن در حرکت هستند۰ میکروکنترلرهای ۱۶ بیتی، پردازنده هایی با کارآیی بالا ( نظیر پردازش سیگنال های دیجیتال ) می باشند که در کنترل فرآیند های بلادرنگ و در مواردی که حجم زیادی از عملیات محاسباتی مورد نیاز است ، به کار برده می شوند۰
بسیاری از میکروکنترلرها ۱۶ بیتی ، امکاناتی نظیر حجم زیاد حافظه برنامه و حافظه داده ، مبدل

های آنالوگ به دیجیتال چند کانالی ، تعداد زیادی درگاه I / O ، چندین درگاه سریال ، عملکردهای بسیار سریع ریاضی و منطقی و مجموعه دستورالعمل های بسیار قدرتمند با قابلیت پردازش سیگنال را دارا می باشند۰

معماری داخلی میکرو کنترلرها
ساده¬ترین معماری میکرو کنترلر، متشکل از یک ریزپردازنده، حافظه و درگاه ورودی/ خروجی است ۰ ریز پردازنده نیز متشکل از واحد پردازش مرکزی ( CPU ) و واحد کنترل (CU ) است ۰
CPU در واقع مغز یک پردازنده است و محلی است که در آنجا تمامی عملیات ریاضی و منطقی ، انجام می شود۰ واحد کنترل ، عملیات داخلی ریز پردازنده را کنترل می کند و سیگنال های کنترلی را به سایر بخشهای ریز پردازنده ارسال می کند تا دستور العمل های مورد نظر انجام شوند۰
حافظه بخش خیلی مهمی از یک سیستم میکروکامپیوتری است ۰ ما می توانیم بر اساس به کار گیری حافظه آن را به دو گروه دسته بندی کنیم : حافظه برنامه و حافظه داده ۰ حافظه داده ، تمام کد برنامه را ذخیره می کند۰ این حافظه معمولاً از نوع حافظه فقط خواندنی (ROM ) می باشد۰ انواع دیگری از حافظه ها نظیر EPROM و حافظه های فلش ( EPROM ) برای کاربردهایی که حجم تولید پایینی دارند و همچنین هنگام پیاده سازی برنامه به کار می روند۰ حافظه داده از نوع حافظه خواندن / نوشتن ( RAM ) می باشد۰ در کاربردهای پیچیده که به حجم بالایی از حافظه RAM نیاز داریم ، امکان اضافه کردن تراشه های حافظه بیرونی به اغلب میکروکنترلرها وجود دارد۰
درگاههای ورودی / خروجی ( I / O ) به سیگنال های دیجیتال بیرونی امکان می دهند که با میکروکنترلر ارتباط پیدا کند۰ درگاههای I /O معمولاً به صورت گروههای ۸ بیتی دسته بندی می

شوند و به هر گروه نیز نام خاصی اطلاق می شود۰ به عنوان مثال ، میکروکنترلر ۸۰۵۱ دارای ۴ درگاه ورودی / خروجی ۸ بیتی می باشد که
P3 . P2 . P1 . P0 نامیده می شوند ۰ در تعدادی از میکروکنترلرها ، جهت خطوط درگاه I /O قابل برنامه ریزی می باشد۰ لذا بیت های مختلف یک درگاه را می توان به صورت ورودی یا خروجی

برنامه¬ریزی نمود۰ در برخی دیگر از میکروکنترلرها ( ازجمله میکروکنترلرهای خانواده ۸۰۵۱ ) درگاه¬های I / O به صورت دو طرفه می باشند۰ هر خط از درگاه I / O این گونه میکروکنترلرها را می توان به صورت ورودی و یا خروجی مورد استفاده قرار داد۰ معمولاً ، این گونه خطوط خروجی ، به همراه مقاومتهای pull-up بیرونی به کار برده می شوند ۰

خانواده ۸۰۵۱
خانواده ۸۰۵۱ یک خانواده میکرو کامپیوتر ( میکروکنترلر ) ۸ بیتی تک تراشه ای استاندارد است که بسیار محبوب و عامه پسند می باشد و توسط سازندگان مختلف با قابلیت های متفاوت تولید می گردد۰ آی سی استاندارد اصلی که اولین عضو این خانواده می باشد ، ۸۰۵۱ است که یک میکروکنترلر ۴۰ پایه می باشد۰ هم اکنون این آی سی با پیکر بندی های مختلف موجود می باشد۰ ۸۰C51 نوع CMOS و کم مصرف این خانواده است۰ ۸۷۵۱ دارای حافظه برنامه از نوع EPROM است که عمدتاً در هنگام پیاده سازی به کار برده می شود۰
۸۹C51 نیز دارای حافظه فلش قابل برنامه ریزی و پاک شدن (PEROM) است لذا بدون نیاز به پاک کردن با اشعه ماوراء بنفش می توان حافظه برنامه را برنامه ریزی کرد۰ ۸۰۵۲ عضو بهینه شده این خانواده می باشد و حافظه RAM آن بیشتر بوده و تعداد تایمر / شمارنده آن نیز بیشتر است۰ انواع مختلفی از خانواده ۴۰ پایه وجود دارد که دارای مبدل های آنالوگ به دیجیتال ، مدولاتورهای عرض پالس و نظایر آن هستند۰ در بخش پایین خانواده ۸۰۵۱ ، میکرو کنترلرهای ۲۰ پایه قرار دارند که از لحاظ کد ، سازگاری کاملی با انواع ۴۰ پایه دارند۰ این ادوات ۲۰ پایه برای کاربردهایی با پیچیدگی کمتر که نیاز به خطوط I /O کمتری دارند و نیز برای کاربردهایی که باید مصرف توان کمتری داشته باشند ( مثل سیستم های قابل حمل ) ساخته شده اند۰
آی سی های AT89C2051 و AT89C1051 ( ساخت شرکت Atmel ) چنین میکروکنترلرهایی هستند که از لحاظ کد سازگاری کاملی با خانواده ۸۰۵۱ دارند و مصرف توان آنها نیز کمتر است۰ جدول ۱-۱ فهرستی از مشخصات برخی از اعضای خانواده ۸۰۵۱ را ارائه می کند دلایل انتخاب AT89C2051 عبارتند از قیمت ارزان ، توان مصرفی کم ، حجم کوچک (۲۰ پایه) و قابلیتهای زیاد اطلاعات کاملتر در مورد این میکروکنترلرها را می توانید از برگه مشخصات آنها که توسط سازندگا

ن ارائه می شوند استخراج کنید۰

معماری خانواده ۸۰۵۱
۸۰۵۱ یک میکروکنترلر ۸ بیتی با مصرف کم و قابلیت زیاد است۰ تعداد زیادی از اعضا خانواده ۸۰۵۱ دارای معماری مشابهی هستند و هر یک از اعضا با اعضای دیگر سازگار می باشند۰ قابلیتهای میکروکنترلر ۸۰۵۱ استاندارد به شرح زیر می باشد:
• ۴ کیلو بایت حافظه برنامه
• ۸ ×۲۵۶حافظه داده رم
• ۳۲ خط I /O قابل برنامه ریزی
• دو عدد تایمر / شمارنده ۱۶ بیتی
• ۶منبع وقفه
• درگاه UART سزیال قابل برنامه ریزی
• قابلیت اتصال به حافظه بیرونی
• بسته بندی ۴۰ پایه استاندارد
انواع دارای EPROM این خانواده ( مثلاً ۸۷۵۱ ) برای پیاده سازی و طراحی به کار برده می شوند و حافظه برنامه آنها را می توان توسط منبع نور ماوراء بنفش پاک کرد۰ چیدمان پایه های ۸۰۵۱ استاندارد ، در شکل ۱-۱ نشان داده شده است۰

آی سی AT89C2051 یکی از اعضای ساده تر خانواده ۸۰۵۱ می باشد و برای کاربردهایی که پیچیدگی کمتری دارند ، طراحی شده است۰ این آی سی دارای ۲ کیلو بایت حافظه فلش قابل برنامه ریزی (PEROM) است که با استفاده از دستگاه برنامه ریزی کننده مناسب می توان این حافظه را پاک کرده ومجدداً برنامه ریزی نمود۰ AT89C2051 دارای ۱۲۸ بایت RAM و ۱۵ خط

I / O قابل برنامه ریزی است۰ کدی که برای این مدار مجتمع نوشته شود ، روی ۸۰۵۱ استاندارد بدون نیاز به هر گونه تغییری ، کار می کند۰ همان گونه که در شکل ۲-۱ نشان داده می شود ، مدار مجتمع AT89C2051 درون محفظه ای ۲۰ پایه قرار داده شده است۰

پیکر بندی پایه ها
توضیحات مربوط به پایه های مختلف به شرح زیر می باشد:
RST
این پایه ورودی ریست می باشد۰ این ورودی باید در شرایط عادی ، در وضعیت صفر منطقی قرار گیرد۰ قرار دادن پایه RST در وضعیت « ۱ » منطقی به مدت حداقل دو سیکل ماشین موجب ریست شدن می شود۰ وصل کردن یک خازن و یک مقاومت بیرونی به این پایه موجب

می شود که آی سی در هنگام روشن شدن ریست شود ( به شکل ۳-۱ و ۴-۱ توجه کنید )۰

P3.0
این پایه ، یک پایه I / O دو طرفه است ( بیت صفر درگاه ۳ ) و دارای مقاومت
Pull – up داخلی است۰ اگر از این آی سی به عنوان UART جهت دریافت داده های سریال استفاده شود ، آنگاه پایه مذکور به عنوان ورودی دریافت داده (RXD) عمل خواهد رد۰

P3.1
این پایه ، یک پایه ورودی / خروجی دو طرفه است ( بیت ۱ درگاه ۳ ) و دارای مقاومت pull-up داخلی است۰ هرگاه از این آی سی به عنوان UART برای ارسال سریال داده ها استفاده شود ، آنگاه این پایه ، مشابه خروجی ارسال داده (TXD) عمل خواهد کرد۰

XTAL 2 و XTAL 1
برای عملکرد نوسان ساز داخلی ، باید به این دو پایه ، کریستال بیرونی وصل شود۰ معمولاً مطابق شکل ۳-۱ و ۴-۱ دوخازن ۳۳ پیکو فارادی نیز به همراه کریستال وصل می شوند۰ سیکل ماشین از تقسیم کردن فرکانس کریستال به عدد ۱۲ به دست می آید ، لذا با کریستال ۱۲ مگاهرتزی ، سیکل ماشین یک میکرو ثانیه خواهد بود۰ بسیاری از دستورالعمل ها در یک سیکل ماشین انجام می شوند۰
P3.2
این پایه ، یک پایه ورودی / خروجی دو طرفه است (بیت ۲ درگاه ۳) و دارای مقاومت pull-up داخلی است ۰ در ضمن این پایه ، پایه وقفه بیرونی شماره صفر (INT0) نیز می باشد۰

P3.3
این پایه یک پایه ورودی / خروجی دو طرفه است ( بیت ۳ درگاه ۳ ) و دارای مقاومت pull-up داخلی است۰ در ضمن این پایه ، پایه وقفه بیرونی شماره ۱ (INT1) نیز می باشد۰
P3.4
این پایه ، یک پایه ورودی / خروجی دو طرفه است (بیت ۴ درگاه ۳ ) و دارای مقاومت pull-up داخلی است۰ در ضمن این پایه ورودی شمارنده صفر (T0) نیز می باشد۰
P3.5
این پایه ، یک پایه ورودی / خروجی دو طرفه است(بیت ۵ درگاه ۳ ) و دارای مقاومت pull-up داخلی است۰ در ضمن این پایه ، ورودی شمارنده ۱ نیز می باشد۰
GND
پایه زمین

P3.6
این پایه ، یک پایه ورودی / خروجی دو طرفه است۰ این پایه در AT89C2051 قابل دسترسی نیست۰ در آی سی ۸۰۵۱ استاندارد این پایه ، به عنوان پایه نوشتن در حافظه (WR) بیرونی نیز به کار برده می شود۰
P3.7

این پایه ، یک پایه ورودی / خروجی دو طرفه است ( بیت ۷ درگاه ۳ ) در آی سی ۸۰۵۱استاندارد ، این پایه به عنوان پایه خواندن داده ها از حافظه بیرونی (RD) نیز به کار برده می شود۰

P1.0
این پایه که بیت صفر درگاه یک می باشد ، یک پایه ورودی / خروجی دو طرفه می باشد۰ در آی سی های ۲۰ پایه ، این پایه دارای مقاومت pull-up داخلی نیست۰ همچنین در آی سی های ۲۰ پایه ، به عنوان ورودی مثبت مقایسه گر آنالوگ (AIN0) نیز به کار برده می شود۰
P1.1
این پایه که بیت ۱ درگاه ۱ می باشد ، یک پایه ورودی / خروجی دو طرفه می باشد۰ در آی سی های ۲۰ پایه ، این پایه دارای مقاومت pull-up داخلی نیست ۰ همچنین در آی سی های ۲۰ پایه ، به عنوان ورودی منفی مقایسه گر آنالوگ (AIN1) نیز به کار برده می شود۰
P102 تا P1.0
این پایه ها ، باقیمانده پایه های ورودی / خروجی دو طرفه درگاه۱ می باشند ۰ این پایه ها دارای مقاومت pull-up داخلی هستند۰
VCC
ولتاژ تغذیه
P0.0 تا P0.7
این پایه ها ، هشت پایه ورودی / خروجی درگاه صفرآی سی ۸۰۵۱ استاندارد هستند۰ این پایه ها دارای مقاومت pull-up داخلی نیستند۰ پایه های P0.0 تا P0.7 به منظور ایجاد بیت های پایین آدرس ) A0 تا A7 ) و داده ، در طی خواندن از حافظه برنامه بیرونی و یا در طی دستیابی به حافظه داده بیرونی ، به کار برده می شوند۰

P2.0 تا P2.7
این پایه ها ، هشت پایه ورودی / خروجی درگاه ۲ آی سی ۸۰۵۱ هستند۰ این پایه ها دارای مقاومت pull-up هستند۰ پایه های P2.0 تا P2.7 به منظور ایجاد بیت های بالای آدرس ( A8تا A15 ) در طی خواندن از حافظه برنامه بیرونی و یا در طی دستیابی به حافظه داده بیرونی ، به کار برده می شوند۰

EA / VPP
پایه EXTERNAL ACCESS در ۸۰۵۱ استاندارد می باشد۰ به منظور اجرای برنامه داخلی میکروکنترلر ، پایه EA باید به VCCوصل شود۰ همچنین در طی عملیات برنامه ریزی باید به این پایه ، ولتاژ برنامه ریزی کننده را اعمال کرد۰

PSEN
پایه PROGRAM STORE ENABLE در ۸۰۵۱ استاندارد موجود می باشد۰ این پایه در هنگامی که میکروکنترلرها کدها را از حافظه بیرونی اجرا می کند ، فعال می شود۰
ALE / PROGE
پایه ADDRESS LATCH ENABLE در ۸۰۵۱ استاندارد موجود می باشد۰ این پایه برای ضبط بایت پایین آدرس در طی دسترسی به حافظه خارجی ، به کار برده می شود۰

تایمر(کانتر)
همان طور که می دانیم تایمرها یا کانترها از یک سری فلیپ فلاپ تشکیل شده اند که می توانند به صورت سنکرون و یا آسنکرون باشد۰ برای بررسی موضوع مدار زیر را که شمارنده آسنکرون می باشد در نظر بگیرید که در آن خروجی های Q0 الی Q3 به عنوان ارقام اصلی این شمارنده در نظر می گیریم که در این صورت خروجی این شمارنده می تواند از Q3Q2Q1Q0 = 0000 الی Q3Q2Q1Q0 = 1111 تغییر کرده و مجدداً با پالس بعدی کلاک ورودی خروجی شمارنده به صفر برسد اما همزمان با این عمل چون Q3 از یک به صفر می رسد مقدار Q4 نیز یک می گردد ، یعنی یک شدن Q4 می تواند بیان کننده این مطلب باشد که شمارنده به حداکثر مقدار خود رسیده و سپس صفر شده است که اصطلاحاً به آن سرریز شمارنده می گویند۰ یعنی در آن مدار خروجی های Q0 الی Q3 به عنوان ارقام شمارش و خروجی Q4 بیان کننده سرریز شمارنده می باشد۰
اگر کلاک اعمالی به این شمارنده یک مقدار معین و مشخص باشد در این صورت می توان با در نظر گرفتن مدت زمان سرریز شمارنده زمان های مشخص و معین ایجاد کرد یا اصطلاحاً با این شمارنده زمان را اندازه گیری نمود که در این حالت از شمارنده به عنوان تایمر استفاده کرده ایم۰
اما اگر پالس اعمالی به ورودی کلاک شمارنده به وسیله عنصر خارجی ( نظیر عبور یک قطعه از مقابل چشم الکترونیک و ایجاد یک پالس ورودی کلاک ) تعیین شود در این صورت از این مدار به صورت شمارنده یا کانتر استفاده کرده ایم۰

عملکرد تایمر( کانتر)
عملکرد هر یک از تایمرهای ۸۰۵۱ را می توان به صورت بلوک شکل (۲) نشان داد که می توان از آن ، هم به عنوان تایمر و هم شمارنده استفاده کرد۰

همان طور که دیده می شود شمارنده دارای ۱۶ بیت ورودی است که با آن می توان عدد دلخواه را ابتدا در شمارنده قرار داد و همچنین ۱۶ بیت خروجی که عدد شمارنده را نشان می دهد و حداکثر مقدار آن برابر FFFFH یا ۶۵۵۳۵ می باشد و بعد از FFFFH خروجی به ۰۰۰۰H بر می گردد و در این لحظه بیت سرریز شمارنده فعال می شود ( یک می شود ) ۰
منبع ساعت یا ورودی CLOCK این شمارنده می تواند داخلی و با فرکانس معین باشد( به وسیله اسیلاتور داخلی میکروکنترلر ) که در این حالت از شمارنده به عنوان تایمر استفاده می شود۰ اما برای حالت شمارنده ورودی کلاک به وسیله پالس های اعمالی توسط عنصر خارجی تأمین

می¬شود ( نظیر قطع و وصل شدن یک میکروسوئیچ به وسیله یک قطعه یا عبور یک قطعه از مقابل چشم الکترونیکی و ایجاد پالس و اعمال آن به ورودی کلاک ) برای شمارش حوادث بیرونی به عنوان کانتر استفاده می شود۰
در حالت شمارنده فرکانس اعمالی به وسیله عنصر خارجی معلوم می شود و در نتیجه مقدفرکانس اصلی سیستم میکروپرسسوری می باشد مثلاً اگر کریستالی که برای میکروپرسسور قرار گرفته است ۱۲MHZ باشد آنگاه ( در حالت تایمری ) فرکانس داخلی یا کلاک شمارنده ۱MHZاست۰
در حالت تایمری با فرض فرکانس ۱MHZ برای کلاک شمارنده ( فرکانس سیستم ۱۲MHZ) و با فرض اینکه شمارنده در ابتدا با عدد ۵۹۵۳۶ بار شده باشد۰ مدت زمان لازم برای فعال ش

دن پرچم سرریز به صورت زیر می باشد۰
برای فعال شدن سرریز ، شمارنده باید از عدد ۵۹۵۳۶ به ۶۵۵۳۵ ( یا FFFFH ) و سپس به ۰۰۰۰H برگردد که در این صورت تعداد پالس لازم برای این تعداد شمارش برابر است با:شد (f=1MHZ) پس مدت زمان لازم برای فعال شدن بیت سرریز برابر است با:
۶۰۰۰×۱µS= 6msec
اگر فرکانس اصلی سیستم ۶MHZ باشد برای تولید مدت زمان ۲۰msec ( مدت زمان لازم برای فعال شدن پرچم سرریز ) عددی که باید در شمارنده قرار گیرد به صوررت زیر می باشد۰
= ۶MHZ / 12 = 0.5 MHZ فرکانس تایمر
= ۱/۰۵MHZ = 2 مدت زمان لازم برای یک پالس سرریز
= ۲۰ ms/2 µs = 1000 تعداد پالس های لازم برای یک پالس سرریز
یعنی شمارنده باید با عدد ( -۱۰۰۰ ) یا ( D8F0H ) پر می شود۰

ثبات حالت تایمر (TMOD) و کنترل تایمر (TCON)
ثبات حالت تایمر (TMOD) :
این ثبات که جزو ثبات های SFR با آدرس بایت ۸۹H است بیت آدرس پذیر نبوده و شامل ۸ بیت جهت تعیین وضعیت تایمرهای شماره صفر و یک میکروکنترلر می باشد۰ ( ۴ بیت با ارزش برای تایمر یک و ۴ بیت کم ارزش برای تایمر صفر)
که اکنون به به توضیح هر یک از این بیت ها می پردازیم:

GATE
(بیت ۷) : اگر این بیت ۱ باشد در این صورت تایمر فقط وقتی که ۱NT1 فعال باشد کار می کند (برای حالتی به کار می رود که بخواهیم فاصله زمانی بین دو پالس را اندازه بگیریم)۰ اگر این بیت صفر باشد کار عادی تایمر انجام می شود۰
C/T (بیت۶): اگر این بیت یک باشد به صورت شمارنده عمل می کند ( که در این حالت فرکانس مدار تایمر شماره ۱ میکروکنترلر به وسیله عنصر خارجی تعیین می شود ) این فرکانس به

پایه ۱۵ میکروکنترلر ) T1 یا P3.5 ) اعمال می گردد و اگر این بیت صفر باشد ورودی CLOCK شمارنده به فرکانس داخلی آی سی وصل شده و تایمر به صورت زمان سنج یا تایمر عمل می کند۰ بیت¬های M1.M0 : به حالت شمارنده معروفند که باعث می شود تا تایمر یکی از ۴ حالت زیر را پیدا کند۰

  راهنمای خرید:
  • در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید با ما تماس بگیرید.