در این پروژه میخواهیم چگونگی کار با پورت سریال را مورد بررسی قرار دهیم.این نوع ارتباط هنگامی اهمیت پیدا میکند که میخواهیم یک پردازش پیچیده بر روی اطلاعات دریافتی از پورت سریال با استفاده از پردازشگر قدرتمند کامپیوتر انجام دهیم. امروزه هر سیستم عامل به طور پیشفرض دارای پورتهایی با نامهای com1,com2,….. است این نوع پورت از پروتکل سریال برای انتقال اطلاعات بهره میگیرد.برای این پروتکل دو نوع درگاه 25 و 9 پین در نظر گرفته شده است که شکل ظاهری شبیه به هم دارند و فقط تعداد پینها متفاوت است.البته نوع 25 پین را نباید با درگاه موازی اشتباه گرفت،زیرا در کامپیوترها یک درگاه دیگر با نام درگاه موازی وجود دارد که 25 پین دارد وشبیه به همین درگاه سریال است.
در مدل 9 پین پایه 2 برای ارسال و پایه 3 برای دریافت اطلاعات استفاده میشود و پایه 5 نیز زمین است و باید برای ارتباط و مشترک کردن زمین در دو مدار بین دو مدار وصل شود پس تا اینجا فقط به سه سیم برای ارتباط کامل نیزا داریم.خطوط دیگر وظایف کمکی در رابطه با پروتکل و کنترل ارسال اطلاعات را بر عهده دارند.این خطوط معمولاً برای تصدیق متقابل به کار میروند به نحوی که هم میشود در این خطوط داده نوشت و هم وضعیت موجود آنها را خواند.
استاندارد rs232
کامپیوتر های شخصی از استاندارد rs232 در ارتباط سریال استفاده میکنند.استاندارد rs232 در سال 1962 و پیش از رواج استاندارد ttl به وجود آمد.در گذشته مدارات الکتریکی برا اساس ولتاژ بین -15 تا +15 عمل میکردند و برای همین این پروتکل با این ولتاژ عمل میکند و از آنجا که میکرو ها و آیسیهای جدید با ولتاژ 0تا5 ولت عمل میکنند ما برای تبدیل سطوح ولتاژی نیاز به مبدلی به نامMAX232 خواهیم داشت.ویژگی های این استاندارد را در جدول زیر ملاحظه مینمایید.
ایجاد یک رابط در کامپیوتر (اینترفیس)
برای این که بتوانیم یک داده را از پورت بخوانیم باید بتوانیم که یک برنامه تحت سیستم عامل بنویسیم حال این سیستم عمال چه لینوکس باشد یا ویندوز یا یونیکس یا مک ... که هر کدام فرقی ندارند ولی در ویندوز برنامه سازی راحت تر از همه جاست هر چند برنامه نویسی تحت سیستم عامل لینوکس مزایای خاص خودش را داراست.برای ایجاد اینترفیس در ویندوز میتوان از ویژوال بیسیک بهره برد یا LABVIEW یا C# به هر حال همه ی اینها در ویندوز تحت دستورات پایه ای DOS عمل میکنند.
توضیحات
در این پروژه میخواهیم یک ارتباط دو طرفه بین میکرو و کامپیوتر برقرار کنیم که در آن از طرف میکرو بتوانیم دو رله را خاموش و روشن کنیم و وضعیت رله ها را به میکرو گزارش دهیم و همچنین وضعیت نور 3 عدد LED را کنترل کنیم؟ توضیجات کلی برنامه بسکام برای کنترل شدت نور باید جریان خروجی از پایه های میکرو را کنترل نماییم برای این کار باید با استفاده از تایمر کانتر میکرو یک موج PWM تولید نماییم.برای مثال اگر بخواهیم نصف جریان عادی به LED ها برسد باید پایه مربوطه را نیم پریود خاموش و نیم پریود روشن کنیم یعنی LED را با سرعت زیادی دائماً خاموش و روشن کنیم برای تولید این پریود میتوانیم از یک تایمر بهره ببریم که هر یک میلی ثانیه ما را به وقفه ی T0_RUT ببرد.در وقفه ی مربوطه ما باید دستور دهیم که LED روشن باشد یا خاموش برای این کار یک شمارنده قرار میدهیم با نامPWM تا هر بار افزایش یابد و در صورتی که LED قرار باشد 100 پریود خاموش باشد تا هنگامی که 100 پریود به این زیر برنامه نرفته باشیم LED خاموش میماند و هنگامی که محتوای PWM=100 شد آنگاه LED مربوطه روشن میشود و تا هنگامی که PWM=256 شود روشن میماند این یعنی LED از کل 256 پریود 100 پریود خاموش و 156 پریود روشن بوده و خواهد بود و و در واقع بیش از نیمی از کل پرودها را روشن بوده وای حداکثر نور را هنگامی خواهیم داشت که کل 256 پریود را روشن باشد.
نکته:
جهت کارکرد درست این برنامه به فایلهای MSCOMM32.OCX و MSCOMCTL.OCX نیاز است ، بنابراین در صورتی که پس از دانلود برنامه با خطا و عدم اجرای آن مواجه شدید از سایت زیر میتوانید آنها دانلود کنید. http://www.afreeocx.com
حداقل اشتراک | محتویات | زمان ایجاد | حجم فایل | تعداد دانلودها |
رایگان | برنامه+شماتیک | جمعه, 10 آذر 1391 15:26 | 13.69 KB | 1 |
تنها کاربران عضو یا دارای مجوز میتوانند دانلود نمایند |