اتصال دو میکرو به یکدیگر با پروتکل USART و استاندارد MAX232
در این بخش پروژه اتصال دو میکرو به یکدیگر را با پروتکل USART و با استفاده از استاندارد MAX232 در نرم افزار Proteus و برنامه نویسی در کد ویژن به همراه گزارش کار و فیلم تشریح پروژه آماده کردیم که در ادامه به توضیح مسئله این پروژه پایانی درس ریزپردازنده می پردازیم.
صورت مسئله پروژه
- دو میکرو 1 و 2 را توسط پروتکل USART و استاندارد MAX232 به یکدیگر کنید.
- به هر میکرو یک سنسور دما، یک کیبورد (4 در 4) و یک LCD متصل کنید. یکی از سنسورها دمای محیط داخل و دیگری دمای محیط بیرون را به نمایش بگذارد.
- هر میکرو در حالت کار عادی در خط اول LCD پیغام “welcome to this program” را به نمایش بگذارد.
- میکرو شماره 1 قابلیت نمایش ماشین حساب را داشته باشد و هنگام اجرای ماشین حساب تمام صفحه LCD به طور کامل پاک شده نتایج ماشین حساب را به نمایش بگذارد. توجه شود که هنگام تقسیم بر صفر باید پیغام “Enter” بر روی LCD چاپ شود.
- میکروی شماره 2 قابلیت نمایش ساعت را داشته باشد و در خط دوم ساعت را به نمایش بگذارد. همچنین یک LCD با هر ثانیه خاموش و روشن شود. توجه شود که باید دکمه هایی برای تنظیم ساعت و دقیقه در این میکرو تنظیم شود.
- با ارسال دستور “=1+” توسط میکرو شماره 1 دمای محیط از میکرو شماره 2 خوانده شود و LCD به طور کامل پاک شود و سپس در LCD آن در خط اول جمله “The outdoor temperature is:” چاپ شده در خط دوم آن دما نشان داده شود. پس از 5 ثانیه میکرو به حالت کار عادی باز گردد.
- با ارسال دستور “=2+” توسط میکرو شماره 2 دمای محیط از میکرو شماره 1 خوانده شود و LCD به طور کامل پاک شود و سپس در LCD آن در خط اول جمله “The indoor temperature is:” چاپ شده در خط دوم آن دما نشان داده شود. پس از 5 ثانیه میکرو به حالت کار عادی باز گردد.
توضیحاتی از گزارش کار پروژه
در این پروژه از کامپایلر کد ویژن و پروتئوس برای شبیه سازی استفاده شده است و توسط دو آی سی MAX232 ارتباط سریال دو میکرو به صورت مسترو اسلیو برقرار شده است. یکی از میکرو ها در داخل فضای در بسته قرار دارد و دیگری در خارج، یکی از میکرو ها زمان قابل تنظیم را نمایش میدهد و دیگر میکرو ماشین حساب دو رقمی را نشان می دهد، چون ماشین حساب به صورت دو رقمی برنامه ریزی شده است، به عنوان مثال برای جمع دو عدد تک رقمی 2 و 5 باید به صورت زیر اعداد را وارد کرد:
02+05
علامت جمع ماشین حساب مخصوص سینوس گرفتن است، با دکمه های ریست میکرو می توان میکرو رو به روال عادی خود بازگرداند، برنامه نویسی به صورت توابع نویسی در حد امکان انجام شده است، برای ماشین حساب از پوینتر ها استفاده شده است.
برای کلید های تنظیم ساعت شمار و دقیقه شمار از وقفه های 0 و 1 میکرو حساس به لبه بالا رونده و پایین رونده استفاده شده و فرکانس کاری هر دو میکرو نیز بر روی 1 مگاهرتز تنظیم شده است و همچنین دمای دماسنج بیرون روی 30 و دماسنج داخل بر روی 15 درجه سانتیگراد تنظیم گردیده است.
از LCD کاراکتری 16*2 استفاده کردیم و میتوان با کلید 2 تایمر را غیر فعال نمود. برای مشاهده مقدار دمای بیرون باید دکمه 3 فشرده شود و دکمه 4 و 1 باز باشد و سپس عبارت +1= تایپ شود و به مدت 5 ثانیه دمای خارج روی میکروی داخل نمایش داده شود. برای مشاهده مقدار دمای داخل باید دکمه 3 باز باشد و دکمه 4 و 1 فشرده شود و سپس عبارت +2= تایپ شود و به مدت 5 ثانیه دمای داخل روی میکروی خارج نمایش داده شود. در صورت هنگ کردن احتمالی میکروها دکمه های ریست را یکبار فشار می دهیم، همچنین از دماسنج LM35 استفاده شده است.
تنظیمات باودریت برای هر دو میکرو بر روی 9600
1 2 3 4 5 6 7 8 9 | UCSRA=(0<<RXC) | (0<<TXC) | (0<<UDRE) | (0<<FE) | (0<<DOR) | (0<<UPE) | (0<<U2X) | (0<<MPCM); UCSRB=(1<<RXCIE) | (1<<TXCIE) | (0<<UDRIE) | (1<<RXEN) | (1<<TXEN) | (0<<UCSZ2) | (0<<RXB8) | (0<<TXB8); UCSRC=(1<<URSEL) | (0<<UMSEL) | (0<<UPM1) | (0<<UPM0) | (0<<USBS) | (1<<UCSZ1) | (1<<UCSZ0) | (0<<UCPOL); UBRRH=0x00; UBRRL=0x33; |




















(34 امتیاز از 7 رای)








هیچ نظری ثبت نشده است