دانلود مقاله ميکروکنترلر در pdf

پنجشنبه 17 فروردين 1396
5:15
علی

برای دریافت اینجا کلیک کنید

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

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

این پروژه توسط مرکز مرکز پروژه های دانشجویی آماده و تنظیم شده است

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


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

میکروکنترلر

فهرست مطالب
عنوان صفحه
مقدمه 1
سیر تكاملی میكروكنترلرها 4
معماری داخلی میكروكنترلرها 5
خانواده 8051 7
پیكر بندی پایه ها 12
تایمر 20
جریان و مقاومت در میكرو كنترلرها 29
عملكرد تابلو روان 31
نحوه نمایش در تابلو به صورت ثابت 31
روش جاروب كردن 33
روش شیفت دادن 36
بررسی چگونگی نمایش بر روی دات ماتریكس 38
LED های دورنگ 40

زمان روشن بودن 40

مقدمه
میكروكنترلر در واقع یك ریز پردازنده تك تراشه ای است كه شامل حافظه داده ، حافظه برنامه ، ورودی و خروجی سریال و موازی ، تایمرها ، وقفه های بیرونی و داخلی می باشد كه تمامی آنها روی یك تراشه واحد مجتمع شده اند و می توان آن را به قیمتی كمتر از 2 دلار تهیه نمود0 بر اساس تخمین های زده شده به طور متوسط تعداد 35 میكرو كنترلر در وسایل خانگی یك خانواده متوسط آمریكایی وجود دارد0 بیش از 34 درصد میكروكنترلرها در اتوماسیون اداری نظیر چاپگرهای لیزری ، دستگاه های نمابر تلفنهای هوشمند و نظایر آنها به كار برده می شوند0 بیش از یك سوم میكروكنترلرها در لوازم خانگی الكترونیكی به كار برده شده اند0 در این د

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

سهم كاربرد میكروكنترلرها را به خود اختصاص داده اند0
میكروكنترلرها به طور معمول با استفاده از زبان اسمبلی مربوطه ، برنامه ریزی می شده اند0 میكروكنترلرهای ساخت تولید كنندگان مختلف ، زبانهای اسمبلی متفاوتی دارند0 زبان اسمبلی شامل عبارتهای كوتاهی برای دستورالعمل ها است به خاطر سپردن این عبارتها مشكل است ونیز برنامه های تهیه شده برای یك میكروكنترلر برای سایر انواع دیگر میكروكنترلرها قابل استفاده نمی باشد0 سختی كار با زبان اسمبلی به خصوص در پیاده سازی پروژه های پیچیده ، متداولترین شكایتی است كه در رابطه با برنامه ریزی میكروكنترلرها مطرح می شود0 راه حل این مسئله ، استفاده از زبانهای سطح بالا می¬باشد0 با این كار ، عملیات برنامه ریزی ساده تر گشته ، برنامه خواناتر و انعطاف پذیرتر شده و پشتیبانی از آن نیز ساده تر می گردد0 برای اغلب میكرو كنترلرها كامپایلرهای C و BASIC متفاوتی موجود می باشند0 كامپایلرهای BASIC معمولا‌ً به صورت مفسر بوده و كدهای حاصل از آنها كند می باشند0
یكی دیگراز معایب زبان BASIC این است كه اغلب كامپایلرهای BASIC ساختیافته نیستند در نتیجه برنامه سازی با آن كار دشواری می باشد0 در این پروژه از یك كامپایلر حرفه ای C با تمام قابلیتهای آن جهت برنامه ریزی میكرو كنترلر خود استفاده خواهیم كرد0 AT89C2051 متعلق به خانواده استاندارد میكروكنترلرهای 8051 می باشد0 AT89C2051 یك مدار مجتمع 20 پایه می باشد كه از لحاظ كد، كاملاً سازگار با برادر بزرگترش 8051 است0 این مدار مجتمع دارای یك درگاه سریال¬، 15 بیت ورودی / خروجی موازی ، 2 عدد تایمر / شمارنده ، 6 منبع وقفه ، 128 بایت حافظه RAM برای داده ها و 2 كیلو بایت حافظه فلش قابل برنامه ریزی مجدد برای ذخیره كردن برنامه می

باشد0 دلایل زیادی برای انتخاب AT89C2051 وجود دارد¬، از آن جمله می توان به سازگاری كامل آن با خانواده 8051 و سهولت پاك كردن و برنامه ریزی مجدد آن ، اشاره كرد0 برای این مدار مجتمع نیازی به استفاده از اشعه ماوراء بنفش جهت پاك كردن حافظه برنامه نیست0 حافظه را می توان با استفاده از یك مدار برنامه ریزی كننده ارزان قیمت پاك كرده و مجدداً آن را برنامه ریزی نمود0 از دلایل دیگر انتخاب AT89C2051 كوچكی و ارزان بودن آن است0
سیستم های میكرو كامپیوتری:

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

سیر تكاملی میكرو كنترلرها
اولین میكروكنترلرها در اواسط دهه 1970 ساخته شدند0 این میكروكنترلرها در ابتدا پردازنده های ماشین حساب بودند كه دارای حافظه برنامه كوچكی از نوع ROM ، حافظه داده بسیار محدود از نوع RAM و تعدادی درگاه ورودی / خروجی بودند0
با توسعه فناوری سیلیكون ، میكروكنترلرهای 8 بیتی قو یتری ساخته شدند0
در این میكروكنترلرها علاوه بر بهینه شدن دستور العمل ها ، تایمر/ شمارنده روی تراشه¬، امكانات وقفه و كنترل بهینه شدن خطوط I / O نیز به آنها اضافه شده است0 حافظه موجود بر روی تراشه هنوز هم محدود می باشد و در بسیاری موارد كافی نیست0 یكی از پیشرفتهای قابل توجه در آن زمان، قابلیت استفاده از حافظه EPROM قابل پاك شدن با اشعه ماوراء بنفش روی تراشه بود0 این قابلیت ، زمان طراحی و پیاده سازی محصول را به طور محسوسی كاهش داد و نیز برای اولین بار امكان استفاده میكروكنترلرها را در كاربردهایی كه حجم تولید پایینی دارند ، فراهم ساخت0
خانواده 8051 در اوایل دهه 1980 توسط شركت اینتل معرفی گردید0 از آن زمان تا كنون ، 8051 یكی از محبوبترین میكروكنترلرها بوده و بسیاری از شركتهای دیگر نیز به تولید آن اقدام كرده اند0 در حال حاضر مدل های مختلفی از 8051 وجود دارد كه در بسیاری از آنها امكاناتی نظیر مبدل آنالوگ به دیجیتال ، حجم نسبتاً بزرگ از حافظه برنامه و حافظه داده ، مدولاتور عرض پالس ( PWM ) در

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

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

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

شوند و به هر گروه نیز نام خاصی اطلاق می شود0 به عنوان مثال ، میكروكنترلر 8051 دارای 4 درگاه ورودی / خروجی 8 بیتی می باشد كه
P3 . P2 . P1 . P0 نامیده می شوند 0 در تعدادی از میكروكنترلرها ، جهت خطوط درگاه I /O قابل برنامه ریزی می باشد0 لذا بیت های مختلف یك درگاه را می توان به صورت ورودی یا خروجی

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

خانواده 8051
خانواده 8051 یك خانواده میكرو كامپیوتر ( میكروكنترلر ) 8 بیتی تك تراشه ای استاندارد است كه بسیار محبوب و عامه پسند می باشد و توسط سازندگان مختلف با قابلیت های متفاوت تولید می گردد0 آی سی استاندارد اصلی كه اولین عضو این خانواده می باشد ، 8051 است كه یك میكروكنترلر 40 پایه می باشد0 هم اكنون این آی سی با پیكر بندی های مختلف موجود می باشد0 80C51 نوع CMOS و كم مصرف این خانواده است0 8751 دارای حافظه برنامه از نوع EPROM است كه عمدتاً در هنگام پیاده سازی به كار برده می شود0
89C51 نیز دارای حافظه فلش قابل برنامه ریزی و پاك شدن (PEROM) است لذا بدون نیاز به پاك كردن با اشعه ماوراء بنفش می توان حافظه برنامه را برنامه ریزی كرد0 8052 عضو بهینه شده این خانواده می باشد و حافظه RAM آن بیشتر بوده و تعداد تایمر / شمارنده آن نیز بیشتر است0 انواع مختلفی از خانواده 40 پایه وجود دارد كه دارای مبدل های آنالوگ به دیجیتال ، مدولاتورهای عرض پالس و نظایر آن هستند0 در بخش پایین خانواده 8051 ، میكرو كنترلرهای 20 پایه قرار دارند كه از لحاظ كد ، سازگاری كاملی با انواع 40 پایه دارند0 این ادوات 20 پایه برای كاربردهایی با پیچیدگی كمتر كه نیاز به خطوط I /O كمتری دارند و نیز برای كاربردهایی كه باید مصرف توان كمتری داشته باشند ( مثل سیستم های قابل حمل ) ساخته شده اند0
آی سی های AT89C2051 و AT89C1051 ( ساخت شركت Atmel ) چنین میكروكنترلرهایی هستند كه از لحاظ كد سازگاری كاملی با خانواده 8051 دارند و مصرف توان آنها نیز كمتر است0 جدول 1-1 فهرستی از مشخصات برخی از اعضای خانواده 8051 را ارائه می كند دلایل انتخاب AT89C2051 عبارتند از قیمت ارزان ، توان مصرفی كم ، حجم كوچك (20 پایه) و قابلیتهای زیاد اطلاعات كاملتر در مورد این میكروكنترلرها را می توانید از برگه مشخصات آنها كه توسط سازندگا

ن ارائه می شوند استخراج كنید0

معماری خانواده 8051
8051 یك میكروكنترلر 8 بیتی با مصرف كم و قابلیت زیاد است0 تعداد زیادی از اعضا خانواده 8051 دارای معماری مشابهی هستند و هر یك از اعضا با اعضای دیگر سازگار می باشند0 قابلیتهای میكروكنترلر 8051 استاندارد به شرح زیر می باشد:
• 4 كیلو بایت حافظه برنامه
• 8 ×256حافظه داده رم
• 32 خط I /O قابل برنامه ریزی
• دو عدد تایمر / شمارنده 16 بیتی
• 6منبع وقفه
• درگاه UART سزیال قابل برنامه ریزی
• قابلیت اتصال به حافظه بیرونی
• بسته بندی 40 پایه استاندارد
انواع دارای EPROM این خانواده ( مثلاً 8751 ) برای پیاده سازی و طراحی به كار برده می شوند و حافظه برنامه آنها را می توان توسط منبع نور ماوراء بنفش پاك كرد0 چیدمان پایه های 8051 استاندارد ، در شكل 1-1 نشان داده شده است0

آی سی AT89C2051 یكی از اعضای ساده تر خانواده 8051 می باشد و برای كاربردهایی كه پیچیدگی كمتری دارند ، طراحی شده است0 این آی سی دارای 2 كیلو بایت حافظه فلش قابل برنامه ریزی (PEROM) است كه با استفاده از دستگاه برنامه ریزی كننده مناسب می توان این حافظه را پاك كرده ومجدداً برنامه ریزی نمود0 AT89C2051 دارای 128 بایت RAM و 15 خط

I / O قابل برنامه ریزی است0 كدی كه برای این مدار مجتمع نوشته شود ، روی 8051 استاندارد بدون نیاز به هر گونه تغییری ، كار می كند0 همان گونه كه در شكل 2-1 نشان داده می شود ، مدار مجتمع AT89C2051 درون محفظه ای 20 پایه قرار داده شده است0

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

می شود كه آی سی در هنگام روشن شدن ریست شود ( به شكل 3-1 و 4-1 توجه كنید )0

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

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

XTAL 2 و XTAL 1
برای عملكرد نوسان ساز داخلی ، باید به این دو پایه ، كریستال بیرونی وصل شود0 معمولاً مطابق شكل 3-1 و 4-1 دوخازن 33 پیكو فارادی نیز به همراه كریستال وصل می شوند0 سیكل ماشین از تقسیم كردن فركانس كریستال به عدد 12 به دست می آید ، لذا با كریستال 12 مگاهرتزی ، سیكل ماشین یك میكرو ثانیه خواهد بود0 بسیاری از دستورالعمل ها در یك سیكل ماشین انجام می شوند0
P3.2
این پایه ، یك پایه ورودی / خروجی دو طرفه است (بیت 2 درگاه 3) و دارای مقاومت pull-up داخلی است 0 در ضمن این پایه ، پایه وقفه بیرونی شماره صفر (INT0) نیز می باشد0

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

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

این پایه ، یك پایه ورودی / خروجی دو طرفه است ( بیت 7 درگاه 3 ) در آی سی 8051استاندارد ، این پایه به عنوان پایه خواندن داده ها از حافظه بیرونی (RD) نیز به كار برده می شود0

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

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

EA / VPP
پایه EXTERNAL ACCESS در 8051 استاندارد می باشد0 به منظور اجرای برنامه داخلی میكروكنترلر ، پایه EA باید به VCCوصل شود0 همچنین در طی عملیات برنامه ریزی باید به این پایه ، ولتاژ برنامه ریزی كننده را اعمال كرد0

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

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

عملكرد تایمر( كانتر)
عملكرد هر یك از تایمرهای 8051 را می توان به صورت بلوك شكل (2) نشان داد كه می توان از آن ، هم به عنوان تایمر و هم شمارنده استفاده كرد0

همان طور كه دیده می شود شمارنده دارای 16 بیت ورودی است كه با آن می توان عدد دلخواه را ابتدا در شمارنده قرار داد و همچنین 16 بیت خروجی كه عدد شمارنده را نشان می دهد و حداكثر مقدار آن برابر FFFFH یا 65535 می باشد و بعد از FFFFH خروجی به 0000H بر می گردد و در این لحظه بیت سرریز شمارنده فعال می شود ( یك می شود ) 0
منبع ساعت یا ورودی CLOCK این شمارنده می تواند داخلی و با فركانس معین باشد( به وسیله اسیلاتور داخلی میكروكنترلر ) كه در این حالت از شمارنده به عنوان تایمر استفاده می شود0 اما برای حالت شمارنده ورودی كلاك به وسیله پالس های اعمالی توسط عنصر خارجی تأمین

می¬شود ( نظیر قطع و وصل شدن یك میكروسوئیچ به وسیله یك قطعه یا عبور یك قطعه از مقابل چشم الكترونیكی و ایجاد پالس و اعمال آن به ورودی كلاك ) برای شمارش حوادث بیرونی به عنوان كانتر استفاده می شود0
در حالت شمارنده فركانس اعمالی به وسیله عنصر خارجی معلوم می شود و در نتیجه مقدفركانس اصلی سیستم میكروپرسسوری می باشد مثلاً اگر كریستالی كه برای میكروپرسسور قرار گرفته است 12MHZ باشد آنگاه ( در حالت تایمری ) فركانس داخلی یا كلاك شمارنده 1MHZاست0
در حالت تایمری با فرض فركانس 1MHZ برای كلاك شمارنده ( فركانس سیستم 12MHZ) و با فرض اینكه شمارنده در ابتدا با عدد 59536 بار شده باشد0 مدت زمان لازم برای فعال ش

دن پرچم سرریز به صورت زیر می باشد0
برای فعال شدن سرریز ، شمارنده باید از عدد 59536 به 65535 ( یا FFFFH ) و سپس به 0000H برگردد كه در این صورت تعداد پالس لازم برای این تعداد شمارش برابر است با:شد (f=1MHZ) پس مدت زمان لازم برای فعال شدن بیت سرریز برابر است با:
6000×1µS= 6msec
اگر فركانس اصلی سیستم 6MHZ باشد برای تولید مدت زمان 20msec ( مدت زمان لازم برای فعال شدن پرچم سرریز ) عددی كه باید در شمارنده قرار گیرد به صوررت زیر می باشد0
= 6MHZ / 12 = 0.5 MHZ فركانس تایمر
= 1/05MHZ = 2 مدت زمان لازم برای یك پالس سرریز
= 20 ms/2 µs = 1000 تعداد پالس های لازم برای یك پالس سرریز
یعنی شمارنده باید با عدد ( -1000 ) یا ( D8F0H ) پر می شود0

ثبات حالت تایمر (TMOD) و كنترل تایمر (TCON)
ثبات حالت تایمر (TMOD) :
این ثبات كه جزو ثبات های SFR با آدرس بایت 89H است بیت آدرس پذیر نبوده و شامل 8 بیت جهت تعیین وضعیت تایمرهای شماره صفر و یك میكروكنترلر می باشد0 ( 4 بیت با ارزش برای تایمر یك و 4 بیت كم ارزش برای تایمر صفر)
كه اكنون به به توضیح هر یك از این بیت ها می پردازیم:

GATE
(بیت 7) : اگر این بیت 1 باشد در این صورت تایمر فقط وقتی كه 1NT1 فعال باشد كار می كند (برای حالتی به كار می رود كه بخواهیم فاصله زمانی بین دو پالس را اندازه بگیریم)0 اگر این بیت صفر باشد كار عادی تایمر انجام می شود0
C/T (بیت6): اگر این بیت یك باشد به صورت شمارنده عمل می كند ( كه در این حالت فركانس مدار تایمر شماره 1 میكروكنترلر به وسیله عنصر خارجی تعیین می شود ) این فركانس به

پایه 15 میكروكنترلر ) T1 یا P3.5 ) اعمال می گردد و اگر این بیت صفر باشد ورودی CLOCK شمارنده به فركانس داخلی آی سی وصل شده و تایمر به صورت زمان سنج یا تایمر عمل می كند0 بیت¬های M1.M0 : به حالت شمارنده معروفند كه باعث می شود تا تایمر یكی از 4 حالت زیر را پیدا كند0


دانلود این فایل


برای دریافت اینجا کلیک کنید

[ بازدید : 4 ] [ امتیاز : 3 ] [ امتیاز شما : ]
تمامی حقوق این وب سایت متعلق به مقالات من است. | قدرت گرفته از Blogroz.ir| طراح قالب Blogroz.ir
× بستن تبلیغات