دانلود با لینک مستقیم و پر سرعت .
فرمت فایل: word
تعداد صفحه:98
دانشکده مهندسی برق
پایان نامه کاردانی کاردانی فنی برق – مخابرات
عنوان:
تایمر تخصصی بلندمدت مجهز به میکروکنترلر
فهرست مطالب
فصل اول: میکرو کنترلر AT89C2051
1_1_ تاریخچه ۱
۲_۱_ خلاصه سخت افزار این قطعه ۱
۳_۱_ حافظه داده جزئیات ۳
۴_۱_ رجیستر های داخلی میکروکنترلر (حافظه داخلی) ۴
۵_۱_ گروه II( Bite Addressable) ۴
۶-۱) ثبات های کنترلی ۵
۷-۱) فرضیات میکرو کنترلر به هنگام رجوع به حافظه برنامه ۸
۸-۱) ساختار درگاه I/O ۹
۹-۱) روش های آدرس دهی ۹
۱۰-۱) دستورالعمل های ۵۹X8 ۱۲
۱۱-۱) تقسیم بندی دستورات میکرو کنترلر ۱۲
۱۲-۱)عملکرد زمان سنج ۱۸
۱۳-۱) ثبات حالت زمان سنج (TMOD) ۱۸
۱۴-۱) ثبات کنترل زمان سنج (TCON) ۱۹
۱۵-۱) برنامه ریزی اینتراپت ها ۲۱
۱۶-۱) ثبات های مربوط به اینتراپت ۲۱
۱۷-۱) اولویت وقفه ۲۲
۱۸-۱) بردارهای وقفه ۲۳
۱۹-۱) عملکرد پورت سریال ۲۴
۲۰-۱) حالتهای عملکرد پورت سریال ۲۴
فصل دوم : تجزیه و تحلیل مدار تایمر
۱_۲_ مشخصه ها و خصوصیات مدار ۲۶
۲_۲_ لیست قطعات به کار رفته در مدار ۲۶
۳_۲_ برد ۲۸
۴_۲_ مقاومت ۲۹
۵_۲_ خازن ۳۴
۶_۲_ دیود یکسوساز ۴۴
۷_۲_ دیود نورانی (LED) ۴۶
۸_۲_ آی سی۷۸۰۵ ۴۹
۹_۲_ ترانزیستور ۵۰
۱۰_۲_ رله ۵۰
۱۱_۲_ کلیدهای میکروسوئیچ ۵۱
۱۲_۲_ دیپ سوئیچ ۵۱
۱۳_۲_ کریستال ۵۱
۱۴_۲_ برنامه ریزی میکرو ۵۲
۱۵_۲_ طرز کار مدار ۵۲
۱۶_۲_ نتیجه ۵۵
فصل سوم : پیوست ها
سورس برنامه به زبان اسمبلی ۵۶
منابع ۹۰
چکیده :
فصل اول : AT89C2051 از شرکت Atmel:
این تراشه ۸۰۵۱ رایج دارای ROM سریع می باشد و طراحی های سریع این نوع حافظه ایده آل است زیرا حافظه سریع می تواند طی چند ثانیه در مقایسه ۲۰ دقیقه لازم برای ۸۷۵۱ پاک شود به این دلیل AT89C2051 بجای ۸۷۵۱ بکار برده شده است تا هنگام پاک کردن تراشه وقتی تلف نشود و به این وسیله ساخت سیستم سریع گردد.
هنگام استفاده از AT89C2051 برای ساخت سیستم های مبتنی بر میکروکنترلر به سوزاننده یا برنامه ریز ROM سریع نیاز داریم با این وجود به پاک کننده ROM نیازی نیست. توجه داشته باشید که در حافظه سریع باید تمام حافظه پاک شود تا بتوان مجدداً آن را برنامه ریزی کرد پاک کردن حافظه سریع یا خود سوزاننده صورت می گیرد به این دلیل پاک کننده جداگانه ای لازم نمی باشد برای حذف سوزاننده PROM ، Atmel روی نوعی از AT89C2051 کار می کند که می تواند از طریق پورت سریال COM یک IBM PC برنامه ریزی شود.
فصل دوم : تجزیه و تحلیل مدار
در این فصل به بررسی جزئیات مدار تایمر اعم از IC و مقاومت و خازن و دیودهای به کار رفته در مدار پرداخته می شود. این مدار توسط میکرو کار می کند و میکروکنترلر آن توسط کریستال ۱۲ مگاهرتز کلاک خورده و توسط IC رگولاتور تغذیه می شود و خروجی آن توسط ترانزیستور تقویت شده و تقویت شدة آن باعث به کار افتادن رله می شود و رله وسیلة برقی را کنترل می کند.
فصل سوم : پیوست ها
در این فصل سورس برنامه میکرو که به زبان اسمبلی است ارائه شده و کلیه اطلاعات منبع در مورد AT89C2051 شامل DATA SHEET و توضیحات برنامه نویسی آن ارائه شده است.
مقدمه :
گرایش سخت افزار رشته کامپیوتر گرایشی است که با الکترونیک عجین می باشد.
بطور کلی گرایش الکترونیک به دو بخش عمده تقسیم می شود :
۱- دیجیتال
۲- آنالوگ
این پروژه که طراحی و ساخت یک تایمر تخصصی است گرایش در الکترونیک دیجیتال دارد و بطور کلی کاربرد الکترونیک دیجیتال و بخش طراحی و استفاده از مدارات مجتمع استوار شده است و طراحی بر اساس مدارات منطقه ای و سیستم باینری می باشد.
ما در اینجا نیاز به داشتن اطلاعات سخت افزاری در زمینه مدارات مجتمع IC ها و همچنین برنامه ریزی و استفاده از آنها داریم.
در این پروژه با استفاده از قطعات سخت افزار یک تایمر طراحی کرده ایم که برنامة میکروکنترلر آن به زبان اسمبلی بوده و در نهایت خروجی اعمالی به رله باعث قطع و وصل شدن وسائل برتر می شود.
فصل اول: میکروکنترلر AT89C 2051
۱_۱) تاریخچه
با وجود گذشت۳۰ سال از تولد ریز پردازنده تصور وسایل الکترونیکی بدون آنها کار مشکلی است در سال ۱۹۷۱ شرکت اینتل ۸۰۸۰ را به عنوان اولین ریزپردازنده موفق عرضه کرد. مدت کوتاهی بعد از آن موتورولا، RCA و سپس Zilog انواع مشابهی راهمچون ۶۸۰۰، ۶۵۰۲ ۸۰Z، را عرضه کردند ، گرچه این مدارها به خودی خود فایده چندانی نداشتند اما بعنوان بخشی از یک کامپیوتر تک بورد برای آموزش طراحی با ریز پردازنده تبدیل شدند.
میکروکنترلر قطعه ای شبیه ریز پردازنده است در سال ۱۹۷۶ اینتل ۸۷۴۸ را به عنوان اولین قطعه خانواده میکروکنترلر های ۴۸_ MCS معرفی کرد. توان، ابعاد و پیچیدگی میکروکنترل ها با اعلام ساخت ۸۰۵۱، یعنی اولین عضو خانواده میکرو کنترلر های _ MCS 51 در ۱۹۸۰ توسط اینتل پیشرفت چشمگیری کرد.
۲-۱ خلاصه سخت افزار این قطعه عبارت است از:
۴k بایت ROM، ۱۲۸ بایت RAM ، ۴ درگاه ورودی خروجی، ۲ تایمر شمارنده ۱۶ بیتی ، رابط سریال ، ۶۴k بایت فضای حافظه خارجی برکد ۶۴x بایت فضای حافظه خارجی برای داده، پردازنده بولی، ۲۱۰ مکان بیتی آدرس پذیر، انجام عملیات ضرب و تقسیم در ۴ میکرو ثانیه .
(۱-۳-۱) تغذیه _پایه های ۲۰=GND و ۴۰=VCC)
میکرو کنترلر با یک تغذیه V5 کار می کند که پایه ۴۰ سر مثبت آن است .
۲-۲-۱)پالس ساعت (پایه های ۱۸ و ۱۹)
این پایه ها جهت اتصال به کریستال نوسان ساز به کار می روند که با مدارات داخلی پالس ساعت سیستم را تولید می کند.
۳-۲-۱) درگاه های موازی( پورت های صفر ف یک ، دو ، سه)
میکرو کنترلر دارای چهار درگاه ۸ بیتی است که می تواندعلاوه بر منظور خاص، پایه های ورودی خروجی نیز باشند.
در میان پورت ها، پورت سه کمی با دیگر پورت ها متفاوت است زیراعلاوه بر یک درگاه عمومی هر یک از پایه های عملکرد دیگری نیز می توانند داشته باشند که به شرح زیر است :
جدول شماره ۱-۱ پورت ها
شماره پایه
بیت
نام
وظیفه
۱۰
P3.0
RXD
دریافت داده درگاه سریال
۱۱
P3.1
TXD
ارسال داده درگاه سریال
۱۲
P3.2
INT0
وقفه خارجی صفر
۱۳
P3.3
INT1
وقفه خارجی یک
۱۴
P3.4
T0
ورودی تایمر یا کانتر صفر
۱۵
P3.5
T1
ورودی تایمر یا کانتر یک
۱۶
P3.6
WR
سیگنال فعال ساز نوشتن
۱۷
P3.7
RD
سیگنال فعال ساز خواندن
لازم به ذکر است که پورت های صفر و دو نیز به عنوان باس آدرس دهی به حافظه خارجی کاربرد دارد و پورت های دو منظوره می باشند.
۴-۲-۱) PSEN( پایه ۲۹، Program Store Enable)
وقتی برنامه از حافظه خارجی اجرا می شود میکرو کنترلر در زمان هایی که لازم است عمل واکنشی انجام دهد این سیگنالها خروجی را فعال (low) می کند که میتواند این سیگنال برای فعال کردن OE حافظه برنامه به کار رود.
۵-۲-۱) ALE( پایه ۳۰، Address Latch Enable)
همانطور که گفته شد درگاه p0 می تواند هم باس داده باشد و هم باس آدرس . وقتی ALE فعال (High) باشد یعنی دیتای روی دیتا باس یک آدرس است و در صورت فعال بودن آن یک داده می باشد
۶-۲-۱) Ea( پایه ۳۱، External Access)
اگر بخواهیم از حافظه برنامه داخلی استفاده نماییم این پایه را غیر فعال (High) می کنیم با فعال کردن این پایه (low) ، شروع حافظه برنامه از آدرس صفر برنامه خارجی خواهد بود و حافظه برنامه داخلی بلا استفاده خواهد ماند
۷-۲-۱)RST( پایه ۹، Reset)
بافعال کردن این پایه (high) حداقل به مدت دو سیکل ماشین رجیستر های داخلی میکروکنترلر با مقادیر مناسبی پر شده و میکروکنترلر از آدرس (۰۰۰۰) شروع به اجرای برنامه می کند.
۳-۱) حافظه داده جزئیات:
فضای حافظه میکرو کنترلر ها عبارتند از:
۱- ۶۴ کیلو بایت حافظه داده خارجی از آدرس صفر الی FFFF H
2- 128 بایت (یا ۲۵۶ بایت ) حافظه داده داخلی از آدرس صفر الی F H 7 (یا از آدرس FF H برای ۸۰۵۲)
۳_ ۱۲۸ بایت حافظه داخلی تحت نام SFR از آدرس H ۸۰ تا FF
4-1) رجیستر های داخلی میکروکنترلر (حافظه داخلی)
رجیستر های داخلی میکروکنترلر ها به دو دسته تقسیم می شوند:
۱-۴-۱) رجیستر های عمومی:
در واقع همان RAM داخلی است و به علت تعداد زیاد آنها به جای اسم به آنها شماره ای نسبت داده اند از H00 الی FH7
2-4-1) رجیستر های SFR یا رجیستر های خاص:
این رجیسترها علاوه بر اینکه رجیستر معمولی هستند هر کدام برای کاربرد خاص هم استفاده می شوند این رجیستر ها ف رجیسترهای مهم CPU بوده و از آدرس H80 الی FF H از RAM داخلی می باشد که فقط به صورت مستقیم قابل دسترسی می باشد
فضای حافظه RAM داخلی( یعنی ۱۲۸ بایت اول) به سه گروه مجزا تفکیک شده است همه گروه ها به صورت بایتی قابل آدرس دهی هستند اما گروه های II و III خواص دیگری نیز دارند که درزیر شرح می دهیم:
۵-۱) گروه II( Bite Addressable):
32 بایت اول حافظه RAM داخلی( از آدرس H00 الی FH1) شامل بانک های ثبات می باشد که به چهار گروه A بایتی تقسیم می شود و در هر لحظه ۸ بایت از این ۳۲ بایت قابل دسترسی می باشد که به ۰R، ۱R،۲R،۳R،… الی ۷R نشان داده می شود اینکه ۰R الی ۷R در هر لحظه بیان کننده کدام یک از این ۳۲ بایت می باشد به دو بیت از رجیستر PSW به نام های ۰RS و ۱RS که قابل آدرس دهی بیتی می باشند بستگی دارد یعنی مثلا برای (۰=۰RS، ۱=۱RS) 0R بیان گر بایت شماره هشتم از RAM داخلی و مثلا ۳R بیان گر بایت ۱۱ از RAM داخلی می باشد . استفاده از دستورات رجیستر های بانک ثبات به روش آدرس دهی مستقیم که در ادامه توضیح داده می شود ترجیح دارد.
۶-۱) ثبات های کنترلی:
۱-۶-۱) ثبات آکومولاتور(Accumulator):
اکومولاتور یا ACC که به اختصار در دستورات A هم نوشته می شد یک رجیستر ۸ بیتی بوده که تقریبا بیشتر عملیات انتقال و منطق و شیفت به علت آدرس شدن بیتی روی آن انجام می شود.
۲-۶-۱) ثبات کلمه وضعیت برنامه (program statues word)PSW:
بیت های این ثبات تحت تاثیر بعضی عملیات های میکروپروسسوری (ریاضی یامنطقی) فعال می شوند این ثبات دارای بیت های آدرس پذیر بوده و شامل بیت های زیر می باشد:
بیت پرچم نقلی: هشتمین بیت پرچم این بایت است و یک بیت دومنظوره است اگر در یک عمل جمع یک بیت نقلی از بیت ۷ آکومولاتور خارج شود یا در طی عمل تفریق یک بیت فرضی به بیت هفتم وارد شود بیت پرچم نقلی یک می شود
بیت پرچم نقلی کمکی: هنگام جمع کردن اگر یک انتقال از بیت ۳ به بیت چار آکومولاتور اتفاق بیفتد پرچم نقلی کمکی یک می شود
بیت پرچم صفر: یک بیت پرچم همه منظوره برای استفاده کاربران است
بیت پرچم سرریز (over flew flag) OV: اگر نتیجه جمع یا تفریق در آکولاموتور جا نشود پرچم سرریز یک می شود که بیانگر ناصحیح بودن نتیجه موجود در آکولاموتور است
بیت توازن (parity bit): این بیت به طور خودکار با توجه به محتوای اکولاموتور صفر یا یک می گردد به طوری که تعداد بیت های یک انباره به اضافه این بیت به تعداد زوج منجر شود
۳-۶-۱) ثبات B: این ثبات یک ثبات ۸ بیتی آدرس پذیر می باشد که هم به عنوان یک رجیستر عمومی و هم برای کاربرد خاص در نظر گرفته شده است که کاربرد خاص و اصلی آن انجام عملیات ضرب و تقسیم در آن می باشد.
۴-۶-۱) SP یاحافظه اشاره گر پشته( stack pointer):
SP یک رجیستر ۸ بیتی است که آدرس آن خانه H1 8 از RAM داخلی می باشد استفاده از آن زمانی است که نیاز به یک حافظه موقت جهت انجام عملی باشد و نخواهیم محتوای قبلی آن از بین برود و یا هنگامی که بخواهیم به یک برنامه فرعی برویم (مثلا با دستور CALL) اگر لازم باشد بعضی از نتایج برنامه اصلی در جایی ذخیره گردد تا در برنامه فرعی چنانچه مجددا از آنها استفاده کردیم محتوای قبلی آن از بین نرود و با برگشت به برنامه اصلی بتوانیم از آنها استفاده نماییم. شماره آدرس این فضا به وسیله اشاره گر پشته یا SP مشخص می شود (که برای همین باید SP را در ابتدای کار عدد دهی کنیم) و چنانچه این کار انجام نشود میکروکنترلر مقدار H7 0 را برای آن در نظر می گیرد دستورات PUSH و POP مربوط به این قسمت از حافظه می باشد که در مورد آنها در قسمت های بعد توضیح داده می شود
۵-۶-۱) ثبات اشاره گر(Data Pointer Register):
این ثبات دو بایتی بوده و می تواندیک عدد چهار رقمی هگز را در خود ذخیره کند که از آن به عنوان آدرسی برای دستیابی به حافظه کد یا داده خارجی استفاده می شود و آدرس آن H82 و H83 از RAM داخلی درقسمت SFRقرار دارد