اس ٹیوٹوریل میں ہم دو اے ٹی ایم ای جی اے 8 مائیکروکنٹرولرز کے مابین سیریل مواصلات قائم کرنے جارہے ہیں ۔ یہاں قائم مواصلات ہے UART (یونیورسل غیر ہم آہنگ وصول ٹرانسمیٹر) کی قسم. اس سیریل کے ذریعہ مواصلات کے اعداد و شمار کو دو مائکروکانٹرولرز کے مابین بانٹا جاسکتا ہے ، جو مختلف سرایت شدہ نظاموں میں درکار ہوتا ہے۔
ضروری اجزاء
ہارڈ ویئر: ATMEGA8 (2 ٹکڑے ٹکڑے) ، بجلی کی فراہمی (5v) ، AVR-ISP پروگرامر ، 100uF سندارتر (بجلی کی فراہمی کے پار سے جڑا ہوا) ، 1KΩ ریزٹر (دو ٹکڑے) ، ایل ای ڈی ، بٹن۔
سافٹ ویئر: اٹیل اسٹوڈیو 6.1 ، پروگرام یا فلیش جادو۔
سرکٹ ڈایاگرام اور وضاحت
آئیے اے وی آر مائکروکونٹرولرز میں سیریل مواصلات کو سمجھیں ۔ یہاں ATMEGA سیریل میں دوسرے ATMEGA کو ڈیٹا بھیجتا ہے۔ اس میں مواصلات کا دوسرا طریقہ ہے لیکن آسان مواصلت کے لئے ہم RS232 کا انتخاب کررہے ہیں۔ پہلے ATMEGA8 کا RS232 پن دوسرے ATMEGA8 کے RXD پن سے منسلک ہے۔
قائم کردہ ڈیٹا مواصلات کے لئے یہ پروگرام کیا گیا ہے:
- آٹھ ڈیٹا بٹس
- دو اسٹاپ بٹس
- کوئی برابری چیک بٹ نہیں
- 2400 BPS کی Baud کی شرح (بٹس فی سیکنڈ)
- متضاد مواصلات (دو ATMEGA8 کے مابین گھڑی کا اشتراک نہیں)
لہذا ہمارے پاس دو اے ٹی ایم ای جی اے 8 کے لئے الگ الگ دو رجسٹر ہیں ، جہاں ایک ٹرانسمیٹر کا کام کرتا ہے اور دوسرا کام وصول کنندہ کی حیثیت سے۔
اب دو اے ٹی میگا مائکروقانٹرولرز کے مابین RS232 انٹرفیسنگ کے ل TR ، ٹرانسمیٹر اور وصول کنندہ کیلئے درج ذیل خصوصیات کو مطمئن کرنا ضروری ہے۔
1. منتقلی کے لئے پہلے کنٹرولر کا TXD پن (اعداد و شمار حاصل کرنے کی خصوصیت) لازمی ہے اور وصول کنندہ کے ل. دوسرے کنٹرولر کے RXD پن کو فعال کرنا ضروری ہے۔
2. چونکہ مواصلات سیریل ہیں ہمیں جب تک ڈیٹا بائٹ موصول ہوتا ہے اسے جاننے کی ضرورت ہوتی ہے ، تاکہ جب تک مکمل بائٹ موصول نہ ہوجائے ہم پروگرام کو روکیں۔ ایسا کسی ڈیٹا کو مکمل وقفے سے وصول کرنے کے قابل کرکے کیا جاتا ہے۔
3. ڈیٹا 8 بٹ موڈ میں کنٹرولر کو منتقل اور موصول ہوتا ہے۔ تو ایک وقت میں دو حروف کنٹرولر کو بھیجے جائیں گے۔
4. ماڈیول کے ذریعہ بھیجے گئے ڈیٹا میں کوئی برابری کی بٹس نہیں ہیں۔
مندرجہ بالا خصوصیات کنٹرولر کے اندراجات میں سیٹ کی گئی ہیں۔ ہم ان پر مختصر گفتگو کریں گے ،
ڈارک گرے (UDRE): (ٹرانسمیٹر سائیڈ) یہ تھوڑا سا اسٹارٹ کے دوران طے نہیں ہوتا ہے لیکن یہ کام کرنے کے دوران استعمال کیا جاتا ہے یہ جانچ کرنے کے لئے کہ ٹرانسمیٹر منتقل کرنے کے لئے تیار ہے یا نہیں۔ مزید تفصیلات کے لئے ٹرسمیٹر سائڈ پر پروگرام دیکھیں۔
لائٹ گری (آر ایکس سی): (سائڈ وصول کرنا) یہ تھوڑا سا آغاز کے دوران طے نہیں ہوتا ہے لیکن کام کرنے کے دوران استعمال کیا جاتا ہے کہ آیا یہ وصول کنندہ کوائف وصول کرنے کے لئے تیار ہے یا نہیں۔ مزید تفصیلات کے ل the سائیڈ ریسیکیو پروگرام دیکھیں۔
آواز (TXEN): (ٹرانسمیٹر سائڈ) یہ تھوڑا سا ٹرانسمیٹر سائڈ پر ٹرانسمیٹر پن کو چالو کرنے کے لئے مقرر کیا گیا ہے۔
سرخ (RXEN): (سائڈ وصول کرنا) یہ تھوڑا سا اعداد و شمار کو حاصل کرنے کی خصوصیت کی نمائندگی کرتا ہے ، کنٹرولر کے ذریعہ موڈیول سے حاصل ہونے والے ڈیٹا کے ل. یہ بٹ طے کرنا ضروری ہے ، یہ RXD پن کو بھی کنٹرولر کے قابل بناتا ہے۔
براؤن (آر ایکس سی آئی ای): ڈیٹا کے کامیاب استقبال کے بعد مداخلت کے ل for یہ تھوڑا سا طے کرنا ضروری ہے۔ اس بٹ کو چالو کرنے سے ، ہمیں 8 بٹ ڈیٹا موصول ہونے کے فورا بعد ہی پتہ چل جاتا ہے۔ ہم یہاں یہ تھوڑا سا استعمال نہیں کریں گے لہذا یہ تنہا رہ گیا ہے۔
پنک (یو آر ایس ای ایل): یو سی ایس آر سی میں دوسرے مطلوبہ بٹس کو ترتیب دینے کے بعد ، یو سی ایس آر سی میں دوسرے بٹس کو چالو کرنے سے پہلے اس بٹ کو سیٹ کرنا ہوگا۔ URSEL غیر فعال ہونا چاہئے یا صفر پر رکھنا چاہئے۔ ہم یہاں یہ تھوڑا سا استعمال نہیں کریں گے لہذا یہ تنہا رہ گیا ہے۔
پیلو (UCSZ0، UCSZ1، UCSZ2): (سائڈ اور ٹرسمیٹر سائڈ وصول کرنا) یہ تینوں بٹس ایک ساتھ میں بھیجنے یا بھیجنے والے ڈیٹا بٹس کی تعداد کے انتخاب کے لئے استعمال ہوتی ہیں۔
دو ATMEGA کے مابین مواصلت آٹھ بٹ مواصلات کے طور پر قائم ہے۔ ہمارے پاس ٹیبل کے ساتھ مواصلات کا مقابلہ کرتے ہوئے ، UCSZ0 ، UCSZ1 ایک سے ایک اور UCSZ2 سے صفر ہے۔
ہمیں ان کو وصول کرنے اور منتقل کرنے کی طرف دونوں پر رکھنا ہے۔
اورنج (یو ایم ایس ای ایل): (سائڈ اینڈ ٹریسمیٹر سائڈ وصول کرنا) یہ تھوڑا سا اس بنیاد پر مرتب کیا گیا ہے کہ آیا نظام غیر متزلزل گفتگو کررہا ہے (دونوں مختلف گھڑی استعمال کرتے ہیں) یا ہم آہنگی سے (دونوں ایک ہی گھڑی کا استعمال کرتے ہیں)۔
دونوں کنٹرولر کوئی گھڑی شیئر نہیں کرتے ہیں۔ چونکہ یہ دونوں اپنی اپنی داخلی گھڑی استعمال کرتے ہیں۔ لہذا ہمیں دونوں کنٹرولرز میں 0 UMSEL کو ترتیب دینے کی ضرورت ہے۔
گرین (یوپی ایم 1 ، یوپی ایم0): (سائڈ اور ٹرسمیٹر سائڈ وصول کرنا) یہ دونوں بٹس تھوڑا سا برابری کی بنیاد پر ایڈجسٹ کیے گئے ہیں جو ہم مواصلات میں استعمال کر رہے ہیں۔
اے ٹی ایم ای جی اے کو بغیر کسی مساوات کے ڈیٹا بھیجنے کا پروگرام بنایا گیا ہے ، کیونکہ ڈیٹا منتقل کرنے کی لمبائی کم ہے ، ہم واضح طور پر کسی ڈیٹا کے ضائع ہونے یا غلطی کی توقع نہیں کرسکتے ہیں۔ لہذا ہم یہاں کوئی برابری نہیں طے کر رہے ہیں۔ لہذا ہم دونوں UPM1 ، UPM0 کو صفر پر سیٹ کرتے ہیں یا وہ رہ جاتے ہیں ، کیونکہ تمام بٹس 0 کے حساب سے بطور ہوتے ہیں..
نیلی (یو ایس بی ایس): (سائڈ اور ٹرسمیٹر سائڈ وصول کرنا) اس بٹ کو مواصلات کے دوران استعمال ہونے والے اسٹاپ بٹس کی تعداد منتخب کرنے کے لئے استعمال کیا جاتا ہے۔
یہاں قائم مواصلات متضاد نوعیت کا ہے ، لہذا زیادہ درست اعداد و شمار کی ترسیل اور استقبال حاصل کرنے کے ل we ، ہمیں دو اسٹاپ بٹس استعمال کرنے کی ضرورت ہے ، لہذا ہم دونوں کنٹرولرز میں یو ایس ایس کو '1' پر سیٹ کرتے ہیں۔
موزوں UBRRH کو منتخب کرکے باؤ کی شرح کنٹرولر میں طے کی گئی ہے۔
یو بی بی آر ایچ ویلیو کا انتخاب کراس ریفرنگ باؤڈ ریٹ اور سی پی یو کرسٹل فریکوئنسی کے ذریعہ کیا جاتا ہے۔
تو کراس ریفرنس کے ذریعہ یو بی آر آر ویلیو کو '25' کے طور پر دیکھا جاتا ہے ، اور اس طرح باؤڈ ریٹ مقرر کیا گیا ہے۔
جیسا کہ سرکٹ میں دکھایا گیا ہے ٹرانسمیٹر کی طرف ایک بٹن جڑا ہوا ہے۔ جب یہ بٹن دبائے ہوئے آٹھ بٹ ڈیٹا کو ٹرانسسمیٹر کے ذریعہ بھیجا جاتا ہے اور یہ ڈیٹا وصول کنندہ کے ذریعہ موصول ہوتا ہے۔ کامیابی کے ساتھ یہ اعداد و شمار موصول ہونے پر یہ اس سے منسلک ایل ای ڈی کو ٹوگل کردیتا ہے جو دو کنٹرولر کے مابین کامیاب ڈیٹا کی منتقلی کو ظاہر کرتا ہے۔