به نام خدا
بهتر است به صورت مفید و مختصر بریم سراغ اصل موضوع
ارتباط سریال یعنی اینكه شما از طریق دوپایه ی میكرو بتوانید اطلاعات خود را به كامپیوتر ارسال یا از آن دریافت كنید.
ارتباط سریال در نرم افزار بسكام به دو صورت UART نرم افزاری و UART سخت افزاری انجام می شود.
ما فعلا به UART نرم افزاری كاری نداریم.
در UART سخت افزاری یا حالت عادی میكرو خود دوپایه از پایه های خود را مخصوص این ارتباط قرار داده است اما در UART نرم افزاری شما می توانید این دو پایه را به صورت مجازی تغییر دهید و از پایه های دیگر میكرو برای این كار استفاده كنید.
اما فعلا ما با UART سخت افزاری كار می كنیم
میكرو ای كه ما با آن كار می كنیم atmega16 می باشد.
در این میكرو پایه های یPORTD.0 و PORTD.1 برای این كار استفاده می شوند.
اما اولین نكته ای كه باید مد نظر داشت این است كه این پایه ها نمی تواند مستقیما به پورت كام متصل شد.
چون سرعت ارسال و دریافت داده ها و حجم ارسال داده و .....میكرو و كامپیوتر با یكدیگر فرق دارد برای یكسان سازی این موضوع باید از ایسی ای به نام max232 یا max233 استفاده نمود.
برای كار كردن با این ایسی ها باید سخت افزار خاصی را برای این ایسی ها فراهم كارد اما این دو ایسی یك فرق كوچكی با هم دارند
اینكه max232 نیاز به آن سخت افزار دارد اما max233 این را نیاز ندارد یعنی به صورت كارخانه ای این سخت افزار در خودش وجود دارد اما این ایسی از max233 كمی گرانتر است به همین علت معمولا از max232 استفاه می كنند.

نحوه ی استفاده :
مكس 232 دارای 16 پایه می باشد برای نحوه ی اتصال آن باید تعدادی از پایه های ان را به خازن 22 میكروفاراد به شكل خاصی متصل كرد
اكنون به موضوع های مهم تری می پردازیم


برنامه ی لازم برای ارسال داده یا دریافت آن از كامپیوتر:
هنگام نوشتن برنامه چند چیز مهم را حتما باید لحاظ كنید تا ارتباط به مشكل نخورد.
1 - اینتراپت ها را با دستور زیر فعال كنید.
enable enterrupts
2 - جهت اینكه داده ها به درستی ارسال شوند و سرعت ارسال متناسب باشد باود درست را با این دستور انتخاب كنید.معمولا در این ارتباط از باود 9600 استفاده می شود . توجه در دستور زیر قبل از كلمه ی باود یك علامت دلار$ بگذارید
baud =9600
3 - جهت پیكربندی دریافت داده از كامپیوتر این دستور را وارد كنید
config serialin = bufferd , SIZE = size
size نشان دهنده ی تعداد بایت بافر است كه معمولا آن را 20 قرار می دهند.
4 - جهت پیكربندی ارسال داده به كامپیوتر از دستور زیر استفاده كنید
config serialout = bufferd , SIZE = size
كه باز هم بجای سایز عدد 20 را قرار دهید
حالا پیكربندی ارسال و دریافت داده در میكرو تمام شد
حال از دو دستور زیر میتوانید جهت دریافت و ارسال داده استفاده كنید
print A جهت ارسال داده كه هر مقداری را كه در متغیر A باشد را به پورت كام ارسال می كند
()a=waitkey كه میكرو منتظر می ماند و هر مفداری كه از كامپیوتر برای آن ارسال شود را در متغیر A ذخیره می كند
امیدوارم این مقاله كوتاه مورد نظر شما واقع شده باشد

نویسنده : محمد حسین مودی
منبع :www.elecprogram.mihanblog.com

نوشته شده در تاریخ یکشنبه 24 مهر 1390    | توسط: محمد حسین مودی    | طبقه بندی: الكترونیك و برنامه نویسی،     |
نظرات()