فرمت فایل : WORD (قابل ویرایش)
تعداد صفحات:87
فهرست مطالب:
عنوان صفحه
1. مقدمه 1
2. تاریخچه ای از نحوه فراخوانی اطلاعات در کامپیوترها 2
3. نحوه ارسال اطلاعات به Pc وport dll 2
4. فراخوانی dll از ویژوال بیسیک 4
5. معرفی کانکتورهای مهم درکامپیوترها 7 نمای پورت چاپگر درکامپیوترB25B25 7
6. ارتباط موازی باکامپیوتر 8
7. پورت سریال درکامپیوتر 12
8. تنظیم HYPER TERMINAL برای ارتباط سریال باخارج کامپیوتر 14
9. فیوز بیت های مربوط به میکرو کنترلر ATMEGA16 29
10. منابع کلاک در ATMEGA16 31 منابع RESETدر ATMEGA16 37
11. پورت RS232 وشرح پین هاوارتباط سریال دران 43
12. سطح سیگنالMARK وSPACE درRS232 44
13. قالب اطلاعات درAVR وشرح درماژول USART درمیکرو 45
14. توابعUSART درکدویژن 47
15. استفاده از PORTRS232 سریال در وضعیت سنکرون 58
16. پورتPORTRS232 سریال در ویژوال بیسیک 40
17. معرفی قطعات مدار وتوضیحی در مورد عملکردان 79
18. شرح برنامه مربوط به AVR وتوضیحی در مورد اجرایان 77
19. مبدل انالوگ به دیجیتال در پروژه AVR 64
20. برخی مشخصات ATMEG16مربوط به ADC دران 66
21. پیوست 1:تنظیمات رجیسترهای I/O 80
22. پیوست 2:نحوه ارتباط دهی ورودی وخروجی مییکرو 81
23. PINOUT برخی قطعات درAVR 85
24. خلاصه رجیسترهای ATMEGA16 86
28. فهرست منابع 87
مقدمه :
تمامی عملیات و تجربیاتی که با کامپیوتر در رابطه با کنترل فرآیندهای بلادرنگ وبا سرپرستی ونظارت انجام می شود، مستلزم وجود ارتباطات صحیحی با دنیای خارج است. یک برنامه باید بتواند ، اطلاعات خارجی را ضبط کند، داده ها را بگیرد و تجهیزات خارجی را کنترل کند. قالب بندی داده ها ممکن است به صورت باینری (صفر/یک) ، بولی (درست/غلط) ویا آنالوگ می باشد. به طور معمول دروازه عبور به دنیای خارج، مدارهای واسط هستند. کامپیوترهای شخصی ، کامپیوترهای سازگار با آن، که در صفت به عنوان استاندارد شناخته شده اند. برای برقرار کردن یک سیستم واسط از قالب بندی خاصی نظیر موارد زیر،پیروی می کنند:
1. کارت های واسط که در کامپیوترهای صنعتی نصب می شوند، دارای توان عملیاتی بالایی هستند ولی اغلب قیمت آنها بالاست.
2. واسط های استاندارد کامپیوترهای شخصی ازطریق مدارهای واسط خارجی به کامپیوتر متصل می شوند به عنوان مثال واسط سریال RS232 ، که ساختن آن ارزان تمام می شود بسیار مورداستفاده قرار می گیرد.
3. واسط تک پردازنده مستقل، قابلیت کنترل عملیات پیچیده، کاهش حجم داده ها را بدون هرگونه تبادل اطلاعات با کامپیوتر دارا هستند. تحت این شرایط برنامه کاربردی باید نیازها و الزامات برنامه ریزی سیستم را برآورده کند و کاربر نیز باید با برنامه ریزی این سیستم های میکروکنترلی آشنا باشد.
4. واسط های موجود در کامپیوترهای شخصی ازجمله، واسط سریال، واسط مربوط به چاپگر و واسط دسته های بازی را می توان اغلب به طور مستقیم به دنیای خارج وصل کرد. لذا در بسیاری از موارد نیاز به اضافه کردن سخت افزار وجود ندارد.
دسترسی به واسط هایی که به طور مستقیم می توان با آنها کار کرد. بسیار مفید است. به خصوص برای تجربیات ساده ، به عنوان مثال می توان از واسط سریال بدون آنکه نیاز به تقویت باشد. برای راه اندازی مستقیم LEDها استفاده کرد که این امر امکان اجزای پروژه های جالب را فراهم می کند. واسط های چاپگر نیز امکان برقراری ارتباطات مستقیم زیادی را به وجود می آورد. با مدارهای ساده، محدودیتهای زیادی را باید دفع کرد. به عنوان مثال می توان برای ثبت ولتاژ تنها از چند قطعه استفاده کرد. ولی این کار موجب پیچیدگی برنامه نویسی نرم افزار مربوطه و تاحدی پائین آمدن سرعت اجرای عملیات می شود. درمجموع، اجرای پروژه هایی که خطوط ورودی و خروجی زیادی دارند، بدون زحمت وسعی زیاد به راحتی امکان پذیر است. زبان های موردنیاز جهت برنامه نویسی در این پروژه، زبان اسمبلی یا (همان زبان ماشین)، برنامه نویسی با Code Vision AVR ، آشنایی با زبان ویژوال بیسیک می باشد.
نحوه ارسال اطلاعات به کامپیوتر Port.DLL
شکل اصلی که تحت سیستم عامل ویندوز وجود دارد، دریافت اطلاعات از واسطهای کامپیوتر می باشد. لذا یک DLL عمومی را که بیشتر مورداستفاده است به نام Port.DLL می باشد. اگر این DLL رادر دایرکتوری System ویندوز کپی کنید. در تمامی برنامه های قابل استفاده خواهد بود. البته این فایل رادر داخل دایرکتوری ای که فایل (exe) درآن وجود دارد نیز قرار دارد. توابع موجود در Port.DLL به شرح زیر هستند.
1. باز کردن واسط ها
2. کنترل ارسال سریال اطلاعات
3. وارد کردن اطلاعات از واسط ها
4. ورودی و خروجی درگاهها
5. تابع زمان سنجی، با دقت چند ثانیه
6. تابع زمان سنجی، که براساس تیک ساعت یک میکروثانیه ای است
7. دسترسی به کارت صدا
8. ورودی port مربوط به printer
فایل DLL در بسیاری از سیستم های برنامه نوسی قابل استفاده است. باتوجه به این مسئله باهر زبان برنامه نویسی می توان توابع آن را فراخوانی کرد به عنوان مثال می توان آنها را از C++ یا Codevision یا VB فراخوانی کرد.
توسعه این DLL امکان دسترسی به هر سخت افزاری رامی دهد، البته این روش ها خلاف فلسفه ویندوز است، چرا که در ویندوز ترجیح داده می شود که به هر سخت افزار، از طریق نرم افزار مخصوص به آن دسترسی پیدا کرد. راه اندازها یا Drive ها همیشه برای قسمت های کاملا شناخته شده تجهیزات به کار برده می شوند. ودر واقع برای تجربه روی قسمت های کم اهمیت تر نیازی به آنها نیست. پیاده سازی و ایجاد صحیح یک راه انداز کار بسیار پیچیده ای است. لذا در عمل شرکت های بنیاد بزرگ از عهده انجام آن برمی آیند. زبان برنامه نویسی تحت سیستم عامل داس فرمان هایی را برای دسترسی به درگاهها دارند. در VB ، فرمان های OUT , INP در پاسکال فرمان PORT[…] که با این فرمانها می توان به طور مستقیم به سخت افزار کامپیوترهای شخصی دسترسی پیدا کرد. تحت ویندوز 3/1 محدودیتهایی در راه دسترسی به سخت افزار وجود دارد ولی به راحتی می توان این محدودیتها را از پیش پا برداشت. حتی دافی نیز فرمان قوی PORT را دارد. تحت سیستم عامل ویندوز، دسترسی به درگاهها خیلی پیچیده تر است. در ویژوال بیسیک دیگر امکان دسترسی به درگاهها درنظر گرفته نشده است. در دلفی 3 نیز دسترسی مستقیم به درگاهها تنها از طریق وارد کردن زبان اسمبلی به صورت درون برنامه (Inline) امکان پذیر است. چنین کدهای اسمبلی در فایل PORT. DLL گنجانده می شود وارتباط سخت افزار با محیط ویندوز را آسان می کند.
فرخوانی DLL از ویژوال بیسیک
برنامه ویژوال بیسیک یکی از برنامه هایی است که قابلیت خواندن از PORT سریال را دارد وبا استفاده از فرمت برنامه نویسی خاصی که دارد قابلیت کنترل PORTها را دارد. توابع out PORT و In PORT در ویژوال بیسیک کاربرد فراوان دارد. out PORT برای خروجی داده ها از یک آدرس I/O می باشد و In PORT برای خواندن داده ها از یک آدرس I/O می باشد.
واسط سریال
هر کامپیوتر شخصی دارای یک یاچند واسط سریال است که معمولا در کتابخانه راهنمای آنها به نام COM1,COM2,…. نام گذاری می شوند. هدف اصلی از وجود این واسط ها، ارتباط بین کامپیوترهاو مودم به منظور تبادل اطلاعات از طریق شبکه خطوط تلفن است. بیشتر اوقات ممکن است. تجهیزات دیگری نظیر چاپگر ماوس ویا دستگاههای اندازه گیری سریال به این درگاهها وصل شوند. بنابراین اغلب واسط های سریال اضافی درکنار کامپیوترهای شخصی به کار برده می شوند. واسط های سریال مزایای زیادی در رابطه با تجربیات و آزمایشگاههای ساده فراهم و ممکن می کنند، زیرا :
1. واسط سریال در برابر خرابیهای غیرعمدی بسیار قوی و مقاوم هستند.
2. تجهیزات را می توان در هنگامی که کامپیوتر روشن است. به درگاه سریال وصل کرد ویا ارتباط آنها را قطع نمود.
3. برای تجهیزات ساده می توان تغذیه موردنیاز را از خود واسط سریال تامین کرد.
وقتی تبدیل اطلاعات سریال ارسال شده به اطلاعات موازی موردنظر باشد، واسط سریال اغلب درخواست سه بار زیادتری را می کند. برای عملیات کوچک که فقط چند خط I/O موردنیاز است. می توان از اتصال مستقیم خطوط کمکی واسط سریال استفاده کرد. در مجموع واسط سریال 13اتصال خروجی و 5 اتصال ورودی دارد که با ترکیب آنها بادستورالعمل های ساده امکان ارتباط مستقیم فراهم می شود. در جدول های پیوسته شکل های مربوط به اتصال دهنده یا همان Conector 25 پایه و 9 پایه ای از نوع D نشان داده شده است. رابط نر همیشه روی کامپیوتر نصب می شود. لذا اتصال دهنده های درگاه یا Conectorها باید از نوع ماده باشند. ارسال اتصالات ازطریق واسط سریال، توسط خط ارسال سریال TXD وخط دریافت اطلاعات سریالRXD انجام می شود. تمامی خطوط دیگر وظایف کمکی در رابطه با پروتکل،کنترل ارسال اطلاعات را برعهده دارند. این خطوط معمولا در زنده خطوط تأیید متقابل طبقه بندی می شوند. به منظور عملیات تصدیق بین تجهیزات به کار می روند. مزیت خاصی که خطوط تائید متقابل دارند، این است که می توان وضعیت آنها را به طور مستقیم تغییر داد ویا وضعیت موجود آنها را خواند.
خاصیت الکتریکی خطوط I/O در استاندارد RS232 مشخص شده است. حالت پائین با 12-ولت و حالت بالا با 12+ ولت مشخص می شود. تمام خروجی ها در برابر اتصال کوتاه حفاظت شده اند. و می توان جریانی در حدود 10 تا 20 میلی آمپر را Sink یا Source کنند. با این قابلیت می توان LED را روشن کرد. ویا مدارهای راه انداز را به طور مستقیم کنترل کرد. به دلیل قابلیت های ذکر شده، می توان تغذیه مدارهای نسبتا کوچک را مستقیما از خروجی های واسط سریال تامین کرد. مقاومت ورودی حدود 10کیلواهم است و ولتاژ بالاتر از 1.25ولت به عنوان حالت بالا و ولتاژ کمتر از 1 ولت به عنوان حالت پائین شناخته می شود. نویز گذرا می توان عامل تغییر پیوسته ولتاژ بین دو محدوده باشد. ولتاژ 1.1 ولت، ولتاژی تعریف نشده است ونمی تواند به عنوان حالت پائین یا بالا شناخته شود. وضعیت کلید فقط وقتی تغییر می کند که ولتاژ اعمال شده خارج از محدوده 1.25 ولت تا 1 ولت باشد. به طور معمول واسط سریالرا توسط سیگنال دوقطبی با سطوح ولتاژ +12 و -12 ولت راه اندازی می کنند. همانند مدارهای ورودی معمولی در کامپیوتر ، ولتاژ زیر 1 ولت به عنوان حالت پائین شناخته می شوند. همچنین امکان این وجود دارد که این ورودی ها با سطوح ولتاژ TTL (5ولت/صفر ولت) نیز راه اندازی شوند. برخی کامپیوترهای شخصی و اغلب کامپیوترهای اروپایی باولتاژ آستانه حدود 3 ولت یا -3 ولت کار می کند. لذا باید ازولتاژ ورودی دوقطبی استفاده کرد.
پروژه Pc interface